diff --git a/.github/workflows/coverage.yaml b/.github/workflows/coverage.yaml deleted file mode 100644 index 6d0334b804..0000000000 --- a/.github/workflows/coverage.yaml +++ /dev/null @@ -1,60 +0,0 @@ -# Perform CI checks, and calculate code coverage - -name: SQLite - -on: - push: - branches-ignore: - - l10* - - pull_request: - branches-ignore: - - l10* - -jobs: - - # Run tests on SQLite database - # These tests are used for code coverage analysis - coverage: - runs-on: ubuntu-latest - - env: - GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} - INVENTREE_DB_NAME: './test_db.sqlite' - INVENTREE_DB_ENGINE: django.db.backends.sqlite3 - INVENTREE_DEBUG: info - INVENTREE_MEDIA_ROOT: ./media - INVENTREE_STATIC_ROOT: ./static - - steps: - - name: Checkout Code - uses: actions/checkout@v2 - - name: Setup Python - uses: actions/setup-python@v2 - with: - python-version: 3.7 - - name: Install Dependencies - run: | - sudo apt-get update - sudo apt-get install gettext - pip3 install invoke - invoke install - invoke static - - name: Coverage Tests - run: | - invoke coverage - - name: Data Import Export - run: | - invoke migrate - invoke import-fixtures - invoke export-records -f data.json - rm test_db.sqlite - invoke migrate - invoke import-records -f data.json - invoke import-records -f data.json - - name: Test Translations - run: invoke translate - - name: Check Migration Files - run: python3 ci/check_migration_files.py - - name: Upload Coverage Report - run: coveralls diff --git a/.github/workflows/html.yaml b/.github/workflows/html.yaml deleted file mode 100644 index 580962771e..0000000000 --- a/.github/workflows/html.yaml +++ /dev/null @@ -1,54 +0,0 @@ -# Check javascript template files - -name: HTML Templates - -on: - push: - branches: - - master - - pull_request: - branches-ignore: - - l10* - -jobs: - - html: - runs-on: ubuntu-latest - - env: - GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} - INVENTREE_DB_ENGINE: sqlite3 - INVENTREE_DB_NAME: inventree - INVENTREE_MEDIA_ROOT: ./media - INVENTREE_STATIC_ROOT: ./static - steps: - - name: Checkout Code - uses: actions/checkout@v2 - - name: Install node.js - uses: actions/setup-node@v2 - with: - node-version: '16' - - run: npm install - - name: Setup Python - uses: actions/setup-python@v2 - with: - python-version: 3.7 - - name: Install Dependencies - run: | - sudo apt-get update - sudo apt-get install gettext - pip3 install invoke - invoke install - invoke static - - name: Check HTML Files - run: | - npx markuplint InvenTree/build/templates/build/*.html - npx markuplint InvenTree/company/templates/company/*.html - npx markuplint InvenTree/order/templates/order/*.html - npx markuplint InvenTree/part/templates/part/*.html - npx markuplint InvenTree/stock/templates/stock/*.html - npx markuplint InvenTree/templates/*.html - npx markuplint InvenTree/templates/InvenTree/*.html - npx markuplint InvenTree/templates/InvenTree/settings/*.html - diff --git a/.github/workflows/javascript.yaml b/.github/workflows/javascript.yaml deleted file mode 100644 index 98251b2426..0000000000 --- a/.github/workflows/javascript.yaml +++ /dev/null @@ -1,51 +0,0 @@ -# Check javascript template files - -name: Javascript Templates - -on: - push: - branches: - - master - - pull_request: - branches-ignore: - - l10* - -jobs: - - javascript: - runs-on: ubuntu-latest - - env: - GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} - INVENTREE_DB_ENGINE: sqlite3 - INVENTREE_DB_NAME: inventree - INVENTREE_MEDIA_ROOT: ./media - INVENTREE_STATIC_ROOT: ./static - steps: - - name: Checkout Code - uses: actions/checkout@v2 - - name: Install node.js - uses: actions/setup-node@v2 - with: - node-version: '16' - - run: npm install - - name: Setup Python - uses: actions/setup-python@v2 - with: - python-version: 3.7 - - name: Install Dependencies - run: | - sudo apt-get update - sudo apt-get install gettext - pip3 install invoke - invoke install - invoke static - - name: Check Templated Files - run: | - cd ci - python check_js_templates.py - - name: Lint Javascript Files - run: | - invoke render-js-files - npx eslint js_tmp/*.js \ No newline at end of file diff --git a/.github/workflows/mysql.yaml b/.github/workflows/mysql.yaml deleted file mode 100644 index f0eb0efd7f..0000000000 --- a/.github/workflows/mysql.yaml +++ /dev/null @@ -1,67 +0,0 @@ -# MySQL Unit Testing - -name: MySQL - -on: - push: - branches-ignore: - - l10* - - pull_request: - branches-ignore: - - l10* - -jobs: - - test: - runs-on: ubuntu-latest - - env: - # Database backend configuration - INVENTREE_DB_ENGINE: django.db.backends.mysql - INVENTREE_DB_NAME: inventree - INVENTREE_DB_USER: root - INVENTREE_DB_PASSWORD: password - INVENTREE_DB_HOST: '127.0.0.1' - INVENTREE_DB_PORT: 3306 - INVENTREE_DEBUG: info - INVENTREE_MEDIA_ROOT: ./media - INVENTREE_STATIC_ROOT: ./static - - services: - mysql: - image: mysql:latest - env: - MYSQL_ALLOW_EMPTY_PASSWORD: yes - MYSQL_DATABASE: inventree - MYSQL_USER: inventree - MYSQL_PASSWORD: password - MYSQL_ROOT_PASSWORD: password - options: --health-cmd="mysqladmin ping" --health-interval=5s --health-timeout=2s --health-retries=3 - ports: - - 3306:3306 - - steps: - - name: Checkout Code - uses: actions/checkout@v2 - - name: Setup Python - uses: actions/setup-python@v2 - with: - python-version: 3.7 - - name: Install Dependencies - run: | - sudo apt-get install mysql-server libmysqlclient-dev - pip3 install invoke - pip3 install mysqlclient - invoke install - - name: Run Tests - run: invoke test - - name: Data Import Export - run: | - invoke migrate - python3 ./InvenTree/manage.py flush --noinput - invoke import-fixtures - invoke export-records -f data.json - python3 ./InvenTree/manage.py flush --noinput - invoke import-records -f data.json - invoke import-records -f data.json \ No newline at end of file diff --git a/.github/workflows/postgresql.yaml b/.github/workflows/postgresql.yaml deleted file mode 100644 index b235767110..0000000000 --- a/.github/workflows/postgresql.yaml +++ /dev/null @@ -1,70 +0,0 @@ -# PostgreSQL Unit Testing - -name: PostgreSQL - -on: - push: - branches-ignore: - - l10* - - pull_request: - branches-ignore: - - l10* - -jobs: - - test: - runs-on: ubuntu-latest - - env: - # Database backend configuration - INVENTREE_DB_ENGINE: django.db.backends.postgresql - INVENTREE_DB_NAME: inventree - INVENTREE_DB_USER: inventree - INVENTREE_DB_PASSWORD: password - INVENTREE_DB_HOST: '127.0.0.1' - INVENTREE_DB_PORT: 5432 - INVENTREE_DEBUG: info - INVENTREE_MEDIA_ROOT: ./media - INVENTREE_STATIC_ROOT: ./static - INVENTREE_CACHE_HOST: localhost - - services: - postgres: - image: postgres - env: - POSTGRES_USER: inventree - POSTGRES_PASSWORD: password - ports: - - 5432:5432 - - redis: - image: redis - ports: - - 6379:6379 - - steps: - - name: Checkout Code - uses: actions/checkout@v2 - - name: Setup Python - uses: actions/setup-python@v2 - with: - python-version: 3.7 - - name: Install Dependencies - run: | - sudo apt-get install libpq-dev - pip3 install invoke - pip3 install psycopg2 - pip3 install django-redis>=5.0.0 - invoke install - - name: Run Tests - run: invoke test - - name: Data Import Export - run: | - invoke migrate - python3 ./InvenTree/manage.py flush --noinput - invoke import-fixtures - invoke export-records -f data.json - python3 ./InvenTree/manage.py flush --noinput - invoke import-records -f data.json - invoke import-records -f data.json \ No newline at end of file diff --git a/.github/workflows/python.yaml b/.github/workflows/python.yaml deleted file mode 100644 index 7e32685af1..0000000000 --- a/.github/workflows/python.yaml +++ /dev/null @@ -1,49 +0,0 @@ -# Run python library tests whenever code is pushed to master - -name: Python Bindings - -on: - push: - branches: - - master - - pull_request: - branches-ignore: - - l10* - -jobs: - - python: - runs-on: ubuntu-latest - - env: - GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} - INVENTREE_DB_NAME: './test_db.sqlite' - INVENTREE_DB_ENGINE: 'sqlite3' - INVENTREE_DEBUG: info - INVENTREE_MEDIA_ROOT: ./media - INVENTREE_STATIC_ROOT: ./static - - steps: - - name: Checkout Code - uses: actions/checkout@v2 - - name: Install InvenTree - run: | - sudo apt-get update - sudo apt-get install python3-dev python3-pip python3-venv - pip3 install invoke - invoke install - invoke migrate - - name: Download Python Code - run: | - git clone --depth 1 https://github.com/inventree/inventree-python ./inventree-python - - name: Start Server - run: | - invoke import-records -f ./inventree-python/test/test_data.json - invoke server -a 127.0.0.1:8000 & - sleep 60 - - name: Run Tests - run: | - cd inventree-python - invoke test - \ No newline at end of file diff --git a/.github/workflows/qc_checks.yaml b/.github/workflows/qc_checks.yaml new file mode 100644 index 0000000000..e772447025 --- /dev/null +++ b/.github/workflows/qc_checks.yaml @@ -0,0 +1,318 @@ +# Checks for each PR / push + +name: QC checks + +on: + push: + branches-ignore: + - l10* + + pull_request: + branches-ignore: + - l10* + +env: + python_version: 3.7 + node_version: 16 + + server_start_sleep: 60 + + GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} + INVENTREE_DB_ENGINE: sqlite3 + INVENTREE_DB_NAME: inventree + INVENTREE_MEDIA_ROOT: ./media + INVENTREE_STATIC_ROOT: ./static + + +jobs: + + check_version: + name: version number + runs-on: ubuntu-latest + if: ${{ github.event_name == 'pull_request' }} + + steps: + - name: Checkout Code + uses: actions/checkout@v2 + - name: Check version number + if: ${{ github.event_name == 'pull_request' }} + run: | + python3 ci/check_version_number.py --branch ${{ github.base_ref }} + - name: Finish + if: always() + run: echo 'done' + + pep_style: + name: PEP style (python) + needs: check_version + runs-on: ubuntu-latest + if: always() + + steps: + - name: Checkout code + uses: actions/checkout@v2 + - name: Set up Python ${{ env.python_version }} + uses: actions/setup-python@v2 + with: + python-version: ${{ env.python_version }} + cache: 'pip' + - name: Install deps + run: | + pip install flake8==3.8.3 + pip install pep8-naming==0.11.1 + - name: flake8 + run: | + flake8 InvenTree + + javascript: + name: javascript template files + needs: pep_style + runs-on: ubuntu-latest + + steps: + - name: Checkout Code + uses: actions/checkout@v2 + - name: Install node.js ${{ env.node_version }} + uses: actions/setup-node@v2 + with: + node-version: ${{ env.node_version }} + cache: 'npm' + - run: npm install + - name: Setup Python + uses: actions/setup-python@v2 + with: + python-version: ${{ env.python_version }} + cache: 'pip' + - name: Install Dependencies + run: | + sudo apt-get update + sudo apt-get install gettext + pip3 install invoke + invoke install + invoke static + - name: Check Templated Files + run: | + cd ci + python check_js_templates.py + - name: Lint Javascript Files + run: | + invoke render-js-files + npx eslint js_tmp/*.js + + html: + name: html template files + needs: pep_style + runs-on: ubuntu-latest + + steps: + - name: Checkout Code + uses: actions/checkout@v2 + - name: Install node.js ${{ env.node_version }} + uses: actions/setup-node@v2 + with: + node-version: ${{ env.node_version }} + cache: 'npm' + - run: npm install + - name: Setup Python + uses: actions/setup-python@v2 + with: + python-version: ${{ env.python_version }} + cache: 'pip' + - name: Install Dependencies + run: | + sudo apt-get update + sudo apt-get install gettext + pip3 install invoke + invoke install + invoke static + - name: Check HTML Files + run: | + npx markuplint InvenTree/build/templates/build/*.html + npx markuplint InvenTree/company/templates/company/*.html + npx markuplint InvenTree/order/templates/order/*.html + npx markuplint InvenTree/part/templates/part/*.html + npx markuplint InvenTree/stock/templates/stock/*.html + npx markuplint InvenTree/templates/*.html + npx markuplint InvenTree/templates/InvenTree/*.html + npx markuplint InvenTree/templates/InvenTree/settings/*.html + + python: + name: python bindings + needs: pep_style + runs-on: ubuntu-latest + + env: + wrapper_name: inventree-python + + steps: + - name: Checkout Code + uses: actions/checkout@v2 + - name: Install InvenTree + run: | + sudo apt-get update + sudo apt-get install python3-dev python3-pip python3-venv + pip3 install invoke + invoke install + invoke migrate + - name: Download Python Code + run: | + git clone --depth 1 https://github.com/inventree/${{ env.wrapper_name }} ./${{ env.wrapper_name }} + - name: Start Server + run: | + invoke import-records -f ./${{ env.wrapper_name }}/test/test_data.json + invoke server -a 127.0.0.1:8000 & + sleep ${{ env.server_start_sleep }} + - name: Run Tests + run: | + cd ${{ env.wrapper_name }} + invoke test + + coverage: + name: Sqlite / coverage + needs: ['javascript', 'html'] + runs-on: ubuntu-latest + + env: + INVENTREE_DB_NAME: ./inventree.sqlite + INVENTREE_DB_ENGINE: sqlite3 + + steps: + - name: Checkout Code + uses: actions/checkout@v2 + - name: Setup Python ${{ env.python_version }} + uses: actions/setup-python@v2 + with: + python-version: ${{ env.python_version }} + cache: 'pip' + - name: Install Dependencies + run: | + sudo apt-get update + sudo apt-get install gettext + pip3 install invoke + invoke install + invoke static + - name: Coverage Tests + run: | + invoke coverage + - name: Data Import Export + run: | + invoke migrate + invoke import-fixtures + invoke export-records -f data.json + rm inventree.sqlite + invoke migrate + invoke import-records -f data.json + invoke import-records -f data.json + - name: Test Translations + run: invoke translate + - name: Check Migration Files + run: python3 ci/check_migration_files.py + - name: Upload Coverage Report + run: coveralls + + postgres: + name: Postgres + needs: ['javascript', 'html'] + runs-on: ubuntu-latest + + env: + INVENTREE_DB_ENGINE: django.db.backends.postgresql + INVENTREE_DB_USER: inventree + INVENTREE_DB_PASSWORD: password + INVENTREE_DB_HOST: '127.0.0.1' + INVENTREE_DB_PORT: 5432 + INVENTREE_DEBUG: info + INVENTREE_CACHE_HOST: localhost + + services: + postgres: + image: postgres + env: + POSTGRES_USER: inventree + POSTGRES_PASSWORD: password + ports: + - 5432:5432 + + redis: + image: redis + ports: + - 6379:6379 + + steps: + - name: Checkout Code + uses: actions/checkout@v2 + - name: Setup Python ${{ env.python_version }} + uses: actions/setup-python@v2 + with: + python-version: ${{ env.python_version }} + cache: 'pip' + - name: Install Dependencies + run: | + sudo apt-get install libpq-dev + pip3 install invoke + pip3 install psycopg2 + pip3 install django-redis>=5.0.0 + invoke install + - name: Run Tests + run: invoke test + - name: Data Import Export + run: | + invoke migrate + python3 ./InvenTree/manage.py flush --noinput + invoke import-fixtures + invoke export-records -f data.json + python3 ./InvenTree/manage.py flush --noinput + invoke import-records -f data.json + invoke import-records -f data.json + + mysql: + name: MySql + needs: ['javascript', 'html'] + runs-on: ubuntu-latest + env: + # Database backend configuration + INVENTREE_DB_ENGINE: django.db.backends.mysql + INVENTREE_DB_USER: root + INVENTREE_DB_PASSWORD: password + INVENTREE_DB_HOST: '127.0.0.1' + INVENTREE_DB_PORT: 3306 + INVENTREE_DEBUG: info + + services: + mysql: + image: mysql:latest + env: + MYSQL_ALLOW_EMPTY_PASSWORD: yes + MYSQL_DATABASE: ${{ env.INVENTREE_DB_NAME }} + MYSQL_USER: inventree + MYSQL_PASSWORD: password + MYSQL_ROOT_PASSWORD: password + options: --health-cmd="mysqladmin ping" --health-interval=5s --health-timeout=2s --health-retries=3 + ports: + - 3306:3306 + + steps: + - name: Checkout Code + uses: actions/checkout@v2 + - name: Setup Python ${{ env.python_version }} + uses: actions/setup-python@v2 + with: + python-version: ${{ env.python_version }} + cache: 'pip' + - name: Install Dependencies + run: | + sudo apt-get install mysql-server libmysqlclient-dev + pip3 install invoke + pip3 install mysqlclient + invoke install + - name: Run Tests + run: invoke test + - name: Data Import Export + run: | + invoke migrate + python3 ./InvenTree/manage.py flush --noinput + invoke import-fixtures + invoke export-records -f data.json + python3 ./InvenTree/manage.py flush --noinput + invoke import-records -f data.json + invoke import-records -f data.json diff --git a/.github/workflows/style.yaml b/.github/workflows/style.yaml deleted file mode 100644 index df52de1dcb..0000000000 --- a/.github/workflows/style.yaml +++ /dev/null @@ -1,34 +0,0 @@ -name: Style Checks - -on: - push: - branches-ignore: - - l10* - - pull_request: - branches-ignore: - - l10* - -jobs: - style: - runs-on: ubuntu-latest - - strategy: - max-parallel: 4 - matrix: - python-version: [3.7] - - steps: - - name: Checkout code - uses: actions/checkout@v2 - - name: Set up Python ${{ matrix.python-version }} - uses: actions/setup-python@v2 - with: - python-version: ${{ matrix.python-version }} - - name: Install deps - run: | - pip install flake8==3.8.3 - pip install pep8-naming==0.11.1 - - name: flake8 - run: | - flake8 InvenTree diff --git a/.github/workflows/version.yaml b/.github/workflows/version.yaml deleted file mode 100644 index 6e32d9e148..0000000000 --- a/.github/workflows/version.yaml +++ /dev/null @@ -1,20 +0,0 @@ -# Check that the version number format matches the current branch - -name: Version Numbering - -on: - pull_request: - branches-ignore: - - l10* - -jobs: - - check: - runs-on: ubuntu-latest - - steps: - - name: Checkout Code - uses: actions/checkout@v2 - - name: Check version number - run: | - python3 ci/check_version_number.py --branch ${{ github.base_ref }} diff --git a/.gitignore b/.gitignore index 37e5ff4207..4bc0bb1389 100644 --- a/.gitignore +++ b/.gitignore @@ -77,7 +77,6 @@ dev/ locale_stats.json # node.js -package-lock.json node_modules/ # maintenance locker diff --git a/InvenTree/InvenTree/status_codes.py b/InvenTree/InvenTree/status_codes.py index 4de0b7ced9..656c1d6e51 100644 --- a/InvenTree/InvenTree/status_codes.py +++ b/InvenTree/InvenTree/status_codes.py @@ -107,7 +107,7 @@ class PurchaseOrderStatus(StatusCode): } colors = { - PENDING: 'primary', + PENDING: 'secondary', PLACED: 'primary', COMPLETE: 'success', CANCELLED: 'danger', @@ -147,7 +147,7 @@ class SalesOrderStatus(StatusCode): } colors = { - PENDING: 'primary', + PENDING: 'secondary', SHIPPED: 'success', CANCELLED: 'danger', LOST: 'warning', diff --git a/InvenTree/InvenTree/version.py b/InvenTree/InvenTree/version.py index bbf0174453..5dd9c812aa 100644 --- a/InvenTree/InvenTree/version.py +++ b/InvenTree/InvenTree/version.py @@ -12,10 +12,17 @@ import common.models INVENTREE_SW_VERSION = "0.6.0 dev" # InvenTree API version -INVENTREE_API_VERSION = 19 +INVENTREE_API_VERSION = 21 """ Increment this API version number whenever there is a significant change to the API that any clients need to know about +v21 -> 2021-12-04 + - Adds support for multiple "Shipments" against a SalesOrder + - Refactors process for stock allocation against a SalesOrder + +v20 -> 2021-12-03 + - Adds ability to filter POLineItem endpoint by "base_part" + - Adds optional "order_detail" to POLineItem list endpoint v19 -> 2021-12-02 - Adds the ability to filter the StockItem API by "part_tree" diff --git a/InvenTree/build/admin.py b/InvenTree/build/admin.py index a5ad838660..a612ad8460 100644 --- a/InvenTree/build/admin.py +++ b/InvenTree/build/admin.py @@ -29,6 +29,14 @@ class BuildAdmin(ImportExportModelAdmin): 'part__description', ] + autocomplete_fields = [ + 'parent', + 'part', + 'sales_order', + 'take_from', + 'destination', + ] + class BuildItemAdmin(admin.ModelAdmin): @@ -38,6 +46,13 @@ class BuildItemAdmin(admin.ModelAdmin): 'quantity' ) + autocomplete_fields = [ + 'build', + 'bom_item', + 'stock_item', + 'install_into', + ] + admin.site.register(Build, BuildAdmin) admin.site.register(BuildItem, BuildItemAdmin) diff --git a/InvenTree/build/api.py b/InvenTree/build/api.py index 2ca9dd31dc..4d47cf9076 100644 --- a/InvenTree/build/api.py +++ b/InvenTree/build/api.py @@ -20,6 +20,7 @@ from InvenTree.status_codes import BuildStatus from .models import Build, BuildItem, BuildOrderAttachment from .serializers import BuildAttachmentSerializer, BuildCompleteSerializer, BuildSerializer, BuildItemSerializer from .serializers import BuildAllocationSerializer, BuildUnallocationSerializer +from users.models import Owner class BuildFilter(rest_filters.FilterSet): @@ -51,6 +52,25 @@ class BuildFilter(rest_filters.FilterSet): return queryset + assigned_to_me = rest_filters.BooleanFilter(label='assigned_to_me', method='filter_assigned_to_me') + + def filter_assigned_to_me(self, queryset, name, value): + """ + Filter by orders which are assigned to the current user + """ + + value = str2bool(value) + + # Work out who "me" is! + owners = Owner.get_owners_matching_user(self.request.user) + + if value: + queryset = queryset.filter(responsible__in=owners) + else: + queryset = queryset.exclude(responsible__in=owners) + + return queryset + class BuildList(generics.ListCreateAPIView): """ API endpoint for accessing a list of Build objects. diff --git a/InvenTree/build/serializers.py b/InvenTree/build/serializers.py index 2431855d3c..2ea898f66c 100644 --- a/InvenTree/build/serializers.py +++ b/InvenTree/build/serializers.py @@ -423,7 +423,7 @@ class BuildAllocationSerializer(serializers.Serializer): Validation """ - super().validate(data) + data = super().validate(data) items = data.get('items', []) diff --git a/InvenTree/company/admin.py b/InvenTree/company/admin.py index 2c3be87c84..97327a559a 100644 --- a/InvenTree/company/admin.py +++ b/InvenTree/company/admin.py @@ -71,6 +71,8 @@ class SupplierPartAdmin(ImportExportModelAdmin): 'SKU', ] + autocomplete_fields = ('part', 'supplier', 'manufacturer_part',) + class ManufacturerPartResource(ModelResource): """ @@ -92,23 +94,6 @@ class ManufacturerPartResource(ModelResource): clean_model_instances = True -class ManufacturerPartParameterInline(admin.TabularInline): - """ - Inline for editing ManufacturerPartParameter objects, - directly from the ManufacturerPart admin view. - """ - - model = ManufacturerPartParameter - - -class SupplierPartInline(admin.TabularInline): - """ - Inline for the SupplierPart model - """ - - model = SupplierPart - - class ManufacturerPartAdmin(ImportExportModelAdmin): """ Admin class for ManufacturerPart model @@ -124,10 +109,7 @@ class ManufacturerPartAdmin(ImportExportModelAdmin): 'MPN', ] - inlines = [ - SupplierPartInline, - ManufacturerPartParameterInline, - ] + autocomplete_fields = ('part', 'manufacturer',) class ManufacturerPartParameterResource(ModelResource): @@ -157,6 +139,8 @@ class ManufacturerPartParameterAdmin(ImportExportModelAdmin): 'value' ] + autocomplete_fields = ('manufacturer_part',) + class SupplierPriceBreakResource(ModelResource): """ Class for managing SupplierPriceBreak data import/export """ @@ -186,6 +170,8 @@ class SupplierPriceBreakAdmin(ImportExportModelAdmin): list_display = ('part', 'quantity', 'price') + autocomplete_fields = ('part',) + admin.site.register(Company, CompanyAdmin) admin.site.register(SupplierPart, SupplierPartAdmin) diff --git a/InvenTree/company/templates/company/company_base.html b/InvenTree/company/templates/company/company_base.html index 3903dba685..489493fd06 100644 --- a/InvenTree/company/templates/company/company_base.html +++ b/InvenTree/company/templates/company/company_base.html @@ -222,4 +222,4 @@ }); } -{% endblock %} \ No newline at end of file +{% endblock %} diff --git a/InvenTree/locale/de/LC_MESSAGES/django.po b/InvenTree/locale/de/LC_MESSAGES/django.po index f85b16eccb..768f5a9304 100644 --- a/InvenTree/locale/de/LC_MESSAGES/django.po +++ b/InvenTree/locale/de/LC_MESSAGES/django.po @@ -2,8 +2,8 @@ msgid "" msgstr "" "Project-Id-Version: inventree\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2021-11-30 21:49+0000\n" -"PO-Revision-Date: 2021-11-30 21:52\n" +"POT-Creation-Date: 2021-12-03 10:37+0000\n" +"PO-Revision-Date: 2021-12-03 11:26\n" "Last-Translator: \n" "Language-Team: German\n" "Language: de_DE\n" @@ -114,129 +114,130 @@ msgstr "Keine Seriennummern gefunden" msgid "Number of unique serial number ({s}) must match quantity ({q})" msgstr "Anzahl der eindeutigen Seriennummern ({s}) muss mit der Anzahl ({q}) übereinstimmen" -#: InvenTree/models.py:114 +#: InvenTree/models.py:120 msgid "Missing file" msgstr "Fehlende Datei" -#: InvenTree/models.py:115 +#: InvenTree/models.py:121 msgid "Missing external link" msgstr "Fehlender externer Link" -#: InvenTree/models.py:126 stock/models.py:1874 +#: InvenTree/models.py:132 stock/models.py:1864 #: templates/js/translated/attachment.js:117 msgid "Attachment" msgstr "Anhang" -#: InvenTree/models.py:127 +#: InvenTree/models.py:133 msgid "Select file to attach" msgstr "Datei zum Anhängen auswählen" -#: InvenTree/models.py:133 company/models.py:131 company/models.py:348 +#: InvenTree/models.py:139 company/models.py:131 company/models.py:348 #: company/models.py:564 order/models.py:163 part/models.py:797 #: report/templates/report/inventree_build_order_base.html:165 #: templates/js/translated/company.js:537 -#: templates/js/translated/company.js:826 templates/js/translated/part.js:1077 +#: templates/js/translated/company.js:826 templates/js/translated/part.js:1258 msgid "Link" msgstr "Link" -#: InvenTree/models.py:134 build/models.py:330 part/models.py:798 -#: stock/models.py:540 +#: InvenTree/models.py:140 build/models.py:330 part/models.py:798 +#: stock/models.py:530 msgid "Link to external URL" msgstr "Link zu einer externen URL" -#: InvenTree/models.py:137 templates/js/translated/attachment.js:161 +#: InvenTree/models.py:143 templates/js/translated/attachment.js:161 msgid "Comment" msgstr "Kommentar" -#: InvenTree/models.py:137 +#: InvenTree/models.py:143 msgid "File comment" msgstr "Datei-Kommentar" -#: InvenTree/models.py:143 InvenTree/models.py:144 common/models.py:1185 +#: InvenTree/models.py:149 InvenTree/models.py:150 common/models.py:1185 #: common/models.py:1186 part/models.py:2205 part/models.py:2225 #: report/templates/report/inventree_test_report_base.html:96 -#: templates/js/translated/stock.js:2084 +#: templates/js/translated/stock.js:2166 msgid "User" msgstr "Benutzer" -#: InvenTree/models.py:147 +#: InvenTree/models.py:153 msgid "upload date" msgstr "Hochladedatum" -#: InvenTree/models.py:170 +#: InvenTree/models.py:176 msgid "Filename must not be empty" msgstr "Dateiname darf nicht leer sein" -#: InvenTree/models.py:193 +#: InvenTree/models.py:199 msgid "Invalid attachment directory" msgstr "Ungültiges Verzeichnis für Anhang" -#: InvenTree/models.py:203 +#: InvenTree/models.py:209 #, python-brace-format msgid "Filename contains illegal character '{c}'" msgstr "Dateiname enthält ungültiges Zeichen '{c}'" -#: InvenTree/models.py:206 +#: InvenTree/models.py:212 msgid "Filename missing extension" msgstr "Dateiendung fehlt" -#: InvenTree/models.py:213 +#: InvenTree/models.py:219 msgid "Attachment with this filename already exists" msgstr "Anhang mit diesem Dateinamen bereits vorhanden" -#: InvenTree/models.py:220 +#: InvenTree/models.py:226 msgid "Error renaming file" msgstr "Fehler beim Umbenennen" -#: InvenTree/models.py:255 +#: InvenTree/models.py:261 msgid "Invalid choice" msgstr "Ungültige Auswahl" -#: InvenTree/models.py:271 InvenTree/models.py:272 company/models.py:415 +#: InvenTree/models.py:277 InvenTree/models.py:278 company/models.py:415 #: label/models.py:112 part/models.py:741 part/models.py:2389 -#: part/templates/part/detail.html:25 report/models.py:181 -#: templates/InvenTree/settings/settings.html:259 -#: templates/js/translated/company.js:638 templates/js/translated/part.js:499 -#: templates/js/translated/part.js:636 templates/js/translated/part.js:1384 -#: templates/js/translated/stock.js:1877 +#: report/models.py:181 templates/InvenTree/settings/settings.html:259 +#: templates/js/translated/company.js:638 templates/js/translated/part.js:506 +#: templates/js/translated/part.js:643 templates/js/translated/part.js:1565 +#: templates/js/translated/stock.js:1959 msgid "Name" msgstr "Name" -#: InvenTree/models.py:278 build/models.py:207 +#: InvenTree/models.py:284 build/models.py:207 #: build/templates/build/detail.html:25 company/models.py:354 -#: company/models.py:570 company/templates/company/manufacturer_part.html:80 -#: company/templates/company/supplier_part.html:81 label/models.py:119 -#: order/models.py:161 part/models.py:764 part/templates/part/detail.html:30 +#: company/models.py:570 company/templates/company/company_base.html:68 +#: company/templates/company/manufacturer_part.html:76 +#: company/templates/company/supplier_part.html:73 label/models.py:119 +#: order/models.py:161 part/models.py:764 part/templates/part/category.html:70 +#: part/templates/part/part_base.html:163 #: part/templates/part/set_category.html:14 report/models.py:194 #: report/models.py:553 report/models.py:592 #: report/templates/report/inventree_build_order_base.html:118 -#: stock/templates/stock/location.html:108 templates/js/translated/bom.js:215 +#: stock/templates/stock/location.html:89 templates/js/translated/bom.js:215 #: templates/js/translated/bom.js:428 templates/js/translated/build.js:1621 #: templates/js/translated/company.js:345 #: templates/js/translated/company.js:548 -#: templates/js/translated/company.js:837 templates/js/translated/order.js:673 -#: templates/js/translated/order.js:855 templates/js/translated/order.js:1091 -#: templates/js/translated/part.js:558 templates/js/translated/part.js:752 -#: templates/js/translated/part.js:837 templates/js/translated/part.js:1007 -#: templates/js/translated/part.js:1403 templates/js/translated/part.js:1472 -#: templates/js/translated/stock.js:1151 templates/js/translated/stock.js:1889 -#: templates/js/translated/stock.js:1934 +#: templates/js/translated/company.js:837 templates/js/translated/order.js:680 +#: templates/js/translated/order.js:854 templates/js/translated/order.js:1090 +#: templates/js/translated/part.js:565 templates/js/translated/part.js:933 +#: templates/js/translated/part.js:1018 templates/js/translated/part.js:1188 +#: templates/js/translated/part.js:1584 templates/js/translated/part.js:1653 +#: templates/js/translated/stock.js:1233 templates/js/translated/stock.js:1971 +#: templates/js/translated/stock.js:2016 msgid "Description" msgstr "Beschreibung" -#: InvenTree/models.py:279 +#: InvenTree/models.py:285 msgid "Description (optional)" msgstr "Beschreibung (optional)" -#: InvenTree/models.py:287 +#: InvenTree/models.py:293 msgid "parent" msgstr "Eltern" -#: InvenTree/serializers.py:62 part/models.py:2674 +#: InvenTree/serializers.py:65 part/models.py:2674 msgid "Must be a valid number" msgstr "Muss eine gültige Nummer sein" -#: InvenTree/serializers.py:285 +#: InvenTree/serializers.py:299 msgid "Filename" msgstr "Dateiname" @@ -361,7 +362,7 @@ msgid "Returned" msgstr "Zurückgegeben" #: InvenTree/status_codes.py:143 -#: order/templates/order/sales_order_base.html:147 +#: order/templates/order/sales_order_base.html:148 msgid "Shipped" msgstr "Versendet" @@ -566,7 +567,7 @@ msgid "Barcode associated with StockItem" msgstr "Barcode Lagerartikel zugeordnet" #: build/forms.py:36 build/models.py:1283 -#: build/templates/build/build_base.html:124 +#: build/templates/build/build_base.html:132 #: build/templates/build/detail.html:35 common/models.py:1225 #: company/forms.py:42 company/templates/company/supplier_part.html:251 #: order/forms.py:102 order/models.py:729 order/models.py:991 @@ -574,26 +575,27 @@ msgstr "Barcode Lagerartikel zugeordnet" #: order/templates/order/order_wizard/select_parts.html:34 part/forms.py:223 #: part/forms.py:239 part/forms.py:255 part/models.py:2576 #: part/templates/part/bom_upload/match_parts.html:31 -#: part/templates/part/detail.html:1076 part/templates/part/detail.html:1162 +#: part/templates/part/detail.html:967 part/templates/part/detail.html:1053 #: part/templates/part/part_pricing.html:16 #: report/templates/report/inventree_build_order_base.html:114 #: report/templates/report/inventree_po_report.html:91 #: report/templates/report/inventree_so_report.html:91 #: report/templates/report/inventree_test_report_base.html:81 #: report/templates/report/inventree_test_report_base.html:139 -#: stock/forms.py:156 stock/serializers.py:286 -#: stock/templates/stock/item_base.html:256 +#: stock/forms.py:156 stock/serializers.py:291 +#: stock/templates/stock/item_base.html:174 #: templates/js/translated/barcode.js:385 templates/js/translated/bom.js:443 #: templates/js/translated/build.js:235 templates/js/translated/build.js:435 #: templates/js/translated/build.js:629 templates/js/translated/build.js:639 #: templates/js/translated/build.js:1015 templates/js/translated/build.js:1362 #: templates/js/translated/model_renderers.js:99 -#: templates/js/translated/order.js:892 templates/js/translated/order.js:1205 -#: templates/js/translated/order.js:1283 templates/js/translated/order.js:1290 -#: templates/js/translated/order.js:1379 templates/js/translated/order.js:1479 -#: templates/js/translated/part.js:1615 templates/js/translated/part.js:1738 -#: templates/js/translated/part.js:1816 templates/js/translated/stock.js:377 -#: templates/js/translated/stock.js:2069 templates/js/translated/stock.js:2171 +#: templates/js/translated/order.js:891 templates/js/translated/order.js:1204 +#: templates/js/translated/order.js:1282 templates/js/translated/order.js:1289 +#: templates/js/translated/order.js:1378 templates/js/translated/order.js:1478 +#: templates/js/translated/part.js:843 templates/js/translated/part.js:1796 +#: templates/js/translated/part.js:1919 templates/js/translated/part.js:1997 +#: templates/js/translated/stock.js:378 templates/js/translated/stock.js:2151 +#: templates/js/translated/stock.js:2253 msgid "Quantity" msgstr "Anzahl" @@ -602,8 +604,8 @@ msgid "Enter quantity for build output" msgstr "Menge der Endprodukte angeben" #: build/forms.py:41 order/forms.py:96 stock/forms.py:95 -#: stock/serializers.py:307 templates/js/translated/stock.js:224 -#: templates/js/translated/stock.js:378 +#: stock/serializers.py:312 templates/js/translated/stock.js:225 +#: templates/js/translated/stock.js:379 msgid "Serial Numbers" msgstr "Seriennummer" @@ -646,7 +648,7 @@ msgstr "Bauauftrag" #: build/templates/build/index.html:8 build/templates/build/index.html:12 #: order/templates/order/sales_order_detail.html:42 #: order/templates/order/so_sidebar.html:7 -#: part/templates/part/part_sidebar.html:22 templates/InvenTree/index.html:221 +#: part/templates/part/part_sidebar.html:20 templates/InvenTree/index.html:221 #: templates/InvenTree/search.html:145 #: templates/InvenTree/settings/sidebar.html:42 users/models.py:44 msgid "Build Orders" @@ -662,7 +664,7 @@ msgstr "Bauauftragsreferenz" #: report/templates/report/inventree_po_report.html:92 #: report/templates/report/inventree_so_report.html:92 #: templates/js/translated/bom.js:435 templates/js/translated/build.js:1119 -#: templates/js/translated/order.js:886 templates/js/translated/order.js:1473 +#: templates/js/translated/order.js:885 templates/js/translated/order.js:1472 msgid "Reference" msgstr "Referenz" @@ -670,7 +672,7 @@ msgstr "Referenz" msgid "Brief description of the build" msgstr "Kurze Beschreibung des Baus" -#: build/models.py:219 build/templates/build/build_base.html:156 +#: build/models.py:219 build/templates/build/build_base.html:164 #: build/templates/build/detail.html:88 msgid "Parent Build" msgstr "Eltern-Bauauftrag" @@ -679,7 +681,7 @@ msgstr "Eltern-Bauauftrag" msgid "BuildOrder to which this build is allocated" msgstr "Bauauftrag, zu dem dieser Bauauftrag zugwiesen ist" -#: build/models.py:225 build/templates/build/build_base.html:119 +#: build/models.py:225 build/templates/build/build_base.html:77 #: build/templates/build/detail.html:30 company/models.py:705 #: order/models.py:789 order/models.py:860 #: order/templates/order/order_wizard/select_parts.html:32 part/models.py:357 @@ -700,10 +702,10 @@ msgstr "Bauauftrag, zu dem dieser Bauauftrag zugwiesen ist" #: templates/js/translated/build.js:988 templates/js/translated/build.js:1359 #: templates/js/translated/build.js:1626 templates/js/translated/company.js:489 #: templates/js/translated/company.js:746 templates/js/translated/order.js:426 -#: templates/js/translated/order.js:840 templates/js/translated/order.js:1457 -#: templates/js/translated/part.js:737 templates/js/translated/part.js:818 -#: templates/js/translated/part.js:985 templates/js/translated/stock.js:508 -#: templates/js/translated/stock.js:1108 templates/js/translated/stock.js:2159 +#: templates/js/translated/order.js:839 templates/js/translated/order.js:1456 +#: templates/js/translated/part.js:918 templates/js/translated/part.js:999 +#: templates/js/translated/part.js:1166 templates/js/translated/stock.js:590 +#: templates/js/translated/stock.js:1190 templates/js/translated/stock.js:2241 msgid "Part" msgstr "Teil" @@ -751,7 +753,7 @@ msgstr "Fertiggestellte Teile" msgid "Number of stock items which have been completed" msgstr "Anzahl der fertigen Lagerartikel" -#: build/models.py:277 part/templates/part/part_base.html:216 +#: build/models.py:277 part/templates/part/part_base.html:234 msgid "Build Status" msgstr "Bauauftrags-Status" @@ -759,7 +761,7 @@ msgstr "Bauauftrags-Status" msgid "Build status code" msgstr "Bau-Statuscode" -#: build/models.py:285 stock/models.py:544 +#: build/models.py:285 stock/models.py:534 msgid "Batch Code" msgstr "Losnummer" @@ -768,7 +770,7 @@ msgid "Batch code for this build output" msgstr "Losnummer für dieses Endprodukt" #: build/models.py:292 order/models.py:165 part/models.py:936 -#: part/templates/part/detail.html:86 templates/js/translated/order.js:1104 +#: part/templates/part/part_base.html:313 templates/js/translated/order.js:1103 msgid "Creation Date" msgstr "Erstelldatum" @@ -797,12 +799,12 @@ msgstr "Aufgegeben von" msgid "User who issued this build order" msgstr "Nutzer der diesen Bauauftrag erstellt hat" -#: build/models.py:323 build/templates/build/build_base.html:177 +#: build/models.py:323 build/templates/build/build_base.html:185 #: build/templates/build/detail.html:116 order/models.py:179 -#: order/templates/order/order_base.html:154 -#: order/templates/order/sales_order_base.html:161 part/models.py:940 +#: order/templates/order/order_base.html:158 +#: order/templates/order/sales_order_base.html:162 part/models.py:940 #: report/templates/report/inventree_build_order_base.html:159 -#: templates/js/translated/build.js:1680 templates/js/translated/order.js:700 +#: templates/js/translated/build.js:1680 templates/js/translated/order.js:699 msgid "Responsible" msgstr "Verantwortlicher Benutzer" @@ -811,10 +813,10 @@ msgid "User responsible for this build order" msgstr "Nutzer der für diesen Bauauftrag zuständig ist" #: build/models.py:329 build/templates/build/detail.html:102 -#: company/templates/company/manufacturer_part.html:87 -#: company/templates/company/supplier_part.html:88 -#: part/templates/part/detail.html:80 stock/models.py:538 -#: stock/templates/stock/item_base.html:346 +#: company/templates/company/manufacturer_part.html:102 +#: company/templates/company/supplier_part.html:126 +#: part/templates/part/part_base.html:354 stock/models.py:528 +#: stock/templates/stock/item_base.html:374 msgid "External Link" msgstr "Externer Link" @@ -824,15 +826,15 @@ msgstr "Externer Link" #: order/models.py:183 order/models.py:738 #: order/templates/order/po_sidebar.html:11 #: order/templates/order/so_sidebar.html:11 part/models.py:925 -#: part/templates/part/detail.html:223 part/templates/part/part_sidebar.html:52 +#: part/templates/part/detail.html:116 part/templates/part/part_sidebar.html:50 #: report/templates/report/inventree_build_order_base.html:173 -#: stock/forms.py:154 stock/forms.py:204 stock/forms.py:238 stock/models.py:610 -#: stock/models.py:1774 stock/models.py:1880 stock/serializers.py:325 -#: stock/serializers.py:583 stock/templates/stock/stock_sidebar.html:21 +#: stock/forms.py:154 stock/forms.py:204 stock/forms.py:238 stock/models.py:600 +#: stock/models.py:1764 stock/models.py:1870 stock/serializers.py:330 +#: stock/serializers.py:588 stock/templates/stock/stock_sidebar.html:21 #: templates/js/translated/barcode.js:58 templates/js/translated/bom.js:599 -#: templates/js/translated/company.js:842 templates/js/translated/order.js:985 -#: templates/js/translated/order.js:1583 templates/js/translated/stock.js:891 -#: templates/js/translated/stock.js:1370 +#: templates/js/translated/company.js:842 templates/js/translated/order.js:984 +#: templates/js/translated/order.js:1582 templates/js/translated/stock.js:973 +#: templates/js/translated/stock.js:1452 msgid "Notes" msgstr "Notizen" @@ -877,7 +879,7 @@ msgstr "Anzahl muss 1 für Objekte mit Seriennummer sein" msgid "Selected stock item not found in BOM" msgstr "Ausgewähltes Bestands-Objekt nicht in Stückliste für Teil '{p}' gefunden" -#: build/models.py:1253 stock/templates/stock/item_base.html:318 +#: build/models.py:1253 stock/templates/stock/item_base.html:346 #: templates/InvenTree/search.html:143 templates/js/translated/build.js:1599 #: templates/navbar.html:33 msgid "Build" @@ -890,11 +892,11 @@ msgstr "Bauauftrag starten um Teile zuzuweisen" #: build/models.py:1270 build/serializers.py:328 #: stock/templates/stock/item_base.html:8 #: stock/templates/stock/item_base.html:16 -#: stock/templates/stock/item_base.html:340 +#: stock/templates/stock/item_base.html:368 #: templates/js/translated/build.js:408 templates/js/translated/build.js:413 #: templates/js/translated/build.js:1361 templates/js/translated/build.js:1742 -#: templates/js/translated/order.js:1178 templates/js/translated/order.js:1183 -#: templates/js/translated/stock.js:2020 +#: templates/js/translated/order.js:1177 templates/js/translated/order.js:1182 +#: templates/js/translated/stock.js:2102 msgid "Stock Item" msgstr "Lagerartikel" @@ -934,16 +936,16 @@ msgstr "Dieses Endprodukt wurde bereits fertiggestellt" msgid "This build output is not fully allocated" msgstr "Dieses Endprodukt ist nicht vollständig zugewiesen" -#: build/serializers.py:190 order/serializers.py:219 order/serializers.py:287 -#: stock/forms.py:236 stock/serializers.py:318 stock/serializers.py:685 -#: stock/templates/stock/item_base.html:286 +#: build/serializers.py:190 order/serializers.py:228 order/serializers.py:296 +#: stock/forms.py:236 stock/serializers.py:323 stock/serializers.py:690 +#: stock/templates/stock/item_base.html:314 #: templates/js/translated/barcode.js:384 #: templates/js/translated/barcode.js:557 templates/js/translated/build.js:420 #: templates/js/translated/build.js:1027 templates/js/translated/order.js:348 -#: templates/js/translated/order.js:1190 templates/js/translated/order.js:1298 -#: templates/js/translated/order.js:1304 templates/js/translated/part.js:181 -#: templates/js/translated/stock.js:510 templates/js/translated/stock.js:1251 -#: templates/js/translated/stock.js:1961 +#: templates/js/translated/order.js:1189 templates/js/translated/order.js:1297 +#: templates/js/translated/order.js:1303 templates/js/translated/part.js:177 +#: templates/js/translated/stock.js:592 templates/js/translated/stock.js:1333 +#: templates/js/translated/stock.js:2043 msgid "Location" msgstr "Lagerort" @@ -951,13 +953,13 @@ msgstr "Lagerort" msgid "Location for completed build outputs" msgstr "Lagerort für fertige Endprodukte" -#: build/serializers.py:197 build/templates/build/build_base.html:129 +#: build/serializers.py:197 build/templates/build/build_base.html:137 #: build/templates/build/detail.html:63 order/models.py:572 -#: order/serializers.py:240 stock/templates/stock/item_base.html:409 +#: order/serializers.py:249 stock/templates/stock/item_base.html:180 #: templates/js/translated/barcode.js:140 templates/js/translated/build.js:1655 -#: templates/js/translated/order.js:431 templates/js/translated/order.js:677 -#: templates/js/translated/order.js:1096 templates/js/translated/stock.js:1226 -#: templates/js/translated/stock.js:2038 templates/js/translated/stock.js:2187 +#: templates/js/translated/order.js:431 templates/js/translated/order.js:1095 +#: templates/js/translated/stock.js:1308 templates/js/translated/stock.js:2120 +#: templates/js/translated/stock.js:2269 msgid "Status" msgstr "Status" @@ -986,8 +988,8 @@ msgstr "bom_item.part muss auf dasselbe Teil verweisen wie der Bauauftrag" msgid "Item must be in stock" msgstr "Teil muss auf Lager sein" -#: build/serializers.py:348 order/models.py:316 order/serializers.py:233 -#: stock/models.py:381 stock/models.py:1103 stock/serializers.py:298 +#: build/serializers.py:348 order/models.py:316 order/serializers.py:242 +#: stock/models.py:371 stock/models.py:1093 stock/serializers.py:303 msgid "Quantity must be greater than zero" msgstr "Anzahl muss größer Null sein" @@ -1031,7 +1033,7 @@ msgid "Edit Build" msgstr "Bauauftrag bearbeiten" #: build/templates/build/build_base.html:56 -#: build/templates/build/build_base.html:207 build/views.py:56 +#: build/templates/build/build_base.html:215 build/views.py:56 msgid "Cancel Build" msgstr "Bauauftrag abbrechen" @@ -1041,93 +1043,95 @@ msgstr "Bauauftrag löschen" #: build/templates/build/build_base.html:64 #: build/templates/build/build_base.html:65 -#: build/templates/build/build_base.html:223 +#: build/templates/build/build_base.html:231 msgid "Complete Build" msgstr "Bauauftrag fertigstellen" -#: build/templates/build/build_base.html:79 +#: build/templates/build/build_base.html:82 +msgid "Build Description" +msgstr "Baubeschreibung" + +#: build/templates/build/build_base.html:91 #, python-format msgid "This Build Order is allocated to Sales Order %(link)s" msgstr "Dieser Bauauftrag ist dem Auftrag %(link)s zugeordnet" -#: build/templates/build/build_base.html:86 +#: build/templates/build/build_base.html:98 #, python-format msgid "This Build Order is a child of Build Order %(link)s" msgstr "Dieser Bauauftrag ist dem Bauauftrag %(link)s untergeordnet" -#: build/templates/build/build_base.html:93 +#: build/templates/build/build_base.html:105 msgid "Build Order is ready to mark as completed" msgstr "Bauauftrag ist bereit abgeschlossen zu werden" -#: build/templates/build/build_base.html:98 +#: build/templates/build/build_base.html:110 msgid "Build Order cannot be completed as outstanding outputs remain" msgstr "Bauauftrag kann nicht abgeschlossen werden, da es noch ausstehende Endprodukte gibt" -#: build/templates/build/build_base.html:103 +#: build/templates/build/build_base.html:115 msgid "Required build quantity has not yet been completed" msgstr "Benötigte Teil-Anzahl wurde noch nicht fertiggestellt" -#: build/templates/build/build_base.html:108 +#: build/templates/build/build_base.html:120 msgid "Stock has not been fully allocated to this Build Order" msgstr "Bestand wurde Bauauftrag noch nicht vollständig zugewiesen" -#: build/templates/build/build_base.html:138 +#: build/templates/build/build_base.html:146 #: build/templates/build/detail.html:132 -#: order/templates/order/order_base.html:140 -#: order/templates/order/sales_order_base.html:140 +#: order/templates/order/order_base.html:144 +#: order/templates/order/sales_order_base.html:141 #: report/templates/report/inventree_build_order_base.html:126 -#: templates/js/translated/build.js:1692 templates/js/translated/order.js:690 -#: templates/js/translated/order.js:1109 +#: templates/js/translated/build.js:1692 templates/js/translated/order.js:689 +#: templates/js/translated/order.js:1108 msgid "Target Date" msgstr "Zieldatum" -#: build/templates/build/build_base.html:143 +#: build/templates/build/build_base.html:151 #, python-format msgid "This build was due on %(target)s" msgstr "Bauauftrag war fällig am %(target)s" -#: build/templates/build/build_base.html:143 -#: build/templates/build/build_base.html:188 -#: order/templates/order/order_base.html:81 -#: order/templates/order/order_base.html:102 -#: order/templates/order/sales_order_base.html:78 -#: order/templates/order/sales_order_base.html:107 +#: build/templates/build/build_base.html:151 +#: build/templates/build/build_base.html:196 +#: order/templates/order/order_base.html:98 +#: order/templates/order/sales_order_base.html:93 #: templates/js/translated/table_filters.js:294 #: templates/js/translated/table_filters.js:322 #: templates/js/translated/table_filters.js:339 msgid "Overdue" msgstr "Überfällig" -#: build/templates/build/build_base.html:150 +#: build/templates/build/build_base.html:158 #: build/templates/build/detail.html:68 build/templates/build/detail.html:143 #: templates/js/translated/build.js:1641 #: templates/js/translated/table_filters.js:304 msgid "Completed" msgstr "Fertig" -#: build/templates/build/build_base.html:163 +#: build/templates/build/build_base.html:171 #: build/templates/build/detail.html:95 order/models.py:857 #: order/templates/order/sales_order_base.html:9 #: order/templates/order/sales_order_base.html:28 #: order/templates/order/sales_order_ship.html:25 #: report/templates/report/inventree_build_order_base.html:136 #: report/templates/report/inventree_so_report.html:77 -#: stock/templates/stock/item_base.html:280 -#: templates/js/translated/order.js:1051 +#: stock/templates/stock/item_base.html:308 +#: templates/js/translated/order.js:1050 msgid "Sales Order" msgstr "Auftrag" -#: build/templates/build/build_base.html:170 +#: build/templates/build/build_base.html:178 #: build/templates/build/detail.html:109 #: report/templates/report/inventree_build_order_base.html:153 msgid "Issued By" msgstr "Aufgegeben von" -#: build/templates/build/build_base.html:215 +#: build/templates/build/build_base.html:223 msgid "Incomplete Outputs" msgstr "Unfertige Endprodukte" -#: build/templates/build/build_base.html:216 +#: build/templates/build/build_base.html:224 msgid "Build Order cannot be completed as incomplete build outputs remain" msgstr "Bauauftrag kann nicht abgeschlossen werden, da es noch unvollständige Endprodukte gibt" @@ -1188,7 +1192,7 @@ msgid "Stock can be taken from any available location." msgstr "Bestand kann jedem verfügbaren Lagerort entnommen werden." #: build/templates/build/detail.html:50 order/models.py:811 stock/forms.py:150 -#: templates/js/translated/order.js:432 templates/js/translated/order.js:974 +#: templates/js/translated/order.js:432 templates/js/translated/order.js:973 msgid "Destination" msgstr "Ziel-Lager" @@ -1201,16 +1205,16 @@ msgid "Allocated Parts" msgstr "Zugewiesene Teile" #: build/templates/build/detail.html:81 -#: stock/templates/stock/item_base.html:304 -#: templates/js/translated/stock.js:1240 templates/js/translated/stock.js:2194 +#: stock/templates/stock/item_base.html:332 +#: templates/js/translated/stock.js:1322 templates/js/translated/stock.js:2276 #: templates/js/translated/table_filters.js:151 #: templates/js/translated/table_filters.js:233 msgid "Batch" msgstr "Losnummer" #: build/templates/build/detail.html:127 -#: order/templates/order/order_base.html:127 -#: order/templates/order/sales_order_base.html:134 +#: order/templates/order/order_base.html:131 +#: order/templates/order/sales_order_base.html:135 #: templates/js/translated/build.js:1663 msgid "Created" msgstr "Erstellt" @@ -1254,7 +1258,7 @@ msgstr "Benötigte Teile bestellen" #: build/templates/build/detail.html:185 #: company/templates/company/detail.html:38 #: company/templates/company/detail.html:85 order/views.py:509 -#: part/templates/part/category.html:166 +#: part/templates/part/category.html:173 msgid "Order Parts" msgstr "Teile bestellen" @@ -1306,8 +1310,8 @@ msgstr "Fertiggestellte Endprodukte" #: order/templates/order/po_sidebar.html:9 #: order/templates/order/purchase_order_detail.html:60 #: order/templates/order/sales_order_detail.html:52 -#: order/templates/order/so_sidebar.html:9 part/templates/part/detail.html:300 -#: part/templates/part/part_sidebar.html:50 stock/templates/stock/item.html:95 +#: order/templates/order/so_sidebar.html:9 part/templates/part/detail.html:193 +#: part/templates/part/part_sidebar.html:48 stock/templates/stock/item.html:95 #: stock/templates/stock/stock_sidebar.html:19 msgid "Attachments" msgstr "Anhänge" @@ -1323,7 +1327,7 @@ msgstr "Bauauftrags-Notizen" #: order/templates/order/purchase_order_detail.html:108 #: order/templates/order/sales_order_detail.html:72 #: order/templates/order/sales_order_detail.html:99 -#: part/templates/part/detail.html:227 stock/templates/stock/item.html:115 +#: part/templates/part/detail.html:120 stock/templates/stock/item.html:115 #: stock/templates/stock/item.html:205 msgid "Edit Notes" msgstr "Anmerkungen bearbeiten" @@ -1336,7 +1340,7 @@ msgstr "Zuordnung abgeschlossen" msgid "All untracked stock items have been allocated" msgstr "Alle nicht verfolgten Lagerartikel wurden zugewiesen" -#: build/templates/build/index.html:18 part/templates/part/detail.html:407 +#: build/templates/build/index.html:18 part/templates/part/detail.html:300 msgid "New Build Order" msgstr "Neuer Bauauftrag" @@ -1380,7 +1384,7 @@ msgstr "Endprodukt anlegen" msgid "Maximum output quantity is " msgstr "Maximale Endproduktmenge ist " -#: build/views.py:122 stock/serializers.py:356 stock/views.py:1290 +#: build/views.py:122 stock/serializers.py:361 stock/views.py:1290 msgid "Serial numbers already exist" msgstr "Seriennummern existieren bereits" @@ -1675,7 +1679,7 @@ msgid "Parts are trackable by default" msgstr "Artikel sind grundsätzlich verfolgbar" #: common/models.py:745 part/models.py:920 -#: part/templates/part/part_base.html:144 +#: part/templates/part/part_base.html:147 #: templates/js/translated/table_filters.js:42 msgid "Virtual" msgstr "Virtuell" @@ -2142,7 +2146,7 @@ msgstr "Preisstaffelungs Anzahl" #: common/models.py:1233 company/serializers.py:264 #: company/templates/company/supplier_part.html:256 -#: templates/js/translated/part.js:1620 +#: templates/js/translated/part.js:852 templates/js/translated/part.js:1801 msgid "Price" msgstr "Preis" @@ -2206,7 +2210,7 @@ msgstr "Firmenbeschreibung" msgid "Description of the company" msgstr "Firmenbeschreibung" -#: company/models.py:112 company/templates/company/company_base.html:70 +#: company/models.py:112 company/templates/company/company_base.html:97 #: templates/js/translated/company.js:349 msgid "Website" msgstr "Website" @@ -2215,7 +2219,7 @@ msgstr "Website" msgid "Company website URL" msgstr "Firmenwebsite Adresse/URL" -#: company/models.py:117 company/templates/company/company_base.html:88 +#: company/models.py:117 company/templates/company/company_base.html:115 msgid "Address" msgstr "Adresse" @@ -2231,7 +2235,7 @@ msgstr "Kontakt-Tel." msgid "Contact phone number" msgstr "Kontakt-Telefon" -#: company/models.py:125 company/templates/company/company_base.html:102 +#: company/models.py:125 company/templates/company/company_base.html:129 #: templates/InvenTree/settings/user.html:47 msgid "Email" msgstr "Email" @@ -2240,7 +2244,7 @@ msgstr "Email" msgid "Contact email address" msgstr "Kontakt-Email" -#: company/models.py:128 company/templates/company/company_base.html:109 +#: company/models.py:128 company/templates/company/company_base.html:136 msgid "Contact" msgstr "Kontakt" @@ -2281,7 +2285,7 @@ msgid "Does this company manufacture parts?" msgstr "Produziert diese Firma Teile?" #: company/models.py:152 company/serializers.py:270 -#: company/templates/company/company_base.html:76 stock/serializers.py:172 +#: company/templates/company/company_base.html:103 stock/serializers.py:177 msgid "Currency" msgstr "Währung" @@ -2289,8 +2293,8 @@ msgstr "Währung" msgid "Default currency used for this company" msgstr "Standard-Währung für diese Firma" -#: company/models.py:320 company/models.py:535 stock/models.py:484 -#: stock/templates/stock/item_base.html:224 +#: company/models.py:320 company/models.py:535 stock/models.py:474 +#: stock/templates/stock/item_base.html:135 msgid "Base Part" msgstr "Basisteil" @@ -2298,29 +2302,29 @@ msgstr "Basisteil" msgid "Select part" msgstr "Teil auswählen" -#: company/models.py:335 company/templates/company/company_base.html:116 -#: company/templates/company/manufacturer_part.html:93 -#: company/templates/company/supplier_part.html:104 -#: stock/templates/stock/item_base.html:353 +#: company/models.py:335 company/templates/company/company_base.html:73 +#: company/templates/company/manufacturer_part.html:91 +#: company/templates/company/supplier_part.html:97 +#: stock/templates/stock/item_base.html:381 #: templates/js/translated/company.js:333 #: templates/js/translated/company.js:514 -#: templates/js/translated/company.js:797 templates/js/translated/part.js:229 +#: templates/js/translated/company.js:797 templates/js/translated/part.js:232 msgid "Manufacturer" msgstr "Hersteller" -#: company/models.py:336 templates/js/translated/part.js:230 +#: company/models.py:336 templates/js/translated/part.js:233 msgid "Select manufacturer" msgstr "Hersteller auswählen" -#: company/models.py:342 company/templates/company/manufacturer_part.html:97 -#: company/templates/company/supplier_part.html:112 +#: company/models.py:342 company/templates/company/manufacturer_part.html:96 +#: company/templates/company/supplier_part.html:105 #: templates/js/translated/company.js:530 -#: templates/js/translated/company.js:815 templates/js/translated/order.js:874 -#: templates/js/translated/part.js:240 +#: templates/js/translated/company.js:815 templates/js/translated/order.js:873 +#: templates/js/translated/part.js:243 templates/js/translated/part.js:832 msgid "MPN" msgstr "MPN" -#: company/models.py:343 templates/js/translated/part.js:241 +#: company/models.py:343 templates/js/translated/part.js:244 msgid "Manufacturer Part Number" msgstr "Hersteller-Teilenummer" @@ -2335,7 +2339,7 @@ msgstr "Teilbeschreibung des Herstellers" #: company/models.py:409 company/models.py:558 #: company/templates/company/manufacturer_part.html:6 #: company/templates/company/manufacturer_part.html:23 -#: stock/templates/stock/item_base.html:363 +#: stock/templates/stock/item_base.html:391 msgid "Manufacturer Part" msgstr "Herstellerteil" @@ -2345,8 +2349,8 @@ msgstr "Parametername" #: company/models.py:422 #: report/templates/report/inventree_test_report_base.html:95 -#: stock/models.py:1867 templates/js/translated/company.js:644 -#: templates/js/translated/part.js:645 templates/js/translated/stock.js:878 +#: stock/models.py:1857 templates/js/translated/company.js:644 +#: templates/js/translated/part.js:652 templates/js/translated/stock.js:960 msgid "Value" msgstr "Wert" @@ -2355,9 +2359,9 @@ msgid "Parameter value" msgstr "Parameterwert" #: company/models.py:429 part/models.py:882 part/models.py:2397 -#: part/templates/part/detail.html:59 +#: part/templates/part/part_base.html:288 #: templates/InvenTree/settings/settings.html:264 -#: templates/js/translated/company.js:650 templates/js/translated/part.js:651 +#: templates/js/translated/company.js:650 templates/js/translated/part.js:658 msgid "Units" msgstr "Einheiten" @@ -2369,28 +2373,28 @@ msgstr "Parametereinheit" msgid "Linked manufacturer part must reference the same base part" msgstr "Verlinktes Herstellerteil muss dasselbe Basisteil referenzieren" -#: company/models.py:545 company/templates/company/company_base.html:121 -#: company/templates/company/supplier_part.html:94 order/models.py:263 -#: order/templates/order/order_base.html:108 +#: company/models.py:545 company/templates/company/company_base.html:78 +#: company/templates/company/supplier_part.html:87 order/models.py:263 +#: order/templates/order/order_base.html:112 #: order/templates/order/order_wizard/select_pos.html:30 part/bom.py:219 -#: part/bom.py:247 stock/templates/stock/item_base.html:370 +#: part/bom.py:247 stock/templates/stock/item_base.html:398 #: templates/js/translated/company.js:337 -#: templates/js/translated/company.js:771 templates/js/translated/order.js:660 -#: templates/js/translated/part.js:210 +#: templates/js/translated/company.js:771 templates/js/translated/order.js:667 +#: templates/js/translated/part.js:213 templates/js/translated/part.js:800 msgid "Supplier" msgstr "Zulieferer" -#: company/models.py:546 templates/js/translated/part.js:211 +#: company/models.py:546 templates/js/translated/part.js:214 msgid "Select supplier" msgstr "Zulieferer auswählen" -#: company/models.py:551 company/templates/company/supplier_part.html:98 -#: part/bom.py:220 part/bom.py:248 templates/js/translated/order.js:861 -#: templates/js/translated/part.js:221 +#: company/models.py:551 company/templates/company/supplier_part.html:91 +#: part/bom.py:220 part/bom.py:248 templates/js/translated/order.js:860 +#: templates/js/translated/part.js:224 templates/js/translated/part.js:818 msgid "SKU" msgstr "SKU (Lagerbestandseinheit)" -#: company/models.py:552 templates/js/translated/part.js:222 +#: company/models.py:552 templates/js/translated/part.js:225 msgid "Supplier stock keeping unit" msgstr "Lagerbestandseinheit (SKU) des Zulieferers" @@ -2406,7 +2410,7 @@ msgstr "Teil-URL des Zulieferers" msgid "Supplier part description" msgstr "Zuliefererbeschreibung des Teils" -#: company/models.py:576 company/templates/company/supplier_part.html:126 +#: company/models.py:576 company/templates/company/supplier_part.html:119 #: part/models.py:2588 report/templates/report/inventree_po_report.html:93 #: report/templates/report/inventree_so_report.html:93 msgid "Note" @@ -2420,9 +2424,9 @@ msgstr "Basiskosten" msgid "Minimum charge (e.g. stocking fee)" msgstr "Mindestpreis" -#: company/models.py:582 company/templates/company/supplier_part.html:119 -#: stock/models.py:507 stock/templates/stock/item_base.html:311 -#: templates/js/translated/company.js:847 templates/js/translated/stock.js:1366 +#: company/models.py:582 company/templates/company/supplier_part.html:112 +#: stock/models.py:497 stock/templates/stock/item_base.html:339 +#: templates/js/translated/company.js:847 templates/js/translated/stock.js:1448 msgid "Packaging" msgstr "Verpackungen" @@ -2457,43 +2461,56 @@ msgstr "Firma" msgid "Create Purchase Order" msgstr "Bestellung anlegen" -#: company/templates/company/company_base.html:27 +#: company/templates/company/company_base.html:26 +msgid "Company actions" +msgstr "Firmenaktionen" + +#: company/templates/company/company_base.html:31 msgid "Edit company information" msgstr "Firmeninformation bearbeiten" #: company/templates/company/company_base.html:32 -#: company/templates/company/company_base.html:148 +#: templates/js/translated/company.js:265 +msgid "Edit Company" +msgstr "Firma bearbeiten" + +#: company/templates/company/company_base.html:36 +msgid "Delete company" +msgstr "Unternehmen löschen" + +#: company/templates/company/company_base.html:37 +#: company/templates/company/company_base.html:159 msgid "Delete Company" msgstr "Firma löschen" -#: company/templates/company/company_base.html:48 +#: company/templates/company/company_base.html:53 #: part/templates/part/part_thumb.html:12 msgid "Upload new image" msgstr "Neues Bild hochladen" -#: company/templates/company/company_base.html:51 +#: company/templates/company/company_base.html:56 #: part/templates/part/part_thumb.html:14 msgid "Download image from URL" msgstr "Bild von URL herunterladen" -#: company/templates/company/company_base.html:81 -msgid "Uses default currency" -msgstr "verwendet Standard-Währung" - -#: company/templates/company/company_base.html:95 -msgid "Phone" -msgstr "Telefon" - -#: company/templates/company/company_base.html:126 order/models.py:567 -#: order/templates/order/sales_order_base.html:114 stock/models.py:525 -#: stock/models.py:526 stock/templates/stock/item_base.html:263 -#: templates/js/translated/company.js:329 templates/js/translated/order.js:1073 -#: templates/js/translated/stock.js:2002 +#: company/templates/company/company_base.html:83 order/models.py:567 +#: order/templates/order/sales_order_base.html:115 stock/models.py:515 +#: stock/models.py:516 stock/templates/stock/item_base.html:291 +#: templates/js/translated/company.js:329 templates/js/translated/order.js:1072 +#: templates/js/translated/stock.js:2084 msgid "Customer" msgstr "Kunde" -#: company/templates/company/company_base.html:194 -#: part/templates/part/part_base.html:342 +#: company/templates/company/company_base.html:108 +msgid "Uses default currency" +msgstr "verwendet Standard-Währung" + +#: company/templates/company/company_base.html:122 +msgid "Phone" +msgstr "Telefon" + +#: company/templates/company/company_base.html:205 +#: part/templates/part/part_base.html:471 msgid "Upload Image" msgstr "Bild hochladen" @@ -2509,23 +2526,23 @@ msgid "Create new supplier part" msgstr "Neues Zuliefererteil anlegen" #: company/templates/company/detail.html:20 -#: company/templates/company/manufacturer_part.html:112 -#: part/templates/part/detail.html:440 +#: company/templates/company/manufacturer_part.html:118 +#: part/templates/part/detail.html:333 msgid "New Supplier Part" msgstr "Neues Zuliefererteil" #: company/templates/company/detail.html:32 #: company/templates/company/detail.html:79 -#: company/templates/company/manufacturer_part.html:121 -#: company/templates/company/manufacturer_part.html:150 -#: part/templates/part/category.html:160 part/templates/part/detail.html:449 -#: part/templates/part/detail.html:477 +#: company/templates/company/manufacturer_part.html:127 +#: company/templates/company/manufacturer_part.html:156 +#: part/templates/part/category.html:167 part/templates/part/detail.html:342 +#: part/templates/part/detail.html:370 msgid "Options" msgstr "Optionen" #: company/templates/company/detail.html:37 #: company/templates/company/detail.html:84 -#: part/templates/part/category.html:166 +#: part/templates/part/category.html:173 msgid "Order parts" msgstr "Teile bestellen" @@ -2547,7 +2564,7 @@ msgstr "Herstellerteile" msgid "Create new manufacturer part" msgstr "Neues Herstellerteil anlegen" -#: company/templates/company/detail.html:67 part/templates/part/detail.html:467 +#: company/templates/company/detail.html:67 part/templates/part/detail.html:360 msgid "New Manufacturer Part" msgstr "Neues Herstellerteil" @@ -2561,7 +2578,7 @@ msgstr "Zulieferer-Bestand" #: order/templates/order/order_base.html:13 #: order/templates/order/purchase_orders.html:8 #: order/templates/order/purchase_orders.html:12 -#: part/templates/part/detail.html:171 part/templates/part/part_sidebar.html:35 +#: part/templates/part/detail.html:64 part/templates/part/part_sidebar.html:33 #: templates/InvenTree/index.html:252 templates/InvenTree/search.html:203 #: templates/InvenTree/settings/sidebar.html:44 templates/navbar.html:45 #: users/models.py:45 @@ -2583,7 +2600,7 @@ msgstr "Neue Bestellung" #: order/templates/order/sales_order_base.html:13 #: order/templates/order/sales_orders.html:8 #: order/templates/order/sales_orders.html:15 -#: part/templates/part/detail.html:194 part/templates/part/part_sidebar.html:39 +#: part/templates/part/detail.html:87 part/templates/part/part_sidebar.html:37 #: templates/InvenTree/index.html:283 templates/InvenTree/search.html:223 #: templates/InvenTree/settings/sidebar.html:46 templates/navbar.html:56 #: users/models.py:46 @@ -2610,14 +2627,14 @@ msgid "Company Notes" msgstr "Firmenbemerkungen" #: company/templates/company/detail.html:383 -#: company/templates/company/manufacturer_part.html:209 -#: part/templates/part/detail.html:520 +#: company/templates/company/manufacturer_part.html:215 +#: part/templates/part/detail.html:413 msgid "Delete Supplier Parts?" msgstr "Zuliefererteil entfernen?" #: company/templates/company/detail.html:384 -#: company/templates/company/manufacturer_part.html:210 -#: part/templates/part/detail.html:521 +#: company/templates/company/manufacturer_part.html:216 +#: part/templates/part/detail.html:414 msgid "All selected supplier parts will be deleted" msgstr "Alle ausgewählten Zulieferteile werden gelöscht" @@ -2634,7 +2651,7 @@ msgstr "Hersteller" #: company/templates/company/manufacturer_part.html:35 #: company/templates/company/supplier_part.html:34 #: company/templates/company/supplier_part.html:159 -#: part/templates/part/detail.html:174 part/templates/part/part_base.html:76 +#: part/templates/part/detail.html:67 part/templates/part/part_base.html:76 msgid "Order part" msgstr "Teil bestellen" @@ -2648,60 +2665,60 @@ msgstr "Herstellerteil bearbeiten" msgid "Delete manufacturer part" msgstr "Herstellerteil löschen" -#: company/templates/company/manufacturer_part.html:70 -#: company/templates/company/supplier_part.html:71 +#: company/templates/company/manufacturer_part.html:66 +#: company/templates/company/supplier_part.html:63 msgid "Internal Part" msgstr "Internes Teil" -#: company/templates/company/manufacturer_part.html:108 +#: company/templates/company/manufacturer_part.html:114 #: company/templates/company/supplier_part.html:15 company/views.py:49 -#: part/templates/part/part_sidebar.html:33 part/templates/part/prices.html:163 +#: part/templates/part/part_sidebar.html:31 part/templates/part/prices.html:163 #: templates/InvenTree/search.html:194 templates/navbar.html:43 msgid "Suppliers" msgstr "Zulieferer" -#: company/templates/company/manufacturer_part.html:123 -#: part/templates/part/detail.html:451 +#: company/templates/company/manufacturer_part.html:129 +#: part/templates/part/detail.html:344 msgid "Delete supplier parts" msgstr "Zuliefererteil entfernen" -#: company/templates/company/manufacturer_part.html:123 -#: company/templates/company/manufacturer_part.html:152 -#: company/templates/company/manufacturer_part.html:248 -#: part/templates/part/detail.html:451 part/templates/part/detail.html:479 +#: company/templates/company/manufacturer_part.html:129 +#: company/templates/company/manufacturer_part.html:158 +#: company/templates/company/manufacturer_part.html:254 +#: part/templates/part/detail.html:344 part/templates/part/detail.html:372 #: templates/js/translated/company.js:425 templates/js/translated/helpers.js:31 #: users/models.py:204 msgid "Delete" msgstr "Löschen" -#: company/templates/company/manufacturer_part.html:137 +#: company/templates/company/manufacturer_part.html:143 #: company/templates/company/manufacturer_part_sidebar.html:5 #: part/templates/part/category_sidebar.html:17 -#: part/templates/part/detail.html:277 part/templates/part/part_sidebar.html:10 +#: part/templates/part/detail.html:170 part/templates/part/part_sidebar.html:8 msgid "Parameters" msgstr "Parameter" -#: company/templates/company/manufacturer_part.html:141 -#: part/templates/part/detail.html:282 +#: company/templates/company/manufacturer_part.html:147 +#: part/templates/part/detail.html:175 #: templates/InvenTree/settings/category.html:12 #: templates/InvenTree/settings/part.html:65 msgid "New Parameter" msgstr "Neuer Parameter" -#: company/templates/company/manufacturer_part.html:152 +#: company/templates/company/manufacturer_part.html:158 msgid "Delete parameters" msgstr "Parameter löschen" -#: company/templates/company/manufacturer_part.html:185 -#: part/templates/part/detail.html:976 +#: company/templates/company/manufacturer_part.html:191 +#: part/templates/part/detail.html:867 msgid "Add Parameter" msgstr "Parameter hinzufügen" -#: company/templates/company/manufacturer_part.html:233 +#: company/templates/company/manufacturer_part.html:239 msgid "Selected parameters will be deleted" msgstr "Ausgewählte Parameter werden gelöscht" -#: company/templates/company/manufacturer_part.html:245 +#: company/templates/company/manufacturer_part.html:251 msgid "Delete Parameters" msgstr "Parameter löschen" @@ -2722,9 +2739,9 @@ msgid "Assigned Stock Items" msgstr "Zugewiesene Lagerartikel" #: company/templates/company/supplier_part.html:7 -#: company/templates/company/supplier_part.html:24 stock/models.py:492 -#: stock/templates/stock/item_base.html:375 -#: templates/js/translated/company.js:787 templates/js/translated/stock.js:1323 +#: company/templates/company/supplier_part.html:24 stock/models.py:482 +#: stock/templates/stock/item_base.html:403 +#: templates/js/translated/company.js:787 templates/js/translated/stock.js:1405 msgid "Supplier Part" msgstr "Zuliefererteil" @@ -2744,13 +2761,13 @@ msgid "Supplier Part Stock" msgstr "Zulieferer-Bestand" #: company/templates/company/supplier_part.html:141 -#: part/templates/part/detail.html:127 stock/templates/stock/location.html:147 +#: part/templates/part/detail.html:20 stock/templates/stock/location.html:162 msgid "Create new stock item" msgstr "Neuen Lagerartikel hinzufügen" #: company/templates/company/supplier_part.html:142 -#: part/templates/part/detail.html:128 stock/templates/stock/location.html:148 -#: templates/js/translated/stock.js:354 +#: part/templates/part/detail.html:21 stock/templates/stock/location.html:163 +#: templates/js/translated/stock.js:355 msgid "New Stock Item" msgstr "Neuer Lagerartikel" @@ -2760,7 +2777,7 @@ msgid "Supplier Part Orders" msgstr "Zulieferer-Bestellungen" #: company/templates/company/supplier_part.html:160 -#: part/templates/part/detail.html:175 +#: part/templates/part/detail.html:68 msgid "Order Part" msgstr "Teil bestellen" @@ -2796,15 +2813,15 @@ msgid "Delete price break" msgstr "Preisstaffel löschen" #: company/templates/company/supplier_part_navbar.html:15 -#: part/templates/part/part_sidebar.html:16 +#: part/templates/part/part_sidebar.html:14 #: stock/templates/stock/loc_link.html:3 stock/templates/stock/location.html:14 #: stock/templates/stock/stock_app_base.html:10 #: templates/InvenTree/search.html:156 #: templates/InvenTree/settings/sidebar.html:40 -#: templates/js/translated/bom.js:216 templates/js/translated/part.js:427 -#: templates/js/translated/part.js:562 templates/js/translated/part.js:878 -#: templates/js/translated/part.js:1039 templates/js/translated/stock.js:509 -#: templates/js/translated/stock.js:1162 templates/navbar.html:26 +#: templates/js/translated/bom.js:216 templates/js/translated/part.js:434 +#: templates/js/translated/part.js:569 templates/js/translated/part.js:1059 +#: templates/js/translated/part.js:1220 templates/js/translated/stock.js:591 +#: templates/js/translated/stock.js:1244 templates/navbar.html:26 msgid "Stock" msgstr "Bestand" @@ -2818,16 +2835,16 @@ msgid "Supplier Part Pricing" msgstr "Zuliefererteil Bepreisung" #: company/templates/company/supplier_part_navbar.html:29 -#: part/templates/part/part_sidebar.html:30 +#: part/templates/part/part_sidebar.html:28 msgid "Pricing" msgstr "Bepreisung" #: company/templates/company/supplier_part_sidebar.html:5 -#: stock/templates/stock/location.html:118 -#: stock/templates/stock/location.html:132 -#: stock/templates/stock/location.html:144 +#: stock/templates/stock/location.html:133 +#: stock/templates/stock/location.html:147 +#: stock/templates/stock/location.html:159 #: stock/templates/stock/location_sidebar.html:7 -#: templates/InvenTree/search.html:158 templates/js/translated/stock.js:1901 +#: templates/InvenTree/search.html:158 templates/js/translated/stock.js:1983 #: templates/stats.html:93 templates/stats.html:102 users/models.py:43 msgid "Stock Items" msgstr "Lagerartikel" @@ -2947,7 +2964,7 @@ msgstr "Teile-Abfragefilter (kommagetrennte Liste mit Schlüssel=Wert-Paaren)" msgid "Place order" msgstr "Bestellung aufgeben" -#: order/forms.py:37 order/templates/order/order_base.html:59 +#: order/forms.py:37 order/templates/order/order_base.html:60 msgid "Mark order as complete" msgstr "Bestellung als vollständig markieren" @@ -3000,8 +3017,8 @@ msgstr "Bestellungs-Status" msgid "Company from which the items are being ordered" msgstr "Firma bei der die Teile bestellt werden" -#: order/models.py:267 order/templates/order/order_base.html:114 -#: templates/js/translated/order.js:669 +#: order/models.py:267 order/templates/order/order_base.html:118 +#: templates/js/translated/order.js:676 msgid "Supplier Reference" msgstr "Zulieferer-Referenz" @@ -3061,7 +3078,7 @@ msgstr "Bestellreferenz" msgid "Target date for order completion. Order will be overdue after this date." msgstr "Zieldatum für Auftrags-Fertigstellung." -#: order/models.py:582 templates/js/translated/order.js:1114 +#: order/models.py:582 templates/js/translated/order.js:1113 msgid "Shipment Date" msgstr "Versanddatum" @@ -3086,16 +3103,16 @@ msgid "Line item notes" msgstr "Position - Notizen" #: order/models.py:768 order/models.py:856 -#: templates/js/translated/order.js:1166 +#: templates/js/translated/order.js:1165 msgid "Order" msgstr "Bestellung" #: order/models.py:769 order/templates/order/order_base.html:9 #: order/templates/order/order_base.html:18 #: report/templates/report/inventree_po_report.html:77 -#: stock/templates/stock/item_base.html:325 -#: templates/js/translated/order.js:638 templates/js/translated/stock.js:1300 -#: templates/js/translated/stock.js:1983 +#: stock/templates/stock/item_base.html:353 +#: templates/js/translated/order.js:638 templates/js/translated/part.js:775 +#: templates/js/translated/stock.js:1382 templates/js/translated/stock.js:2065 msgid "Purchase Order" msgstr "Bestellung" @@ -3103,9 +3120,10 @@ msgstr "Bestellung" msgid "Supplier part" msgstr "Zuliefererteil" -#: order/models.py:797 order/templates/order/order_base.html:147 -#: order/templates/order/sales_order_base.html:154 -#: templates/js/translated/order.js:429 templates/js/translated/order.js:954 +#: order/models.py:797 order/templates/order/order_base.html:151 +#: order/templates/order/sales_order_base.html:155 +#: templates/js/translated/order.js:429 templates/js/translated/order.js:953 +#: templates/js/translated/part.js:847 templates/js/translated/part.js:873 msgid "Received" msgstr "Empfangen" @@ -3113,9 +3131,9 @@ msgstr "Empfangen" msgid "Number of items received" msgstr "Empfangene Objekt-Anzahl" -#: order/models.py:805 part/templates/part/prices.html:176 stock/models.py:619 -#: stock/serializers.py:163 stock/templates/stock/item_base.html:332 -#: templates/js/translated/stock.js:1354 +#: order/models.py:805 part/templates/part/prices.html:176 stock/models.py:609 +#: stock/serializers.py:168 stock/templates/stock/item_base.html:360 +#: templates/js/translated/stock.js:1436 msgid "Purchase Price" msgstr "Preis" @@ -3176,47 +3194,47 @@ msgstr "Lagerartikel für Zuordnung auswählen" msgid "Enter stock allocation quantity" msgstr "Anzahl für Bestandszuordnung eingeben" -#: order/serializers.py:169 +#: order/serializers.py:175 msgid "Purchase price currency" msgstr "Kaufpreiswährung" -#: order/serializers.py:204 +#: order/serializers.py:213 msgid "Line Item" msgstr "Position" -#: order/serializers.py:210 +#: order/serializers.py:219 msgid "Line item does not match purchase order" msgstr "Position stimmt nicht mit Kaufauftrag überein" -#: order/serializers.py:220 order/serializers.py:288 +#: order/serializers.py:229 order/serializers.py:297 msgid "Select destination location for received items" msgstr "Zielort für empfangene Teile auswählen" -#: order/serializers.py:244 +#: order/serializers.py:253 msgid "Barcode Hash" msgstr "Barcode-Hash" -#: order/serializers.py:245 +#: order/serializers.py:254 msgid "Unique identifier field" msgstr "Einzigartiger Identifikator" -#: order/serializers.py:262 +#: order/serializers.py:271 msgid "Barcode is already in use" msgstr "Barcode ist bereits in Verwendung" -#: order/serializers.py:300 +#: order/serializers.py:309 msgid "Line items must be provided" msgstr "Positionen müssen angegeben werden" -#: order/serializers.py:317 +#: order/serializers.py:326 msgid "Destination location must be specified" msgstr "Ziel-Lagerort muss angegeben werden" -#: order/serializers.py:328 +#: order/serializers.py:337 msgid "Supplied barcode values must be unique" msgstr "Barcode muss eindeutig sein" -#: order/serializers.py:569 +#: order/serializers.py:578 msgid "Sale price currency" msgstr "Verkaufspreis-Währung" @@ -3248,22 +3266,36 @@ msgstr "Auftrag bearbeiten" msgid "Receive items" msgstr "Elemente empfangen" -#: order/templates/order/order_base.html:93 -#: order/templates/order/sales_order_base.html:98 +#: order/templates/order/order_base.html:58 +#: order/templates/order/purchase_order_detail.html:31 +msgid "Receive Items" +msgstr "Teile empfangen" + +#: order/templates/order/order_base.html:62 order/views.py:185 +msgid "Complete Order" +msgstr "Auftrag fertigstellen" + +#: order/templates/order/order_base.html:84 +#: order/templates/order/sales_order_base.html:79 msgid "Order Reference" msgstr "Bestellreferenz" -#: order/templates/order/order_base.html:98 -#: order/templates/order/sales_order_base.html:103 +#: order/templates/order/order_base.html:89 +#: order/templates/order/sales_order_base.html:84 +msgid "Order Description" +msgstr "Bestellungsbeschreibung" + +#: order/templates/order/order_base.html:94 +#: order/templates/order/sales_order_base.html:89 msgid "Order Status" msgstr "Bestellstatus" -#: order/templates/order/order_base.html:133 +#: order/templates/order/order_base.html:137 #: report/templates/report/inventree_build_order_base.html:122 msgid "Issued" msgstr "Aufgegeben" -#: order/templates/order/order_base.html:203 +#: order/templates/order/order_base.html:207 msgid "Edit Purchase Order" msgstr "Bestellung bearbeiten" @@ -3421,7 +3453,7 @@ msgid "Select existing purchase orders, or create new orders." msgstr "Bestellungen auswählen oder anlegen." #: order/templates/order/order_wizard/select_pos.html:31 -#: templates/js/translated/order.js:695 templates/js/translated/order.js:1119 +#: templates/js/translated/order.js:694 templates/js/translated/order.js:1118 msgid "Items" msgstr "Positionen" @@ -3465,10 +3497,6 @@ msgstr "Position hinzufügen" msgid "Receive selected items" msgstr "Ausgewählte Positionen erhalten" -#: order/templates/order/purchase_order_detail.html:31 -msgid "Receive Items" -msgstr "Teile empfangen" - #: order/templates/order/purchase_order_detail.html:50 msgid "Received Items" msgstr "Empfangene Teile" @@ -3496,16 +3524,16 @@ msgstr "Paketliste drucken" msgid "Ship Order" msgstr "Versenden" -#: order/templates/order/sales_order_base.html:86 +#: order/templates/order/sales_order_base.html:102 msgid "This Sales Order has not been fully allocated" msgstr "Dieser Auftrag ist nicht vollständig zugeordnet" -#: order/templates/order/sales_order_base.html:121 -#: templates/js/translated/order.js:1086 +#: order/templates/order/sales_order_base.html:122 +#: templates/js/translated/order.js:1085 msgid "Customer Reference" msgstr "Kundenreferenz" -#: order/templates/order/sales_order_base.html:194 +#: order/templates/order/sales_order_base.html:195 msgid "Edit Sales Order" msgstr "Auftrag bearbeiten" @@ -3576,10 +3604,6 @@ msgstr "Bestellungstätigung bestätigen" msgid "Purchase order issued" msgstr "Bestellung plaziert" -#: order/views.py:185 -msgid "Complete Order" -msgstr "Auftrag fertigstellen" - #: order/views.py:201 msgid "Confirm order completion" msgstr "Fertigstellung bestätigen" @@ -3672,11 +3696,11 @@ msgid "This field is required" msgstr "Dieses Feld ist erforderlich" #: part/bom.py:125 part/models.py:81 part/models.py:816 -#: part/templates/part/category.html:90 part/templates/part/detail.html:104 +#: part/templates/part/category.html:104 part/templates/part/part_base.html:338 msgid "Default Location" msgstr "Standard-Lagerort" -#: part/bom.py:126 part/templates/part/part_base.html:167 +#: part/bom.py:126 part/templates/part/part_base.html:185 msgid "Available Stock" msgstr "Verfügbarer Bestand" @@ -3793,19 +3817,19 @@ msgstr "Standard-Stichworte für Teile dieser Kategorie" msgid "Part Category" msgstr "Teil-Kategorie" -#: part/models.py:96 part/templates/part/category.html:117 +#: part/models.py:96 part/templates/part/category.html:124 #: templates/InvenTree/search.html:101 templates/stats.html:84 #: users/models.py:40 msgid "Part Categories" msgstr "Teil-Kategorien" #: part/models.py:358 part/templates/part/cat_link.html:3 -#: part/templates/part/category.html:13 part/templates/part/category.html:122 -#: part/templates/part/category.html:142 +#: part/templates/part/category.html:13 part/templates/part/category.html:129 +#: part/templates/part/category.html:149 #: part/templates/part/category_sidebar.html:9 #: templates/InvenTree/index.html:85 templates/InvenTree/search.html:88 #: templates/InvenTree/settings/sidebar.html:36 -#: templates/js/translated/part.js:1416 templates/navbar.html:19 +#: templates/js/translated/part.js:1597 templates/navbar.html:19 #: templates/stats.html:80 templates/stats.html:89 users/models.py:41 msgid "Parts" msgstr "Teile" @@ -3859,8 +3883,8 @@ msgstr "Variante von" msgid "Part description" msgstr "Beschreibung des Teils" -#: part/models.py:770 part/templates/part/category.html:97 -#: part/templates/part/detail.html:73 +#: part/models.py:770 part/templates/part/category.html:82 +#: part/templates/part/part_base.html:302 msgid "Keywords" msgstr "Schlüsselwörter" @@ -3869,9 +3893,10 @@ msgid "Part keywords to improve visibility in search results" msgstr "Schlüsselworte um die Sichtbarkeit in Suchergebnissen zu verbessern" #: part/models.py:778 part/models.py:2223 part/models.py:2472 -#: part/templates/part/detail.html:36 part/templates/part/set_category.html:15 +#: part/templates/part/part_base.html:265 +#: part/templates/part/set_category.html:15 #: templates/InvenTree/settings/settings.html:163 -#: templates/js/translated/part.js:1021 +#: templates/js/translated/part.js:1202 msgid "Category" msgstr "Kategorie" @@ -3879,9 +3904,9 @@ msgstr "Kategorie" msgid "Part category" msgstr "Teile-Kategorie" -#: part/models.py:784 part/templates/part/detail.html:45 -#: templates/js/translated/part.js:550 templates/js/translated/part.js:974 -#: templates/js/translated/stock.js:1134 +#: part/models.py:784 part/templates/part/part_base.html:274 +#: templates/js/translated/part.js:557 templates/js/translated/part.js:1155 +#: templates/js/translated/stock.js:1216 msgid "IPN" msgstr "IPN (Interne Produktnummer)" @@ -3893,8 +3918,8 @@ msgstr "Interne Teilenummer" msgid "Part revision or version number" msgstr "Revisions- oder Versionsnummer" -#: part/models.py:792 part/templates/part/detail.html:52 report/models.py:200 -#: templates/js/translated/part.js:554 +#: part/models.py:792 part/templates/part/part_base.html:281 +#: report/models.py:200 templates/js/translated/part.js:561 msgid "Revision" msgstr "Revision" @@ -3902,7 +3927,7 @@ msgstr "Revision" msgid "Where is this item normally stored?" msgstr "Wo wird dieses Teil normalerweise gelagert?" -#: part/models.py:861 part/templates/part/detail.html:113 +#: part/models.py:861 part/templates/part/part_base.html:347 msgid "Default Supplier" msgstr "Standard Zulieferer" @@ -3918,7 +3943,7 @@ msgstr "Standard Ablaufzeit" msgid "Expiry time (in days) for stock items of this part" msgstr "Ablauf-Zeit (in Tagen) für Bestand dieses Teils" -#: part/models.py:875 part/templates/part/part_base.html:178 +#: part/models.py:875 part/templates/part/part_base.html:196 msgid "Minimum Stock" msgstr "Minimaler Bestand" @@ -4001,8 +4026,8 @@ msgstr "Test-Vorlagen können nur für verfolgbare Teile angelegt werden" msgid "Test with this name already exists for this part" msgstr "Ein Test mit diesem Namen besteht bereits für dieses Teil" -#: part/models.py:2310 templates/js/translated/part.js:1467 -#: templates/js/translated/stock.js:858 +#: part/models.py:2310 templates/js/translated/part.js:1648 +#: templates/js/translated/stock.js:940 msgid "Test Name" msgstr "Test-Name" @@ -4018,7 +4043,7 @@ msgstr "Test-Beschreibung" msgid "Enter description for this test" msgstr "Beschreibung für diesen Test eingeben" -#: part/models.py:2322 templates/js/translated/part.js:1476 +#: part/models.py:2322 templates/js/translated/part.js:1657 #: templates/js/translated/table_filters.js:276 msgid "Required" msgstr "Benötigt" @@ -4027,7 +4052,7 @@ msgstr "Benötigt" msgid "Is this test required to pass?" msgstr "Muss dieser Test erfolgreich sein?" -#: part/models.py:2328 templates/js/translated/part.js:1484 +#: part/models.py:2328 templates/js/translated/part.js:1665 msgid "Requires Value" msgstr "Erfordert Wert" @@ -4035,7 +4060,7 @@ msgstr "Erfordert Wert" 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:2334 templates/js/translated/part.js:1491 +#: part/models.py:2334 templates/js/translated/part.js:1672 msgid "Requires Attachment" msgstr "Anhang muss eingegeben werden" @@ -4150,7 +4175,7 @@ msgstr "Varianten zulassen" 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:2686 stock/models.py:371 +#: part/models.py:2686 stock/models.py:361 msgid "Quantity must be integer value for trackable parts" msgstr "Menge muss eine Ganzzahl sein" @@ -4213,7 +4238,7 @@ msgstr "Die Stückliste für %(part)s wurde zuletzt von %(checker)s am msgid "The BOM for %(part)s has not been validated." msgstr "Die Stückliste für %(part)s wurde noch nicht kontrolliert." -#: part/templates/part/bom.html:30 part/templates/part/detail.html:357 +#: part/templates/part/bom.html:30 part/templates/part/detail.html:250 msgid "BOM actions" msgstr "Stücklisten-Aktionen" @@ -4298,68 +4323,64 @@ msgstr "Teil-Kategorie anlegen" msgid "New Category" msgstr "Neue Kategorie" -#: part/templates/part/category.html:67 -msgid "Top level part category" -msgstr "Oberste Teil-Kategorie" - -#: part/templates/part/category.html:79 +#: part/templates/part/category.html:76 part/templates/part/category.html:89 msgid "Category Path" msgstr "Pfad zur Kategorie" -#: part/templates/part/category.html:84 -msgid "Category Description" -msgstr "Kategorie-Beschreibung" +#: part/templates/part/category.html:90 +msgid "Top level part category" +msgstr "Oberste Teil-Kategorie" -#: part/templates/part/category.html:103 part/templates/part/category.html:194 +#: part/templates/part/category.html:110 part/templates/part/category.html:201 #: part/templates/part/category_sidebar.html:7 msgid "Subcategories" msgstr "Unter-Kategorien" -#: part/templates/part/category.html:108 +#: part/templates/part/category.html:115 msgid "Parts (Including subcategories)" msgstr "Teile (inklusive Unter-Kategorien)" -#: part/templates/part/category.html:145 +#: part/templates/part/category.html:152 msgid "Export Part Data" msgstr "Teile-Daten exportieren" -#: part/templates/part/category.html:146 part/templates/part/category.html:170 +#: part/templates/part/category.html:153 part/templates/part/category.html:177 msgid "Export" msgstr "Exportieren" -#: part/templates/part/category.html:149 +#: part/templates/part/category.html:156 msgid "Create new part" msgstr "Neues Teil anlegen" -#: part/templates/part/category.html:150 templates/js/translated/bom.js:40 +#: part/templates/part/category.html:157 templates/js/translated/bom.js:40 msgid "New Part" msgstr "Neues Teil" -#: part/templates/part/category.html:164 +#: part/templates/part/category.html:171 msgid "Set category" msgstr "Teil-Kategorie auswählen" -#: part/templates/part/category.html:164 +#: part/templates/part/category.html:171 msgid "Set Category" msgstr "Teil-Kategorie auswählen" -#: part/templates/part/category.html:168 +#: part/templates/part/category.html:175 msgid "Print Labels" msgstr "Label drucken" -#: part/templates/part/category.html:170 +#: part/templates/part/category.html:177 msgid "Export Data" msgstr "Exportieren" -#: part/templates/part/category.html:184 +#: part/templates/part/category.html:191 msgid "Part Parameters" msgstr "Teilparameter" -#: part/templates/part/category.html:261 +#: part/templates/part/category.html:268 msgid "Create Part Category" msgstr "Teil-Kategorie hinzufügen" -#: part/templates/part/category.html:288 +#: part/templates/part/category.html:295 msgid "Create Part" msgstr "Teil hinzufügen" @@ -4402,7 +4423,7 @@ msgstr "Wenn diese Kat. gelöscht wird, werden diese Teile in die oberste Kat. v msgid "Import Parts" msgstr "Teile importieren" -#: part/templates/part/copy_part.html:9 templates/js/translated/part.js:366 +#: part/templates/part/copy_part.html:9 templates/js/translated/part.js:373 msgid "Duplicate Part" msgstr "Teil duplizieren" @@ -4426,167 +4447,155 @@ msgstr "Teil evtl. Duplikat dieser Teile" msgid "%(full_name)s - %(desc)s (%(match_per)s%% match)" msgstr "%(full_name)s - %(desc)s (%(match_per)s%% übereinstimmend)" -#: part/templates/part/detail.html:16 -msgid "Part Details" -msgstr "Teile-Details" - -#: part/templates/part/detail.html:66 -msgid "Minimum stock level" -msgstr "Minimaler Bestand" - -#: part/templates/part/detail.html:97 -msgid "Latest Serial Number" -msgstr "letzte Seriennummer" - -#: part/templates/part/detail.html:124 +#: part/templates/part/detail.html:17 msgid "Part Stock" msgstr "Teilbestand" -#: part/templates/part/detail.html:136 +#: part/templates/part/detail.html:29 #, python-format msgid "Showing stock for all variants of %(full_name)s" msgstr "Bestand aller Varianten von %(full_name)s" -#: part/templates/part/detail.html:146 +#: part/templates/part/detail.html:39 msgid "Part Test Templates" msgstr "Teil Test-Vorlagen" -#: part/templates/part/detail.html:151 +#: part/templates/part/detail.html:44 msgid "Add Test Template" msgstr "Test Vorlage hinzufügen" -#: part/templates/part/detail.html:208 +#: part/templates/part/detail.html:101 msgid "Sales Order Allocations" msgstr "Verkaufsauftragszuweisungen" -#: part/templates/part/detail.html:249 +#: part/templates/part/detail.html:142 msgid "Part Variants" msgstr "Teil Varianten" -#: part/templates/part/detail.html:253 +#: part/templates/part/detail.html:146 msgid "Create new variant" msgstr "Neue Variante anlegen" -#: part/templates/part/detail.html:254 +#: part/templates/part/detail.html:147 msgid "New Variant" msgstr "neue Variante anlegen" -#: part/templates/part/detail.html:281 +#: part/templates/part/detail.html:174 msgid "Add new parameter" msgstr "Parameter hinzufügen" -#: part/templates/part/detail.html:315 part/templates/part/part_sidebar.html:47 +#: part/templates/part/detail.html:208 part/templates/part/part_sidebar.html:45 msgid "Related Parts" msgstr "Verknüpfte Teile" -#: part/templates/part/detail.html:319 part/templates/part/detail.html:320 +#: part/templates/part/detail.html:212 part/templates/part/detail.html:213 msgid "Add Related" msgstr "Verknüpftes Teil hinzufügen" -#: part/templates/part/detail.html:340 part/templates/part/part_sidebar.html:19 +#: part/templates/part/detail.html:233 part/templates/part/part_sidebar.html:17 msgid "Bill of Materials" msgstr "Stückliste" -#: part/templates/part/detail.html:345 +#: part/templates/part/detail.html:238 msgid "Export actions" msgstr "Export-Aktionen" -#: part/templates/part/detail.html:349 +#: part/templates/part/detail.html:242 msgid "Export BOM" msgstr "Stückliste exportieren" -#: part/templates/part/detail.html:351 +#: part/templates/part/detail.html:244 msgid "Print BOM Report" msgstr "Stücklisten-Bericht drucken" -#: part/templates/part/detail.html:361 +#: part/templates/part/detail.html:254 msgid "Upload BOM" msgstr "Stückliste hochladen" -#: part/templates/part/detail.html:363 templates/js/translated/part.js:267 +#: part/templates/part/detail.html:256 templates/js/translated/part.js:270 msgid "Copy BOM" msgstr "Stückliste kopieren" -#: part/templates/part/detail.html:365 part/views.py:755 +#: part/templates/part/detail.html:258 part/views.py:755 msgid "Validate BOM" msgstr "Stückliste überprüfen" -#: part/templates/part/detail.html:370 +#: part/templates/part/detail.html:263 msgid "New BOM Item" msgstr "Neue Stücklisten-Position" -#: part/templates/part/detail.html:371 +#: part/templates/part/detail.html:264 msgid "Add BOM Item" msgstr "Stücklisten-Position hinzufügen" -#: part/templates/part/detail.html:384 +#: part/templates/part/detail.html:277 msgid "Assemblies" msgstr "Baugruppen" -#: part/templates/part/detail.html:401 +#: part/templates/part/detail.html:294 msgid "Part Builds" msgstr "Gefertigte Teile" -#: part/templates/part/detail.html:426 +#: part/templates/part/detail.html:319 msgid "Build Order Allocations" msgstr "Bauauftragszuweisungen" -#: part/templates/part/detail.html:436 +#: part/templates/part/detail.html:329 msgid "Part Suppliers" msgstr "Zulieferer" -#: part/templates/part/detail.html:463 +#: part/templates/part/detail.html:356 msgid "Part Manufacturers" msgstr "Teil-Hersteller" -#: part/templates/part/detail.html:479 +#: part/templates/part/detail.html:372 msgid "Delete manufacturer parts" msgstr "Herstellerteile löschen" -#: part/templates/part/detail.html:660 +#: part/templates/part/detail.html:553 msgid "Delete selected BOM items?" msgstr "Ausgewählte Stücklistenpositionen löschen?" -#: part/templates/part/detail.html:661 +#: part/templates/part/detail.html:554 msgid "All selected BOM items will be deleted" msgstr "Alle ausgewählte Stücklistenpositionen werden gelöscht" -#: part/templates/part/detail.html:712 +#: part/templates/part/detail.html:605 msgid "Create BOM Item" msgstr "Stücklisten-Position anlegen" -#: part/templates/part/detail.html:764 +#: part/templates/part/detail.html:657 msgid "Related Part" msgstr "verknüpftes Teil" -#: part/templates/part/detail.html:772 +#: part/templates/part/detail.html:665 msgid "Add Related Part" msgstr "verknüpftes Teil hinzufügen" -#: part/templates/part/detail.html:869 +#: part/templates/part/detail.html:760 msgid "Add Test Result Template" msgstr "Testergebnis-Vorlage hinzufügen" -#: part/templates/part/detail.html:926 +#: part/templates/part/detail.html:817 msgid "Edit Part Notes" msgstr "Teilenotizen bearbeiten" -#: part/templates/part/detail.html:1039 +#: part/templates/part/detail.html:930 #, python-format msgid "Purchase Unit Price - %(currency)s" msgstr "Stückpreis Einkauf - %(currency)s" -#: part/templates/part/detail.html:1051 +#: part/templates/part/detail.html:942 #, python-format msgid "Unit Price-Cost Difference - %(currency)s" msgstr "Stückpreis Differenz - %(currency)s" -#: part/templates/part/detail.html:1063 +#: part/templates/part/detail.html:954 #, python-format msgid "Supplier Unit Cost - %(currency)s" msgstr "Stückpreis Zulieferer - %(currency)s" -#: part/templates/part/detail.html:1152 +#: part/templates/part/detail.html:1043 #, python-format msgid "Unit Price - %(currency)s" msgstr "Stückpreis - %(currency)s" @@ -4668,86 +4677,108 @@ msgstr "Teil bearbeiten" msgid "Delete part" msgstr "Teil löschen" -#: part/templates/part/part_base.html:109 +#: part/templates/part/part_base.html:112 msgid "Part is a template part (variants can be made from this part)" msgstr "Teil ist Vorlage (Varianten können von diesem Teil erstellt werden)" -#: part/templates/part/part_base.html:113 +#: part/templates/part/part_base.html:116 msgid "Part can be assembled from other parts" msgstr "Teil kann aus anderen Teilen angefertigt werden" -#: part/templates/part/part_base.html:117 +#: part/templates/part/part_base.html:120 msgid "Part can be used in assemblies" msgstr "Teil kann in Baugruppen benutzt werden" -#: part/templates/part/part_base.html:121 +#: part/templates/part/part_base.html:124 msgid "Part stock is tracked by serial number" msgstr "Teil wird per Seriennummer verfolgt" -#: part/templates/part/part_base.html:125 +#: part/templates/part/part_base.html:128 msgid "Part can be purchased from external suppliers" msgstr "Teil kann von externen Zulieferern gekauft werden" -#: part/templates/part/part_base.html:129 +#: part/templates/part/part_base.html:132 msgid "Part can be sold to customers" msgstr "Teil kann an Kunden verkauft werden" -#: part/templates/part/part_base.html:135 -#: part/templates/part/part_base.html:143 +#: part/templates/part/part_base.html:138 +#: part/templates/part/part_base.html:146 msgid "Part is virtual (not a physical part)" msgstr "Teil ist virtuell (kein physisches Teil)" -#: part/templates/part/part_base.html:136 +#: part/templates/part/part_base.html:139 #: templates/js/translated/company.js:505 #: templates/js/translated/company.js:762 #: templates/js/translated/model_renderers.js:175 -#: templates/js/translated/part.js:465 templates/js/translated/part.js:542 +#: templates/js/translated/part.js:472 templates/js/translated/part.js:549 msgid "Inactive" msgstr "Inaktiv" -#: part/templates/part/part_base.html:155 +#: part/templates/part/part_base.html:156 +#: part/templates/part/part_base.html:579 +msgid "Show Part Details" +msgstr "Teildetails anzeigen" + +#: part/templates/part/part_base.html:173 #, python-format msgid "This part is a variant of %(link)s" msgstr "Dieses Teil ist eine Variante von %(link)s" -#: part/templates/part/part_base.html:172 templates/js/translated/order.js:1546 +#: part/templates/part/part_base.html:190 templates/js/translated/order.js:1545 #: templates/js/translated/table_filters.js:188 msgid "In Stock" msgstr "Auf Lager" -#: part/templates/part/part_base.html:185 templates/js/translated/part.js:1054 +#: part/templates/part/part_base.html:203 templates/js/translated/part.js:1235 msgid "On Order" msgstr "Bestellt" -#: part/templates/part/part_base.html:192 templates/InvenTree/index.html:178 +#: part/templates/part/part_base.html:210 templates/InvenTree/index.html:178 msgid "Required for Build Orders" msgstr "Für Bauaufträge benötigt" -#: part/templates/part/part_base.html:199 +#: part/templates/part/part_base.html:217 msgid "Required for Sales Orders" msgstr "Benötigt für Aufträge" -#: part/templates/part/part_base.html:206 +#: part/templates/part/part_base.html:224 msgid "Allocated to Orders" msgstr "Zu Bauaufträgen zugeordnet" -#: part/templates/part/part_base.html:221 templates/js/translated/bom.js:566 +#: part/templates/part/part_base.html:239 templates/js/translated/bom.js:566 msgid "Can Build" msgstr "Herstellbar" -#: part/templates/part/part_base.html:227 templates/js/translated/part.js:885 -#: templates/js/translated/part.js:1058 +#: part/templates/part/part_base.html:245 templates/js/translated/part.js:1066 +#: templates/js/translated/part.js:1239 msgid "Building" msgstr "Im Bau" -#: part/templates/part/part_base.html:320 part/templates/part/prices.html:144 +#: part/templates/part/part_base.html:295 +msgid "Minimum stock level" +msgstr "Minimaler Bestand" + +#: part/templates/part/part_base.html:324 +msgid "Latest Serial Number" +msgstr "letzte Seriennummer" + +#: part/templates/part/part_base.html:328 +#: stock/templates/stock/item_base.html:159 +msgid "Search for serial number" +msgstr "Nach Seriennummer suchen" + +#: part/templates/part/part_base.html:449 part/templates/part/prices.html:144 msgid "Calculate" msgstr "Berechnen" -#: part/templates/part/part_base.html:363 +#: part/templates/part/part_base.html:492 msgid "No matching images found" msgstr "Keine passenden Bilder gefunden" +#: part/templates/part/part_base.html:573 +msgid "Hide Part Details" +msgstr "Teildetails ausblenden" + #: part/templates/part/part_pricing.html:22 part/templates/part/prices.html:21 msgid "Supplier Pricing" msgstr "Zulieferer-Preise" @@ -4805,20 +4836,15 @@ msgstr "Interner Preis" msgid "No pricing information is available for this part." msgstr "Keine Preise für dieses Teil verfügbar" -#: part/templates/part/part_sidebar.html:8 -#: templates/js/translated/stock.js:1949 -msgid "Details" -msgstr "Details" - -#: part/templates/part/part_sidebar.html:13 +#: part/templates/part/part_sidebar.html:11 msgid "Variants" msgstr "Varianten" -#: part/templates/part/part_sidebar.html:27 +#: part/templates/part/part_sidebar.html:25 msgid "Used In" msgstr "Benutzt in" -#: part/templates/part/part_sidebar.html:43 +#: part/templates/part/part_sidebar.html:41 msgid "Test Templates" msgstr "Testvorlagen" @@ -4936,8 +4962,8 @@ msgid "Set category for the following parts" msgstr "Kategorie für Teile setzen" #: part/templates/part/stock_count.html:7 templates/js/translated/bom.js:476 -#: templates/js/translated/part.js:429 templates/js/translated/part.js:875 -#: templates/js/translated/part.js:1062 +#: templates/js/translated/part.js:436 templates/js/translated/part.js:1056 +#: templates/js/translated/part.js:1243 msgid "No Stock" msgstr "Kein Bestand" @@ -5039,7 +5065,7 @@ msgstr "Teilparametervorlage bearbeiten" msgid "Delete Part Parameter Template" msgstr "Teilparametervorlage löschen" -#: part/views.py:1489 templates/js/translated/part.js:310 +#: part/views.py:1489 templates/js/translated/part.js:313 msgid "Edit Part Category" msgstr "Teil-Kategorie bearbeiten" @@ -5173,11 +5199,12 @@ msgid "Stock Item Test Report" msgstr "Lagerartikel Test-Bericht" #: report/templates/report/inventree_test_report_base.html:79 -#: stock/models.py:530 stock/templates/stock/item_base.html:238 +#: stock/models.py:520 stock/templates/stock/item_base.html:149 #: templates/js/translated/build.js:233 templates/js/translated/build.js:637 #: templates/js/translated/build.js:1013 #: templates/js/translated/model_renderers.js:95 -#: templates/js/translated/order.js:1288 templates/js/translated/order.js:1377 +#: templates/js/translated/order.js:1287 templates/js/translated/order.js:1376 +#: templates/js/translated/stock.js:410 msgid "Serial Number" msgstr "Seriennummer" @@ -5186,17 +5213,17 @@ msgid "Test Results" msgstr "Testergebnisse" #: report/templates/report/inventree_test_report_base.html:93 -#: stock/models.py:1855 +#: stock/models.py:1845 msgid "Test" msgstr "Test" #: report/templates/report/inventree_test_report_base.html:94 -#: stock/models.py:1861 +#: stock/models.py:1851 msgid "Result" msgstr "Ergebnis" #: report/templates/report/inventree_test_report_base.html:97 -#: templates/js/translated/order.js:685 templates/js/translated/stock.js:1917 +#: templates/js/translated/order.js:684 templates/js/translated/stock.js:1999 msgid "Date" msgstr "Datum" @@ -5214,7 +5241,7 @@ msgid "Installed Items" msgstr "Verbaute Objekte" #: report/templates/report/inventree_test_report_base.html:137 -#: templates/js/translated/stock.js:2177 +#: templates/js/translated/stock.js:2259 msgid "Serial" msgstr "Seriennummer" @@ -5222,9 +5249,9 @@ msgstr "Seriennummer" msgid "Quantity is required" msgstr "Menge ist erforderlich" -#: stock/forms.py:91 stock/forms.py:265 stock/models.py:587 -#: stock/templates/stock/item_base.html:382 -#: templates/js/translated/stock.js:1276 +#: stock/forms.py:91 stock/forms.py:265 stock/models.py:577 +#: stock/templates/stock/item_base.html:186 +#: templates/js/translated/stock.js:1358 msgid "Expiry Date" msgstr "Ablaufdatum" @@ -5272,241 +5299,241 @@ msgstr "nicht mehr verbauen bestätigen" msgid "Confirm removal of installed stock items" msgstr "Entfernen der verbauten Lagerartikel bestätigen" -#: stock/models.py:60 stock/models.py:624 -#: stock/templates/stock/item_base.html:422 +#: stock/models.py:60 stock/models.py:614 +#: stock/templates/stock/item_base.html:417 msgid "Owner" msgstr "Besitzer" -#: stock/models.py:61 stock/models.py:625 +#: stock/models.py:61 stock/models.py:615 msgid "Select Owner" msgstr "Besitzer auswählen" -#: stock/models.py:352 +#: stock/models.py:342 msgid "StockItem with this serial number already exists" msgstr "Ein Lagerartikel mit dieser Seriennummer existiert bereits" -#: stock/models.py:388 +#: stock/models.py:378 #, python-brace-format msgid "Part type ('{pf}') must be {pe}" msgstr "Teile-Typ ('{pf}') muss {pe} sein" -#: stock/models.py:398 stock/models.py:407 +#: stock/models.py:388 stock/models.py:397 msgid "Quantity must be 1 for item with a serial number" msgstr "Anzahl muss für Objekte mit Seriennummer 1 sein" -#: stock/models.py:399 +#: stock/models.py:389 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:421 +#: stock/models.py:411 msgid "Item cannot belong to itself" msgstr "Teil kann nicht zu sich selbst gehören" -#: stock/models.py:427 +#: stock/models.py:417 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:434 +#: stock/models.py:424 msgid "Build reference does not point to the same part object" msgstr "Referenz verweist nicht auf das gleiche Teil" -#: stock/models.py:476 +#: stock/models.py:466 msgid "Parent Stock Item" msgstr "Eltern-Lagerartikel" -#: stock/models.py:485 +#: stock/models.py:475 msgid "Base part" msgstr "Basis-Teil" -#: stock/models.py:493 +#: stock/models.py:483 msgid "Select a matching supplier part for this stock item" msgstr "Passendes Zuliefererteil für diesen Lagerartikel auswählen" -#: stock/models.py:498 stock/templates/stock/location.html:12 +#: stock/models.py:488 stock/templates/stock/location.html:12 #: stock/templates/stock/stock_app_base.html:8 msgid "Stock Location" msgstr "Bestand-Lagerort" -#: stock/models.py:501 +#: stock/models.py:491 msgid "Where is this stock item located?" msgstr "Wo wird dieses Teil normalerweise gelagert?" -#: stock/models.py:508 +#: stock/models.py:498 msgid "Packaging this stock item is stored in" msgstr "Die Verpackung dieses Lagerartikel ist gelagert in" -#: stock/models.py:513 stock/templates/stock/item_base.html:271 +#: stock/models.py:503 stock/templates/stock/item_base.html:299 msgid "Installed In" msgstr "verbaut in" -#: stock/models.py:516 +#: stock/models.py:506 msgid "Is this item installed in another item?" msgstr "Ist dieses Teil in einem anderen verbaut?" -#: stock/models.py:532 +#: stock/models.py:522 msgid "Serial number for this item" msgstr "Seriennummer für dieses Teil" -#: stock/models.py:546 +#: stock/models.py:536 msgid "Batch code for this stock item" msgstr "Losnummer für diesen Lagerartikel" -#: stock/models.py:550 +#: stock/models.py:540 msgid "Stock Quantity" msgstr "Bestand" -#: stock/models.py:559 +#: stock/models.py:549 msgid "Source Build" msgstr "Quellbau" -#: stock/models.py:561 +#: stock/models.py:551 msgid "Build for this stock item" msgstr "Bauauftrag für diesen Lagerartikel" -#: stock/models.py:572 +#: stock/models.py:562 msgid "Source Purchase Order" msgstr "Quelle Bestellung" -#: stock/models.py:575 +#: stock/models.py:565 msgid "Purchase order for this stock item" msgstr "Bestellung für diesen Lagerartikel" -#: stock/models.py:581 +#: stock/models.py:571 msgid "Destination Sales Order" msgstr "Ziel-Auftrag" -#: stock/models.py:588 +#: stock/models.py:578 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:601 +#: stock/models.py:591 msgid "Delete on deplete" msgstr "Löschen wenn leer" -#: stock/models.py:601 +#: stock/models.py:591 msgid "Delete this Stock Item when stock is depleted" msgstr "Diesen Lagerartikel löschen wenn der Bestand aufgebraucht ist" -#: stock/models.py:611 stock/templates/stock/item.html:111 +#: stock/models.py:601 stock/templates/stock/item.html:111 msgid "Stock Item Notes" msgstr "Lagerartikel-Notizen" -#: stock/models.py:620 +#: stock/models.py:610 msgid "Single unit purchase price at time of purchase" msgstr "Preis für eine Einheit bei Einkauf" -#: stock/models.py:630 +#: stock/models.py:620 msgid "Scheduled for deletion" msgstr "Zur Löschung vorgesehen" -#: stock/models.py:631 +#: stock/models.py:621 msgid "This StockItem will be deleted by the background worker" msgstr "Dieser Lagerartikel wird vom Hintergrund-Prozess gelöscht" -#: stock/models.py:1094 +#: stock/models.py:1084 msgid "Part is not set as trackable" msgstr "Teil ist nicht verfolgbar" -#: stock/models.py:1100 +#: stock/models.py:1090 msgid "Quantity must be integer" msgstr "Anzahl muss eine Ganzzahl sein" -#: stock/models.py:1106 +#: stock/models.py:1096 #, python-brace-format msgid "Quantity must not exceed available stock quantity ({n})" msgstr "Anzahl darf nicht die verfügbare Anzahl überschreiten ({n})" -#: stock/models.py:1109 +#: stock/models.py:1099 msgid "Serial numbers must be a list of integers" msgstr "Seriennummern muss eine Liste von Ganzzahlen sein" -#: stock/models.py:1112 +#: stock/models.py:1102 msgid "Quantity does not match serial numbers" msgstr "Anzahl stimmt nicht mit den Seriennummern überein" -#: stock/models.py:1119 +#: stock/models.py:1109 #, python-brace-format msgid "Serial numbers already exist: {exists}" msgstr "Seriennummern {exists} existieren bereits" -#: stock/models.py:1277 +#: stock/models.py:1267 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:1775 +#: stock/models.py:1765 msgid "Entry notes" msgstr "Eintrags-Notizen" -#: stock/models.py:1832 +#: stock/models.py:1822 msgid "Value must be provided for this test" msgstr "Wert muss für diesen Test angegeben werden" -#: stock/models.py:1838 +#: stock/models.py:1828 msgid "Attachment must be uploaded for this test" msgstr "Anhang muss für diesen Test hochgeladen werden" -#: stock/models.py:1856 +#: stock/models.py:1846 msgid "Test name" msgstr "Name des Tests" -#: stock/models.py:1862 templates/js/translated/table_filters.js:266 +#: stock/models.py:1852 templates/js/translated/table_filters.js:266 msgid "Test result" msgstr "Testergebnis" -#: stock/models.py:1868 +#: stock/models.py:1858 msgid "Test output value" msgstr "Test Ausgabe Wert" -#: stock/models.py:1875 +#: stock/models.py:1865 msgid "Test result attachment" msgstr "Test Ergebnis Anhang" -#: stock/models.py:1881 +#: stock/models.py:1871 msgid "Test notes" msgstr "Test Notizen" -#: stock/serializers.py:166 +#: stock/serializers.py:171 msgid "Purchase price of this stock item" msgstr "Kaufpreis für diesen Lagerartikel" -#: stock/serializers.py:173 +#: stock/serializers.py:178 msgid "Purchase currency of this stock item" msgstr "Kaufwährung dieses Lagerartikels" -#: stock/serializers.py:287 +#: stock/serializers.py:292 msgid "Enter number of stock items to serialize" msgstr "Anzahl der zu serialisierenden Lagerartikel eingeben" -#: stock/serializers.py:302 +#: stock/serializers.py:307 #, 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:308 +#: stock/serializers.py:313 msgid "Enter serial numbers for new items" msgstr "Seriennummern für neue Teile eingeben" -#: stock/serializers.py:319 stock/serializers.py:686 +#: stock/serializers.py:324 stock/serializers.py:691 msgid "Destination stock location" msgstr "Ziel-Bestand" -#: stock/serializers.py:326 +#: stock/serializers.py:331 msgid "Optional note field" msgstr "Optionales Notizfeld" -#: stock/serializers.py:339 +#: stock/serializers.py:344 msgid "Serial numbers cannot be assigned to this part" msgstr "Seriennummern können diesem Teil nicht zugewiesen werden" -#: stock/serializers.py:556 +#: stock/serializers.py:561 msgid "StockItem primary key value" msgstr "Primärschlüssel Lagerelement" -#: stock/serializers.py:584 +#: stock/serializers.py:589 msgid "Stock transaction notes" msgstr "Bestandsbewegungsnotizen" -#: stock/serializers.py:594 +#: stock/serializers.py:599 msgid "A list of stock items must be provided" msgstr "Eine Liste der Lagerbestände muss angegeben werden" @@ -5631,125 +5658,131 @@ msgstr "Lagerartikel installieren" msgid "Install" msgstr "Installieren" -#: stock/templates/stock/item_base.html:106 +#: stock/templates/stock/item_base.html:108 msgid "Convert to variant" msgstr "in Variante ändern" -#: stock/templates/stock/item_base.html:109 +#: stock/templates/stock/item_base.html:111 msgid "Duplicate stock item" msgstr "Lagerartikel duplizieren" -#: stock/templates/stock/item_base.html:111 +#: stock/templates/stock/item_base.html:113 msgid "Edit stock item" msgstr "Lagerartikel bearbeiten" -#: stock/templates/stock/item_base.html:114 +#: stock/templates/stock/item_base.html:116 msgid "Delete stock item" msgstr "Lagerartikel löschen" -#: stock/templates/stock/item_base.html:136 -#: stock/templates/stock/item_base.html:386 -#: templates/js/translated/table_filters.js:247 -msgid "Expired" -msgstr "abgelaufen" - -#: stock/templates/stock/item_base.html:146 -#: stock/templates/stock/item_base.html:388 -#: templates/js/translated/table_filters.js:253 -msgid "Stale" -msgstr "überfällig" - -#: stock/templates/stock/item_base.html:161 -msgid "You are not in the list of owners of this item. This stock item cannot be edited." -msgstr "Sie gehören nicht zu den Eigentümern dieses Objekts und können es nicht ändern." - -#: stock/templates/stock/item_base.html:168 -msgid "This stock item is in production and cannot be edited." -msgstr "Dieser Lagerartikel wird gerade hergestellt und kann nicht geändert werden." - -#: stock/templates/stock/item_base.html:169 -msgid "Edit the stock item from the build view." -msgstr "Ändern des Lagerartikel in der Bauauftrag-Ansicht." - -#: stock/templates/stock/item_base.html:182 -msgid "This stock item has not passed all required tests" -msgstr "Dieser Lagerartikel hat nicht alle Tests bestanden" - -#: stock/templates/stock/item_base.html:190 -#, python-format -msgid "This stock item is allocated to Sales Order %(link)s (Quantity: %(qty)s)" -msgstr "Dieser Lagerartikel ist dem Auftrag %(link)s zugewiesen (Menge: %(qty)s)" - -#: stock/templates/stock/item_base.html:198 -#, python-format -msgid "This stock item is allocated to Build %(link)s (Quantity: %(qty)s)" -msgstr "Dieser Lagerartikel ist dem Bauauftrag %(link)s zugewiesen (Menge: %(qty)s)" - -#: stock/templates/stock/item_base.html:204 -msgid "This stock item is serialized - it has a unique serial number and the quantity cannot be adjusted." -msgstr "Diesesr Lagerartikel ist serialisiert. Es hat eine eindeutige Seriennummer und die Anzahl kann nicht angepasst werden." - -#: stock/templates/stock/item_base.html:208 -msgid "This stock item cannot be deleted as it has child items" -msgstr "Dieser Lagerartikel kann nicht gelöscht werden, da es Kinder besitzt" - -#: stock/templates/stock/item_base.html:212 -msgid "This stock item will be automatically deleted when all stock is depleted." -msgstr "Dieser Bestand wird automatisch gelöscht wenn der Bestand aufgebraucht ist." - -#: stock/templates/stock/item_base.html:241 +#: stock/templates/stock/item_base.html:154 msgid "previous page" msgstr "vorherige Seite" -#: stock/templates/stock/item_base.html:247 +#: stock/templates/stock/item_base.html:154 +msgid "Navigate to previous serial number" +msgstr "Zur vorherigen Seriennummer wechseln" + +#: stock/templates/stock/item_base.html:163 msgid "next page" msgstr "nächste Seite" -#: stock/templates/stock/item_base.html:290 -#: templates/js/translated/build.js:1035 -msgid "No location set" -msgstr "Kein Lagerort gesetzt" +#: stock/templates/stock/item_base.html:163 +msgid "Navigate to next serial number" +msgstr "Zur nächsten Seriennummer wechseln" -#: stock/templates/stock/item_base.html:297 -msgid "Barcode Identifier" -msgstr "Barcode-Bezeichner" - -#: stock/templates/stock/item_base.html:339 -msgid "Parent Item" -msgstr "Elternposition" - -#: stock/templates/stock/item_base.html:357 -msgid "No manufacturer set" -msgstr "Kein Hersteller ausgewählt" - -#: stock/templates/stock/item_base.html:386 +#: stock/templates/stock/item_base.html:190 #, python-format msgid "This StockItem expired on %(item.expiry_date)s" msgstr "Dieser Lagerartikel lief am %(item.expiry_date)s ab" -#: stock/templates/stock/item_base.html:388 +#: stock/templates/stock/item_base.html:190 +#: templates/js/translated/table_filters.js:247 +msgid "Expired" +msgstr "abgelaufen" + +#: stock/templates/stock/item_base.html:192 #, python-format msgid "This StockItem expires on %(item.expiry_date)s" msgstr "Dieser Lagerartikel läuft am %(item.expiry_date)s ab" -#: stock/templates/stock/item_base.html:395 -#: templates/js/translated/stock.js:1289 +#: stock/templates/stock/item_base.html:192 +#: templates/js/translated/table_filters.js:253 +msgid "Stale" +msgstr "überfällig" + +#: stock/templates/stock/item_base.html:199 +#: templates/js/translated/stock.js:1371 msgid "Last Updated" msgstr "Zuletzt aktualisiert" -#: stock/templates/stock/item_base.html:400 +#: stock/templates/stock/item_base.html:204 msgid "Last Stocktake" msgstr "Letzte Inventur" -#: stock/templates/stock/item_base.html:404 +#: stock/templates/stock/item_base.html:208 msgid "No stocktake performed" msgstr "Keine Inventur ausgeführt" -#: stock/templates/stock/item_base.html:415 +#: stock/templates/stock/item_base.html:226 +msgid "You are not in the list of owners of this item. This stock item cannot be edited." +msgstr "Sie gehören nicht zu den Eigentümern dieses Objekts und können es nicht ändern." + +#: stock/templates/stock/item_base.html:233 +msgid "This stock item is in production and cannot be edited." +msgstr "Dieser Lagerartikel wird gerade hergestellt und kann nicht geändert werden." + +#: stock/templates/stock/item_base.html:234 +msgid "Edit the stock item from the build view." +msgstr "Ändern des Lagerartikel in der Bauauftrag-Ansicht." + +#: stock/templates/stock/item_base.html:247 +msgid "This stock item has not passed all required tests" +msgstr "Dieser Lagerartikel hat nicht alle Tests bestanden" + +#: stock/templates/stock/item_base.html:255 +#, python-format +msgid "This stock item is allocated to Sales Order %(link)s (Quantity: %(qty)s)" +msgstr "Dieser Lagerartikel ist dem Auftrag %(link)s zugewiesen (Menge: %(qty)s)" + +#: stock/templates/stock/item_base.html:263 +#, python-format +msgid "This stock item is allocated to Build %(link)s (Quantity: %(qty)s)" +msgstr "Dieser Lagerartikel ist dem Bauauftrag %(link)s zugewiesen (Menge: %(qty)s)" + +#: stock/templates/stock/item_base.html:269 +msgid "This stock item is serialized - it has a unique serial number and the quantity cannot be adjusted." +msgstr "Diesesr Lagerartikel ist serialisiert. Es hat eine eindeutige Seriennummer und die Anzahl kann nicht angepasst werden." + +#: stock/templates/stock/item_base.html:273 +msgid "This stock item cannot be deleted as it has child items" +msgstr "Dieser Lagerartikel kann nicht gelöscht werden, da es Kinder besitzt" + +#: stock/templates/stock/item_base.html:277 +msgid "This stock item will be automatically deleted when all stock is depleted." +msgstr "Dieser Bestand wird automatisch gelöscht wenn der Bestand aufgebraucht ist." + +#: stock/templates/stock/item_base.html:318 +#: templates/js/translated/build.js:1035 +msgid "No location set" +msgstr "Kein Lagerort gesetzt" + +#: stock/templates/stock/item_base.html:325 +msgid "Barcode Identifier" +msgstr "Barcode-Bezeichner" + +#: stock/templates/stock/item_base.html:367 +msgid "Parent Item" +msgstr "Elternposition" + +#: stock/templates/stock/item_base.html:385 +msgid "No manufacturer set" +msgstr "Kein Hersteller ausgewählt" + +#: stock/templates/stock/item_base.html:410 msgid "Tests" msgstr "Tests" -#: stock/templates/stock/item_base.html:505 +#: stock/templates/stock/item_base.html:500 msgid "Edit Stock Status" msgstr "Bestandsstatus bearbeiten" @@ -5827,30 +5860,35 @@ msgstr "Neuen Lagerort anlegen" msgid "New Location" msgstr "Neuer Lagerort" -#: stock/templates/stock/location.html:86 +#: stock/templates/stock/location.html:95 +#: stock/templates/stock/location.html:101 +msgid "Location Path" +msgstr "Lagerortpfad" + +#: stock/templates/stock/location.html:102 msgid "Top level stock location" msgstr "Oberster Lagerstandort" -#: stock/templates/stock/location.html:95 +#: stock/templates/stock/location.html:115 msgid "You are not in the list of owners of this location. This stock location cannot be edited." msgstr "Sie sind nicht auf der Liste der Besitzer dieses Lagerorts. Der Bestands-Lagerort kann nicht verändert werden." -#: stock/templates/stock/location.html:113 -#: stock/templates/stock/location.html:160 +#: stock/templates/stock/location.html:128 +#: stock/templates/stock/location.html:175 #: stock/templates/stock/location_sidebar.html:5 msgid "Sublocations" msgstr "Unter-Lagerorte" -#: stock/templates/stock/location.html:127 templates/InvenTree/search.html:170 +#: stock/templates/stock/location.html:142 templates/InvenTree/search.html:170 #: templates/stats.html:97 users/models.py:42 msgid "Stock Locations" msgstr "Bestand-Lagerorte" -#: stock/templates/stock/location.html:167 templates/stock_table.html:30 +#: stock/templates/stock/location.html:182 templates/stock_table.html:30 msgid "Printing Actions" msgstr "Druck Aktionen" -#: stock/templates/stock/location.html:171 templates/stock_table.html:34 +#: stock/templates/stock/location.html:186 templates/stock_table.html:34 msgid "Print labels" msgstr "Label drucken" @@ -5944,7 +5982,7 @@ msgstr "Lagerartikel-QR-Code" msgid "Uninstall Stock Items" msgstr "Lagerartikel deinstallieren" -#: stock/views.py:760 templates/js/translated/stock.js:648 +#: stock/views.py:760 templates/js/translated/stock.js:730 msgid "Confirm stock adjustment" msgstr "Bestands-Anpassung bestätigen" @@ -5952,7 +5990,7 @@ msgstr "Bestands-Anpassung bestätigen" msgid "Uninstalled stock items" msgstr "Lagerartikel deinstalliert" -#: stock/views.py:793 templates/js/translated/stock.js:318 +#: stock/views.py:793 templates/js/translated/stock.js:319 msgid "Edit Stock Item" msgstr "Lagerartikel bearbeiten" @@ -5964,7 +6002,7 @@ msgstr "Neuen Lagerort erstellen" msgid "Create new Stock Item" msgstr "Neuen Lagerartikel hinzufügen" -#: stock/views.py:1186 templates/js/translated/stock.js:298 +#: stock/views.py:1186 templates/js/translated/stock.js:299 msgid "Duplicate Stock Item" msgstr "Bestand duplizieren" @@ -6870,7 +6908,7 @@ msgstr "Dadurch wird die Verknüpfung zwischen diesem Lagerartikel und dem Barco msgid "Unlink" msgstr "Entfernen" -#: templates/js/translated/barcode.js:397 templates/js/translated/stock.js:600 +#: templates/js/translated/barcode.js:397 templates/js/translated/stock.js:682 msgid "Remove stock item" msgstr "Lagerartikel entfernen" @@ -6965,7 +7003,7 @@ msgid "View BOM" msgstr "Stückliste anzeigen" #: templates/js/translated/bom.js:608 templates/js/translated/build.js:1183 -#: templates/js/translated/order.js:1320 +#: templates/js/translated/order.js:1319 msgid "Actions" msgstr "Aktionen" @@ -7057,7 +7095,7 @@ msgstr "Endprodukte fertigstellen" msgid "No build order allocations found" msgstr "Keine Allokationen für Bauauftrag gefunden" -#: templates/js/translated/build.js:424 templates/js/translated/order.js:1194 +#: templates/js/translated/build.js:424 templates/js/translated/order.js:1193 msgid "Location not specified" msgstr "Standort nicht angegeben" @@ -7066,12 +7104,12 @@ msgid "No active build outputs found" msgstr "Keine aktiven Endprodukte gefunden" #: templates/js/translated/build.js:1052 templates/js/translated/build.js:1760 -#: templates/js/translated/order.js:1327 +#: templates/js/translated/order.js:1326 msgid "Edit stock allocation" msgstr "Bestands-Zuordnung bearbeiten" #: templates/js/translated/build.js:1054 templates/js/translated/build.js:1761 -#: templates/js/translated/order.js:1328 +#: templates/js/translated/order.js:1327 msgid "Delete stock allocation" msgstr "Bestands-Zuordnung löschen" @@ -7092,11 +7130,11 @@ msgid "Quantity Per" msgstr "Anzahl pro" #: templates/js/translated/build.js:1134 templates/js/translated/build.js:1360 -#: templates/js/translated/build.js:1756 templates/js/translated/order.js:1557 +#: templates/js/translated/build.js:1756 templates/js/translated/order.js:1556 msgid "Allocated" msgstr "Zugeordnet" -#: templates/js/translated/build.js:1190 templates/js/translated/order.js:1611 +#: templates/js/translated/build.js:1190 templates/js/translated/order.js:1610 msgid "Build stock" msgstr "Bestand bauen" @@ -7104,7 +7142,7 @@ msgstr "Bestand bauen" msgid "Order stock" msgstr "Bestand bestellen" -#: templates/js/translated/build.js:1197 templates/js/translated/order.js:1604 +#: templates/js/translated/build.js:1197 templates/js/translated/order.js:1603 msgid "Allocate stock" msgstr "Bestand zuweisen" @@ -7145,9 +7183,9 @@ msgstr "Keine passenden Lagerbestände" msgid "No builds matching query" msgstr "Keine Bauaufträge passen zur Anfrage" -#: templates/js/translated/build.js:1593 templates/js/translated/part.js:966 -#: templates/js/translated/part.js:1377 templates/js/translated/stock.js:1094 -#: templates/js/translated/stock.js:1871 +#: templates/js/translated/build.js:1593 templates/js/translated/part.js:1147 +#: templates/js/translated/part.js:1558 templates/js/translated/stock.js:1176 +#: templates/js/translated/stock.js:1953 msgid "Select" msgstr "Auswählen" @@ -7155,7 +7193,7 @@ msgstr "Auswählen" msgid "Build order is overdue" msgstr "Bauauftrag ist überfällig" -#: templates/js/translated/build.js:1674 templates/js/translated/stock.js:2090 +#: templates/js/translated/build.js:1674 templates/js/translated/stock.js:2172 msgid "No user information" msgstr "Keine Benutzerinformation" @@ -7199,10 +7237,6 @@ msgstr "Zuliefererteil bearbeiten" msgid "Delete Supplier Part" msgstr "Zuliefererteil entfernen" -#: templates/js/translated/company.js:265 -msgid "Edit Company" -msgstr "Firma bearbeiten" - #: templates/js/translated/company.js:286 msgid "Add new Company" msgstr "Neue Firma hinzufügen" @@ -7232,34 +7266,34 @@ msgid "No manufacturer parts found" msgstr "Keine Herstellerteile gefunden" #: templates/js/translated/company.js:497 -#: templates/js/translated/company.js:754 templates/js/translated/part.js:449 -#: templates/js/translated/part.js:534 +#: templates/js/translated/company.js:754 templates/js/translated/part.js:456 +#: templates/js/translated/part.js:541 msgid "Template part" msgstr "Vorlagenteil" #: templates/js/translated/company.js:501 -#: templates/js/translated/company.js:758 templates/js/translated/part.js:453 -#: templates/js/translated/part.js:538 +#: templates/js/translated/company.js:758 templates/js/translated/part.js:460 +#: templates/js/translated/part.js:545 msgid "Assembled part" msgstr "Baugruppe" -#: templates/js/translated/company.js:628 templates/js/translated/part.js:626 +#: templates/js/translated/company.js:628 templates/js/translated/part.js:633 msgid "No parameters found" msgstr "Keine Parameter gefunden" -#: templates/js/translated/company.js:665 templates/js/translated/part.js:668 +#: templates/js/translated/company.js:665 templates/js/translated/part.js:675 msgid "Edit parameter" msgstr "Parameter bearbeiten" -#: templates/js/translated/company.js:666 templates/js/translated/part.js:669 +#: templates/js/translated/company.js:666 templates/js/translated/part.js:676 msgid "Delete parameter" msgstr "Parameter löschen" -#: templates/js/translated/company.js:685 templates/js/translated/part.js:686 +#: templates/js/translated/company.js:685 templates/js/translated/part.js:693 msgid "Edit Parameter" msgstr "Parameter bearbeiten" -#: templates/js/translated/company.js:696 templates/js/translated/part.js:698 +#: templates/js/translated/company.js:696 templates/js/translated/part.js:705 msgid "Delete Parameter" msgstr "Parameter löschen" @@ -7348,7 +7382,7 @@ msgid "NO" msgstr "NEIN" #: templates/js/translated/label.js:29 templates/js/translated/report.js:118 -#: templates/js/translated/stock.js:624 +#: templates/js/translated/stock.js:706 msgid "Select Stock Items" msgstr "Lagerartikel auswählen" @@ -7504,11 +7538,11 @@ msgstr "Auftrag anlegen" msgid "Export Order" msgstr "Bestellung exportieren" -#: templates/js/translated/order.js:211 templates/js/translated/stock.js:423 +#: templates/js/translated/order.js:211 templates/js/translated/stock.js:505 msgid "Format" msgstr "Format" -#: templates/js/translated/order.js:212 templates/js/translated/stock.js:424 +#: templates/js/translated/order.js:212 templates/js/translated/stock.js:506 msgid "Select file format" msgstr "Dateiformat auswählen" @@ -7524,7 +7558,7 @@ msgstr "Mindestens eine Position muss ausgewählt werden" msgid "Quantity to receive" msgstr "Zu erhaltende Menge" -#: templates/js/translated/order.js:360 templates/js/translated/stock.js:1673 +#: templates/js/translated/order.js:360 templates/js/translated/stock.js:1755 msgid "Stock Status" msgstr "Status" @@ -7548,321 +7582,321 @@ msgstr "Empfang der Teile bestätigen" msgid "Receive Purchase Order Items" msgstr "Bestellpositionen erhalten" -#: templates/js/translated/order.js:627 +#: templates/js/translated/order.js:627 templates/js/translated/part.js:746 msgid "No purchase orders found" msgstr "Keine Bestellungen gefunden" -#: templates/js/translated/order.js:652 templates/js/translated/order.js:1063 +#: templates/js/translated/order.js:659 templates/js/translated/order.js:1062 msgid "Order is overdue" msgstr "Bestellung überfällig" -#: templates/js/translated/order.js:772 templates/js/translated/order.js:1646 +#: templates/js/translated/order.js:771 templates/js/translated/order.js:1645 msgid "Edit Line Item" msgstr "Position bearbeiten" -#: templates/js/translated/order.js:784 templates/js/translated/order.js:1657 +#: templates/js/translated/order.js:783 templates/js/translated/order.js:1656 msgid "Delete Line Item" msgstr "Position löschen" -#: templates/js/translated/order.js:823 +#: templates/js/translated/order.js:822 msgid "No line items found" msgstr "Keine Positionen gefunden" -#: templates/js/translated/order.js:850 templates/js/translated/order.js:1467 +#: templates/js/translated/order.js:849 templates/js/translated/order.js:1466 msgid "Total" msgstr "Summe" -#: templates/js/translated/order.js:904 templates/js/translated/order.js:1492 -#: templates/js/translated/part.js:1594 templates/js/translated/part.js:1805 +#: templates/js/translated/order.js:903 templates/js/translated/order.js:1491 +#: templates/js/translated/part.js:1775 templates/js/translated/part.js:1986 msgid "Unit Price" msgstr "Stück-Preis" -#: templates/js/translated/order.js:919 templates/js/translated/order.js:1508 +#: templates/js/translated/order.js:918 templates/js/translated/order.js:1507 msgid "Total Price" msgstr "Gesamtpreis" -#: templates/js/translated/order.js:997 templates/js/translated/order.js:1617 +#: templates/js/translated/order.js:996 templates/js/translated/order.js:1616 msgid "Edit line item" msgstr "Position bearbeiten" -#: templates/js/translated/order.js:998 +#: templates/js/translated/order.js:997 msgid "Delete line item" msgstr "Position löschen" -#: templates/js/translated/order.js:1002 +#: templates/js/translated/order.js:1001 templates/js/translated/part.js:878 msgid "Receive line item" msgstr "Position empfangen" -#: templates/js/translated/order.js:1039 +#: templates/js/translated/order.js:1038 msgid "No sales orders found" msgstr "Keine Aufträge gefunden" -#: templates/js/translated/order.js:1077 +#: templates/js/translated/order.js:1076 msgid "Invalid Customer" msgstr "Ungültiger Kunde" -#: templates/js/translated/order.js:1155 +#: templates/js/translated/order.js:1154 msgid "No sales order allocations found" msgstr "Keine Allokationen für Verkaufsaufträge gefunden" -#: templates/js/translated/order.js:1248 +#: templates/js/translated/order.js:1247 msgid "Edit Stock Allocation" msgstr "Bestandszuordnung bearbeiten" -#: templates/js/translated/order.js:1265 +#: templates/js/translated/order.js:1264 msgid "Confirm Delete Operation" msgstr "Löschvorgang bestätigen" -#: templates/js/translated/order.js:1266 +#: templates/js/translated/order.js:1265 msgid "Delete Stock Allocation" msgstr "Bestands-Zuordnung löschen" -#: templates/js/translated/order.js:1308 +#: templates/js/translated/order.js:1307 msgid "Stock location not specified" msgstr "Lagerstandort nicht angegeben" -#: templates/js/translated/order.js:1557 +#: templates/js/translated/order.js:1556 msgid "Fulfilled" msgstr "Erledigt" -#: templates/js/translated/order.js:1601 +#: templates/js/translated/order.js:1600 msgid "Allocate serial numbers" msgstr "Seriennummern zuweisen" -#: templates/js/translated/order.js:1607 +#: templates/js/translated/order.js:1606 msgid "Purchase stock" msgstr "Bestand kaufen" -#: templates/js/translated/order.js:1614 templates/js/translated/order.js:1793 +#: templates/js/translated/order.js:1613 templates/js/translated/order.js:1792 msgid "Calculate price" msgstr "Preis berechnen" -#: templates/js/translated/order.js:1618 +#: templates/js/translated/order.js:1617 msgid "Delete line item " msgstr "Position löschen " -#: templates/js/translated/order.js:1741 +#: templates/js/translated/order.js:1740 msgid "Allocate Stock Item" msgstr "Bestand zuweisen" -#: templates/js/translated/order.js:1801 +#: templates/js/translated/order.js:1800 msgid "Update Unit Price" msgstr "Stückpreis aktualisieren" -#: templates/js/translated/order.js:1815 +#: templates/js/translated/order.js:1814 msgid "No matching line items" msgstr "Keine passenden Positionen gefunden" -#: templates/js/translated/part.js:51 +#: templates/js/translated/part.js:52 msgid "Part Attributes" msgstr "Teileigenschaften" -#: templates/js/translated/part.js:55 +#: templates/js/translated/part.js:56 msgid "Part Creation Options" msgstr "Erstellungsoptionen für Teile" -#: templates/js/translated/part.js:59 +#: templates/js/translated/part.js:60 msgid "Part Duplication Options" msgstr "Einstellungen für Teilkopien" -#: templates/js/translated/part.js:63 +#: templates/js/translated/part.js:64 msgid "Supplier Options" msgstr "Zuliefereroptionen" -#: templates/js/translated/part.js:77 +#: templates/js/translated/part.js:78 msgid "Add Part Category" msgstr "Teil-Kategorie hinzufügen" -#: templates/js/translated/part.js:166 +#: templates/js/translated/part.js:162 msgid "Create Initial Stock" msgstr "Anfänglichen Bestand erstellen" -#: templates/js/translated/part.js:167 +#: templates/js/translated/part.js:163 msgid "Create an initial stock item for this part" msgstr "Anfänglichen Bestand für dieses Teil erstellen" -#: templates/js/translated/part.js:174 +#: templates/js/translated/part.js:170 msgid "Initial Stock Quantity" msgstr "Start-Bestandsmenge" -#: templates/js/translated/part.js:175 +#: templates/js/translated/part.js:171 msgid "Specify initial stock quantity for this part" msgstr "Menge des anfänglichen Bestands für dieses Teil angeben" -#: templates/js/translated/part.js:182 +#: templates/js/translated/part.js:178 msgid "Select destination stock location" msgstr "Zielstandort auswählen" -#: templates/js/translated/part.js:193 +#: templates/js/translated/part.js:196 msgid "Copy Category Parameters" msgstr "Kategorieparameter kopieren" -#: templates/js/translated/part.js:194 +#: templates/js/translated/part.js:197 msgid "Copy parameter templates from selected part category" msgstr "Parametervorlagen aus der ausgewählten Bauteilkategorie kopieren" -#: templates/js/translated/part.js:202 +#: templates/js/translated/part.js:205 msgid "Add Supplier Data" msgstr "Zuliefererdaten hinzufügen" -#: templates/js/translated/part.js:203 +#: templates/js/translated/part.js:206 msgid "Create initial supplier data for this part" msgstr "Erstelle ersten Lieferanten für dieses Teil" -#: templates/js/translated/part.js:259 +#: templates/js/translated/part.js:262 msgid "Copy Image" msgstr "Bild kopieren" -#: templates/js/translated/part.js:260 +#: templates/js/translated/part.js:263 msgid "Copy image from original part" msgstr "Bild vom Originalteil kopieren" -#: templates/js/translated/part.js:268 +#: templates/js/translated/part.js:271 msgid "Copy bill of materials from original part" msgstr "Stückliste vom Originalteil kopieren" -#: templates/js/translated/part.js:275 +#: templates/js/translated/part.js:278 msgid "Copy Parameters" msgstr "Parameter kopieren" -#: templates/js/translated/part.js:276 +#: templates/js/translated/part.js:279 msgid "Copy parameter data from original part" msgstr "Parameterdaten vom Originalteil kopieren" -#: templates/js/translated/part.js:289 +#: templates/js/translated/part.js:292 msgid "Parent part category" msgstr "Übergeordnete Teilkategorie" -#: templates/js/translated/part.js:333 +#: templates/js/translated/part.js:336 msgid "Edit Part" msgstr "Teil bearbeiten" -#: templates/js/translated/part.js:335 +#: templates/js/translated/part.js:338 msgid "Part edited" msgstr "Teil bearbeitet" -#: templates/js/translated/part.js:403 +#: templates/js/translated/part.js:410 msgid "You are subscribed to notifications for this item" msgstr "Sie haben Benachrichtigungen für dieses Teil abonniert" -#: templates/js/translated/part.js:405 +#: templates/js/translated/part.js:412 msgid "You have subscribed to notifications for this item" msgstr "Sie haben Benachrichtigungen für dieses Teil abonniert" -#: templates/js/translated/part.js:410 +#: templates/js/translated/part.js:417 msgid "Subscribe to notifications for this item" msgstr "Benachrichtigungen für dieses Teil abonnieren" -#: templates/js/translated/part.js:412 +#: templates/js/translated/part.js:419 msgid "You have unsubscribed to notifications for this item" msgstr "Sie haben Benachrichtigungen für dieses Teil abgemeldet" -#: templates/js/translated/part.js:441 templates/js/translated/part.js:526 +#: templates/js/translated/part.js:448 templates/js/translated/part.js:533 msgid "Trackable part" msgstr "Nachverfolgbares Teil" -#: templates/js/translated/part.js:445 templates/js/translated/part.js:530 +#: templates/js/translated/part.js:452 templates/js/translated/part.js:537 msgid "Virtual part" msgstr "virtuelles Teil" -#: templates/js/translated/part.js:457 +#: templates/js/translated/part.js:464 msgid "Subscribed part" msgstr "Abonnierter Teil" -#: templates/js/translated/part.js:461 +#: templates/js/translated/part.js:468 msgid "Salable part" msgstr "Verkäufliches Teil" -#: templates/js/translated/part.js:576 +#: templates/js/translated/part.js:583 msgid "No variants found" msgstr "Keine Varianten gefunden" -#: templates/js/translated/part.js:765 +#: templates/js/translated/part.js:946 msgid "Delete part relationship" msgstr "Teile-Beziehung löschen" -#: templates/js/translated/part.js:789 +#: templates/js/translated/part.js:970 msgid "Delete Part Relationship" msgstr "Teile-Beziehung löschen" -#: templates/js/translated/part.js:856 templates/js/translated/part.js:1116 +#: templates/js/translated/part.js:1037 templates/js/translated/part.js:1297 msgid "No parts found" msgstr "Keine Teile gefunden" -#: templates/js/translated/part.js:1026 +#: templates/js/translated/part.js:1207 msgid "No category" msgstr "Keine Kategorie" -#: templates/js/translated/part.js:1049 +#: templates/js/translated/part.js:1230 #: templates/js/translated/table_filters.js:381 msgid "Low stock" msgstr "Bestand niedrig" -#: templates/js/translated/part.js:1140 templates/js/translated/part.js:1312 -#: templates/js/translated/stock.js:1832 +#: templates/js/translated/part.js:1321 templates/js/translated/part.js:1493 +#: templates/js/translated/stock.js:1914 msgid "Display as list" msgstr "Listenansicht" -#: templates/js/translated/part.js:1156 +#: templates/js/translated/part.js:1337 msgid "Display as grid" msgstr "Rasteransicht" -#: templates/js/translated/part.js:1331 templates/js/translated/stock.js:1851 +#: templates/js/translated/part.js:1512 templates/js/translated/stock.js:1933 msgid "Display as tree" msgstr "Baumansicht" -#: templates/js/translated/part.js:1395 +#: templates/js/translated/part.js:1576 msgid "Subscribed category" msgstr "Abonnierte Kategorie" -#: templates/js/translated/part.js:1409 templates/js/translated/stock.js:1895 +#: templates/js/translated/part.js:1590 templates/js/translated/stock.js:1977 msgid "Path" msgstr "Pfad" -#: templates/js/translated/part.js:1453 +#: templates/js/translated/part.js:1634 msgid "No test templates matching query" msgstr "Keine zur Anfrage passenden Testvorlagen" -#: templates/js/translated/part.js:1504 templates/js/translated/stock.js:816 +#: templates/js/translated/part.js:1685 templates/js/translated/stock.js:898 msgid "Edit test result" msgstr "Testergebnis bearbeiten" -#: templates/js/translated/part.js:1505 templates/js/translated/stock.js:817 +#: templates/js/translated/part.js:1686 templates/js/translated/stock.js:899 msgid "Delete test result" msgstr "Testergebnis löschen" -#: templates/js/translated/part.js:1511 +#: templates/js/translated/part.js:1692 msgid "This test is defined for a parent part" msgstr "Dieses Testergebnis ist für ein Hauptteil" -#: templates/js/translated/part.js:1533 +#: templates/js/translated/part.js:1714 msgid "Edit Test Result Template" msgstr "Testergebnis-Vorlage bearbeiten" -#: templates/js/translated/part.js:1547 +#: templates/js/translated/part.js:1728 msgid "Delete Test Result Template" msgstr "Testergebnis-Vorlage löschen" -#: templates/js/translated/part.js:1572 +#: templates/js/translated/part.js:1753 #, python-brace-format msgid "No ${human_name} information found" msgstr "Keine ${human_name} Informationen gefunden" -#: templates/js/translated/part.js:1627 +#: templates/js/translated/part.js:1808 #, python-brace-format msgid "Edit ${human_name}" msgstr "${human_name} bearbeiten" -#: templates/js/translated/part.js:1628 +#: templates/js/translated/part.js:1809 #, python-brace-format msgid "Delete ${human_name}" msgstr "${human_name} löschen" -#: templates/js/translated/part.js:1729 +#: templates/js/translated/part.js:1910 msgid "Single Price" msgstr "Einzelpreis" -#: templates/js/translated/part.js:1748 +#: templates/js/translated/part.js:1929 msgid "Single Price Difference" msgstr "Einzelpreisdifferenz" @@ -7932,276 +7966,300 @@ msgstr "Aufträge auswählen" msgid "Sales Order(s) must be selected before printing report" msgstr "Auftrag muss vor dem Berichtsdruck ausgewählt werden" -#: templates/js/translated/stock.js:70 +#: templates/js/translated/stock.js:71 msgid "Serialize Stock Item" msgstr "Lagerartikel serialisieren" -#: templates/js/translated/stock.js:88 templates/js/translated/stock.js:167 +#: templates/js/translated/stock.js:89 templates/js/translated/stock.js:168 msgid "Next available serial number" msgstr "Nächste verfügbare Seriennummer" -#: templates/js/translated/stock.js:90 templates/js/translated/stock.js:169 +#: templates/js/translated/stock.js:91 templates/js/translated/stock.js:170 msgid "Latest serial number" msgstr "Letzte Seriennummer" -#: templates/js/translated/stock.js:104 +#: templates/js/translated/stock.js:105 msgid "Parent stock location" msgstr "Übergeordneter Lagerort" -#: templates/js/translated/stock.js:140 +#: templates/js/translated/stock.js:141 msgid "New Stock Location" msgstr "Neuer Lagerstandort" -#: templates/js/translated/stock.js:180 +#: templates/js/translated/stock.js:181 msgid "This part cannot be serialized" msgstr "Dieser Teil kann nicht serialisiert werden" -#: templates/js/translated/stock.js:219 +#: templates/js/translated/stock.js:220 msgid "Enter initial quantity for this stock item" msgstr "Ausgangsmenge für diesen Lagerartikel eingeben" -#: templates/js/translated/stock.js:225 +#: templates/js/translated/stock.js:226 msgid "Enter serial numbers for new stock (or leave blank)" msgstr "Seriennummern für neue Lagerartikel eingeben (oder leer lassen)" -#: templates/js/translated/stock.js:368 +#: templates/js/translated/stock.js:369 msgid "Created new stock item" msgstr "Neuer Lagerartikel erstellt" -#: templates/js/translated/stock.js:381 +#: templates/js/translated/stock.js:382 msgid "Created multiple stock items" msgstr "Mehrere Lagerartikel erstellt" -#: templates/js/translated/stock.js:420 +#: templates/js/translated/stock.js:407 +msgid "Find Serial Number" +msgstr "Seriennummer finden" + +#: templates/js/translated/stock.js:411 templates/js/translated/stock.js:412 +msgid "Enter serial number" +msgstr "Seriennummer eingeben" + +#: templates/js/translated/stock.js:428 +msgid "Enter a serial number" +msgstr "Eine Seriennummer eingeben" + +#: templates/js/translated/stock.js:448 +msgid "No matching serial number" +msgstr "Keine passende Seriennummer" + +#: templates/js/translated/stock.js:457 +msgid "More than one matching result found" +msgstr "Mehrere Ergebnisse gefunden" + +#: templates/js/translated/stock.js:502 msgid "Export Stock" msgstr "Bestand exportieren" -#: templates/js/translated/stock.js:431 +#: templates/js/translated/stock.js:513 msgid "Include Sublocations" msgstr "Einschließlich Unterstandorte" -#: templates/js/translated/stock.js:432 +#: templates/js/translated/stock.js:514 msgid "Include stock items in sublocations" msgstr "Lagerartikel in untergeordneten Lagerorten einschließen" -#: templates/js/translated/stock.js:474 +#: templates/js/translated/stock.js:556 msgid "Transfer Stock" msgstr "Bestand verschieben" -#: templates/js/translated/stock.js:475 +#: templates/js/translated/stock.js:557 msgid "Move" msgstr "Verschieben" -#: templates/js/translated/stock.js:481 +#: templates/js/translated/stock.js:563 msgid "Count Stock" msgstr "Bestand zählen" -#: templates/js/translated/stock.js:482 +#: templates/js/translated/stock.js:564 msgid "Count" msgstr "Anzahl" -#: templates/js/translated/stock.js:486 +#: templates/js/translated/stock.js:568 msgid "Remove Stock" msgstr "Bestand entfernen" -#: templates/js/translated/stock.js:487 +#: templates/js/translated/stock.js:569 msgid "Take" msgstr "Entfernen" -#: templates/js/translated/stock.js:491 +#: templates/js/translated/stock.js:573 msgid "Add Stock" msgstr "Bestand hinzufügen" -#: templates/js/translated/stock.js:492 users/models.py:200 +#: templates/js/translated/stock.js:574 users/models.py:200 msgid "Add" msgstr "Hinzufügen" -#: templates/js/translated/stock.js:496 templates/stock_table.html:56 +#: templates/js/translated/stock.js:578 templates/stock_table.html:56 msgid "Delete Stock" msgstr "Bestand löschen" -#: templates/js/translated/stock.js:585 +#: templates/js/translated/stock.js:667 msgid "Quantity cannot be adjusted for serialized stock" msgstr "Menge von serialisiertem Bestand kann nicht bearbeitet werden" -#: templates/js/translated/stock.js:585 +#: templates/js/translated/stock.js:667 msgid "Specify stock quantity" msgstr "Bestandsanzahl angeben" -#: templates/js/translated/stock.js:625 +#: templates/js/translated/stock.js:707 msgid "You must select at least one available stock item" msgstr "Sie müssen mindestens einen Lagerartikel auswählen" -#: templates/js/translated/stock.js:783 +#: templates/js/translated/stock.js:865 msgid "PASS" msgstr "ERFOLGREICH" -#: templates/js/translated/stock.js:785 +#: templates/js/translated/stock.js:867 msgid "FAIL" msgstr "FEHLGESCHLAGEN" -#: templates/js/translated/stock.js:790 +#: templates/js/translated/stock.js:872 msgid "NO RESULT" msgstr "KEIN ERGEBNIS" -#: templates/js/translated/stock.js:812 +#: templates/js/translated/stock.js:894 msgid "Add test result" msgstr "Testergebnis hinzufügen" -#: templates/js/translated/stock.js:838 +#: templates/js/translated/stock.js:920 msgid "No test results found" msgstr "Keine Testergebnisse gefunden" -#: templates/js/translated/stock.js:895 +#: templates/js/translated/stock.js:977 msgid "Test Date" msgstr "Testdatum" -#: templates/js/translated/stock.js:1002 +#: templates/js/translated/stock.js:1084 msgid "In production" msgstr "In Arbeit" -#: templates/js/translated/stock.js:1006 +#: templates/js/translated/stock.js:1088 msgid "Installed in Stock Item" msgstr "In Lagerartikel installiert" -#: templates/js/translated/stock.js:1010 +#: templates/js/translated/stock.js:1092 msgid "Shipped to customer" msgstr "an Kunde versand" -#: templates/js/translated/stock.js:1014 +#: templates/js/translated/stock.js:1096 msgid "Assigned to Sales Order" msgstr "Auftrag zugewiesen" -#: templates/js/translated/stock.js:1020 +#: templates/js/translated/stock.js:1102 msgid "No stock location set" msgstr "Kein Lagerort gesetzt" -#: templates/js/translated/stock.js:1178 +#: templates/js/translated/stock.js:1260 msgid "Stock item is in production" msgstr "Lagerartikel wird produziert" -#: templates/js/translated/stock.js:1183 +#: templates/js/translated/stock.js:1265 msgid "Stock item assigned to sales order" msgstr "Lagerartikel wurde Auftrag zugewiesen" -#: templates/js/translated/stock.js:1186 +#: templates/js/translated/stock.js:1268 msgid "Stock item assigned to customer" msgstr "Lagerartikel wurde Kunden zugewiesen" -#: templates/js/translated/stock.js:1190 +#: templates/js/translated/stock.js:1272 msgid "Stock item has expired" msgstr "Lagerartikel ist abgelaufen" -#: templates/js/translated/stock.js:1192 +#: templates/js/translated/stock.js:1274 msgid "Stock item will expire soon" msgstr "Lagerartikel läuft demnächst ab" -#: templates/js/translated/stock.js:1196 +#: templates/js/translated/stock.js:1278 msgid "Stock item has been allocated" msgstr "Lagerartikel zugewiesen" -#: templates/js/translated/stock.js:1200 +#: templates/js/translated/stock.js:1282 msgid "Stock item has been installed in another item" msgstr "Lagerartikel in anderem Element verbaut" -#: templates/js/translated/stock.js:1207 +#: templates/js/translated/stock.js:1289 msgid "Stock item has been rejected" msgstr "Lagerartikel abgewiesen" -#: templates/js/translated/stock.js:1209 +#: templates/js/translated/stock.js:1291 msgid "Stock item is lost" msgstr "Lagerartikel verloren" -#: templates/js/translated/stock.js:1211 +#: templates/js/translated/stock.js:1293 msgid "Stock item is destroyed" msgstr "Lagerartikel zerstört" -#: templates/js/translated/stock.js:1215 +#: templates/js/translated/stock.js:1297 #: templates/js/translated/table_filters.js:183 msgid "Depleted" msgstr "gelöscht" -#: templates/js/translated/stock.js:1265 +#: templates/js/translated/stock.js:1347 msgid "Stocktake" msgstr "Inventur" -#: templates/js/translated/stock.js:1338 +#: templates/js/translated/stock.js:1420 msgid "Supplier part not specified" msgstr "Zuliefererteil nicht angegeben" -#: templates/js/translated/stock.js:1376 +#: templates/js/translated/stock.js:1458 msgid "No stock items matching query" msgstr "Keine zur Anfrage passenden Lagerartikel" -#: templates/js/translated/stock.js:1397 templates/js/translated/stock.js:1445 +#: templates/js/translated/stock.js:1479 templates/js/translated/stock.js:1527 msgid "items" msgstr "Teile" -#: templates/js/translated/stock.js:1485 +#: templates/js/translated/stock.js:1567 msgid "batches" msgstr "lose" -#: templates/js/translated/stock.js:1512 +#: templates/js/translated/stock.js:1594 msgid "locations" msgstr "Lagerorte" -#: templates/js/translated/stock.js:1514 +#: templates/js/translated/stock.js:1596 msgid "Undefined location" msgstr "unbekannter Lagerort" -#: templates/js/translated/stock.js:1688 +#: templates/js/translated/stock.js:1770 msgid "Set Stock Status" msgstr "Status setzen" -#: templates/js/translated/stock.js:1702 +#: templates/js/translated/stock.js:1784 msgid "Select Status Code" msgstr "Status Code setzen" -#: templates/js/translated/stock.js:1703 +#: templates/js/translated/stock.js:1785 msgid "Status code must be selected" msgstr "Status Code muss ausgewählt werden" -#: templates/js/translated/stock.js:1927 +#: templates/js/translated/stock.js:2009 msgid "Invalid date" msgstr "Ungültiges Datum" -#: templates/js/translated/stock.js:1974 +#: templates/js/translated/stock.js:2031 +msgid "Details" +msgstr "Details" + +#: templates/js/translated/stock.js:2056 msgid "Location no longer exists" msgstr "Standort nicht mehr vorhanden" -#: templates/js/translated/stock.js:1993 +#: templates/js/translated/stock.js:2075 msgid "Purchase order no longer exists" msgstr "Bestellung existiert nicht mehr" -#: templates/js/translated/stock.js:2012 +#: templates/js/translated/stock.js:2094 msgid "Customer no longer exists" msgstr "Kunde existiert nicht mehr" -#: templates/js/translated/stock.js:2030 +#: templates/js/translated/stock.js:2112 msgid "Stock item no longer exists" msgstr "Lagerartikel existiert nicht mehr" -#: templates/js/translated/stock.js:2053 +#: templates/js/translated/stock.js:2135 msgid "Added" msgstr "Hinzugefügt" -#: templates/js/translated/stock.js:2061 +#: templates/js/translated/stock.js:2143 msgid "Removed" msgstr "Entfernt" -#: templates/js/translated/stock.js:2102 +#: templates/js/translated/stock.js:2184 msgid "Edit tracking entry" msgstr "Tracking-Eintrag bearbeiten" -#: templates/js/translated/stock.js:2103 +#: templates/js/translated/stock.js:2185 msgid "Delete tracking entry" msgstr "Tracking-Eintrag löschen" -#: templates/js/translated/stock.js:2154 +#: templates/js/translated/stock.js:2236 msgid "No installed items" msgstr "Keine installierten Elemente" -#: templates/js/translated/stock.js:2205 +#: templates/js/translated/stock.js:2287 msgid "Uninstall Stock Item" msgstr "Lagerartikel entfernen" diff --git a/InvenTree/locale/el/LC_MESSAGES/django.po b/InvenTree/locale/el/LC_MESSAGES/django.po index 2c99640814..3b6d4f01a4 100644 --- a/InvenTree/locale/el/LC_MESSAGES/django.po +++ b/InvenTree/locale/el/LC_MESSAGES/django.po @@ -2,8 +2,8 @@ msgid "" msgstr "" "Project-Id-Version: inventree\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2021-11-30 21:49+0000\n" -"PO-Revision-Date: 2021-11-30 21:52\n" +"POT-Creation-Date: 2021-12-03 10:37+0000\n" +"PO-Revision-Date: 2021-12-03 11:26\n" "Last-Translator: \n" "Language-Team: Greek\n" "Language: el_GR\n" @@ -114,129 +114,130 @@ msgstr "" msgid "Number of unique serial number ({s}) must match quantity ({q})" msgstr "" -#: InvenTree/models.py:114 +#: InvenTree/models.py:120 msgid "Missing file" msgstr "" -#: InvenTree/models.py:115 +#: InvenTree/models.py:121 msgid "Missing external link" msgstr "" -#: InvenTree/models.py:126 stock/models.py:1874 +#: InvenTree/models.py:132 stock/models.py:1864 #: templates/js/translated/attachment.js:117 msgid "Attachment" msgstr "" -#: InvenTree/models.py:127 +#: InvenTree/models.py:133 msgid "Select file to attach" msgstr "" -#: InvenTree/models.py:133 company/models.py:131 company/models.py:348 +#: InvenTree/models.py:139 company/models.py:131 company/models.py:348 #: company/models.py:564 order/models.py:163 part/models.py:797 #: report/templates/report/inventree_build_order_base.html:165 #: templates/js/translated/company.js:537 -#: templates/js/translated/company.js:826 templates/js/translated/part.js:1077 +#: templates/js/translated/company.js:826 templates/js/translated/part.js:1258 msgid "Link" msgstr "" -#: InvenTree/models.py:134 build/models.py:330 part/models.py:798 -#: stock/models.py:540 +#: InvenTree/models.py:140 build/models.py:330 part/models.py:798 +#: stock/models.py:530 msgid "Link to external URL" msgstr "" -#: InvenTree/models.py:137 templates/js/translated/attachment.js:161 +#: InvenTree/models.py:143 templates/js/translated/attachment.js:161 msgid "Comment" msgstr "" -#: InvenTree/models.py:137 +#: InvenTree/models.py:143 msgid "File comment" msgstr "" -#: InvenTree/models.py:143 InvenTree/models.py:144 common/models.py:1185 +#: InvenTree/models.py:149 InvenTree/models.py:150 common/models.py:1185 #: common/models.py:1186 part/models.py:2205 part/models.py:2225 #: report/templates/report/inventree_test_report_base.html:96 -#: templates/js/translated/stock.js:2084 +#: templates/js/translated/stock.js:2166 msgid "User" msgstr "" -#: InvenTree/models.py:147 +#: InvenTree/models.py:153 msgid "upload date" msgstr "" -#: InvenTree/models.py:170 +#: InvenTree/models.py:176 msgid "Filename must not be empty" msgstr "" -#: InvenTree/models.py:193 +#: InvenTree/models.py:199 msgid "Invalid attachment directory" msgstr "" -#: InvenTree/models.py:203 +#: InvenTree/models.py:209 #, python-brace-format msgid "Filename contains illegal character '{c}'" msgstr "" -#: InvenTree/models.py:206 +#: InvenTree/models.py:212 msgid "Filename missing extension" msgstr "" -#: InvenTree/models.py:213 +#: InvenTree/models.py:219 msgid "Attachment with this filename already exists" msgstr "" -#: InvenTree/models.py:220 +#: InvenTree/models.py:226 msgid "Error renaming file" msgstr "" -#: InvenTree/models.py:255 +#: InvenTree/models.py:261 msgid "Invalid choice" msgstr "" -#: InvenTree/models.py:271 InvenTree/models.py:272 company/models.py:415 +#: InvenTree/models.py:277 InvenTree/models.py:278 company/models.py:415 #: label/models.py:112 part/models.py:741 part/models.py:2389 -#: part/templates/part/detail.html:25 report/models.py:181 -#: templates/InvenTree/settings/settings.html:259 -#: templates/js/translated/company.js:638 templates/js/translated/part.js:499 -#: templates/js/translated/part.js:636 templates/js/translated/part.js:1384 -#: templates/js/translated/stock.js:1877 +#: report/models.py:181 templates/InvenTree/settings/settings.html:259 +#: templates/js/translated/company.js:638 templates/js/translated/part.js:506 +#: templates/js/translated/part.js:643 templates/js/translated/part.js:1565 +#: templates/js/translated/stock.js:1959 msgid "Name" msgstr "" -#: InvenTree/models.py:278 build/models.py:207 +#: InvenTree/models.py:284 build/models.py:207 #: build/templates/build/detail.html:25 company/models.py:354 -#: company/models.py:570 company/templates/company/manufacturer_part.html:80 -#: company/templates/company/supplier_part.html:81 label/models.py:119 -#: order/models.py:161 part/models.py:764 part/templates/part/detail.html:30 +#: company/models.py:570 company/templates/company/company_base.html:68 +#: company/templates/company/manufacturer_part.html:76 +#: company/templates/company/supplier_part.html:73 label/models.py:119 +#: order/models.py:161 part/models.py:764 part/templates/part/category.html:70 +#: part/templates/part/part_base.html:163 #: part/templates/part/set_category.html:14 report/models.py:194 #: report/models.py:553 report/models.py:592 #: report/templates/report/inventree_build_order_base.html:118 -#: stock/templates/stock/location.html:108 templates/js/translated/bom.js:215 +#: stock/templates/stock/location.html:89 templates/js/translated/bom.js:215 #: templates/js/translated/bom.js:428 templates/js/translated/build.js:1621 #: templates/js/translated/company.js:345 #: templates/js/translated/company.js:548 -#: templates/js/translated/company.js:837 templates/js/translated/order.js:673 -#: templates/js/translated/order.js:855 templates/js/translated/order.js:1091 -#: templates/js/translated/part.js:558 templates/js/translated/part.js:752 -#: templates/js/translated/part.js:837 templates/js/translated/part.js:1007 -#: templates/js/translated/part.js:1403 templates/js/translated/part.js:1472 -#: templates/js/translated/stock.js:1151 templates/js/translated/stock.js:1889 -#: templates/js/translated/stock.js:1934 +#: templates/js/translated/company.js:837 templates/js/translated/order.js:680 +#: templates/js/translated/order.js:854 templates/js/translated/order.js:1090 +#: templates/js/translated/part.js:565 templates/js/translated/part.js:933 +#: templates/js/translated/part.js:1018 templates/js/translated/part.js:1188 +#: templates/js/translated/part.js:1584 templates/js/translated/part.js:1653 +#: templates/js/translated/stock.js:1233 templates/js/translated/stock.js:1971 +#: templates/js/translated/stock.js:2016 msgid "Description" msgstr "" -#: InvenTree/models.py:279 +#: InvenTree/models.py:285 msgid "Description (optional)" msgstr "" -#: InvenTree/models.py:287 +#: InvenTree/models.py:293 msgid "parent" msgstr "" -#: InvenTree/serializers.py:62 part/models.py:2674 +#: InvenTree/serializers.py:65 part/models.py:2674 msgid "Must be a valid number" msgstr "" -#: InvenTree/serializers.py:285 +#: InvenTree/serializers.py:299 msgid "Filename" msgstr "" @@ -361,7 +362,7 @@ msgid "Returned" msgstr "" #: InvenTree/status_codes.py:143 -#: order/templates/order/sales_order_base.html:147 +#: order/templates/order/sales_order_base.html:148 msgid "Shipped" msgstr "" @@ -566,7 +567,7 @@ msgid "Barcode associated with StockItem" msgstr "" #: build/forms.py:36 build/models.py:1283 -#: build/templates/build/build_base.html:124 +#: build/templates/build/build_base.html:132 #: build/templates/build/detail.html:35 common/models.py:1225 #: company/forms.py:42 company/templates/company/supplier_part.html:251 #: order/forms.py:102 order/models.py:729 order/models.py:991 @@ -574,26 +575,27 @@ msgstr "" #: order/templates/order/order_wizard/select_parts.html:34 part/forms.py:223 #: part/forms.py:239 part/forms.py:255 part/models.py:2576 #: part/templates/part/bom_upload/match_parts.html:31 -#: part/templates/part/detail.html:1076 part/templates/part/detail.html:1162 +#: part/templates/part/detail.html:967 part/templates/part/detail.html:1053 #: part/templates/part/part_pricing.html:16 #: report/templates/report/inventree_build_order_base.html:114 #: report/templates/report/inventree_po_report.html:91 #: report/templates/report/inventree_so_report.html:91 #: report/templates/report/inventree_test_report_base.html:81 #: report/templates/report/inventree_test_report_base.html:139 -#: stock/forms.py:156 stock/serializers.py:286 -#: stock/templates/stock/item_base.html:256 +#: stock/forms.py:156 stock/serializers.py:291 +#: stock/templates/stock/item_base.html:174 #: templates/js/translated/barcode.js:385 templates/js/translated/bom.js:443 #: templates/js/translated/build.js:235 templates/js/translated/build.js:435 #: templates/js/translated/build.js:629 templates/js/translated/build.js:639 #: templates/js/translated/build.js:1015 templates/js/translated/build.js:1362 #: templates/js/translated/model_renderers.js:99 -#: templates/js/translated/order.js:892 templates/js/translated/order.js:1205 -#: templates/js/translated/order.js:1283 templates/js/translated/order.js:1290 -#: templates/js/translated/order.js:1379 templates/js/translated/order.js:1479 -#: templates/js/translated/part.js:1615 templates/js/translated/part.js:1738 -#: templates/js/translated/part.js:1816 templates/js/translated/stock.js:377 -#: templates/js/translated/stock.js:2069 templates/js/translated/stock.js:2171 +#: templates/js/translated/order.js:891 templates/js/translated/order.js:1204 +#: templates/js/translated/order.js:1282 templates/js/translated/order.js:1289 +#: templates/js/translated/order.js:1378 templates/js/translated/order.js:1478 +#: templates/js/translated/part.js:843 templates/js/translated/part.js:1796 +#: templates/js/translated/part.js:1919 templates/js/translated/part.js:1997 +#: templates/js/translated/stock.js:378 templates/js/translated/stock.js:2151 +#: templates/js/translated/stock.js:2253 msgid "Quantity" msgstr "" @@ -602,8 +604,8 @@ msgid "Enter quantity for build output" msgstr "" #: build/forms.py:41 order/forms.py:96 stock/forms.py:95 -#: stock/serializers.py:307 templates/js/translated/stock.js:224 -#: templates/js/translated/stock.js:378 +#: stock/serializers.py:312 templates/js/translated/stock.js:225 +#: templates/js/translated/stock.js:379 msgid "Serial Numbers" msgstr "" @@ -646,7 +648,7 @@ msgstr "" #: build/templates/build/index.html:8 build/templates/build/index.html:12 #: order/templates/order/sales_order_detail.html:42 #: order/templates/order/so_sidebar.html:7 -#: part/templates/part/part_sidebar.html:22 templates/InvenTree/index.html:221 +#: part/templates/part/part_sidebar.html:20 templates/InvenTree/index.html:221 #: templates/InvenTree/search.html:145 #: templates/InvenTree/settings/sidebar.html:42 users/models.py:44 msgid "Build Orders" @@ -662,7 +664,7 @@ msgstr "" #: report/templates/report/inventree_po_report.html:92 #: report/templates/report/inventree_so_report.html:92 #: templates/js/translated/bom.js:435 templates/js/translated/build.js:1119 -#: templates/js/translated/order.js:886 templates/js/translated/order.js:1473 +#: templates/js/translated/order.js:885 templates/js/translated/order.js:1472 msgid "Reference" msgstr "" @@ -670,7 +672,7 @@ msgstr "" msgid "Brief description of the build" msgstr "" -#: build/models.py:219 build/templates/build/build_base.html:156 +#: build/models.py:219 build/templates/build/build_base.html:164 #: build/templates/build/detail.html:88 msgid "Parent Build" msgstr "" @@ -679,7 +681,7 @@ msgstr "" msgid "BuildOrder to which this build is allocated" msgstr "" -#: build/models.py:225 build/templates/build/build_base.html:119 +#: build/models.py:225 build/templates/build/build_base.html:77 #: build/templates/build/detail.html:30 company/models.py:705 #: order/models.py:789 order/models.py:860 #: order/templates/order/order_wizard/select_parts.html:32 part/models.py:357 @@ -700,10 +702,10 @@ msgstr "" #: templates/js/translated/build.js:988 templates/js/translated/build.js:1359 #: templates/js/translated/build.js:1626 templates/js/translated/company.js:489 #: templates/js/translated/company.js:746 templates/js/translated/order.js:426 -#: templates/js/translated/order.js:840 templates/js/translated/order.js:1457 -#: templates/js/translated/part.js:737 templates/js/translated/part.js:818 -#: templates/js/translated/part.js:985 templates/js/translated/stock.js:508 -#: templates/js/translated/stock.js:1108 templates/js/translated/stock.js:2159 +#: templates/js/translated/order.js:839 templates/js/translated/order.js:1456 +#: templates/js/translated/part.js:918 templates/js/translated/part.js:999 +#: templates/js/translated/part.js:1166 templates/js/translated/stock.js:590 +#: templates/js/translated/stock.js:1190 templates/js/translated/stock.js:2241 msgid "Part" msgstr "" @@ -751,7 +753,7 @@ msgstr "" msgid "Number of stock items which have been completed" msgstr "" -#: build/models.py:277 part/templates/part/part_base.html:216 +#: build/models.py:277 part/templates/part/part_base.html:234 msgid "Build Status" msgstr "" @@ -759,7 +761,7 @@ msgstr "" msgid "Build status code" msgstr "" -#: build/models.py:285 stock/models.py:544 +#: build/models.py:285 stock/models.py:534 msgid "Batch Code" msgstr "" @@ -768,7 +770,7 @@ msgid "Batch code for this build output" msgstr "" #: build/models.py:292 order/models.py:165 part/models.py:936 -#: part/templates/part/detail.html:86 templates/js/translated/order.js:1104 +#: part/templates/part/part_base.html:313 templates/js/translated/order.js:1103 msgid "Creation Date" msgstr "" @@ -797,12 +799,12 @@ msgstr "" msgid "User who issued this build order" msgstr "" -#: build/models.py:323 build/templates/build/build_base.html:177 +#: build/models.py:323 build/templates/build/build_base.html:185 #: build/templates/build/detail.html:116 order/models.py:179 -#: order/templates/order/order_base.html:154 -#: order/templates/order/sales_order_base.html:161 part/models.py:940 +#: order/templates/order/order_base.html:158 +#: order/templates/order/sales_order_base.html:162 part/models.py:940 #: report/templates/report/inventree_build_order_base.html:159 -#: templates/js/translated/build.js:1680 templates/js/translated/order.js:700 +#: templates/js/translated/build.js:1680 templates/js/translated/order.js:699 msgid "Responsible" msgstr "" @@ -811,10 +813,10 @@ msgid "User responsible for this build order" msgstr "" #: build/models.py:329 build/templates/build/detail.html:102 -#: company/templates/company/manufacturer_part.html:87 -#: company/templates/company/supplier_part.html:88 -#: part/templates/part/detail.html:80 stock/models.py:538 -#: stock/templates/stock/item_base.html:346 +#: company/templates/company/manufacturer_part.html:102 +#: company/templates/company/supplier_part.html:126 +#: part/templates/part/part_base.html:354 stock/models.py:528 +#: stock/templates/stock/item_base.html:374 msgid "External Link" msgstr "" @@ -824,15 +826,15 @@ msgstr "" #: order/models.py:183 order/models.py:738 #: order/templates/order/po_sidebar.html:11 #: order/templates/order/so_sidebar.html:11 part/models.py:925 -#: part/templates/part/detail.html:223 part/templates/part/part_sidebar.html:52 +#: part/templates/part/detail.html:116 part/templates/part/part_sidebar.html:50 #: report/templates/report/inventree_build_order_base.html:173 -#: stock/forms.py:154 stock/forms.py:204 stock/forms.py:238 stock/models.py:610 -#: stock/models.py:1774 stock/models.py:1880 stock/serializers.py:325 -#: stock/serializers.py:583 stock/templates/stock/stock_sidebar.html:21 +#: stock/forms.py:154 stock/forms.py:204 stock/forms.py:238 stock/models.py:600 +#: stock/models.py:1764 stock/models.py:1870 stock/serializers.py:330 +#: stock/serializers.py:588 stock/templates/stock/stock_sidebar.html:21 #: templates/js/translated/barcode.js:58 templates/js/translated/bom.js:599 -#: templates/js/translated/company.js:842 templates/js/translated/order.js:985 -#: templates/js/translated/order.js:1583 templates/js/translated/stock.js:891 -#: templates/js/translated/stock.js:1370 +#: templates/js/translated/company.js:842 templates/js/translated/order.js:984 +#: templates/js/translated/order.js:1582 templates/js/translated/stock.js:973 +#: templates/js/translated/stock.js:1452 msgid "Notes" msgstr "" @@ -877,7 +879,7 @@ msgstr "" msgid "Selected stock item not found in BOM" msgstr "" -#: build/models.py:1253 stock/templates/stock/item_base.html:318 +#: build/models.py:1253 stock/templates/stock/item_base.html:346 #: templates/InvenTree/search.html:143 templates/js/translated/build.js:1599 #: templates/navbar.html:33 msgid "Build" @@ -890,11 +892,11 @@ msgstr "" #: build/models.py:1270 build/serializers.py:328 #: stock/templates/stock/item_base.html:8 #: stock/templates/stock/item_base.html:16 -#: stock/templates/stock/item_base.html:340 +#: stock/templates/stock/item_base.html:368 #: templates/js/translated/build.js:408 templates/js/translated/build.js:413 #: templates/js/translated/build.js:1361 templates/js/translated/build.js:1742 -#: templates/js/translated/order.js:1178 templates/js/translated/order.js:1183 -#: templates/js/translated/stock.js:2020 +#: templates/js/translated/order.js:1177 templates/js/translated/order.js:1182 +#: templates/js/translated/stock.js:2102 msgid "Stock Item" msgstr "" @@ -934,16 +936,16 @@ msgstr "" msgid "This build output is not fully allocated" msgstr "" -#: build/serializers.py:190 order/serializers.py:219 order/serializers.py:287 -#: stock/forms.py:236 stock/serializers.py:318 stock/serializers.py:685 -#: stock/templates/stock/item_base.html:286 +#: build/serializers.py:190 order/serializers.py:228 order/serializers.py:296 +#: stock/forms.py:236 stock/serializers.py:323 stock/serializers.py:690 +#: stock/templates/stock/item_base.html:314 #: templates/js/translated/barcode.js:384 #: templates/js/translated/barcode.js:557 templates/js/translated/build.js:420 #: templates/js/translated/build.js:1027 templates/js/translated/order.js:348 -#: templates/js/translated/order.js:1190 templates/js/translated/order.js:1298 -#: templates/js/translated/order.js:1304 templates/js/translated/part.js:181 -#: templates/js/translated/stock.js:510 templates/js/translated/stock.js:1251 -#: templates/js/translated/stock.js:1961 +#: templates/js/translated/order.js:1189 templates/js/translated/order.js:1297 +#: templates/js/translated/order.js:1303 templates/js/translated/part.js:177 +#: templates/js/translated/stock.js:592 templates/js/translated/stock.js:1333 +#: templates/js/translated/stock.js:2043 msgid "Location" msgstr "" @@ -951,13 +953,13 @@ msgstr "" msgid "Location for completed build outputs" msgstr "" -#: build/serializers.py:197 build/templates/build/build_base.html:129 +#: build/serializers.py:197 build/templates/build/build_base.html:137 #: build/templates/build/detail.html:63 order/models.py:572 -#: order/serializers.py:240 stock/templates/stock/item_base.html:409 +#: order/serializers.py:249 stock/templates/stock/item_base.html:180 #: templates/js/translated/barcode.js:140 templates/js/translated/build.js:1655 -#: templates/js/translated/order.js:431 templates/js/translated/order.js:677 -#: templates/js/translated/order.js:1096 templates/js/translated/stock.js:1226 -#: templates/js/translated/stock.js:2038 templates/js/translated/stock.js:2187 +#: templates/js/translated/order.js:431 templates/js/translated/order.js:1095 +#: templates/js/translated/stock.js:1308 templates/js/translated/stock.js:2120 +#: templates/js/translated/stock.js:2269 msgid "Status" msgstr "" @@ -986,8 +988,8 @@ msgstr "" msgid "Item must be in stock" msgstr "" -#: build/serializers.py:348 order/models.py:316 order/serializers.py:233 -#: stock/models.py:381 stock/models.py:1103 stock/serializers.py:298 +#: build/serializers.py:348 order/models.py:316 order/serializers.py:242 +#: stock/models.py:371 stock/models.py:1093 stock/serializers.py:303 msgid "Quantity must be greater than zero" msgstr "" @@ -1031,7 +1033,7 @@ msgid "Edit Build" msgstr "" #: build/templates/build/build_base.html:56 -#: build/templates/build/build_base.html:207 build/views.py:56 +#: build/templates/build/build_base.html:215 build/views.py:56 msgid "Cancel Build" msgstr "" @@ -1041,93 +1043,95 @@ msgstr "" #: build/templates/build/build_base.html:64 #: build/templates/build/build_base.html:65 -#: build/templates/build/build_base.html:223 +#: build/templates/build/build_base.html:231 msgid "Complete Build" msgstr "" -#: build/templates/build/build_base.html:79 +#: build/templates/build/build_base.html:82 +msgid "Build Description" +msgstr "" + +#: build/templates/build/build_base.html:91 #, python-format msgid "This Build Order is allocated to Sales Order %(link)s" msgstr "" -#: build/templates/build/build_base.html:86 +#: build/templates/build/build_base.html:98 #, python-format msgid "This Build Order is a child of Build Order %(link)s" msgstr "" -#: build/templates/build/build_base.html:93 +#: build/templates/build/build_base.html:105 msgid "Build Order is ready to mark as completed" msgstr "" -#: build/templates/build/build_base.html:98 +#: build/templates/build/build_base.html:110 msgid "Build Order cannot be completed as outstanding outputs remain" msgstr "" -#: build/templates/build/build_base.html:103 +#: build/templates/build/build_base.html:115 msgid "Required build quantity has not yet been completed" msgstr "" -#: build/templates/build/build_base.html:108 +#: build/templates/build/build_base.html:120 msgid "Stock has not been fully allocated to this Build Order" msgstr "" -#: build/templates/build/build_base.html:138 +#: build/templates/build/build_base.html:146 #: build/templates/build/detail.html:132 -#: order/templates/order/order_base.html:140 -#: order/templates/order/sales_order_base.html:140 +#: order/templates/order/order_base.html:144 +#: order/templates/order/sales_order_base.html:141 #: report/templates/report/inventree_build_order_base.html:126 -#: templates/js/translated/build.js:1692 templates/js/translated/order.js:690 -#: templates/js/translated/order.js:1109 +#: templates/js/translated/build.js:1692 templates/js/translated/order.js:689 +#: templates/js/translated/order.js:1108 msgid "Target Date" msgstr "" -#: build/templates/build/build_base.html:143 +#: build/templates/build/build_base.html:151 #, python-format msgid "This build was due on %(target)s" msgstr "" -#: build/templates/build/build_base.html:143 -#: build/templates/build/build_base.html:188 -#: order/templates/order/order_base.html:81 -#: order/templates/order/order_base.html:102 -#: order/templates/order/sales_order_base.html:78 -#: order/templates/order/sales_order_base.html:107 +#: build/templates/build/build_base.html:151 +#: build/templates/build/build_base.html:196 +#: order/templates/order/order_base.html:98 +#: order/templates/order/sales_order_base.html:93 #: templates/js/translated/table_filters.js:294 #: templates/js/translated/table_filters.js:322 #: templates/js/translated/table_filters.js:339 msgid "Overdue" msgstr "" -#: build/templates/build/build_base.html:150 +#: build/templates/build/build_base.html:158 #: build/templates/build/detail.html:68 build/templates/build/detail.html:143 #: templates/js/translated/build.js:1641 #: templates/js/translated/table_filters.js:304 msgid "Completed" msgstr "" -#: build/templates/build/build_base.html:163 +#: build/templates/build/build_base.html:171 #: build/templates/build/detail.html:95 order/models.py:857 #: order/templates/order/sales_order_base.html:9 #: order/templates/order/sales_order_base.html:28 #: order/templates/order/sales_order_ship.html:25 #: report/templates/report/inventree_build_order_base.html:136 #: report/templates/report/inventree_so_report.html:77 -#: stock/templates/stock/item_base.html:280 -#: templates/js/translated/order.js:1051 +#: stock/templates/stock/item_base.html:308 +#: templates/js/translated/order.js:1050 msgid "Sales Order" msgstr "" -#: build/templates/build/build_base.html:170 +#: build/templates/build/build_base.html:178 #: build/templates/build/detail.html:109 #: report/templates/report/inventree_build_order_base.html:153 msgid "Issued By" msgstr "" -#: build/templates/build/build_base.html:215 +#: build/templates/build/build_base.html:223 msgid "Incomplete Outputs" msgstr "" -#: build/templates/build/build_base.html:216 +#: build/templates/build/build_base.html:224 msgid "Build Order cannot be completed as incomplete build outputs remain" msgstr "" @@ -1188,7 +1192,7 @@ msgid "Stock can be taken from any available location." msgstr "" #: build/templates/build/detail.html:50 order/models.py:811 stock/forms.py:150 -#: templates/js/translated/order.js:432 templates/js/translated/order.js:974 +#: templates/js/translated/order.js:432 templates/js/translated/order.js:973 msgid "Destination" msgstr "" @@ -1201,16 +1205,16 @@ msgid "Allocated Parts" msgstr "" #: build/templates/build/detail.html:81 -#: stock/templates/stock/item_base.html:304 -#: templates/js/translated/stock.js:1240 templates/js/translated/stock.js:2194 +#: stock/templates/stock/item_base.html:332 +#: templates/js/translated/stock.js:1322 templates/js/translated/stock.js:2276 #: templates/js/translated/table_filters.js:151 #: templates/js/translated/table_filters.js:233 msgid "Batch" msgstr "" #: build/templates/build/detail.html:127 -#: order/templates/order/order_base.html:127 -#: order/templates/order/sales_order_base.html:134 +#: order/templates/order/order_base.html:131 +#: order/templates/order/sales_order_base.html:135 #: templates/js/translated/build.js:1663 msgid "Created" msgstr "" @@ -1254,7 +1258,7 @@ msgstr "" #: build/templates/build/detail.html:185 #: company/templates/company/detail.html:38 #: company/templates/company/detail.html:85 order/views.py:509 -#: part/templates/part/category.html:166 +#: part/templates/part/category.html:173 msgid "Order Parts" msgstr "" @@ -1306,8 +1310,8 @@ msgstr "" #: order/templates/order/po_sidebar.html:9 #: order/templates/order/purchase_order_detail.html:60 #: order/templates/order/sales_order_detail.html:52 -#: order/templates/order/so_sidebar.html:9 part/templates/part/detail.html:300 -#: part/templates/part/part_sidebar.html:50 stock/templates/stock/item.html:95 +#: order/templates/order/so_sidebar.html:9 part/templates/part/detail.html:193 +#: part/templates/part/part_sidebar.html:48 stock/templates/stock/item.html:95 #: stock/templates/stock/stock_sidebar.html:19 msgid "Attachments" msgstr "" @@ -1323,7 +1327,7 @@ msgstr "" #: order/templates/order/purchase_order_detail.html:108 #: order/templates/order/sales_order_detail.html:72 #: order/templates/order/sales_order_detail.html:99 -#: part/templates/part/detail.html:227 stock/templates/stock/item.html:115 +#: part/templates/part/detail.html:120 stock/templates/stock/item.html:115 #: stock/templates/stock/item.html:205 msgid "Edit Notes" msgstr "" @@ -1336,7 +1340,7 @@ msgstr "" msgid "All untracked stock items have been allocated" msgstr "" -#: build/templates/build/index.html:18 part/templates/part/detail.html:407 +#: build/templates/build/index.html:18 part/templates/part/detail.html:300 msgid "New Build Order" msgstr "" @@ -1380,7 +1384,7 @@ msgstr "" msgid "Maximum output quantity is " msgstr "" -#: build/views.py:122 stock/serializers.py:356 stock/views.py:1290 +#: build/views.py:122 stock/serializers.py:361 stock/views.py:1290 msgid "Serial numbers already exist" msgstr "" @@ -1675,7 +1679,7 @@ msgid "Parts are trackable by default" msgstr "" #: common/models.py:745 part/models.py:920 -#: part/templates/part/part_base.html:144 +#: part/templates/part/part_base.html:147 #: templates/js/translated/table_filters.js:42 msgid "Virtual" msgstr "" @@ -2142,7 +2146,7 @@ msgstr "" #: common/models.py:1233 company/serializers.py:264 #: company/templates/company/supplier_part.html:256 -#: templates/js/translated/part.js:1620 +#: templates/js/translated/part.js:852 templates/js/translated/part.js:1801 msgid "Price" msgstr "" @@ -2206,7 +2210,7 @@ msgstr "" msgid "Description of the company" msgstr "" -#: company/models.py:112 company/templates/company/company_base.html:70 +#: company/models.py:112 company/templates/company/company_base.html:97 #: templates/js/translated/company.js:349 msgid "Website" msgstr "" @@ -2215,7 +2219,7 @@ msgstr "" msgid "Company website URL" msgstr "" -#: company/models.py:117 company/templates/company/company_base.html:88 +#: company/models.py:117 company/templates/company/company_base.html:115 msgid "Address" msgstr "" @@ -2231,7 +2235,7 @@ msgstr "" msgid "Contact phone number" msgstr "" -#: company/models.py:125 company/templates/company/company_base.html:102 +#: company/models.py:125 company/templates/company/company_base.html:129 #: templates/InvenTree/settings/user.html:47 msgid "Email" msgstr "" @@ -2240,7 +2244,7 @@ msgstr "" msgid "Contact email address" msgstr "" -#: company/models.py:128 company/templates/company/company_base.html:109 +#: company/models.py:128 company/templates/company/company_base.html:136 msgid "Contact" msgstr "" @@ -2281,7 +2285,7 @@ msgid "Does this company manufacture parts?" msgstr "" #: company/models.py:152 company/serializers.py:270 -#: company/templates/company/company_base.html:76 stock/serializers.py:172 +#: company/templates/company/company_base.html:103 stock/serializers.py:177 msgid "Currency" msgstr "" @@ -2289,8 +2293,8 @@ msgstr "" msgid "Default currency used for this company" msgstr "" -#: company/models.py:320 company/models.py:535 stock/models.py:484 -#: stock/templates/stock/item_base.html:224 +#: company/models.py:320 company/models.py:535 stock/models.py:474 +#: stock/templates/stock/item_base.html:135 msgid "Base Part" msgstr "" @@ -2298,29 +2302,29 @@ msgstr "" msgid "Select part" msgstr "" -#: company/models.py:335 company/templates/company/company_base.html:116 -#: company/templates/company/manufacturer_part.html:93 -#: company/templates/company/supplier_part.html:104 -#: stock/templates/stock/item_base.html:353 +#: company/models.py:335 company/templates/company/company_base.html:73 +#: company/templates/company/manufacturer_part.html:91 +#: company/templates/company/supplier_part.html:97 +#: stock/templates/stock/item_base.html:381 #: templates/js/translated/company.js:333 #: templates/js/translated/company.js:514 -#: templates/js/translated/company.js:797 templates/js/translated/part.js:229 +#: templates/js/translated/company.js:797 templates/js/translated/part.js:232 msgid "Manufacturer" msgstr "" -#: company/models.py:336 templates/js/translated/part.js:230 +#: company/models.py:336 templates/js/translated/part.js:233 msgid "Select manufacturer" msgstr "" -#: company/models.py:342 company/templates/company/manufacturer_part.html:97 -#: company/templates/company/supplier_part.html:112 +#: company/models.py:342 company/templates/company/manufacturer_part.html:96 +#: company/templates/company/supplier_part.html:105 #: templates/js/translated/company.js:530 -#: templates/js/translated/company.js:815 templates/js/translated/order.js:874 -#: templates/js/translated/part.js:240 +#: templates/js/translated/company.js:815 templates/js/translated/order.js:873 +#: templates/js/translated/part.js:243 templates/js/translated/part.js:832 msgid "MPN" msgstr "" -#: company/models.py:343 templates/js/translated/part.js:241 +#: company/models.py:343 templates/js/translated/part.js:244 msgid "Manufacturer Part Number" msgstr "" @@ -2335,7 +2339,7 @@ msgstr "" #: company/models.py:409 company/models.py:558 #: company/templates/company/manufacturer_part.html:6 #: company/templates/company/manufacturer_part.html:23 -#: stock/templates/stock/item_base.html:363 +#: stock/templates/stock/item_base.html:391 msgid "Manufacturer Part" msgstr "" @@ -2345,8 +2349,8 @@ msgstr "" #: company/models.py:422 #: report/templates/report/inventree_test_report_base.html:95 -#: stock/models.py:1867 templates/js/translated/company.js:644 -#: templates/js/translated/part.js:645 templates/js/translated/stock.js:878 +#: stock/models.py:1857 templates/js/translated/company.js:644 +#: templates/js/translated/part.js:652 templates/js/translated/stock.js:960 msgid "Value" msgstr "" @@ -2355,9 +2359,9 @@ msgid "Parameter value" msgstr "" #: company/models.py:429 part/models.py:882 part/models.py:2397 -#: part/templates/part/detail.html:59 +#: part/templates/part/part_base.html:288 #: templates/InvenTree/settings/settings.html:264 -#: templates/js/translated/company.js:650 templates/js/translated/part.js:651 +#: templates/js/translated/company.js:650 templates/js/translated/part.js:658 msgid "Units" msgstr "" @@ -2369,28 +2373,28 @@ msgstr "" msgid "Linked manufacturer part must reference the same base part" msgstr "" -#: company/models.py:545 company/templates/company/company_base.html:121 -#: company/templates/company/supplier_part.html:94 order/models.py:263 -#: order/templates/order/order_base.html:108 +#: company/models.py:545 company/templates/company/company_base.html:78 +#: company/templates/company/supplier_part.html:87 order/models.py:263 +#: order/templates/order/order_base.html:112 #: order/templates/order/order_wizard/select_pos.html:30 part/bom.py:219 -#: part/bom.py:247 stock/templates/stock/item_base.html:370 +#: part/bom.py:247 stock/templates/stock/item_base.html:398 #: templates/js/translated/company.js:337 -#: templates/js/translated/company.js:771 templates/js/translated/order.js:660 -#: templates/js/translated/part.js:210 +#: templates/js/translated/company.js:771 templates/js/translated/order.js:667 +#: templates/js/translated/part.js:213 templates/js/translated/part.js:800 msgid "Supplier" msgstr "" -#: company/models.py:546 templates/js/translated/part.js:211 +#: company/models.py:546 templates/js/translated/part.js:214 msgid "Select supplier" msgstr "" -#: company/models.py:551 company/templates/company/supplier_part.html:98 -#: part/bom.py:220 part/bom.py:248 templates/js/translated/order.js:861 -#: templates/js/translated/part.js:221 +#: company/models.py:551 company/templates/company/supplier_part.html:91 +#: part/bom.py:220 part/bom.py:248 templates/js/translated/order.js:860 +#: templates/js/translated/part.js:224 templates/js/translated/part.js:818 msgid "SKU" msgstr "" -#: company/models.py:552 templates/js/translated/part.js:222 +#: company/models.py:552 templates/js/translated/part.js:225 msgid "Supplier stock keeping unit" msgstr "" @@ -2406,7 +2410,7 @@ msgstr "" msgid "Supplier part description" msgstr "" -#: company/models.py:576 company/templates/company/supplier_part.html:126 +#: company/models.py:576 company/templates/company/supplier_part.html:119 #: part/models.py:2588 report/templates/report/inventree_po_report.html:93 #: report/templates/report/inventree_so_report.html:93 msgid "Note" @@ -2420,9 +2424,9 @@ msgstr "" msgid "Minimum charge (e.g. stocking fee)" msgstr "" -#: company/models.py:582 company/templates/company/supplier_part.html:119 -#: stock/models.py:507 stock/templates/stock/item_base.html:311 -#: templates/js/translated/company.js:847 templates/js/translated/stock.js:1366 +#: company/models.py:582 company/templates/company/supplier_part.html:112 +#: stock/models.py:497 stock/templates/stock/item_base.html:339 +#: templates/js/translated/company.js:847 templates/js/translated/stock.js:1448 msgid "Packaging" msgstr "" @@ -2457,43 +2461,56 @@ msgstr "" msgid "Create Purchase Order" msgstr "" -#: company/templates/company/company_base.html:27 +#: company/templates/company/company_base.html:26 +msgid "Company actions" +msgstr "" + +#: company/templates/company/company_base.html:31 msgid "Edit company information" msgstr "" #: company/templates/company/company_base.html:32 -#: company/templates/company/company_base.html:148 +#: templates/js/translated/company.js:265 +msgid "Edit Company" +msgstr "" + +#: company/templates/company/company_base.html:36 +msgid "Delete company" +msgstr "" + +#: company/templates/company/company_base.html:37 +#: company/templates/company/company_base.html:159 msgid "Delete Company" msgstr "" -#: company/templates/company/company_base.html:48 +#: company/templates/company/company_base.html:53 #: part/templates/part/part_thumb.html:12 msgid "Upload new image" msgstr "" -#: company/templates/company/company_base.html:51 +#: company/templates/company/company_base.html:56 #: part/templates/part/part_thumb.html:14 msgid "Download image from URL" msgstr "" -#: company/templates/company/company_base.html:81 -msgid "Uses default currency" -msgstr "" - -#: company/templates/company/company_base.html:95 -msgid "Phone" -msgstr "" - -#: company/templates/company/company_base.html:126 order/models.py:567 -#: order/templates/order/sales_order_base.html:114 stock/models.py:525 -#: stock/models.py:526 stock/templates/stock/item_base.html:263 -#: templates/js/translated/company.js:329 templates/js/translated/order.js:1073 -#: templates/js/translated/stock.js:2002 +#: company/templates/company/company_base.html:83 order/models.py:567 +#: order/templates/order/sales_order_base.html:115 stock/models.py:515 +#: stock/models.py:516 stock/templates/stock/item_base.html:291 +#: templates/js/translated/company.js:329 templates/js/translated/order.js:1072 +#: templates/js/translated/stock.js:2084 msgid "Customer" msgstr "" -#: company/templates/company/company_base.html:194 -#: part/templates/part/part_base.html:342 +#: company/templates/company/company_base.html:108 +msgid "Uses default currency" +msgstr "" + +#: company/templates/company/company_base.html:122 +msgid "Phone" +msgstr "" + +#: company/templates/company/company_base.html:205 +#: part/templates/part/part_base.html:471 msgid "Upload Image" msgstr "" @@ -2509,23 +2526,23 @@ msgid "Create new supplier part" msgstr "" #: company/templates/company/detail.html:20 -#: company/templates/company/manufacturer_part.html:112 -#: part/templates/part/detail.html:440 +#: company/templates/company/manufacturer_part.html:118 +#: part/templates/part/detail.html:333 msgid "New Supplier Part" msgstr "" #: company/templates/company/detail.html:32 #: company/templates/company/detail.html:79 -#: company/templates/company/manufacturer_part.html:121 -#: company/templates/company/manufacturer_part.html:150 -#: part/templates/part/category.html:160 part/templates/part/detail.html:449 -#: part/templates/part/detail.html:477 +#: company/templates/company/manufacturer_part.html:127 +#: company/templates/company/manufacturer_part.html:156 +#: part/templates/part/category.html:167 part/templates/part/detail.html:342 +#: part/templates/part/detail.html:370 msgid "Options" msgstr "" #: company/templates/company/detail.html:37 #: company/templates/company/detail.html:84 -#: part/templates/part/category.html:166 +#: part/templates/part/category.html:173 msgid "Order parts" msgstr "" @@ -2547,7 +2564,7 @@ msgstr "" msgid "Create new manufacturer part" msgstr "" -#: company/templates/company/detail.html:67 part/templates/part/detail.html:467 +#: company/templates/company/detail.html:67 part/templates/part/detail.html:360 msgid "New Manufacturer Part" msgstr "" @@ -2561,7 +2578,7 @@ msgstr "" #: order/templates/order/order_base.html:13 #: order/templates/order/purchase_orders.html:8 #: order/templates/order/purchase_orders.html:12 -#: part/templates/part/detail.html:171 part/templates/part/part_sidebar.html:35 +#: part/templates/part/detail.html:64 part/templates/part/part_sidebar.html:33 #: templates/InvenTree/index.html:252 templates/InvenTree/search.html:203 #: templates/InvenTree/settings/sidebar.html:44 templates/navbar.html:45 #: users/models.py:45 @@ -2583,7 +2600,7 @@ msgstr "" #: order/templates/order/sales_order_base.html:13 #: order/templates/order/sales_orders.html:8 #: order/templates/order/sales_orders.html:15 -#: part/templates/part/detail.html:194 part/templates/part/part_sidebar.html:39 +#: part/templates/part/detail.html:87 part/templates/part/part_sidebar.html:37 #: templates/InvenTree/index.html:283 templates/InvenTree/search.html:223 #: templates/InvenTree/settings/sidebar.html:46 templates/navbar.html:56 #: users/models.py:46 @@ -2610,14 +2627,14 @@ msgid "Company Notes" msgstr "" #: company/templates/company/detail.html:383 -#: company/templates/company/manufacturer_part.html:209 -#: part/templates/part/detail.html:520 +#: company/templates/company/manufacturer_part.html:215 +#: part/templates/part/detail.html:413 msgid "Delete Supplier Parts?" msgstr "" #: company/templates/company/detail.html:384 -#: company/templates/company/manufacturer_part.html:210 -#: part/templates/part/detail.html:521 +#: company/templates/company/manufacturer_part.html:216 +#: part/templates/part/detail.html:414 msgid "All selected supplier parts will be deleted" msgstr "" @@ -2634,7 +2651,7 @@ msgstr "" #: company/templates/company/manufacturer_part.html:35 #: company/templates/company/supplier_part.html:34 #: company/templates/company/supplier_part.html:159 -#: part/templates/part/detail.html:174 part/templates/part/part_base.html:76 +#: part/templates/part/detail.html:67 part/templates/part/part_base.html:76 msgid "Order part" msgstr "" @@ -2648,60 +2665,60 @@ msgstr "" msgid "Delete manufacturer part" msgstr "" -#: company/templates/company/manufacturer_part.html:70 -#: company/templates/company/supplier_part.html:71 +#: company/templates/company/manufacturer_part.html:66 +#: company/templates/company/supplier_part.html:63 msgid "Internal Part" msgstr "" -#: company/templates/company/manufacturer_part.html:108 +#: company/templates/company/manufacturer_part.html:114 #: company/templates/company/supplier_part.html:15 company/views.py:49 -#: part/templates/part/part_sidebar.html:33 part/templates/part/prices.html:163 +#: part/templates/part/part_sidebar.html:31 part/templates/part/prices.html:163 #: templates/InvenTree/search.html:194 templates/navbar.html:43 msgid "Suppliers" msgstr "" -#: company/templates/company/manufacturer_part.html:123 -#: part/templates/part/detail.html:451 +#: company/templates/company/manufacturer_part.html:129 +#: part/templates/part/detail.html:344 msgid "Delete supplier parts" msgstr "" -#: company/templates/company/manufacturer_part.html:123 -#: company/templates/company/manufacturer_part.html:152 -#: company/templates/company/manufacturer_part.html:248 -#: part/templates/part/detail.html:451 part/templates/part/detail.html:479 +#: company/templates/company/manufacturer_part.html:129 +#: company/templates/company/manufacturer_part.html:158 +#: company/templates/company/manufacturer_part.html:254 +#: part/templates/part/detail.html:344 part/templates/part/detail.html:372 #: templates/js/translated/company.js:425 templates/js/translated/helpers.js:31 #: users/models.py:204 msgid "Delete" msgstr "" -#: company/templates/company/manufacturer_part.html:137 +#: company/templates/company/manufacturer_part.html:143 #: company/templates/company/manufacturer_part_sidebar.html:5 #: part/templates/part/category_sidebar.html:17 -#: part/templates/part/detail.html:277 part/templates/part/part_sidebar.html:10 +#: part/templates/part/detail.html:170 part/templates/part/part_sidebar.html:8 msgid "Parameters" msgstr "" -#: company/templates/company/manufacturer_part.html:141 -#: part/templates/part/detail.html:282 +#: company/templates/company/manufacturer_part.html:147 +#: part/templates/part/detail.html:175 #: templates/InvenTree/settings/category.html:12 #: templates/InvenTree/settings/part.html:65 msgid "New Parameter" msgstr "" -#: company/templates/company/manufacturer_part.html:152 +#: company/templates/company/manufacturer_part.html:158 msgid "Delete parameters" msgstr "" -#: company/templates/company/manufacturer_part.html:185 -#: part/templates/part/detail.html:976 +#: company/templates/company/manufacturer_part.html:191 +#: part/templates/part/detail.html:867 msgid "Add Parameter" msgstr "" -#: company/templates/company/manufacturer_part.html:233 +#: company/templates/company/manufacturer_part.html:239 msgid "Selected parameters will be deleted" msgstr "" -#: company/templates/company/manufacturer_part.html:245 +#: company/templates/company/manufacturer_part.html:251 msgid "Delete Parameters" msgstr "" @@ -2722,9 +2739,9 @@ msgid "Assigned Stock Items" msgstr "" #: company/templates/company/supplier_part.html:7 -#: company/templates/company/supplier_part.html:24 stock/models.py:492 -#: stock/templates/stock/item_base.html:375 -#: templates/js/translated/company.js:787 templates/js/translated/stock.js:1323 +#: company/templates/company/supplier_part.html:24 stock/models.py:482 +#: stock/templates/stock/item_base.html:403 +#: templates/js/translated/company.js:787 templates/js/translated/stock.js:1405 msgid "Supplier Part" msgstr "" @@ -2744,13 +2761,13 @@ msgid "Supplier Part Stock" msgstr "" #: company/templates/company/supplier_part.html:141 -#: part/templates/part/detail.html:127 stock/templates/stock/location.html:147 +#: part/templates/part/detail.html:20 stock/templates/stock/location.html:162 msgid "Create new stock item" msgstr "" #: company/templates/company/supplier_part.html:142 -#: part/templates/part/detail.html:128 stock/templates/stock/location.html:148 -#: templates/js/translated/stock.js:354 +#: part/templates/part/detail.html:21 stock/templates/stock/location.html:163 +#: templates/js/translated/stock.js:355 msgid "New Stock Item" msgstr "" @@ -2760,7 +2777,7 @@ msgid "Supplier Part Orders" msgstr "" #: company/templates/company/supplier_part.html:160 -#: part/templates/part/detail.html:175 +#: part/templates/part/detail.html:68 msgid "Order Part" msgstr "" @@ -2796,15 +2813,15 @@ msgid "Delete price break" msgstr "" #: company/templates/company/supplier_part_navbar.html:15 -#: part/templates/part/part_sidebar.html:16 +#: part/templates/part/part_sidebar.html:14 #: stock/templates/stock/loc_link.html:3 stock/templates/stock/location.html:14 #: stock/templates/stock/stock_app_base.html:10 #: templates/InvenTree/search.html:156 #: templates/InvenTree/settings/sidebar.html:40 -#: templates/js/translated/bom.js:216 templates/js/translated/part.js:427 -#: templates/js/translated/part.js:562 templates/js/translated/part.js:878 -#: templates/js/translated/part.js:1039 templates/js/translated/stock.js:509 -#: templates/js/translated/stock.js:1162 templates/navbar.html:26 +#: templates/js/translated/bom.js:216 templates/js/translated/part.js:434 +#: templates/js/translated/part.js:569 templates/js/translated/part.js:1059 +#: templates/js/translated/part.js:1220 templates/js/translated/stock.js:591 +#: templates/js/translated/stock.js:1244 templates/navbar.html:26 msgid "Stock" msgstr "" @@ -2818,16 +2835,16 @@ msgid "Supplier Part Pricing" msgstr "" #: company/templates/company/supplier_part_navbar.html:29 -#: part/templates/part/part_sidebar.html:30 +#: part/templates/part/part_sidebar.html:28 msgid "Pricing" msgstr "" #: company/templates/company/supplier_part_sidebar.html:5 -#: stock/templates/stock/location.html:118 -#: stock/templates/stock/location.html:132 -#: stock/templates/stock/location.html:144 +#: stock/templates/stock/location.html:133 +#: stock/templates/stock/location.html:147 +#: stock/templates/stock/location.html:159 #: stock/templates/stock/location_sidebar.html:7 -#: templates/InvenTree/search.html:158 templates/js/translated/stock.js:1901 +#: templates/InvenTree/search.html:158 templates/js/translated/stock.js:1983 #: templates/stats.html:93 templates/stats.html:102 users/models.py:43 msgid "Stock Items" msgstr "" @@ -2947,7 +2964,7 @@ msgstr "" msgid "Place order" msgstr "" -#: order/forms.py:37 order/templates/order/order_base.html:59 +#: order/forms.py:37 order/templates/order/order_base.html:60 msgid "Mark order as complete" msgstr "" @@ -3000,8 +3017,8 @@ msgstr "" msgid "Company from which the items are being ordered" msgstr "" -#: order/models.py:267 order/templates/order/order_base.html:114 -#: templates/js/translated/order.js:669 +#: order/models.py:267 order/templates/order/order_base.html:118 +#: templates/js/translated/order.js:676 msgid "Supplier Reference" msgstr "" @@ -3061,7 +3078,7 @@ msgstr "" msgid "Target date for order completion. Order will be overdue after this date." msgstr "" -#: order/models.py:582 templates/js/translated/order.js:1114 +#: order/models.py:582 templates/js/translated/order.js:1113 msgid "Shipment Date" msgstr "" @@ -3086,16 +3103,16 @@ msgid "Line item notes" msgstr "" #: order/models.py:768 order/models.py:856 -#: templates/js/translated/order.js:1166 +#: templates/js/translated/order.js:1165 msgid "Order" msgstr "" #: order/models.py:769 order/templates/order/order_base.html:9 #: order/templates/order/order_base.html:18 #: report/templates/report/inventree_po_report.html:77 -#: stock/templates/stock/item_base.html:325 -#: templates/js/translated/order.js:638 templates/js/translated/stock.js:1300 -#: templates/js/translated/stock.js:1983 +#: stock/templates/stock/item_base.html:353 +#: templates/js/translated/order.js:638 templates/js/translated/part.js:775 +#: templates/js/translated/stock.js:1382 templates/js/translated/stock.js:2065 msgid "Purchase Order" msgstr "" @@ -3103,9 +3120,10 @@ msgstr "" msgid "Supplier part" msgstr "" -#: order/models.py:797 order/templates/order/order_base.html:147 -#: order/templates/order/sales_order_base.html:154 -#: templates/js/translated/order.js:429 templates/js/translated/order.js:954 +#: order/models.py:797 order/templates/order/order_base.html:151 +#: order/templates/order/sales_order_base.html:155 +#: templates/js/translated/order.js:429 templates/js/translated/order.js:953 +#: templates/js/translated/part.js:847 templates/js/translated/part.js:873 msgid "Received" msgstr "" @@ -3113,9 +3131,9 @@ msgstr "" msgid "Number of items received" msgstr "" -#: order/models.py:805 part/templates/part/prices.html:176 stock/models.py:619 -#: stock/serializers.py:163 stock/templates/stock/item_base.html:332 -#: templates/js/translated/stock.js:1354 +#: order/models.py:805 part/templates/part/prices.html:176 stock/models.py:609 +#: stock/serializers.py:168 stock/templates/stock/item_base.html:360 +#: templates/js/translated/stock.js:1436 msgid "Purchase Price" msgstr "" @@ -3176,47 +3194,47 @@ msgstr "" msgid "Enter stock allocation quantity" msgstr "" -#: order/serializers.py:169 +#: order/serializers.py:175 msgid "Purchase price currency" msgstr "" -#: order/serializers.py:204 +#: order/serializers.py:213 msgid "Line Item" msgstr "" -#: order/serializers.py:210 +#: order/serializers.py:219 msgid "Line item does not match purchase order" msgstr "" -#: order/serializers.py:220 order/serializers.py:288 +#: order/serializers.py:229 order/serializers.py:297 msgid "Select destination location for received items" msgstr "" -#: order/serializers.py:244 +#: order/serializers.py:253 msgid "Barcode Hash" msgstr "" -#: order/serializers.py:245 +#: order/serializers.py:254 msgid "Unique identifier field" msgstr "" -#: order/serializers.py:262 +#: order/serializers.py:271 msgid "Barcode is already in use" msgstr "" -#: order/serializers.py:300 +#: order/serializers.py:309 msgid "Line items must be provided" msgstr "" -#: order/serializers.py:317 +#: order/serializers.py:326 msgid "Destination location must be specified" msgstr "" -#: order/serializers.py:328 +#: order/serializers.py:337 msgid "Supplied barcode values must be unique" msgstr "" -#: order/serializers.py:569 +#: order/serializers.py:578 msgid "Sale price currency" msgstr "" @@ -3248,22 +3266,36 @@ msgstr "" msgid "Receive items" msgstr "" -#: order/templates/order/order_base.html:93 -#: order/templates/order/sales_order_base.html:98 +#: order/templates/order/order_base.html:58 +#: order/templates/order/purchase_order_detail.html:31 +msgid "Receive Items" +msgstr "" + +#: order/templates/order/order_base.html:62 order/views.py:185 +msgid "Complete Order" +msgstr "" + +#: order/templates/order/order_base.html:84 +#: order/templates/order/sales_order_base.html:79 msgid "Order Reference" msgstr "" -#: order/templates/order/order_base.html:98 -#: order/templates/order/sales_order_base.html:103 +#: order/templates/order/order_base.html:89 +#: order/templates/order/sales_order_base.html:84 +msgid "Order Description" +msgstr "" + +#: order/templates/order/order_base.html:94 +#: order/templates/order/sales_order_base.html:89 msgid "Order Status" msgstr "" -#: order/templates/order/order_base.html:133 +#: order/templates/order/order_base.html:137 #: report/templates/report/inventree_build_order_base.html:122 msgid "Issued" msgstr "" -#: order/templates/order/order_base.html:203 +#: order/templates/order/order_base.html:207 msgid "Edit Purchase Order" msgstr "" @@ -3421,7 +3453,7 @@ msgid "Select existing purchase orders, or create new orders." msgstr "" #: order/templates/order/order_wizard/select_pos.html:31 -#: templates/js/translated/order.js:695 templates/js/translated/order.js:1119 +#: templates/js/translated/order.js:694 templates/js/translated/order.js:1118 msgid "Items" msgstr "" @@ -3465,10 +3497,6 @@ msgstr "" msgid "Receive selected items" msgstr "" -#: order/templates/order/purchase_order_detail.html:31 -msgid "Receive Items" -msgstr "" - #: order/templates/order/purchase_order_detail.html:50 msgid "Received Items" msgstr "" @@ -3496,16 +3524,16 @@ msgstr "" msgid "Ship Order" msgstr "" -#: order/templates/order/sales_order_base.html:86 +#: order/templates/order/sales_order_base.html:102 msgid "This Sales Order has not been fully allocated" msgstr "" -#: order/templates/order/sales_order_base.html:121 -#: templates/js/translated/order.js:1086 +#: order/templates/order/sales_order_base.html:122 +#: templates/js/translated/order.js:1085 msgid "Customer Reference" msgstr "" -#: order/templates/order/sales_order_base.html:194 +#: order/templates/order/sales_order_base.html:195 msgid "Edit Sales Order" msgstr "" @@ -3576,10 +3604,6 @@ msgstr "" msgid "Purchase order issued" msgstr "" -#: order/views.py:185 -msgid "Complete Order" -msgstr "" - #: order/views.py:201 msgid "Confirm order completion" msgstr "" @@ -3672,11 +3696,11 @@ msgid "This field is required" msgstr "" #: part/bom.py:125 part/models.py:81 part/models.py:816 -#: part/templates/part/category.html:90 part/templates/part/detail.html:104 +#: part/templates/part/category.html:104 part/templates/part/part_base.html:338 msgid "Default Location" msgstr "" -#: part/bom.py:126 part/templates/part/part_base.html:167 +#: part/bom.py:126 part/templates/part/part_base.html:185 msgid "Available Stock" msgstr "" @@ -3793,19 +3817,19 @@ msgstr "" msgid "Part Category" msgstr "" -#: part/models.py:96 part/templates/part/category.html:117 +#: part/models.py:96 part/templates/part/category.html:124 #: templates/InvenTree/search.html:101 templates/stats.html:84 #: users/models.py:40 msgid "Part Categories" msgstr "" #: part/models.py:358 part/templates/part/cat_link.html:3 -#: part/templates/part/category.html:13 part/templates/part/category.html:122 -#: part/templates/part/category.html:142 +#: part/templates/part/category.html:13 part/templates/part/category.html:129 +#: part/templates/part/category.html:149 #: part/templates/part/category_sidebar.html:9 #: templates/InvenTree/index.html:85 templates/InvenTree/search.html:88 #: templates/InvenTree/settings/sidebar.html:36 -#: templates/js/translated/part.js:1416 templates/navbar.html:19 +#: templates/js/translated/part.js:1597 templates/navbar.html:19 #: templates/stats.html:80 templates/stats.html:89 users/models.py:41 msgid "Parts" msgstr "" @@ -3859,8 +3883,8 @@ msgstr "" msgid "Part description" msgstr "" -#: part/models.py:770 part/templates/part/category.html:97 -#: part/templates/part/detail.html:73 +#: part/models.py:770 part/templates/part/category.html:82 +#: part/templates/part/part_base.html:302 msgid "Keywords" msgstr "" @@ -3869,9 +3893,10 @@ msgid "Part keywords to improve visibility in search results" msgstr "" #: part/models.py:778 part/models.py:2223 part/models.py:2472 -#: part/templates/part/detail.html:36 part/templates/part/set_category.html:15 +#: part/templates/part/part_base.html:265 +#: part/templates/part/set_category.html:15 #: templates/InvenTree/settings/settings.html:163 -#: templates/js/translated/part.js:1021 +#: templates/js/translated/part.js:1202 msgid "Category" msgstr "" @@ -3879,9 +3904,9 @@ msgstr "" msgid "Part category" msgstr "" -#: part/models.py:784 part/templates/part/detail.html:45 -#: templates/js/translated/part.js:550 templates/js/translated/part.js:974 -#: templates/js/translated/stock.js:1134 +#: part/models.py:784 part/templates/part/part_base.html:274 +#: templates/js/translated/part.js:557 templates/js/translated/part.js:1155 +#: templates/js/translated/stock.js:1216 msgid "IPN" msgstr "" @@ -3893,8 +3918,8 @@ msgstr "" msgid "Part revision or version number" msgstr "" -#: part/models.py:792 part/templates/part/detail.html:52 report/models.py:200 -#: templates/js/translated/part.js:554 +#: part/models.py:792 part/templates/part/part_base.html:281 +#: report/models.py:200 templates/js/translated/part.js:561 msgid "Revision" msgstr "" @@ -3902,7 +3927,7 @@ msgstr "" msgid "Where is this item normally stored?" msgstr "" -#: part/models.py:861 part/templates/part/detail.html:113 +#: part/models.py:861 part/templates/part/part_base.html:347 msgid "Default Supplier" msgstr "" @@ -3918,7 +3943,7 @@ msgstr "" msgid "Expiry time (in days) for stock items of this part" msgstr "" -#: part/models.py:875 part/templates/part/part_base.html:178 +#: part/models.py:875 part/templates/part/part_base.html:196 msgid "Minimum Stock" msgstr "" @@ -4001,8 +4026,8 @@ msgstr "" msgid "Test with this name already exists for this part" msgstr "" -#: part/models.py:2310 templates/js/translated/part.js:1467 -#: templates/js/translated/stock.js:858 +#: part/models.py:2310 templates/js/translated/part.js:1648 +#: templates/js/translated/stock.js:940 msgid "Test Name" msgstr "" @@ -4018,7 +4043,7 @@ msgstr "" msgid "Enter description for this test" msgstr "" -#: part/models.py:2322 templates/js/translated/part.js:1476 +#: part/models.py:2322 templates/js/translated/part.js:1657 #: templates/js/translated/table_filters.js:276 msgid "Required" msgstr "" @@ -4027,7 +4052,7 @@ msgstr "" msgid "Is this test required to pass?" msgstr "" -#: part/models.py:2328 templates/js/translated/part.js:1484 +#: part/models.py:2328 templates/js/translated/part.js:1665 msgid "Requires Value" msgstr "" @@ -4035,7 +4060,7 @@ msgstr "" msgid "Does this test require a value when adding a test result?" msgstr "" -#: part/models.py:2334 templates/js/translated/part.js:1491 +#: part/models.py:2334 templates/js/translated/part.js:1672 msgid "Requires Attachment" msgstr "" @@ -4150,7 +4175,7 @@ msgstr "" msgid "Stock items for variant parts can be used for this BOM item" msgstr "" -#: part/models.py:2686 stock/models.py:371 +#: part/models.py:2686 stock/models.py:361 msgid "Quantity must be integer value for trackable parts" msgstr "" @@ -4213,7 +4238,7 @@ msgstr "" msgid "The BOM for %(part)s has not been validated." msgstr "" -#: part/templates/part/bom.html:30 part/templates/part/detail.html:357 +#: part/templates/part/bom.html:30 part/templates/part/detail.html:250 msgid "BOM actions" msgstr "" @@ -4298,68 +4323,64 @@ msgstr "" msgid "New Category" msgstr "" -#: part/templates/part/category.html:67 -msgid "Top level part category" -msgstr "" - -#: part/templates/part/category.html:79 +#: part/templates/part/category.html:76 part/templates/part/category.html:89 msgid "Category Path" msgstr "" -#: part/templates/part/category.html:84 -msgid "Category Description" +#: part/templates/part/category.html:90 +msgid "Top level part category" msgstr "" -#: part/templates/part/category.html:103 part/templates/part/category.html:194 +#: part/templates/part/category.html:110 part/templates/part/category.html:201 #: part/templates/part/category_sidebar.html:7 msgid "Subcategories" msgstr "" -#: part/templates/part/category.html:108 +#: part/templates/part/category.html:115 msgid "Parts (Including subcategories)" msgstr "" -#: part/templates/part/category.html:145 +#: part/templates/part/category.html:152 msgid "Export Part Data" msgstr "" -#: part/templates/part/category.html:146 part/templates/part/category.html:170 +#: part/templates/part/category.html:153 part/templates/part/category.html:177 msgid "Export" msgstr "" -#: part/templates/part/category.html:149 +#: part/templates/part/category.html:156 msgid "Create new part" msgstr "" -#: part/templates/part/category.html:150 templates/js/translated/bom.js:40 +#: part/templates/part/category.html:157 templates/js/translated/bom.js:40 msgid "New Part" msgstr "" -#: part/templates/part/category.html:164 +#: part/templates/part/category.html:171 msgid "Set category" msgstr "" -#: part/templates/part/category.html:164 +#: part/templates/part/category.html:171 msgid "Set Category" msgstr "" -#: part/templates/part/category.html:168 +#: part/templates/part/category.html:175 msgid "Print Labels" msgstr "" -#: part/templates/part/category.html:170 +#: part/templates/part/category.html:177 msgid "Export Data" msgstr "" -#: part/templates/part/category.html:184 +#: part/templates/part/category.html:191 msgid "Part Parameters" msgstr "" -#: part/templates/part/category.html:261 +#: part/templates/part/category.html:268 msgid "Create Part Category" msgstr "" -#: part/templates/part/category.html:288 +#: part/templates/part/category.html:295 msgid "Create Part" msgstr "" @@ -4402,7 +4423,7 @@ msgstr "" msgid "Import Parts" msgstr "" -#: part/templates/part/copy_part.html:9 templates/js/translated/part.js:366 +#: part/templates/part/copy_part.html:9 templates/js/translated/part.js:373 msgid "Duplicate Part" msgstr "" @@ -4426,167 +4447,155 @@ msgstr "" msgid "%(full_name)s - %(desc)s (%(match_per)s%% match)" msgstr "" -#: part/templates/part/detail.html:16 -msgid "Part Details" -msgstr "" - -#: part/templates/part/detail.html:66 -msgid "Minimum stock level" -msgstr "" - -#: part/templates/part/detail.html:97 -msgid "Latest Serial Number" -msgstr "" - -#: part/templates/part/detail.html:124 +#: part/templates/part/detail.html:17 msgid "Part Stock" msgstr "" -#: part/templates/part/detail.html:136 +#: part/templates/part/detail.html:29 #, python-format msgid "Showing stock for all variants of %(full_name)s" msgstr "" -#: part/templates/part/detail.html:146 +#: part/templates/part/detail.html:39 msgid "Part Test Templates" msgstr "" -#: part/templates/part/detail.html:151 +#: part/templates/part/detail.html:44 msgid "Add Test Template" msgstr "" -#: part/templates/part/detail.html:208 +#: part/templates/part/detail.html:101 msgid "Sales Order Allocations" msgstr "" -#: part/templates/part/detail.html:249 +#: part/templates/part/detail.html:142 msgid "Part Variants" msgstr "" -#: part/templates/part/detail.html:253 +#: part/templates/part/detail.html:146 msgid "Create new variant" msgstr "" -#: part/templates/part/detail.html:254 +#: part/templates/part/detail.html:147 msgid "New Variant" msgstr "" -#: part/templates/part/detail.html:281 +#: part/templates/part/detail.html:174 msgid "Add new parameter" msgstr "" -#: part/templates/part/detail.html:315 part/templates/part/part_sidebar.html:47 +#: part/templates/part/detail.html:208 part/templates/part/part_sidebar.html:45 msgid "Related Parts" msgstr "" -#: part/templates/part/detail.html:319 part/templates/part/detail.html:320 +#: part/templates/part/detail.html:212 part/templates/part/detail.html:213 msgid "Add Related" msgstr "" -#: part/templates/part/detail.html:340 part/templates/part/part_sidebar.html:19 +#: part/templates/part/detail.html:233 part/templates/part/part_sidebar.html:17 msgid "Bill of Materials" msgstr "" -#: part/templates/part/detail.html:345 +#: part/templates/part/detail.html:238 msgid "Export actions" msgstr "" -#: part/templates/part/detail.html:349 +#: part/templates/part/detail.html:242 msgid "Export BOM" msgstr "" -#: part/templates/part/detail.html:351 +#: part/templates/part/detail.html:244 msgid "Print BOM Report" msgstr "" -#: part/templates/part/detail.html:361 +#: part/templates/part/detail.html:254 msgid "Upload BOM" msgstr "" -#: part/templates/part/detail.html:363 templates/js/translated/part.js:267 +#: part/templates/part/detail.html:256 templates/js/translated/part.js:270 msgid "Copy BOM" msgstr "" -#: part/templates/part/detail.html:365 part/views.py:755 +#: part/templates/part/detail.html:258 part/views.py:755 msgid "Validate BOM" msgstr "" -#: part/templates/part/detail.html:370 +#: part/templates/part/detail.html:263 msgid "New BOM Item" msgstr "" -#: part/templates/part/detail.html:371 +#: part/templates/part/detail.html:264 msgid "Add BOM Item" msgstr "" -#: part/templates/part/detail.html:384 +#: part/templates/part/detail.html:277 msgid "Assemblies" msgstr "" -#: part/templates/part/detail.html:401 +#: part/templates/part/detail.html:294 msgid "Part Builds" msgstr "" -#: part/templates/part/detail.html:426 +#: part/templates/part/detail.html:319 msgid "Build Order Allocations" msgstr "" -#: part/templates/part/detail.html:436 +#: part/templates/part/detail.html:329 msgid "Part Suppliers" msgstr "" -#: part/templates/part/detail.html:463 +#: part/templates/part/detail.html:356 msgid "Part Manufacturers" msgstr "" -#: part/templates/part/detail.html:479 +#: part/templates/part/detail.html:372 msgid "Delete manufacturer parts" msgstr "" -#: part/templates/part/detail.html:660 +#: part/templates/part/detail.html:553 msgid "Delete selected BOM items?" msgstr "" -#: part/templates/part/detail.html:661 +#: part/templates/part/detail.html:554 msgid "All selected BOM items will be deleted" msgstr "" -#: part/templates/part/detail.html:712 +#: part/templates/part/detail.html:605 msgid "Create BOM Item" msgstr "" -#: part/templates/part/detail.html:764 +#: part/templates/part/detail.html:657 msgid "Related Part" msgstr "" -#: part/templates/part/detail.html:772 +#: part/templates/part/detail.html:665 msgid "Add Related Part" msgstr "" -#: part/templates/part/detail.html:869 +#: part/templates/part/detail.html:760 msgid "Add Test Result Template" msgstr "" -#: part/templates/part/detail.html:926 +#: part/templates/part/detail.html:817 msgid "Edit Part Notes" msgstr "" -#: part/templates/part/detail.html:1039 +#: part/templates/part/detail.html:930 #, python-format msgid "Purchase Unit Price - %(currency)s" msgstr "" -#: part/templates/part/detail.html:1051 +#: part/templates/part/detail.html:942 #, python-format msgid "Unit Price-Cost Difference - %(currency)s" msgstr "" -#: part/templates/part/detail.html:1063 +#: part/templates/part/detail.html:954 #, python-format msgid "Supplier Unit Cost - %(currency)s" msgstr "" -#: part/templates/part/detail.html:1152 +#: part/templates/part/detail.html:1043 #, python-format msgid "Unit Price - %(currency)s" msgstr "" @@ -4668,86 +4677,108 @@ msgstr "" msgid "Delete part" msgstr "" -#: part/templates/part/part_base.html:109 +#: part/templates/part/part_base.html:112 msgid "Part is a template part (variants can be made from this part)" msgstr "" -#: part/templates/part/part_base.html:113 +#: part/templates/part/part_base.html:116 msgid "Part can be assembled from other parts" msgstr "" -#: part/templates/part/part_base.html:117 +#: part/templates/part/part_base.html:120 msgid "Part can be used in assemblies" msgstr "" -#: part/templates/part/part_base.html:121 +#: part/templates/part/part_base.html:124 msgid "Part stock is tracked by serial number" msgstr "" -#: part/templates/part/part_base.html:125 +#: part/templates/part/part_base.html:128 msgid "Part can be purchased from external suppliers" msgstr "" -#: part/templates/part/part_base.html:129 +#: part/templates/part/part_base.html:132 msgid "Part can be sold to customers" msgstr "" -#: part/templates/part/part_base.html:135 -#: part/templates/part/part_base.html:143 +#: part/templates/part/part_base.html:138 +#: part/templates/part/part_base.html:146 msgid "Part is virtual (not a physical part)" msgstr "" -#: part/templates/part/part_base.html:136 +#: part/templates/part/part_base.html:139 #: templates/js/translated/company.js:505 #: templates/js/translated/company.js:762 #: templates/js/translated/model_renderers.js:175 -#: templates/js/translated/part.js:465 templates/js/translated/part.js:542 +#: templates/js/translated/part.js:472 templates/js/translated/part.js:549 msgid "Inactive" msgstr "" -#: part/templates/part/part_base.html:155 +#: part/templates/part/part_base.html:156 +#: part/templates/part/part_base.html:579 +msgid "Show Part Details" +msgstr "" + +#: part/templates/part/part_base.html:173 #, python-format msgid "This part is a variant of %(link)s" msgstr "" -#: part/templates/part/part_base.html:172 templates/js/translated/order.js:1546 +#: part/templates/part/part_base.html:190 templates/js/translated/order.js:1545 #: templates/js/translated/table_filters.js:188 msgid "In Stock" msgstr "" -#: part/templates/part/part_base.html:185 templates/js/translated/part.js:1054 +#: part/templates/part/part_base.html:203 templates/js/translated/part.js:1235 msgid "On Order" msgstr "" -#: part/templates/part/part_base.html:192 templates/InvenTree/index.html:178 +#: part/templates/part/part_base.html:210 templates/InvenTree/index.html:178 msgid "Required for Build Orders" msgstr "" -#: part/templates/part/part_base.html:199 +#: part/templates/part/part_base.html:217 msgid "Required for Sales Orders" msgstr "" -#: part/templates/part/part_base.html:206 +#: part/templates/part/part_base.html:224 msgid "Allocated to Orders" msgstr "" -#: part/templates/part/part_base.html:221 templates/js/translated/bom.js:566 +#: part/templates/part/part_base.html:239 templates/js/translated/bom.js:566 msgid "Can Build" msgstr "" -#: part/templates/part/part_base.html:227 templates/js/translated/part.js:885 -#: templates/js/translated/part.js:1058 +#: part/templates/part/part_base.html:245 templates/js/translated/part.js:1066 +#: templates/js/translated/part.js:1239 msgid "Building" msgstr "" -#: part/templates/part/part_base.html:320 part/templates/part/prices.html:144 +#: part/templates/part/part_base.html:295 +msgid "Minimum stock level" +msgstr "" + +#: part/templates/part/part_base.html:324 +msgid "Latest Serial Number" +msgstr "" + +#: part/templates/part/part_base.html:328 +#: stock/templates/stock/item_base.html:159 +msgid "Search for serial number" +msgstr "" + +#: part/templates/part/part_base.html:449 part/templates/part/prices.html:144 msgid "Calculate" msgstr "" -#: part/templates/part/part_base.html:363 +#: part/templates/part/part_base.html:492 msgid "No matching images found" msgstr "" +#: part/templates/part/part_base.html:573 +msgid "Hide Part Details" +msgstr "" + #: part/templates/part/part_pricing.html:22 part/templates/part/prices.html:21 msgid "Supplier Pricing" msgstr "" @@ -4805,20 +4836,15 @@ msgstr "" msgid "No pricing information is available for this part." msgstr "" -#: part/templates/part/part_sidebar.html:8 -#: templates/js/translated/stock.js:1949 -msgid "Details" -msgstr "" - -#: part/templates/part/part_sidebar.html:13 +#: part/templates/part/part_sidebar.html:11 msgid "Variants" msgstr "" -#: part/templates/part/part_sidebar.html:27 +#: part/templates/part/part_sidebar.html:25 msgid "Used In" msgstr "" -#: part/templates/part/part_sidebar.html:43 +#: part/templates/part/part_sidebar.html:41 msgid "Test Templates" msgstr "" @@ -4934,8 +4960,8 @@ msgid "Set category for the following parts" msgstr "" #: part/templates/part/stock_count.html:7 templates/js/translated/bom.js:476 -#: templates/js/translated/part.js:429 templates/js/translated/part.js:875 -#: templates/js/translated/part.js:1062 +#: templates/js/translated/part.js:436 templates/js/translated/part.js:1056 +#: templates/js/translated/part.js:1243 msgid "No Stock" msgstr "" @@ -5037,7 +5063,7 @@ msgstr "" msgid "Delete Part Parameter Template" msgstr "" -#: part/views.py:1489 templates/js/translated/part.js:310 +#: part/views.py:1489 templates/js/translated/part.js:313 msgid "Edit Part Category" msgstr "" @@ -5171,11 +5197,12 @@ msgid "Stock Item Test Report" msgstr "" #: report/templates/report/inventree_test_report_base.html:79 -#: stock/models.py:530 stock/templates/stock/item_base.html:238 +#: stock/models.py:520 stock/templates/stock/item_base.html:149 #: templates/js/translated/build.js:233 templates/js/translated/build.js:637 #: templates/js/translated/build.js:1013 #: templates/js/translated/model_renderers.js:95 -#: templates/js/translated/order.js:1288 templates/js/translated/order.js:1377 +#: templates/js/translated/order.js:1287 templates/js/translated/order.js:1376 +#: templates/js/translated/stock.js:410 msgid "Serial Number" msgstr "" @@ -5184,17 +5211,17 @@ msgid "Test Results" msgstr "" #: report/templates/report/inventree_test_report_base.html:93 -#: stock/models.py:1855 +#: stock/models.py:1845 msgid "Test" msgstr "" #: report/templates/report/inventree_test_report_base.html:94 -#: stock/models.py:1861 +#: stock/models.py:1851 msgid "Result" msgstr "" #: report/templates/report/inventree_test_report_base.html:97 -#: templates/js/translated/order.js:685 templates/js/translated/stock.js:1917 +#: templates/js/translated/order.js:684 templates/js/translated/stock.js:1999 msgid "Date" msgstr "" @@ -5212,7 +5239,7 @@ msgid "Installed Items" msgstr "" #: report/templates/report/inventree_test_report_base.html:137 -#: templates/js/translated/stock.js:2177 +#: templates/js/translated/stock.js:2259 msgid "Serial" msgstr "" @@ -5220,9 +5247,9 @@ msgstr "" msgid "Quantity is required" msgstr "" -#: stock/forms.py:91 stock/forms.py:265 stock/models.py:587 -#: stock/templates/stock/item_base.html:382 -#: templates/js/translated/stock.js:1276 +#: stock/forms.py:91 stock/forms.py:265 stock/models.py:577 +#: stock/templates/stock/item_base.html:186 +#: templates/js/translated/stock.js:1358 msgid "Expiry Date" msgstr "" @@ -5270,241 +5297,241 @@ msgstr "" msgid "Confirm removal of installed stock items" msgstr "" -#: stock/models.py:60 stock/models.py:624 -#: stock/templates/stock/item_base.html:422 +#: stock/models.py:60 stock/models.py:614 +#: stock/templates/stock/item_base.html:417 msgid "Owner" msgstr "" -#: stock/models.py:61 stock/models.py:625 +#: stock/models.py:61 stock/models.py:615 msgid "Select Owner" msgstr "" -#: stock/models.py:352 +#: stock/models.py:342 msgid "StockItem with this serial number already exists" msgstr "" -#: stock/models.py:388 +#: stock/models.py:378 #, python-brace-format msgid "Part type ('{pf}') must be {pe}" msgstr "" -#: stock/models.py:398 stock/models.py:407 +#: stock/models.py:388 stock/models.py:397 msgid "Quantity must be 1 for item with a serial number" msgstr "" -#: stock/models.py:399 +#: stock/models.py:389 msgid "Serial number cannot be set if quantity greater than 1" msgstr "" -#: stock/models.py:421 +#: stock/models.py:411 msgid "Item cannot belong to itself" msgstr "" -#: stock/models.py:427 +#: stock/models.py:417 msgid "Item must have a build reference if is_building=True" msgstr "" -#: stock/models.py:434 +#: stock/models.py:424 msgid "Build reference does not point to the same part object" msgstr "" -#: stock/models.py:476 +#: stock/models.py:466 msgid "Parent Stock Item" msgstr "" -#: stock/models.py:485 +#: stock/models.py:475 msgid "Base part" msgstr "" -#: stock/models.py:493 +#: stock/models.py:483 msgid "Select a matching supplier part for this stock item" msgstr "" -#: stock/models.py:498 stock/templates/stock/location.html:12 +#: stock/models.py:488 stock/templates/stock/location.html:12 #: stock/templates/stock/stock_app_base.html:8 msgid "Stock Location" msgstr "" -#: stock/models.py:501 +#: stock/models.py:491 msgid "Where is this stock item located?" msgstr "" -#: stock/models.py:508 +#: stock/models.py:498 msgid "Packaging this stock item is stored in" msgstr "" -#: stock/models.py:513 stock/templates/stock/item_base.html:271 +#: stock/models.py:503 stock/templates/stock/item_base.html:299 msgid "Installed In" msgstr "" -#: stock/models.py:516 +#: stock/models.py:506 msgid "Is this item installed in another item?" msgstr "" -#: stock/models.py:532 +#: stock/models.py:522 msgid "Serial number for this item" msgstr "" -#: stock/models.py:546 +#: stock/models.py:536 msgid "Batch code for this stock item" msgstr "" -#: stock/models.py:550 +#: stock/models.py:540 msgid "Stock Quantity" msgstr "" -#: stock/models.py:559 +#: stock/models.py:549 msgid "Source Build" msgstr "" -#: stock/models.py:561 +#: stock/models.py:551 msgid "Build for this stock item" msgstr "" -#: stock/models.py:572 +#: stock/models.py:562 msgid "Source Purchase Order" msgstr "" -#: stock/models.py:575 +#: stock/models.py:565 msgid "Purchase order for this stock item" msgstr "" -#: stock/models.py:581 +#: stock/models.py:571 msgid "Destination Sales Order" msgstr "" -#: stock/models.py:588 +#: stock/models.py:578 msgid "Expiry date for stock item. Stock will be considered expired after this date" msgstr "" -#: stock/models.py:601 +#: stock/models.py:591 msgid "Delete on deplete" msgstr "" -#: stock/models.py:601 +#: stock/models.py:591 msgid "Delete this Stock Item when stock is depleted" msgstr "" -#: stock/models.py:611 stock/templates/stock/item.html:111 +#: stock/models.py:601 stock/templates/stock/item.html:111 msgid "Stock Item Notes" msgstr "" -#: stock/models.py:620 +#: stock/models.py:610 msgid "Single unit purchase price at time of purchase" msgstr "" -#: stock/models.py:630 +#: stock/models.py:620 msgid "Scheduled for deletion" msgstr "" -#: stock/models.py:631 +#: stock/models.py:621 msgid "This StockItem will be deleted by the background worker" msgstr "" -#: stock/models.py:1094 +#: stock/models.py:1084 msgid "Part is not set as trackable" msgstr "" -#: stock/models.py:1100 +#: stock/models.py:1090 msgid "Quantity must be integer" msgstr "" -#: stock/models.py:1106 +#: stock/models.py:1096 #, python-brace-format msgid "Quantity must not exceed available stock quantity ({n})" msgstr "" -#: stock/models.py:1109 +#: stock/models.py:1099 msgid "Serial numbers must be a list of integers" msgstr "" -#: stock/models.py:1112 +#: stock/models.py:1102 msgid "Quantity does not match serial numbers" msgstr "" -#: stock/models.py:1119 +#: stock/models.py:1109 #, python-brace-format msgid "Serial numbers already exist: {exists}" msgstr "" -#: stock/models.py:1277 +#: stock/models.py:1267 msgid "StockItem cannot be moved as it is not in stock" msgstr "" -#: stock/models.py:1775 +#: stock/models.py:1765 msgid "Entry notes" msgstr "" -#: stock/models.py:1832 +#: stock/models.py:1822 msgid "Value must be provided for this test" msgstr "" -#: stock/models.py:1838 +#: stock/models.py:1828 msgid "Attachment must be uploaded for this test" msgstr "" -#: stock/models.py:1856 +#: stock/models.py:1846 msgid "Test name" msgstr "" -#: stock/models.py:1862 templates/js/translated/table_filters.js:266 +#: stock/models.py:1852 templates/js/translated/table_filters.js:266 msgid "Test result" msgstr "" -#: stock/models.py:1868 +#: stock/models.py:1858 msgid "Test output value" msgstr "" -#: stock/models.py:1875 +#: stock/models.py:1865 msgid "Test result attachment" msgstr "" -#: stock/models.py:1881 +#: stock/models.py:1871 msgid "Test notes" msgstr "" -#: stock/serializers.py:166 +#: stock/serializers.py:171 msgid "Purchase price of this stock item" msgstr "" -#: stock/serializers.py:173 +#: stock/serializers.py:178 msgid "Purchase currency of this stock item" msgstr "" -#: stock/serializers.py:287 +#: stock/serializers.py:292 msgid "Enter number of stock items to serialize" msgstr "" -#: stock/serializers.py:302 +#: stock/serializers.py:307 #, python-brace-format msgid "Quantity must not exceed available stock quantity ({q})" msgstr "" -#: stock/serializers.py:308 +#: stock/serializers.py:313 msgid "Enter serial numbers for new items" msgstr "" -#: stock/serializers.py:319 stock/serializers.py:686 +#: stock/serializers.py:324 stock/serializers.py:691 msgid "Destination stock location" msgstr "" -#: stock/serializers.py:326 +#: stock/serializers.py:331 msgid "Optional note field" msgstr "" -#: stock/serializers.py:339 +#: stock/serializers.py:344 msgid "Serial numbers cannot be assigned to this part" msgstr "" -#: stock/serializers.py:556 +#: stock/serializers.py:561 msgid "StockItem primary key value" msgstr "" -#: stock/serializers.py:584 +#: stock/serializers.py:589 msgid "Stock transaction notes" msgstr "" -#: stock/serializers.py:594 +#: stock/serializers.py:599 msgid "A list of stock items must be provided" msgstr "" @@ -5629,125 +5656,131 @@ msgstr "" msgid "Install" msgstr "" -#: stock/templates/stock/item_base.html:106 +#: stock/templates/stock/item_base.html:108 msgid "Convert to variant" msgstr "" -#: stock/templates/stock/item_base.html:109 +#: stock/templates/stock/item_base.html:111 msgid "Duplicate stock item" msgstr "" -#: stock/templates/stock/item_base.html:111 +#: stock/templates/stock/item_base.html:113 msgid "Edit stock item" msgstr "" -#: stock/templates/stock/item_base.html:114 +#: stock/templates/stock/item_base.html:116 msgid "Delete stock item" msgstr "" -#: stock/templates/stock/item_base.html:136 -#: stock/templates/stock/item_base.html:386 -#: templates/js/translated/table_filters.js:247 -msgid "Expired" +#: stock/templates/stock/item_base.html:154 +msgid "previous page" msgstr "" -#: stock/templates/stock/item_base.html:146 -#: stock/templates/stock/item_base.html:388 -#: templates/js/translated/table_filters.js:253 -msgid "Stale" +#: stock/templates/stock/item_base.html:154 +msgid "Navigate to previous serial number" msgstr "" -#: stock/templates/stock/item_base.html:161 -msgid "You are not in the list of owners of this item. This stock item cannot be edited." +#: stock/templates/stock/item_base.html:163 +msgid "next page" msgstr "" -#: stock/templates/stock/item_base.html:168 -msgid "This stock item is in production and cannot be edited." -msgstr "" - -#: stock/templates/stock/item_base.html:169 -msgid "Edit the stock item from the build view." -msgstr "" - -#: stock/templates/stock/item_base.html:182 -msgid "This stock item has not passed all required tests" +#: stock/templates/stock/item_base.html:163 +msgid "Navigate to next serial number" msgstr "" #: stock/templates/stock/item_base.html:190 #, python-format -msgid "This stock item is allocated to Sales Order %(link)s (Quantity: %(qty)s)" -msgstr "" - -#: stock/templates/stock/item_base.html:198 -#, python-format -msgid "This stock item is allocated to Build %(link)s (Quantity: %(qty)s)" -msgstr "" - -#: stock/templates/stock/item_base.html:204 -msgid "This stock item is serialized - it has a unique serial number and the quantity cannot be adjusted." -msgstr "" - -#: stock/templates/stock/item_base.html:208 -msgid "This stock item cannot be deleted as it has child items" -msgstr "" - -#: stock/templates/stock/item_base.html:212 -msgid "This stock item will be automatically deleted when all stock is depleted." -msgstr "" - -#: stock/templates/stock/item_base.html:241 -msgid "previous page" -msgstr "" - -#: stock/templates/stock/item_base.html:247 -msgid "next page" -msgstr "" - -#: stock/templates/stock/item_base.html:290 -#: templates/js/translated/build.js:1035 -msgid "No location set" -msgstr "" - -#: stock/templates/stock/item_base.html:297 -msgid "Barcode Identifier" -msgstr "" - -#: stock/templates/stock/item_base.html:339 -msgid "Parent Item" -msgstr "" - -#: stock/templates/stock/item_base.html:357 -msgid "No manufacturer set" -msgstr "" - -#: stock/templates/stock/item_base.html:386 -#, python-format msgid "This StockItem expired on %(item.expiry_date)s" msgstr "" -#: stock/templates/stock/item_base.html:388 +#: stock/templates/stock/item_base.html:190 +#: templates/js/translated/table_filters.js:247 +msgid "Expired" +msgstr "" + +#: stock/templates/stock/item_base.html:192 #, python-format msgid "This StockItem expires on %(item.expiry_date)s" msgstr "" -#: stock/templates/stock/item_base.html:395 -#: templates/js/translated/stock.js:1289 +#: stock/templates/stock/item_base.html:192 +#: templates/js/translated/table_filters.js:253 +msgid "Stale" +msgstr "" + +#: stock/templates/stock/item_base.html:199 +#: templates/js/translated/stock.js:1371 msgid "Last Updated" msgstr "" -#: stock/templates/stock/item_base.html:400 +#: stock/templates/stock/item_base.html:204 msgid "Last Stocktake" msgstr "" -#: stock/templates/stock/item_base.html:404 +#: stock/templates/stock/item_base.html:208 msgid "No stocktake performed" msgstr "" -#: stock/templates/stock/item_base.html:415 +#: stock/templates/stock/item_base.html:226 +msgid "You are not in the list of owners of this item. This stock item cannot be edited." +msgstr "" + +#: stock/templates/stock/item_base.html:233 +msgid "This stock item is in production and cannot be edited." +msgstr "" + +#: stock/templates/stock/item_base.html:234 +msgid "Edit the stock item from the build view." +msgstr "" + +#: stock/templates/stock/item_base.html:247 +msgid "This stock item has not passed all required tests" +msgstr "" + +#: stock/templates/stock/item_base.html:255 +#, python-format +msgid "This stock item is allocated to Sales Order %(link)s (Quantity: %(qty)s)" +msgstr "" + +#: stock/templates/stock/item_base.html:263 +#, python-format +msgid "This stock item is allocated to Build %(link)s (Quantity: %(qty)s)" +msgstr "" + +#: stock/templates/stock/item_base.html:269 +msgid "This stock item is serialized - it has a unique serial number and the quantity cannot be adjusted." +msgstr "" + +#: stock/templates/stock/item_base.html:273 +msgid "This stock item cannot be deleted as it has child items" +msgstr "" + +#: stock/templates/stock/item_base.html:277 +msgid "This stock item will be automatically deleted when all stock is depleted." +msgstr "" + +#: stock/templates/stock/item_base.html:318 +#: templates/js/translated/build.js:1035 +msgid "No location set" +msgstr "" + +#: stock/templates/stock/item_base.html:325 +msgid "Barcode Identifier" +msgstr "" + +#: stock/templates/stock/item_base.html:367 +msgid "Parent Item" +msgstr "" + +#: stock/templates/stock/item_base.html:385 +msgid "No manufacturer set" +msgstr "" + +#: stock/templates/stock/item_base.html:410 msgid "Tests" msgstr "" -#: stock/templates/stock/item_base.html:505 +#: stock/templates/stock/item_base.html:500 msgid "Edit Stock Status" msgstr "" @@ -5825,30 +5858,35 @@ msgstr "" msgid "New Location" msgstr "" -#: stock/templates/stock/location.html:86 +#: stock/templates/stock/location.html:95 +#: stock/templates/stock/location.html:101 +msgid "Location Path" +msgstr "" + +#: stock/templates/stock/location.html:102 msgid "Top level stock location" msgstr "" -#: stock/templates/stock/location.html:95 +#: stock/templates/stock/location.html:115 msgid "You are not in the list of owners of this location. This stock location cannot be edited." msgstr "" -#: stock/templates/stock/location.html:113 -#: stock/templates/stock/location.html:160 +#: stock/templates/stock/location.html:128 +#: stock/templates/stock/location.html:175 #: stock/templates/stock/location_sidebar.html:5 msgid "Sublocations" msgstr "" -#: stock/templates/stock/location.html:127 templates/InvenTree/search.html:170 +#: stock/templates/stock/location.html:142 templates/InvenTree/search.html:170 #: templates/stats.html:97 users/models.py:42 msgid "Stock Locations" msgstr "" -#: stock/templates/stock/location.html:167 templates/stock_table.html:30 +#: stock/templates/stock/location.html:182 templates/stock_table.html:30 msgid "Printing Actions" msgstr "" -#: stock/templates/stock/location.html:171 templates/stock_table.html:34 +#: stock/templates/stock/location.html:186 templates/stock_table.html:34 msgid "Print labels" msgstr "" @@ -5942,7 +5980,7 @@ msgstr "" msgid "Uninstall Stock Items" msgstr "" -#: stock/views.py:760 templates/js/translated/stock.js:648 +#: stock/views.py:760 templates/js/translated/stock.js:730 msgid "Confirm stock adjustment" msgstr "" @@ -5950,7 +5988,7 @@ msgstr "" msgid "Uninstalled stock items" msgstr "" -#: stock/views.py:793 templates/js/translated/stock.js:318 +#: stock/views.py:793 templates/js/translated/stock.js:319 msgid "Edit Stock Item" msgstr "" @@ -5962,7 +6000,7 @@ msgstr "" msgid "Create new Stock Item" msgstr "" -#: stock/views.py:1186 templates/js/translated/stock.js:298 +#: stock/views.py:1186 templates/js/translated/stock.js:299 msgid "Duplicate Stock Item" msgstr "" @@ -6868,7 +6906,7 @@ msgstr "" msgid "Unlink" msgstr "" -#: templates/js/translated/barcode.js:397 templates/js/translated/stock.js:600 +#: templates/js/translated/barcode.js:397 templates/js/translated/stock.js:682 msgid "Remove stock item" msgstr "" @@ -6963,7 +7001,7 @@ msgid "View BOM" msgstr "" #: templates/js/translated/bom.js:608 templates/js/translated/build.js:1183 -#: templates/js/translated/order.js:1320 +#: templates/js/translated/order.js:1319 msgid "Actions" msgstr "" @@ -7055,7 +7093,7 @@ msgstr "" msgid "No build order allocations found" msgstr "" -#: templates/js/translated/build.js:424 templates/js/translated/order.js:1194 +#: templates/js/translated/build.js:424 templates/js/translated/order.js:1193 msgid "Location not specified" msgstr "" @@ -7064,12 +7102,12 @@ msgid "No active build outputs found" msgstr "" #: templates/js/translated/build.js:1052 templates/js/translated/build.js:1760 -#: templates/js/translated/order.js:1327 +#: templates/js/translated/order.js:1326 msgid "Edit stock allocation" msgstr "" #: templates/js/translated/build.js:1054 templates/js/translated/build.js:1761 -#: templates/js/translated/order.js:1328 +#: templates/js/translated/order.js:1327 msgid "Delete stock allocation" msgstr "" @@ -7090,11 +7128,11 @@ msgid "Quantity Per" msgstr "" #: templates/js/translated/build.js:1134 templates/js/translated/build.js:1360 -#: templates/js/translated/build.js:1756 templates/js/translated/order.js:1557 +#: templates/js/translated/build.js:1756 templates/js/translated/order.js:1556 msgid "Allocated" msgstr "" -#: templates/js/translated/build.js:1190 templates/js/translated/order.js:1611 +#: templates/js/translated/build.js:1190 templates/js/translated/order.js:1610 msgid "Build stock" msgstr "" @@ -7102,7 +7140,7 @@ msgstr "" msgid "Order stock" msgstr "" -#: templates/js/translated/build.js:1197 templates/js/translated/order.js:1604 +#: templates/js/translated/build.js:1197 templates/js/translated/order.js:1603 msgid "Allocate stock" msgstr "" @@ -7143,9 +7181,9 @@ msgstr "" msgid "No builds matching query" msgstr "" -#: templates/js/translated/build.js:1593 templates/js/translated/part.js:966 -#: templates/js/translated/part.js:1377 templates/js/translated/stock.js:1094 -#: templates/js/translated/stock.js:1871 +#: templates/js/translated/build.js:1593 templates/js/translated/part.js:1147 +#: templates/js/translated/part.js:1558 templates/js/translated/stock.js:1176 +#: templates/js/translated/stock.js:1953 msgid "Select" msgstr "" @@ -7153,7 +7191,7 @@ msgstr "" msgid "Build order is overdue" msgstr "" -#: templates/js/translated/build.js:1674 templates/js/translated/stock.js:2090 +#: templates/js/translated/build.js:1674 templates/js/translated/stock.js:2172 msgid "No user information" msgstr "" @@ -7197,10 +7235,6 @@ msgstr "" msgid "Delete Supplier Part" msgstr "" -#: templates/js/translated/company.js:265 -msgid "Edit Company" -msgstr "" - #: templates/js/translated/company.js:286 msgid "Add new Company" msgstr "" @@ -7230,34 +7264,34 @@ msgid "No manufacturer parts found" msgstr "" #: templates/js/translated/company.js:497 -#: templates/js/translated/company.js:754 templates/js/translated/part.js:449 -#: templates/js/translated/part.js:534 +#: templates/js/translated/company.js:754 templates/js/translated/part.js:456 +#: templates/js/translated/part.js:541 msgid "Template part" msgstr "" #: templates/js/translated/company.js:501 -#: templates/js/translated/company.js:758 templates/js/translated/part.js:453 -#: templates/js/translated/part.js:538 +#: templates/js/translated/company.js:758 templates/js/translated/part.js:460 +#: templates/js/translated/part.js:545 msgid "Assembled part" msgstr "" -#: templates/js/translated/company.js:628 templates/js/translated/part.js:626 +#: templates/js/translated/company.js:628 templates/js/translated/part.js:633 msgid "No parameters found" msgstr "" -#: templates/js/translated/company.js:665 templates/js/translated/part.js:668 +#: templates/js/translated/company.js:665 templates/js/translated/part.js:675 msgid "Edit parameter" msgstr "" -#: templates/js/translated/company.js:666 templates/js/translated/part.js:669 +#: templates/js/translated/company.js:666 templates/js/translated/part.js:676 msgid "Delete parameter" msgstr "" -#: templates/js/translated/company.js:685 templates/js/translated/part.js:686 +#: templates/js/translated/company.js:685 templates/js/translated/part.js:693 msgid "Edit Parameter" msgstr "" -#: templates/js/translated/company.js:696 templates/js/translated/part.js:698 +#: templates/js/translated/company.js:696 templates/js/translated/part.js:705 msgid "Delete Parameter" msgstr "" @@ -7346,7 +7380,7 @@ msgid "NO" msgstr "" #: templates/js/translated/label.js:29 templates/js/translated/report.js:118 -#: templates/js/translated/stock.js:624 +#: templates/js/translated/stock.js:706 msgid "Select Stock Items" msgstr "" @@ -7502,11 +7536,11 @@ msgstr "" msgid "Export Order" msgstr "" -#: templates/js/translated/order.js:211 templates/js/translated/stock.js:423 +#: templates/js/translated/order.js:211 templates/js/translated/stock.js:505 msgid "Format" msgstr "" -#: templates/js/translated/order.js:212 templates/js/translated/stock.js:424 +#: templates/js/translated/order.js:212 templates/js/translated/stock.js:506 msgid "Select file format" msgstr "" @@ -7522,7 +7556,7 @@ msgstr "" msgid "Quantity to receive" msgstr "" -#: templates/js/translated/order.js:360 templates/js/translated/stock.js:1673 +#: templates/js/translated/order.js:360 templates/js/translated/stock.js:1755 msgid "Stock Status" msgstr "" @@ -7546,321 +7580,321 @@ msgstr "" msgid "Receive Purchase Order Items" msgstr "" -#: templates/js/translated/order.js:627 +#: templates/js/translated/order.js:627 templates/js/translated/part.js:746 msgid "No purchase orders found" msgstr "" -#: templates/js/translated/order.js:652 templates/js/translated/order.js:1063 +#: templates/js/translated/order.js:659 templates/js/translated/order.js:1062 msgid "Order is overdue" msgstr "" -#: templates/js/translated/order.js:772 templates/js/translated/order.js:1646 +#: templates/js/translated/order.js:771 templates/js/translated/order.js:1645 msgid "Edit Line Item" msgstr "" -#: templates/js/translated/order.js:784 templates/js/translated/order.js:1657 +#: templates/js/translated/order.js:783 templates/js/translated/order.js:1656 msgid "Delete Line Item" msgstr "" -#: templates/js/translated/order.js:823 +#: templates/js/translated/order.js:822 msgid "No line items found" msgstr "" -#: templates/js/translated/order.js:850 templates/js/translated/order.js:1467 +#: templates/js/translated/order.js:849 templates/js/translated/order.js:1466 msgid "Total" msgstr "" -#: templates/js/translated/order.js:904 templates/js/translated/order.js:1492 -#: templates/js/translated/part.js:1594 templates/js/translated/part.js:1805 +#: templates/js/translated/order.js:903 templates/js/translated/order.js:1491 +#: templates/js/translated/part.js:1775 templates/js/translated/part.js:1986 msgid "Unit Price" msgstr "" -#: templates/js/translated/order.js:919 templates/js/translated/order.js:1508 +#: templates/js/translated/order.js:918 templates/js/translated/order.js:1507 msgid "Total Price" msgstr "" -#: templates/js/translated/order.js:997 templates/js/translated/order.js:1617 +#: templates/js/translated/order.js:996 templates/js/translated/order.js:1616 msgid "Edit line item" msgstr "" -#: templates/js/translated/order.js:998 +#: templates/js/translated/order.js:997 msgid "Delete line item" msgstr "" -#: templates/js/translated/order.js:1002 +#: templates/js/translated/order.js:1001 templates/js/translated/part.js:878 msgid "Receive line item" msgstr "" -#: templates/js/translated/order.js:1039 +#: templates/js/translated/order.js:1038 msgid "No sales orders found" msgstr "" -#: templates/js/translated/order.js:1077 +#: templates/js/translated/order.js:1076 msgid "Invalid Customer" msgstr "" -#: templates/js/translated/order.js:1155 +#: templates/js/translated/order.js:1154 msgid "No sales order allocations found" msgstr "" -#: templates/js/translated/order.js:1248 +#: templates/js/translated/order.js:1247 msgid "Edit Stock Allocation" msgstr "" -#: templates/js/translated/order.js:1265 +#: templates/js/translated/order.js:1264 msgid "Confirm Delete Operation" msgstr "" -#: templates/js/translated/order.js:1266 +#: templates/js/translated/order.js:1265 msgid "Delete Stock Allocation" msgstr "" -#: templates/js/translated/order.js:1308 +#: templates/js/translated/order.js:1307 msgid "Stock location not specified" msgstr "" -#: templates/js/translated/order.js:1557 +#: templates/js/translated/order.js:1556 msgid "Fulfilled" msgstr "" -#: templates/js/translated/order.js:1601 +#: templates/js/translated/order.js:1600 msgid "Allocate serial numbers" msgstr "" -#: templates/js/translated/order.js:1607 +#: templates/js/translated/order.js:1606 msgid "Purchase stock" msgstr "" -#: templates/js/translated/order.js:1614 templates/js/translated/order.js:1793 +#: templates/js/translated/order.js:1613 templates/js/translated/order.js:1792 msgid "Calculate price" msgstr "" -#: templates/js/translated/order.js:1618 +#: templates/js/translated/order.js:1617 msgid "Delete line item " msgstr "" -#: templates/js/translated/order.js:1741 +#: templates/js/translated/order.js:1740 msgid "Allocate Stock Item" msgstr "" -#: templates/js/translated/order.js:1801 +#: templates/js/translated/order.js:1800 msgid "Update Unit Price" msgstr "" -#: templates/js/translated/order.js:1815 +#: templates/js/translated/order.js:1814 msgid "No matching line items" msgstr "" -#: templates/js/translated/part.js:51 +#: templates/js/translated/part.js:52 msgid "Part Attributes" msgstr "" -#: templates/js/translated/part.js:55 +#: templates/js/translated/part.js:56 msgid "Part Creation Options" msgstr "" -#: templates/js/translated/part.js:59 +#: templates/js/translated/part.js:60 msgid "Part Duplication Options" msgstr "" -#: templates/js/translated/part.js:63 +#: templates/js/translated/part.js:64 msgid "Supplier Options" msgstr "" -#: templates/js/translated/part.js:77 +#: templates/js/translated/part.js:78 msgid "Add Part Category" msgstr "" -#: templates/js/translated/part.js:166 +#: templates/js/translated/part.js:162 msgid "Create Initial Stock" msgstr "" -#: templates/js/translated/part.js:167 +#: templates/js/translated/part.js:163 msgid "Create an initial stock item for this part" msgstr "" -#: templates/js/translated/part.js:174 +#: templates/js/translated/part.js:170 msgid "Initial Stock Quantity" msgstr "" -#: templates/js/translated/part.js:175 +#: templates/js/translated/part.js:171 msgid "Specify initial stock quantity for this part" msgstr "" -#: templates/js/translated/part.js:182 +#: templates/js/translated/part.js:178 msgid "Select destination stock location" msgstr "" -#: templates/js/translated/part.js:193 +#: templates/js/translated/part.js:196 msgid "Copy Category Parameters" msgstr "" -#: templates/js/translated/part.js:194 +#: templates/js/translated/part.js:197 msgid "Copy parameter templates from selected part category" msgstr "" -#: templates/js/translated/part.js:202 +#: templates/js/translated/part.js:205 msgid "Add Supplier Data" msgstr "" -#: templates/js/translated/part.js:203 +#: templates/js/translated/part.js:206 msgid "Create initial supplier data for this part" msgstr "" -#: templates/js/translated/part.js:259 +#: templates/js/translated/part.js:262 msgid "Copy Image" msgstr "" -#: templates/js/translated/part.js:260 +#: templates/js/translated/part.js:263 msgid "Copy image from original part" msgstr "" -#: templates/js/translated/part.js:268 +#: templates/js/translated/part.js:271 msgid "Copy bill of materials from original part" msgstr "" -#: templates/js/translated/part.js:275 +#: templates/js/translated/part.js:278 msgid "Copy Parameters" msgstr "" -#: templates/js/translated/part.js:276 +#: templates/js/translated/part.js:279 msgid "Copy parameter data from original part" msgstr "" -#: templates/js/translated/part.js:289 +#: templates/js/translated/part.js:292 msgid "Parent part category" msgstr "" -#: templates/js/translated/part.js:333 +#: templates/js/translated/part.js:336 msgid "Edit Part" msgstr "" -#: templates/js/translated/part.js:335 +#: templates/js/translated/part.js:338 msgid "Part edited" msgstr "" -#: templates/js/translated/part.js:403 +#: templates/js/translated/part.js:410 msgid "You are subscribed to notifications for this item" msgstr "" -#: templates/js/translated/part.js:405 +#: templates/js/translated/part.js:412 msgid "You have subscribed to notifications for this item" msgstr "" -#: templates/js/translated/part.js:410 +#: templates/js/translated/part.js:417 msgid "Subscribe to notifications for this item" msgstr "" -#: templates/js/translated/part.js:412 +#: templates/js/translated/part.js:419 msgid "You have unsubscribed to notifications for this item" msgstr "" -#: templates/js/translated/part.js:441 templates/js/translated/part.js:526 +#: templates/js/translated/part.js:448 templates/js/translated/part.js:533 msgid "Trackable part" msgstr "" -#: templates/js/translated/part.js:445 templates/js/translated/part.js:530 +#: templates/js/translated/part.js:452 templates/js/translated/part.js:537 msgid "Virtual part" msgstr "" -#: templates/js/translated/part.js:457 +#: templates/js/translated/part.js:464 msgid "Subscribed part" msgstr "" -#: templates/js/translated/part.js:461 +#: templates/js/translated/part.js:468 msgid "Salable part" msgstr "" -#: templates/js/translated/part.js:576 +#: templates/js/translated/part.js:583 msgid "No variants found" msgstr "" -#: templates/js/translated/part.js:765 +#: templates/js/translated/part.js:946 msgid "Delete part relationship" msgstr "" -#: templates/js/translated/part.js:789 +#: templates/js/translated/part.js:970 msgid "Delete Part Relationship" msgstr "" -#: templates/js/translated/part.js:856 templates/js/translated/part.js:1116 +#: templates/js/translated/part.js:1037 templates/js/translated/part.js:1297 msgid "No parts found" msgstr "" -#: templates/js/translated/part.js:1026 +#: templates/js/translated/part.js:1207 msgid "No category" msgstr "" -#: templates/js/translated/part.js:1049 +#: templates/js/translated/part.js:1230 #: templates/js/translated/table_filters.js:381 msgid "Low stock" msgstr "" -#: templates/js/translated/part.js:1140 templates/js/translated/part.js:1312 -#: templates/js/translated/stock.js:1832 +#: templates/js/translated/part.js:1321 templates/js/translated/part.js:1493 +#: templates/js/translated/stock.js:1914 msgid "Display as list" msgstr "" -#: templates/js/translated/part.js:1156 +#: templates/js/translated/part.js:1337 msgid "Display as grid" msgstr "" -#: templates/js/translated/part.js:1331 templates/js/translated/stock.js:1851 +#: templates/js/translated/part.js:1512 templates/js/translated/stock.js:1933 msgid "Display as tree" msgstr "" -#: templates/js/translated/part.js:1395 +#: templates/js/translated/part.js:1576 msgid "Subscribed category" msgstr "" -#: templates/js/translated/part.js:1409 templates/js/translated/stock.js:1895 +#: templates/js/translated/part.js:1590 templates/js/translated/stock.js:1977 msgid "Path" msgstr "" -#: templates/js/translated/part.js:1453 +#: templates/js/translated/part.js:1634 msgid "No test templates matching query" msgstr "" -#: templates/js/translated/part.js:1504 templates/js/translated/stock.js:816 +#: templates/js/translated/part.js:1685 templates/js/translated/stock.js:898 msgid "Edit test result" msgstr "" -#: templates/js/translated/part.js:1505 templates/js/translated/stock.js:817 +#: templates/js/translated/part.js:1686 templates/js/translated/stock.js:899 msgid "Delete test result" msgstr "" -#: templates/js/translated/part.js:1511 +#: templates/js/translated/part.js:1692 msgid "This test is defined for a parent part" msgstr "" -#: templates/js/translated/part.js:1533 +#: templates/js/translated/part.js:1714 msgid "Edit Test Result Template" msgstr "" -#: templates/js/translated/part.js:1547 +#: templates/js/translated/part.js:1728 msgid "Delete Test Result Template" msgstr "" -#: templates/js/translated/part.js:1572 +#: templates/js/translated/part.js:1753 #, python-brace-format msgid "No ${human_name} information found" msgstr "" -#: templates/js/translated/part.js:1627 +#: templates/js/translated/part.js:1808 #, python-brace-format msgid "Edit ${human_name}" msgstr "" -#: templates/js/translated/part.js:1628 +#: templates/js/translated/part.js:1809 #, python-brace-format msgid "Delete ${human_name}" msgstr "" -#: templates/js/translated/part.js:1729 +#: templates/js/translated/part.js:1910 msgid "Single Price" msgstr "" -#: templates/js/translated/part.js:1748 +#: templates/js/translated/part.js:1929 msgid "Single Price Difference" msgstr "" @@ -7930,276 +7964,300 @@ msgstr "" msgid "Sales Order(s) must be selected before printing report" msgstr "" -#: templates/js/translated/stock.js:70 +#: templates/js/translated/stock.js:71 msgid "Serialize Stock Item" msgstr "" -#: templates/js/translated/stock.js:88 templates/js/translated/stock.js:167 +#: templates/js/translated/stock.js:89 templates/js/translated/stock.js:168 msgid "Next available serial number" msgstr "" -#: templates/js/translated/stock.js:90 templates/js/translated/stock.js:169 +#: templates/js/translated/stock.js:91 templates/js/translated/stock.js:170 msgid "Latest serial number" msgstr "" -#: templates/js/translated/stock.js:104 +#: templates/js/translated/stock.js:105 msgid "Parent stock location" msgstr "" -#: templates/js/translated/stock.js:140 +#: templates/js/translated/stock.js:141 msgid "New Stock Location" msgstr "" -#: templates/js/translated/stock.js:180 +#: templates/js/translated/stock.js:181 msgid "This part cannot be serialized" msgstr "" -#: templates/js/translated/stock.js:219 +#: templates/js/translated/stock.js:220 msgid "Enter initial quantity for this stock item" msgstr "" -#: templates/js/translated/stock.js:225 +#: templates/js/translated/stock.js:226 msgid "Enter serial numbers for new stock (or leave blank)" msgstr "" -#: templates/js/translated/stock.js:368 +#: templates/js/translated/stock.js:369 msgid "Created new stock item" msgstr "" -#: templates/js/translated/stock.js:381 +#: templates/js/translated/stock.js:382 msgid "Created multiple stock items" msgstr "" -#: templates/js/translated/stock.js:420 +#: templates/js/translated/stock.js:407 +msgid "Find Serial Number" +msgstr "" + +#: templates/js/translated/stock.js:411 templates/js/translated/stock.js:412 +msgid "Enter serial number" +msgstr "" + +#: templates/js/translated/stock.js:428 +msgid "Enter a serial number" +msgstr "" + +#: templates/js/translated/stock.js:448 +msgid "No matching serial number" +msgstr "" + +#: templates/js/translated/stock.js:457 +msgid "More than one matching result found" +msgstr "" + +#: templates/js/translated/stock.js:502 msgid "Export Stock" msgstr "" -#: templates/js/translated/stock.js:431 +#: templates/js/translated/stock.js:513 msgid "Include Sublocations" msgstr "" -#: templates/js/translated/stock.js:432 +#: templates/js/translated/stock.js:514 msgid "Include stock items in sublocations" msgstr "" -#: templates/js/translated/stock.js:474 +#: templates/js/translated/stock.js:556 msgid "Transfer Stock" msgstr "" -#: templates/js/translated/stock.js:475 +#: templates/js/translated/stock.js:557 msgid "Move" msgstr "" -#: templates/js/translated/stock.js:481 +#: templates/js/translated/stock.js:563 msgid "Count Stock" msgstr "" -#: templates/js/translated/stock.js:482 +#: templates/js/translated/stock.js:564 msgid "Count" msgstr "" -#: templates/js/translated/stock.js:486 +#: templates/js/translated/stock.js:568 msgid "Remove Stock" msgstr "" -#: templates/js/translated/stock.js:487 +#: templates/js/translated/stock.js:569 msgid "Take" msgstr "" -#: templates/js/translated/stock.js:491 +#: templates/js/translated/stock.js:573 msgid "Add Stock" msgstr "" -#: templates/js/translated/stock.js:492 users/models.py:200 +#: templates/js/translated/stock.js:574 users/models.py:200 msgid "Add" msgstr "" -#: templates/js/translated/stock.js:496 templates/stock_table.html:56 +#: templates/js/translated/stock.js:578 templates/stock_table.html:56 msgid "Delete Stock" msgstr "" -#: templates/js/translated/stock.js:585 +#: templates/js/translated/stock.js:667 msgid "Quantity cannot be adjusted for serialized stock" msgstr "" -#: templates/js/translated/stock.js:585 +#: templates/js/translated/stock.js:667 msgid "Specify stock quantity" msgstr "" -#: templates/js/translated/stock.js:625 +#: templates/js/translated/stock.js:707 msgid "You must select at least one available stock item" msgstr "" -#: templates/js/translated/stock.js:783 +#: templates/js/translated/stock.js:865 msgid "PASS" msgstr "" -#: templates/js/translated/stock.js:785 +#: templates/js/translated/stock.js:867 msgid "FAIL" msgstr "" -#: templates/js/translated/stock.js:790 +#: templates/js/translated/stock.js:872 msgid "NO RESULT" msgstr "" -#: templates/js/translated/stock.js:812 +#: templates/js/translated/stock.js:894 msgid "Add test result" msgstr "" -#: templates/js/translated/stock.js:838 +#: templates/js/translated/stock.js:920 msgid "No test results found" msgstr "" -#: templates/js/translated/stock.js:895 +#: templates/js/translated/stock.js:977 msgid "Test Date" msgstr "" -#: templates/js/translated/stock.js:1002 +#: templates/js/translated/stock.js:1084 msgid "In production" msgstr "" -#: templates/js/translated/stock.js:1006 +#: templates/js/translated/stock.js:1088 msgid "Installed in Stock Item" msgstr "" -#: templates/js/translated/stock.js:1010 +#: templates/js/translated/stock.js:1092 msgid "Shipped to customer" msgstr "" -#: templates/js/translated/stock.js:1014 +#: templates/js/translated/stock.js:1096 msgid "Assigned to Sales Order" msgstr "" -#: templates/js/translated/stock.js:1020 +#: templates/js/translated/stock.js:1102 msgid "No stock location set" msgstr "" -#: templates/js/translated/stock.js:1178 +#: templates/js/translated/stock.js:1260 msgid "Stock item is in production" msgstr "" -#: templates/js/translated/stock.js:1183 +#: templates/js/translated/stock.js:1265 msgid "Stock item assigned to sales order" msgstr "" -#: templates/js/translated/stock.js:1186 +#: templates/js/translated/stock.js:1268 msgid "Stock item assigned to customer" msgstr "" -#: templates/js/translated/stock.js:1190 +#: templates/js/translated/stock.js:1272 msgid "Stock item has expired" msgstr "" -#: templates/js/translated/stock.js:1192 +#: templates/js/translated/stock.js:1274 msgid "Stock item will expire soon" msgstr "" -#: templates/js/translated/stock.js:1196 +#: templates/js/translated/stock.js:1278 msgid "Stock item has been allocated" msgstr "" -#: templates/js/translated/stock.js:1200 +#: templates/js/translated/stock.js:1282 msgid "Stock item has been installed in another item" msgstr "" -#: templates/js/translated/stock.js:1207 +#: templates/js/translated/stock.js:1289 msgid "Stock item has been rejected" msgstr "" -#: templates/js/translated/stock.js:1209 +#: templates/js/translated/stock.js:1291 msgid "Stock item is lost" msgstr "" -#: templates/js/translated/stock.js:1211 +#: templates/js/translated/stock.js:1293 msgid "Stock item is destroyed" msgstr "" -#: templates/js/translated/stock.js:1215 +#: templates/js/translated/stock.js:1297 #: templates/js/translated/table_filters.js:183 msgid "Depleted" msgstr "" -#: templates/js/translated/stock.js:1265 +#: templates/js/translated/stock.js:1347 msgid "Stocktake" msgstr "" -#: templates/js/translated/stock.js:1338 +#: templates/js/translated/stock.js:1420 msgid "Supplier part not specified" msgstr "" -#: templates/js/translated/stock.js:1376 +#: templates/js/translated/stock.js:1458 msgid "No stock items matching query" msgstr "" -#: templates/js/translated/stock.js:1397 templates/js/translated/stock.js:1445 +#: templates/js/translated/stock.js:1479 templates/js/translated/stock.js:1527 msgid "items" msgstr "" -#: templates/js/translated/stock.js:1485 +#: templates/js/translated/stock.js:1567 msgid "batches" msgstr "" -#: templates/js/translated/stock.js:1512 +#: templates/js/translated/stock.js:1594 msgid "locations" msgstr "" -#: templates/js/translated/stock.js:1514 +#: templates/js/translated/stock.js:1596 msgid "Undefined location" msgstr "" -#: templates/js/translated/stock.js:1688 +#: templates/js/translated/stock.js:1770 msgid "Set Stock Status" msgstr "" -#: templates/js/translated/stock.js:1702 +#: templates/js/translated/stock.js:1784 msgid "Select Status Code" msgstr "" -#: templates/js/translated/stock.js:1703 +#: templates/js/translated/stock.js:1785 msgid "Status code must be selected" msgstr "" -#: templates/js/translated/stock.js:1927 +#: templates/js/translated/stock.js:2009 msgid "Invalid date" msgstr "" -#: templates/js/translated/stock.js:1974 +#: templates/js/translated/stock.js:2031 +msgid "Details" +msgstr "" + +#: templates/js/translated/stock.js:2056 msgid "Location no longer exists" msgstr "" -#: templates/js/translated/stock.js:1993 +#: templates/js/translated/stock.js:2075 msgid "Purchase order no longer exists" msgstr "" -#: templates/js/translated/stock.js:2012 +#: templates/js/translated/stock.js:2094 msgid "Customer no longer exists" msgstr "" -#: templates/js/translated/stock.js:2030 +#: templates/js/translated/stock.js:2112 msgid "Stock item no longer exists" msgstr "" -#: templates/js/translated/stock.js:2053 +#: templates/js/translated/stock.js:2135 msgid "Added" msgstr "" -#: templates/js/translated/stock.js:2061 +#: templates/js/translated/stock.js:2143 msgid "Removed" msgstr "" -#: templates/js/translated/stock.js:2102 +#: templates/js/translated/stock.js:2184 msgid "Edit tracking entry" msgstr "" -#: templates/js/translated/stock.js:2103 +#: templates/js/translated/stock.js:2185 msgid "Delete tracking entry" msgstr "" -#: templates/js/translated/stock.js:2154 +#: templates/js/translated/stock.js:2236 msgid "No installed items" msgstr "" -#: templates/js/translated/stock.js:2205 +#: templates/js/translated/stock.js:2287 msgid "Uninstall Stock Item" msgstr "" diff --git a/InvenTree/locale/en/LC_MESSAGES/django.po b/InvenTree/locale/en/LC_MESSAGES/django.po index 11cca2ebb9..c752304ce6 100644 --- a/InvenTree/locale/en/LC_MESSAGES/django.po +++ b/InvenTree/locale/en/LC_MESSAGES/django.po @@ -8,7 +8,7 @@ msgid "" msgstr "" "Project-Id-Version: PACKAGE VERSION\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2021-11-30 21:49+0000\n" +"POT-Creation-Date: 2021-11-30 22:21+0000\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: FULL NAME \n" "Language-Team: LANGUAGE \n" @@ -195,8 +195,7 @@ msgstr "" #: InvenTree/models.py:271 InvenTree/models.py:272 company/models.py:415 #: label/models.py:112 part/models.py:741 part/models.py:2389 -#: part/templates/part/detail.html:25 report/models.py:181 -#: templates/InvenTree/settings/settings.html:259 +#: report/models.py:181 templates/InvenTree/settings/settings.html:259 #: templates/js/translated/company.js:638 templates/js/translated/part.js:499 #: templates/js/translated/part.js:636 templates/js/translated/part.js:1384 #: templates/js/translated/stock.js:1877 @@ -205,13 +204,15 @@ msgstr "" #: InvenTree/models.py:278 build/models.py:207 #: build/templates/build/detail.html:25 company/models.py:354 -#: company/models.py:570 company/templates/company/manufacturer_part.html:80 -#: company/templates/company/supplier_part.html:81 label/models.py:119 -#: order/models.py:161 part/models.py:764 part/templates/part/detail.html:30 +#: company/models.py:570 company/templates/company/company_base.html:68 +#: company/templates/company/manufacturer_part.html:76 +#: company/templates/company/supplier_part.html:73 label/models.py:119 +#: order/models.py:161 part/models.py:764 part/templates/part/category.html:70 +#: part/templates/part/part_base.html:163 #: part/templates/part/set_category.html:14 report/models.py:194 #: report/models.py:553 report/models.py:592 #: report/templates/report/inventree_build_order_base.html:118 -#: stock/templates/stock/location.html:108 templates/js/translated/bom.js:215 +#: stock/templates/stock/location.html:89 templates/js/translated/bom.js:215 #: templates/js/translated/bom.js:428 templates/js/translated/build.js:1621 #: templates/js/translated/company.js:345 #: templates/js/translated/company.js:548 @@ -362,7 +363,7 @@ msgid "Returned" msgstr "" #: InvenTree/status_codes.py:143 -#: order/templates/order/sales_order_base.html:147 +#: order/templates/order/sales_order_base.html:148 msgid "Shipped" msgstr "" @@ -567,7 +568,7 @@ msgid "Barcode associated with StockItem" msgstr "" #: build/forms.py:36 build/models.py:1283 -#: build/templates/build/build_base.html:124 +#: build/templates/build/build_base.html:132 #: build/templates/build/detail.html:35 common/models.py:1225 #: company/forms.py:42 company/templates/company/supplier_part.html:251 #: order/forms.py:102 order/models.py:729 order/models.py:991 @@ -575,7 +576,7 @@ msgstr "" #: order/templates/order/order_wizard/select_parts.html:34 part/forms.py:223 #: part/forms.py:239 part/forms.py:255 part/models.py:2576 #: part/templates/part/bom_upload/match_parts.html:31 -#: part/templates/part/detail.html:1076 part/templates/part/detail.html:1162 +#: part/templates/part/detail.html:969 part/templates/part/detail.html:1055 #: part/templates/part/part_pricing.html:16 #: report/templates/report/inventree_build_order_base.html:114 #: report/templates/report/inventree_po_report.html:91 @@ -583,7 +584,7 @@ msgstr "" #: report/templates/report/inventree_test_report_base.html:81 #: report/templates/report/inventree_test_report_base.html:139 #: stock/forms.py:156 stock/serializers.py:286 -#: stock/templates/stock/item_base.html:256 +#: stock/templates/stock/item_base.html:167 #: templates/js/translated/barcode.js:385 templates/js/translated/bom.js:443 #: templates/js/translated/build.js:235 templates/js/translated/build.js:435 #: templates/js/translated/build.js:629 templates/js/translated/build.js:639 @@ -647,7 +648,7 @@ msgstr "" #: build/templates/build/index.html:8 build/templates/build/index.html:12 #: order/templates/order/sales_order_detail.html:42 #: order/templates/order/so_sidebar.html:7 -#: part/templates/part/part_sidebar.html:22 templates/InvenTree/index.html:221 +#: part/templates/part/part_sidebar.html:20 templates/InvenTree/index.html:221 #: templates/InvenTree/search.html:145 #: templates/InvenTree/settings/sidebar.html:42 users/models.py:44 msgid "Build Orders" @@ -671,7 +672,7 @@ msgstr "" msgid "Brief description of the build" msgstr "" -#: build/models.py:219 build/templates/build/build_base.html:156 +#: build/models.py:219 build/templates/build/build_base.html:164 #: build/templates/build/detail.html:88 msgid "Parent Build" msgstr "" @@ -680,7 +681,7 @@ msgstr "" msgid "BuildOrder to which this build is allocated" msgstr "" -#: build/models.py:225 build/templates/build/build_base.html:119 +#: build/models.py:225 build/templates/build/build_base.html:77 #: build/templates/build/detail.html:30 company/models.py:705 #: order/models.py:789 order/models.py:860 #: order/templates/order/order_wizard/select_parts.html:32 part/models.py:357 @@ -752,7 +753,7 @@ msgstr "" msgid "Number of stock items which have been completed" msgstr "" -#: build/models.py:277 part/templates/part/part_base.html:216 +#: build/models.py:277 part/templates/part/part_base.html:234 msgid "Build Status" msgstr "" @@ -769,7 +770,7 @@ msgid "Batch code for this build output" msgstr "" #: build/models.py:292 order/models.py:165 part/models.py:936 -#: part/templates/part/detail.html:86 templates/js/translated/order.js:1104 +#: part/templates/part/part_base.html:313 templates/js/translated/order.js:1104 msgid "Creation Date" msgstr "" @@ -798,10 +799,10 @@ msgstr "" msgid "User who issued this build order" msgstr "" -#: build/models.py:323 build/templates/build/build_base.html:177 +#: build/models.py:323 build/templates/build/build_base.html:185 #: build/templates/build/detail.html:116 order/models.py:179 -#: order/templates/order/order_base.html:154 -#: order/templates/order/sales_order_base.html:161 part/models.py:940 +#: order/templates/order/order_base.html:158 +#: order/templates/order/sales_order_base.html:162 part/models.py:940 #: report/templates/report/inventree_build_order_base.html:159 #: templates/js/translated/build.js:1680 templates/js/translated/order.js:700 msgid "Responsible" @@ -812,10 +813,10 @@ msgid "User responsible for this build order" msgstr "" #: build/models.py:329 build/templates/build/detail.html:102 -#: company/templates/company/manufacturer_part.html:87 -#: company/templates/company/supplier_part.html:88 -#: part/templates/part/detail.html:80 stock/models.py:538 -#: stock/templates/stock/item_base.html:346 +#: company/templates/company/manufacturer_part.html:102 +#: company/templates/company/supplier_part.html:126 +#: part/templates/part/part_base.html:347 stock/models.py:538 +#: stock/templates/stock/item_base.html:367 msgid "External Link" msgstr "" @@ -825,7 +826,7 @@ msgstr "" #: order/models.py:183 order/models.py:738 #: order/templates/order/po_sidebar.html:11 #: order/templates/order/so_sidebar.html:11 part/models.py:925 -#: part/templates/part/detail.html:223 part/templates/part/part_sidebar.html:52 +#: part/templates/part/detail.html:116 part/templates/part/part_sidebar.html:50 #: report/templates/report/inventree_build_order_base.html:173 #: stock/forms.py:154 stock/forms.py:204 stock/forms.py:238 stock/models.py:610 #: stock/models.py:1774 stock/models.py:1880 stock/serializers.py:325 @@ -878,7 +879,7 @@ msgstr "" msgid "Selected stock item not found in BOM" msgstr "" -#: build/models.py:1253 stock/templates/stock/item_base.html:318 +#: build/models.py:1253 stock/templates/stock/item_base.html:339 #: templates/InvenTree/search.html:143 templates/js/translated/build.js:1599 #: templates/navbar.html:33 msgid "Build" @@ -891,7 +892,7 @@ msgstr "" #: build/models.py:1270 build/serializers.py:328 #: stock/templates/stock/item_base.html:8 #: stock/templates/stock/item_base.html:16 -#: stock/templates/stock/item_base.html:340 +#: stock/templates/stock/item_base.html:361 #: templates/js/translated/build.js:408 templates/js/translated/build.js:413 #: templates/js/translated/build.js:1361 templates/js/translated/build.js:1742 #: templates/js/translated/order.js:1178 templates/js/translated/order.js:1183 @@ -937,7 +938,7 @@ msgstr "" #: build/serializers.py:190 order/serializers.py:219 order/serializers.py:287 #: stock/forms.py:236 stock/serializers.py:318 stock/serializers.py:685 -#: stock/templates/stock/item_base.html:286 +#: stock/templates/stock/item_base.html:307 #: templates/js/translated/barcode.js:384 #: templates/js/translated/barcode.js:557 templates/js/translated/build.js:420 #: templates/js/translated/build.js:1027 templates/js/translated/order.js:348 @@ -952,9 +953,9 @@ msgstr "" msgid "Location for completed build outputs" msgstr "" -#: build/serializers.py:197 build/templates/build/build_base.html:129 +#: build/serializers.py:197 build/templates/build/build_base.html:137 #: build/templates/build/detail.html:63 order/models.py:572 -#: order/serializers.py:240 stock/templates/stock/item_base.html:409 +#: order/serializers.py:240 stock/templates/stock/item_base.html:173 #: templates/js/translated/barcode.js:140 templates/js/translated/build.js:1655 #: templates/js/translated/order.js:431 templates/js/translated/order.js:677 #: templates/js/translated/order.js:1096 templates/js/translated/stock.js:1226 @@ -1032,7 +1033,7 @@ msgid "Edit Build" msgstr "" #: build/templates/build/build_base.html:56 -#: build/templates/build/build_base.html:207 build/views.py:56 +#: build/templates/build/build_base.html:215 build/views.py:56 msgid "Cancel Build" msgstr "" @@ -1042,93 +1043,95 @@ msgstr "" #: build/templates/build/build_base.html:64 #: build/templates/build/build_base.html:65 -#: build/templates/build/build_base.html:223 +#: build/templates/build/build_base.html:231 msgid "Complete Build" msgstr "" -#: build/templates/build/build_base.html:79 +#: build/templates/build/build_base.html:82 +msgid "Build Description" +msgstr "" + +#: build/templates/build/build_base.html:91 #, python-format msgid "This Build Order is allocated to Sales Order %(link)s" msgstr "" -#: build/templates/build/build_base.html:86 +#: build/templates/build/build_base.html:98 #, python-format msgid "This Build Order is a child of Build Order %(link)s" msgstr "" -#: build/templates/build/build_base.html:93 +#: build/templates/build/build_base.html:105 msgid "Build Order is ready to mark as completed" msgstr "" -#: build/templates/build/build_base.html:98 +#: build/templates/build/build_base.html:110 msgid "Build Order cannot be completed as outstanding outputs remain" msgstr "" -#: build/templates/build/build_base.html:103 +#: build/templates/build/build_base.html:115 msgid "Required build quantity has not yet been completed" msgstr "" -#: build/templates/build/build_base.html:108 +#: build/templates/build/build_base.html:120 msgid "Stock has not been fully allocated to this Build Order" msgstr "" -#: build/templates/build/build_base.html:138 +#: build/templates/build/build_base.html:146 #: build/templates/build/detail.html:132 -#: order/templates/order/order_base.html:140 -#: order/templates/order/sales_order_base.html:140 +#: order/templates/order/order_base.html:144 +#: order/templates/order/sales_order_base.html:141 #: report/templates/report/inventree_build_order_base.html:126 #: templates/js/translated/build.js:1692 templates/js/translated/order.js:690 #: templates/js/translated/order.js:1109 msgid "Target Date" msgstr "" -#: build/templates/build/build_base.html:143 +#: build/templates/build/build_base.html:151 #, python-format msgid "This build was due on %(target)s" msgstr "" -#: build/templates/build/build_base.html:143 -#: build/templates/build/build_base.html:188 -#: order/templates/order/order_base.html:81 -#: order/templates/order/order_base.html:102 -#: order/templates/order/sales_order_base.html:78 -#: order/templates/order/sales_order_base.html:107 +#: build/templates/build/build_base.html:151 +#: build/templates/build/build_base.html:196 +#: order/templates/order/order_base.html:98 +#: order/templates/order/sales_order_base.html:93 #: templates/js/translated/table_filters.js:294 #: templates/js/translated/table_filters.js:322 #: templates/js/translated/table_filters.js:339 msgid "Overdue" msgstr "" -#: build/templates/build/build_base.html:150 +#: build/templates/build/build_base.html:158 #: build/templates/build/detail.html:68 build/templates/build/detail.html:143 #: templates/js/translated/build.js:1641 #: templates/js/translated/table_filters.js:304 msgid "Completed" msgstr "" -#: build/templates/build/build_base.html:163 +#: build/templates/build/build_base.html:171 #: build/templates/build/detail.html:95 order/models.py:857 #: order/templates/order/sales_order_base.html:9 #: order/templates/order/sales_order_base.html:28 #: order/templates/order/sales_order_ship.html:25 #: report/templates/report/inventree_build_order_base.html:136 #: report/templates/report/inventree_so_report.html:77 -#: stock/templates/stock/item_base.html:280 +#: stock/templates/stock/item_base.html:301 #: templates/js/translated/order.js:1051 msgid "Sales Order" msgstr "" -#: build/templates/build/build_base.html:170 +#: build/templates/build/build_base.html:178 #: build/templates/build/detail.html:109 #: report/templates/report/inventree_build_order_base.html:153 msgid "Issued By" msgstr "" -#: build/templates/build/build_base.html:215 +#: build/templates/build/build_base.html:223 msgid "Incomplete Outputs" msgstr "" -#: build/templates/build/build_base.html:216 +#: build/templates/build/build_base.html:224 msgid "Build Order cannot be completed as incomplete build outputs remain" msgstr "" @@ -1202,7 +1205,7 @@ msgid "Allocated Parts" msgstr "" #: build/templates/build/detail.html:81 -#: stock/templates/stock/item_base.html:304 +#: stock/templates/stock/item_base.html:325 #: templates/js/translated/stock.js:1240 templates/js/translated/stock.js:2194 #: templates/js/translated/table_filters.js:151 #: templates/js/translated/table_filters.js:233 @@ -1210,8 +1213,8 @@ msgid "Batch" msgstr "" #: build/templates/build/detail.html:127 -#: order/templates/order/order_base.html:127 -#: order/templates/order/sales_order_base.html:134 +#: order/templates/order/order_base.html:131 +#: order/templates/order/sales_order_base.html:135 #: templates/js/translated/build.js:1663 msgid "Created" msgstr "" @@ -1255,7 +1258,7 @@ msgstr "" #: build/templates/build/detail.html:185 #: company/templates/company/detail.html:38 #: company/templates/company/detail.html:85 order/views.py:509 -#: part/templates/part/category.html:166 +#: part/templates/part/category.html:173 msgid "Order Parts" msgstr "" @@ -1307,8 +1310,8 @@ msgstr "" #: order/templates/order/po_sidebar.html:9 #: order/templates/order/purchase_order_detail.html:60 #: order/templates/order/sales_order_detail.html:52 -#: order/templates/order/so_sidebar.html:9 part/templates/part/detail.html:300 -#: part/templates/part/part_sidebar.html:50 stock/templates/stock/item.html:95 +#: order/templates/order/so_sidebar.html:9 part/templates/part/detail.html:193 +#: part/templates/part/part_sidebar.html:48 stock/templates/stock/item.html:95 #: stock/templates/stock/stock_sidebar.html:19 msgid "Attachments" msgstr "" @@ -1324,7 +1327,7 @@ msgstr "" #: order/templates/order/purchase_order_detail.html:108 #: order/templates/order/sales_order_detail.html:72 #: order/templates/order/sales_order_detail.html:99 -#: part/templates/part/detail.html:227 stock/templates/stock/item.html:115 +#: part/templates/part/detail.html:120 stock/templates/stock/item.html:115 #: stock/templates/stock/item.html:205 msgid "Edit Notes" msgstr "" @@ -1337,7 +1340,7 @@ msgstr "" msgid "All untracked stock items have been allocated" msgstr "" -#: build/templates/build/index.html:18 part/templates/part/detail.html:407 +#: build/templates/build/index.html:18 part/templates/part/detail.html:300 msgid "New Build Order" msgstr "" @@ -1676,7 +1679,7 @@ msgid "Parts are trackable by default" msgstr "" #: common/models.py:745 part/models.py:920 -#: part/templates/part/part_base.html:144 +#: part/templates/part/part_base.html:147 #: templates/js/translated/table_filters.js:42 msgid "Virtual" msgstr "" @@ -2207,7 +2210,7 @@ msgstr "" msgid "Description of the company" msgstr "" -#: company/models.py:112 company/templates/company/company_base.html:70 +#: company/models.py:112 company/templates/company/company_base.html:97 #: templates/js/translated/company.js:349 msgid "Website" msgstr "" @@ -2216,7 +2219,7 @@ msgstr "" msgid "Company website URL" msgstr "" -#: company/models.py:117 company/templates/company/company_base.html:88 +#: company/models.py:117 company/templates/company/company_base.html:115 msgid "Address" msgstr "" @@ -2232,7 +2235,7 @@ msgstr "" msgid "Contact phone number" msgstr "" -#: company/models.py:125 company/templates/company/company_base.html:102 +#: company/models.py:125 company/templates/company/company_base.html:129 #: templates/InvenTree/settings/user.html:47 msgid "Email" msgstr "" @@ -2241,7 +2244,7 @@ msgstr "" msgid "Contact email address" msgstr "" -#: company/models.py:128 company/templates/company/company_base.html:109 +#: company/models.py:128 company/templates/company/company_base.html:136 msgid "Contact" msgstr "" @@ -2282,7 +2285,7 @@ msgid "Does this company manufacture parts?" msgstr "" #: company/models.py:152 company/serializers.py:270 -#: company/templates/company/company_base.html:76 stock/serializers.py:172 +#: company/templates/company/company_base.html:103 stock/serializers.py:172 msgid "Currency" msgstr "" @@ -2291,7 +2294,7 @@ msgid "Default currency used for this company" msgstr "" #: company/models.py:320 company/models.py:535 stock/models.py:484 -#: stock/templates/stock/item_base.html:224 +#: stock/templates/stock/item_base.html:135 msgid "Base Part" msgstr "" @@ -2299,10 +2302,10 @@ msgstr "" msgid "Select part" msgstr "" -#: company/models.py:335 company/templates/company/company_base.html:116 -#: company/templates/company/manufacturer_part.html:93 -#: company/templates/company/supplier_part.html:104 -#: stock/templates/stock/item_base.html:353 +#: company/models.py:335 company/templates/company/company_base.html:73 +#: company/templates/company/manufacturer_part.html:91 +#: company/templates/company/supplier_part.html:97 +#: stock/templates/stock/item_base.html:374 #: templates/js/translated/company.js:333 #: templates/js/translated/company.js:514 #: templates/js/translated/company.js:797 templates/js/translated/part.js:229 @@ -2313,8 +2316,8 @@ msgstr "" msgid "Select manufacturer" msgstr "" -#: company/models.py:342 company/templates/company/manufacturer_part.html:97 -#: company/templates/company/supplier_part.html:112 +#: company/models.py:342 company/templates/company/manufacturer_part.html:96 +#: company/templates/company/supplier_part.html:105 #: templates/js/translated/company.js:530 #: templates/js/translated/company.js:815 templates/js/translated/order.js:874 #: templates/js/translated/part.js:240 @@ -2336,7 +2339,7 @@ msgstr "" #: company/models.py:409 company/models.py:558 #: company/templates/company/manufacturer_part.html:6 #: company/templates/company/manufacturer_part.html:23 -#: stock/templates/stock/item_base.html:363 +#: stock/templates/stock/item_base.html:384 msgid "Manufacturer Part" msgstr "" @@ -2356,7 +2359,7 @@ msgid "Parameter value" msgstr "" #: company/models.py:429 part/models.py:882 part/models.py:2397 -#: part/templates/part/detail.html:59 +#: part/templates/part/part_base.html:288 #: templates/InvenTree/settings/settings.html:264 #: templates/js/translated/company.js:650 templates/js/translated/part.js:651 msgid "Units" @@ -2370,11 +2373,11 @@ msgstr "" msgid "Linked manufacturer part must reference the same base part" msgstr "" -#: company/models.py:545 company/templates/company/company_base.html:121 -#: company/templates/company/supplier_part.html:94 order/models.py:263 -#: order/templates/order/order_base.html:108 +#: company/models.py:545 company/templates/company/company_base.html:78 +#: company/templates/company/supplier_part.html:87 order/models.py:263 +#: order/templates/order/order_base.html:112 #: order/templates/order/order_wizard/select_pos.html:30 part/bom.py:219 -#: part/bom.py:247 stock/templates/stock/item_base.html:370 +#: part/bom.py:247 stock/templates/stock/item_base.html:391 #: templates/js/translated/company.js:337 #: templates/js/translated/company.js:771 templates/js/translated/order.js:660 #: templates/js/translated/part.js:210 @@ -2385,7 +2388,7 @@ msgstr "" msgid "Select supplier" msgstr "" -#: company/models.py:551 company/templates/company/supplier_part.html:98 +#: company/models.py:551 company/templates/company/supplier_part.html:91 #: part/bom.py:220 part/bom.py:248 templates/js/translated/order.js:861 #: templates/js/translated/part.js:221 msgid "SKU" @@ -2407,7 +2410,7 @@ msgstr "" msgid "Supplier part description" msgstr "" -#: company/models.py:576 company/templates/company/supplier_part.html:126 +#: company/models.py:576 company/templates/company/supplier_part.html:119 #: part/models.py:2588 report/templates/report/inventree_po_report.html:93 #: report/templates/report/inventree_so_report.html:93 msgid "Note" @@ -2421,8 +2424,8 @@ msgstr "" msgid "Minimum charge (e.g. stocking fee)" msgstr "" -#: company/models.py:582 company/templates/company/supplier_part.html:119 -#: stock/models.py:507 stock/templates/stock/item_base.html:311 +#: company/models.py:582 company/templates/company/supplier_part.html:112 +#: stock/models.py:507 stock/templates/stock/item_base.html:332 #: templates/js/translated/company.js:847 templates/js/translated/stock.js:1366 msgid "Packaging" msgstr "" @@ -2458,43 +2461,56 @@ msgstr "" msgid "Create Purchase Order" msgstr "" -#: company/templates/company/company_base.html:27 +#: company/templates/company/company_base.html:26 +msgid "Company actions" +msgstr "" + +#: company/templates/company/company_base.html:31 msgid "Edit company information" msgstr "" #: company/templates/company/company_base.html:32 -#: company/templates/company/company_base.html:148 +#: templates/js/translated/company.js:265 +msgid "Edit Company" +msgstr "" + +#: company/templates/company/company_base.html:36 +msgid "Delete company" +msgstr "" + +#: company/templates/company/company_base.html:37 +#: company/templates/company/company_base.html:159 msgid "Delete Company" msgstr "" -#: company/templates/company/company_base.html:48 +#: company/templates/company/company_base.html:53 #: part/templates/part/part_thumb.html:12 msgid "Upload new image" msgstr "" -#: company/templates/company/company_base.html:51 +#: company/templates/company/company_base.html:56 #: part/templates/part/part_thumb.html:14 msgid "Download image from URL" msgstr "" -#: company/templates/company/company_base.html:81 -msgid "Uses default currency" -msgstr "" - -#: company/templates/company/company_base.html:95 -msgid "Phone" -msgstr "" - -#: company/templates/company/company_base.html:126 order/models.py:567 -#: order/templates/order/sales_order_base.html:114 stock/models.py:525 -#: stock/models.py:526 stock/templates/stock/item_base.html:263 +#: company/templates/company/company_base.html:83 order/models.py:567 +#: order/templates/order/sales_order_base.html:115 stock/models.py:525 +#: stock/models.py:526 stock/templates/stock/item_base.html:284 #: templates/js/translated/company.js:329 templates/js/translated/order.js:1073 #: templates/js/translated/stock.js:2002 msgid "Customer" msgstr "" -#: company/templates/company/company_base.html:194 -#: part/templates/part/part_base.html:342 +#: company/templates/company/company_base.html:108 +msgid "Uses default currency" +msgstr "" + +#: company/templates/company/company_base.html:122 +msgid "Phone" +msgstr "" + +#: company/templates/company/company_base.html:205 +#: part/templates/part/part_base.html:464 msgid "Upload Image" msgstr "" @@ -2510,23 +2526,23 @@ msgid "Create new supplier part" msgstr "" #: company/templates/company/detail.html:20 -#: company/templates/company/manufacturer_part.html:112 -#: part/templates/part/detail.html:440 +#: company/templates/company/manufacturer_part.html:118 +#: part/templates/part/detail.html:333 msgid "New Supplier Part" msgstr "" #: company/templates/company/detail.html:32 #: company/templates/company/detail.html:79 -#: company/templates/company/manufacturer_part.html:121 -#: company/templates/company/manufacturer_part.html:150 -#: part/templates/part/category.html:160 part/templates/part/detail.html:449 -#: part/templates/part/detail.html:477 +#: company/templates/company/manufacturer_part.html:127 +#: company/templates/company/manufacturer_part.html:156 +#: part/templates/part/category.html:167 part/templates/part/detail.html:342 +#: part/templates/part/detail.html:370 msgid "Options" msgstr "" #: company/templates/company/detail.html:37 #: company/templates/company/detail.html:84 -#: part/templates/part/category.html:166 +#: part/templates/part/category.html:173 msgid "Order parts" msgstr "" @@ -2548,7 +2564,7 @@ msgstr "" msgid "Create new manufacturer part" msgstr "" -#: company/templates/company/detail.html:67 part/templates/part/detail.html:467 +#: company/templates/company/detail.html:67 part/templates/part/detail.html:360 msgid "New Manufacturer Part" msgstr "" @@ -2562,7 +2578,7 @@ msgstr "" #: order/templates/order/order_base.html:13 #: order/templates/order/purchase_orders.html:8 #: order/templates/order/purchase_orders.html:12 -#: part/templates/part/detail.html:171 part/templates/part/part_sidebar.html:35 +#: part/templates/part/detail.html:64 part/templates/part/part_sidebar.html:33 #: templates/InvenTree/index.html:252 templates/InvenTree/search.html:203 #: templates/InvenTree/settings/sidebar.html:44 templates/navbar.html:45 #: users/models.py:45 @@ -2584,7 +2600,7 @@ msgstr "" #: order/templates/order/sales_order_base.html:13 #: order/templates/order/sales_orders.html:8 #: order/templates/order/sales_orders.html:15 -#: part/templates/part/detail.html:194 part/templates/part/part_sidebar.html:39 +#: part/templates/part/detail.html:87 part/templates/part/part_sidebar.html:37 #: templates/InvenTree/index.html:283 templates/InvenTree/search.html:223 #: templates/InvenTree/settings/sidebar.html:46 templates/navbar.html:56 #: users/models.py:46 @@ -2611,14 +2627,14 @@ msgid "Company Notes" msgstr "" #: company/templates/company/detail.html:383 -#: company/templates/company/manufacturer_part.html:209 -#: part/templates/part/detail.html:520 +#: company/templates/company/manufacturer_part.html:215 +#: part/templates/part/detail.html:413 msgid "Delete Supplier Parts?" msgstr "" #: company/templates/company/detail.html:384 -#: company/templates/company/manufacturer_part.html:210 -#: part/templates/part/detail.html:521 +#: company/templates/company/manufacturer_part.html:216 +#: part/templates/part/detail.html:414 msgid "All selected supplier parts will be deleted" msgstr "" @@ -2635,7 +2651,7 @@ msgstr "" #: company/templates/company/manufacturer_part.html:35 #: company/templates/company/supplier_part.html:34 #: company/templates/company/supplier_part.html:159 -#: part/templates/part/detail.html:174 part/templates/part/part_base.html:76 +#: part/templates/part/detail.html:67 part/templates/part/part_base.html:76 msgid "Order part" msgstr "" @@ -2649,60 +2665,60 @@ msgstr "" msgid "Delete manufacturer part" msgstr "" -#: company/templates/company/manufacturer_part.html:70 -#: company/templates/company/supplier_part.html:71 +#: company/templates/company/manufacturer_part.html:66 +#: company/templates/company/supplier_part.html:63 msgid "Internal Part" msgstr "" -#: company/templates/company/manufacturer_part.html:108 +#: company/templates/company/manufacturer_part.html:114 #: company/templates/company/supplier_part.html:15 company/views.py:49 -#: part/templates/part/part_sidebar.html:33 part/templates/part/prices.html:163 +#: part/templates/part/part_sidebar.html:31 part/templates/part/prices.html:163 #: templates/InvenTree/search.html:194 templates/navbar.html:43 msgid "Suppliers" msgstr "" -#: company/templates/company/manufacturer_part.html:123 -#: part/templates/part/detail.html:451 +#: company/templates/company/manufacturer_part.html:129 +#: part/templates/part/detail.html:344 msgid "Delete supplier parts" msgstr "" -#: company/templates/company/manufacturer_part.html:123 -#: company/templates/company/manufacturer_part.html:152 -#: company/templates/company/manufacturer_part.html:248 -#: part/templates/part/detail.html:451 part/templates/part/detail.html:479 +#: company/templates/company/manufacturer_part.html:129 +#: company/templates/company/manufacturer_part.html:158 +#: company/templates/company/manufacturer_part.html:254 +#: part/templates/part/detail.html:344 part/templates/part/detail.html:372 #: templates/js/translated/company.js:425 templates/js/translated/helpers.js:31 #: users/models.py:204 msgid "Delete" msgstr "" -#: company/templates/company/manufacturer_part.html:137 +#: company/templates/company/manufacturer_part.html:143 #: company/templates/company/manufacturer_part_sidebar.html:5 #: part/templates/part/category_sidebar.html:17 -#: part/templates/part/detail.html:277 part/templates/part/part_sidebar.html:10 +#: part/templates/part/detail.html:170 part/templates/part/part_sidebar.html:8 msgid "Parameters" msgstr "" -#: company/templates/company/manufacturer_part.html:141 -#: part/templates/part/detail.html:282 +#: company/templates/company/manufacturer_part.html:147 +#: part/templates/part/detail.html:175 #: templates/InvenTree/settings/category.html:12 #: templates/InvenTree/settings/part.html:65 msgid "New Parameter" msgstr "" -#: company/templates/company/manufacturer_part.html:152 +#: company/templates/company/manufacturer_part.html:158 msgid "Delete parameters" msgstr "" -#: company/templates/company/manufacturer_part.html:185 -#: part/templates/part/detail.html:976 +#: company/templates/company/manufacturer_part.html:191 +#: part/templates/part/detail.html:869 msgid "Add Parameter" msgstr "" -#: company/templates/company/manufacturer_part.html:233 +#: company/templates/company/manufacturer_part.html:239 msgid "Selected parameters will be deleted" msgstr "" -#: company/templates/company/manufacturer_part.html:245 +#: company/templates/company/manufacturer_part.html:251 msgid "Delete Parameters" msgstr "" @@ -2724,7 +2740,7 @@ msgstr "" #: company/templates/company/supplier_part.html:7 #: company/templates/company/supplier_part.html:24 stock/models.py:492 -#: stock/templates/stock/item_base.html:375 +#: stock/templates/stock/item_base.html:396 #: templates/js/translated/company.js:787 templates/js/translated/stock.js:1323 msgid "Supplier Part" msgstr "" @@ -2745,12 +2761,12 @@ msgid "Supplier Part Stock" msgstr "" #: company/templates/company/supplier_part.html:141 -#: part/templates/part/detail.html:127 stock/templates/stock/location.html:147 +#: part/templates/part/detail.html:20 stock/templates/stock/location.html:162 msgid "Create new stock item" msgstr "" #: company/templates/company/supplier_part.html:142 -#: part/templates/part/detail.html:128 stock/templates/stock/location.html:148 +#: part/templates/part/detail.html:21 stock/templates/stock/location.html:163 #: templates/js/translated/stock.js:354 msgid "New Stock Item" msgstr "" @@ -2761,7 +2777,7 @@ msgid "Supplier Part Orders" msgstr "" #: company/templates/company/supplier_part.html:160 -#: part/templates/part/detail.html:175 +#: part/templates/part/detail.html:68 msgid "Order Part" msgstr "" @@ -2797,7 +2813,7 @@ msgid "Delete price break" msgstr "" #: company/templates/company/supplier_part_navbar.html:15 -#: part/templates/part/part_sidebar.html:16 +#: part/templates/part/part_sidebar.html:14 #: stock/templates/stock/loc_link.html:3 stock/templates/stock/location.html:14 #: stock/templates/stock/stock_app_base.html:10 #: templates/InvenTree/search.html:156 @@ -2819,14 +2835,14 @@ msgid "Supplier Part Pricing" msgstr "" #: company/templates/company/supplier_part_navbar.html:29 -#: part/templates/part/part_sidebar.html:30 +#: part/templates/part/part_sidebar.html:28 msgid "Pricing" msgstr "" #: company/templates/company/supplier_part_sidebar.html:5 -#: stock/templates/stock/location.html:118 -#: stock/templates/stock/location.html:132 -#: stock/templates/stock/location.html:144 +#: stock/templates/stock/location.html:133 +#: stock/templates/stock/location.html:147 +#: stock/templates/stock/location.html:159 #: stock/templates/stock/location_sidebar.html:7 #: templates/InvenTree/search.html:158 templates/js/translated/stock.js:1901 #: templates/stats.html:93 templates/stats.html:102 users/models.py:43 @@ -2948,7 +2964,7 @@ msgstr "" msgid "Place order" msgstr "" -#: order/forms.py:37 order/templates/order/order_base.html:59 +#: order/forms.py:37 order/templates/order/order_base.html:60 msgid "Mark order as complete" msgstr "" @@ -3001,7 +3017,7 @@ msgstr "" msgid "Company from which the items are being ordered" msgstr "" -#: order/models.py:267 order/templates/order/order_base.html:114 +#: order/models.py:267 order/templates/order/order_base.html:118 #: templates/js/translated/order.js:669 msgid "Supplier Reference" msgstr "" @@ -3094,7 +3110,7 @@ msgstr "" #: order/models.py:769 order/templates/order/order_base.html:9 #: order/templates/order/order_base.html:18 #: report/templates/report/inventree_po_report.html:77 -#: stock/templates/stock/item_base.html:325 +#: stock/templates/stock/item_base.html:346 #: templates/js/translated/order.js:638 templates/js/translated/stock.js:1300 #: templates/js/translated/stock.js:1983 msgid "Purchase Order" @@ -3104,8 +3120,8 @@ msgstr "" msgid "Supplier part" msgstr "" -#: order/models.py:797 order/templates/order/order_base.html:147 -#: order/templates/order/sales_order_base.html:154 +#: order/models.py:797 order/templates/order/order_base.html:151 +#: order/templates/order/sales_order_base.html:155 #: templates/js/translated/order.js:429 templates/js/translated/order.js:954 msgid "Received" msgstr "" @@ -3115,7 +3131,7 @@ msgid "Number of items received" msgstr "" #: order/models.py:805 part/templates/part/prices.html:176 stock/models.py:619 -#: stock/serializers.py:163 stock/templates/stock/item_base.html:332 +#: stock/serializers.py:163 stock/templates/stock/item_base.html:353 #: templates/js/translated/stock.js:1354 msgid "Purchase Price" msgstr "" @@ -3249,22 +3265,36 @@ msgstr "" msgid "Receive items" msgstr "" -#: order/templates/order/order_base.html:93 -#: order/templates/order/sales_order_base.html:98 +#: order/templates/order/order_base.html:58 +#: order/templates/order/purchase_order_detail.html:31 +msgid "Receive Items" +msgstr "" + +#: order/templates/order/order_base.html:62 order/views.py:185 +msgid "Complete Order" +msgstr "" + +#: order/templates/order/order_base.html:84 +#: order/templates/order/sales_order_base.html:79 msgid "Order Reference" msgstr "" -#: order/templates/order/order_base.html:98 -#: order/templates/order/sales_order_base.html:103 +#: order/templates/order/order_base.html:89 +#: order/templates/order/sales_order_base.html:84 +msgid "Order Description" +msgstr "" + +#: order/templates/order/order_base.html:94 +#: order/templates/order/sales_order_base.html:89 msgid "Order Status" msgstr "" -#: order/templates/order/order_base.html:133 +#: order/templates/order/order_base.html:137 #: report/templates/report/inventree_build_order_base.html:122 msgid "Issued" msgstr "" -#: order/templates/order/order_base.html:203 +#: order/templates/order/order_base.html:207 msgid "Edit Purchase Order" msgstr "" @@ -3466,10 +3496,6 @@ msgstr "" msgid "Receive selected items" msgstr "" -#: order/templates/order/purchase_order_detail.html:31 -msgid "Receive Items" -msgstr "" - #: order/templates/order/purchase_order_detail.html:50 msgid "Received Items" msgstr "" @@ -3497,16 +3523,16 @@ msgstr "" msgid "Ship Order" msgstr "" -#: order/templates/order/sales_order_base.html:86 +#: order/templates/order/sales_order_base.html:102 msgid "This Sales Order has not been fully allocated" msgstr "" -#: order/templates/order/sales_order_base.html:121 +#: order/templates/order/sales_order_base.html:122 #: templates/js/translated/order.js:1086 msgid "Customer Reference" msgstr "" -#: order/templates/order/sales_order_base.html:194 +#: order/templates/order/sales_order_base.html:195 msgid "Edit Sales Order" msgstr "" @@ -3577,10 +3603,6 @@ msgstr "" msgid "Purchase order issued" msgstr "" -#: order/views.py:185 -msgid "Complete Order" -msgstr "" - #: order/views.py:201 msgid "Confirm order completion" msgstr "" @@ -3673,11 +3695,11 @@ msgid "This field is required" msgstr "" #: part/bom.py:125 part/models.py:81 part/models.py:816 -#: part/templates/part/category.html:90 part/templates/part/detail.html:104 +#: part/templates/part/category.html:104 part/templates/part/part_base.html:331 msgid "Default Location" msgstr "" -#: part/bom.py:126 part/templates/part/part_base.html:167 +#: part/bom.py:126 part/templates/part/part_base.html:185 msgid "Available Stock" msgstr "" @@ -3794,15 +3816,15 @@ msgstr "" msgid "Part Category" msgstr "" -#: part/models.py:96 part/templates/part/category.html:117 +#: part/models.py:96 part/templates/part/category.html:124 #: templates/InvenTree/search.html:101 templates/stats.html:84 #: users/models.py:40 msgid "Part Categories" msgstr "" #: part/models.py:358 part/templates/part/cat_link.html:3 -#: part/templates/part/category.html:13 part/templates/part/category.html:122 -#: part/templates/part/category.html:142 +#: part/templates/part/category.html:13 part/templates/part/category.html:129 +#: part/templates/part/category.html:149 #: part/templates/part/category_sidebar.html:9 #: templates/InvenTree/index.html:85 templates/InvenTree/search.html:88 #: templates/InvenTree/settings/sidebar.html:36 @@ -3860,8 +3882,8 @@ msgstr "" msgid "Part description" msgstr "" -#: part/models.py:770 part/templates/part/category.html:97 -#: part/templates/part/detail.html:73 +#: part/models.py:770 part/templates/part/category.html:82 +#: part/templates/part/part_base.html:302 msgid "Keywords" msgstr "" @@ -3870,7 +3892,8 @@ msgid "Part keywords to improve visibility in search results" msgstr "" #: part/models.py:778 part/models.py:2223 part/models.py:2472 -#: part/templates/part/detail.html:36 part/templates/part/set_category.html:15 +#: part/templates/part/part_base.html:265 +#: part/templates/part/set_category.html:15 #: templates/InvenTree/settings/settings.html:163 #: templates/js/translated/part.js:1021 msgid "Category" @@ -3880,7 +3903,7 @@ msgstr "" msgid "Part category" msgstr "" -#: part/models.py:784 part/templates/part/detail.html:45 +#: part/models.py:784 part/templates/part/part_base.html:274 #: templates/js/translated/part.js:550 templates/js/translated/part.js:974 #: templates/js/translated/stock.js:1134 msgid "IPN" @@ -3894,8 +3917,8 @@ msgstr "" msgid "Part revision or version number" msgstr "" -#: part/models.py:792 part/templates/part/detail.html:52 report/models.py:200 -#: templates/js/translated/part.js:554 +#: part/models.py:792 part/templates/part/part_base.html:281 +#: report/models.py:200 templates/js/translated/part.js:554 msgid "Revision" msgstr "" @@ -3903,7 +3926,7 @@ msgstr "" msgid "Where is this item normally stored?" msgstr "" -#: part/models.py:861 part/templates/part/detail.html:113 +#: part/models.py:861 part/templates/part/part_base.html:340 msgid "Default Supplier" msgstr "" @@ -3919,7 +3942,7 @@ msgstr "" msgid "Expiry time (in days) for stock items of this part" msgstr "" -#: part/models.py:875 part/templates/part/part_base.html:178 +#: part/models.py:875 part/templates/part/part_base.html:196 msgid "Minimum Stock" msgstr "" @@ -4214,7 +4237,7 @@ msgstr "" msgid "The BOM for %(part)s has not been validated." msgstr "" -#: part/templates/part/bom.html:30 part/templates/part/detail.html:357 +#: part/templates/part/bom.html:30 part/templates/part/detail.html:250 msgid "BOM actions" msgstr "" @@ -4299,68 +4322,64 @@ msgstr "" msgid "New Category" msgstr "" -#: part/templates/part/category.html:67 -msgid "Top level part category" -msgstr "" - -#: part/templates/part/category.html:79 +#: part/templates/part/category.html:76 part/templates/part/category.html:89 msgid "Category Path" msgstr "" -#: part/templates/part/category.html:84 -msgid "Category Description" +#: part/templates/part/category.html:90 +msgid "Top level part category" msgstr "" -#: part/templates/part/category.html:103 part/templates/part/category.html:194 +#: part/templates/part/category.html:110 part/templates/part/category.html:201 #: part/templates/part/category_sidebar.html:7 msgid "Subcategories" msgstr "" -#: part/templates/part/category.html:108 +#: part/templates/part/category.html:115 msgid "Parts (Including subcategories)" msgstr "" -#: part/templates/part/category.html:145 +#: part/templates/part/category.html:152 msgid "Export Part Data" msgstr "" -#: part/templates/part/category.html:146 part/templates/part/category.html:170 +#: part/templates/part/category.html:153 part/templates/part/category.html:177 msgid "Export" msgstr "" -#: part/templates/part/category.html:149 +#: part/templates/part/category.html:156 msgid "Create new part" msgstr "" -#: part/templates/part/category.html:150 templates/js/translated/bom.js:40 +#: part/templates/part/category.html:157 templates/js/translated/bom.js:40 msgid "New Part" msgstr "" -#: part/templates/part/category.html:164 +#: part/templates/part/category.html:171 msgid "Set category" msgstr "" -#: part/templates/part/category.html:164 +#: part/templates/part/category.html:171 msgid "Set Category" msgstr "" -#: part/templates/part/category.html:168 +#: part/templates/part/category.html:175 msgid "Print Labels" msgstr "" -#: part/templates/part/category.html:170 +#: part/templates/part/category.html:177 msgid "Export Data" msgstr "" -#: part/templates/part/category.html:184 +#: part/templates/part/category.html:191 msgid "Part Parameters" msgstr "" -#: part/templates/part/category.html:261 +#: part/templates/part/category.html:268 msgid "Create Part Category" msgstr "" -#: part/templates/part/category.html:288 +#: part/templates/part/category.html:295 msgid "Create Part" msgstr "" @@ -4427,167 +4446,155 @@ msgstr "" msgid "%(full_name)s - %(desc)s (%(match_per)s%% match)" msgstr "" -#: part/templates/part/detail.html:16 -msgid "Part Details" -msgstr "" - -#: part/templates/part/detail.html:66 -msgid "Minimum stock level" -msgstr "" - -#: part/templates/part/detail.html:97 -msgid "Latest Serial Number" -msgstr "" - -#: part/templates/part/detail.html:124 +#: part/templates/part/detail.html:17 msgid "Part Stock" msgstr "" -#: part/templates/part/detail.html:136 +#: part/templates/part/detail.html:29 #, python-format msgid "Showing stock for all variants of %(full_name)s" msgstr "" -#: part/templates/part/detail.html:146 +#: part/templates/part/detail.html:39 msgid "Part Test Templates" msgstr "" -#: part/templates/part/detail.html:151 +#: part/templates/part/detail.html:44 msgid "Add Test Template" msgstr "" -#: part/templates/part/detail.html:208 +#: part/templates/part/detail.html:101 msgid "Sales Order Allocations" msgstr "" -#: part/templates/part/detail.html:249 +#: part/templates/part/detail.html:142 msgid "Part Variants" msgstr "" -#: part/templates/part/detail.html:253 +#: part/templates/part/detail.html:146 msgid "Create new variant" msgstr "" -#: part/templates/part/detail.html:254 +#: part/templates/part/detail.html:147 msgid "New Variant" msgstr "" -#: part/templates/part/detail.html:281 +#: part/templates/part/detail.html:174 msgid "Add new parameter" msgstr "" -#: part/templates/part/detail.html:315 part/templates/part/part_sidebar.html:47 +#: part/templates/part/detail.html:208 part/templates/part/part_sidebar.html:45 msgid "Related Parts" msgstr "" -#: part/templates/part/detail.html:319 part/templates/part/detail.html:320 +#: part/templates/part/detail.html:212 part/templates/part/detail.html:213 msgid "Add Related" msgstr "" -#: part/templates/part/detail.html:340 part/templates/part/part_sidebar.html:19 +#: part/templates/part/detail.html:233 part/templates/part/part_sidebar.html:17 msgid "Bill of Materials" msgstr "" -#: part/templates/part/detail.html:345 +#: part/templates/part/detail.html:238 msgid "Export actions" msgstr "" -#: part/templates/part/detail.html:349 +#: part/templates/part/detail.html:242 msgid "Export BOM" msgstr "" -#: part/templates/part/detail.html:351 +#: part/templates/part/detail.html:244 msgid "Print BOM Report" msgstr "" -#: part/templates/part/detail.html:361 +#: part/templates/part/detail.html:254 msgid "Upload BOM" msgstr "" -#: part/templates/part/detail.html:363 templates/js/translated/part.js:267 +#: part/templates/part/detail.html:256 templates/js/translated/part.js:267 msgid "Copy BOM" msgstr "" -#: part/templates/part/detail.html:365 part/views.py:755 +#: part/templates/part/detail.html:258 part/views.py:755 msgid "Validate BOM" msgstr "" -#: part/templates/part/detail.html:370 +#: part/templates/part/detail.html:263 msgid "New BOM Item" msgstr "" -#: part/templates/part/detail.html:371 +#: part/templates/part/detail.html:264 msgid "Add BOM Item" msgstr "" -#: part/templates/part/detail.html:384 +#: part/templates/part/detail.html:277 msgid "Assemblies" msgstr "" -#: part/templates/part/detail.html:401 +#: part/templates/part/detail.html:294 msgid "Part Builds" msgstr "" -#: part/templates/part/detail.html:426 +#: part/templates/part/detail.html:319 msgid "Build Order Allocations" msgstr "" -#: part/templates/part/detail.html:436 +#: part/templates/part/detail.html:329 msgid "Part Suppliers" msgstr "" -#: part/templates/part/detail.html:463 +#: part/templates/part/detail.html:356 msgid "Part Manufacturers" msgstr "" -#: part/templates/part/detail.html:479 +#: part/templates/part/detail.html:372 msgid "Delete manufacturer parts" msgstr "" -#: part/templates/part/detail.html:660 +#: part/templates/part/detail.html:553 msgid "Delete selected BOM items?" msgstr "" -#: part/templates/part/detail.html:661 +#: part/templates/part/detail.html:554 msgid "All selected BOM items will be deleted" msgstr "" -#: part/templates/part/detail.html:712 +#: part/templates/part/detail.html:605 msgid "Create BOM Item" msgstr "" -#: part/templates/part/detail.html:764 +#: part/templates/part/detail.html:657 msgid "Related Part" msgstr "" -#: part/templates/part/detail.html:772 +#: part/templates/part/detail.html:665 msgid "Add Related Part" msgstr "" -#: part/templates/part/detail.html:869 +#: part/templates/part/detail.html:762 msgid "Add Test Result Template" msgstr "" -#: part/templates/part/detail.html:926 +#: part/templates/part/detail.html:819 msgid "Edit Part Notes" msgstr "" -#: part/templates/part/detail.html:1039 +#: part/templates/part/detail.html:932 #, python-format msgid "Purchase Unit Price - %(currency)s" msgstr "" -#: part/templates/part/detail.html:1051 +#: part/templates/part/detail.html:944 #, python-format msgid "Unit Price-Cost Difference - %(currency)s" msgstr "" -#: part/templates/part/detail.html:1063 +#: part/templates/part/detail.html:956 #, python-format msgid "Supplier Unit Cost - %(currency)s" msgstr "" -#: part/templates/part/detail.html:1152 +#: part/templates/part/detail.html:1045 #, python-format msgid "Unit Price - %(currency)s" msgstr "" @@ -4669,36 +4676,36 @@ msgstr "" msgid "Delete part" msgstr "" -#: part/templates/part/part_base.html:109 +#: part/templates/part/part_base.html:112 msgid "Part is a template part (variants can be made from this part)" msgstr "" -#: part/templates/part/part_base.html:113 +#: part/templates/part/part_base.html:116 msgid "Part can be assembled from other parts" msgstr "" -#: part/templates/part/part_base.html:117 +#: part/templates/part/part_base.html:120 msgid "Part can be used in assemblies" msgstr "" -#: part/templates/part/part_base.html:121 +#: part/templates/part/part_base.html:124 msgid "Part stock is tracked by serial number" msgstr "" -#: part/templates/part/part_base.html:125 +#: part/templates/part/part_base.html:128 msgid "Part can be purchased from external suppliers" msgstr "" -#: part/templates/part/part_base.html:129 +#: part/templates/part/part_base.html:132 msgid "Part can be sold to customers" msgstr "" -#: part/templates/part/part_base.html:135 -#: part/templates/part/part_base.html:143 +#: part/templates/part/part_base.html:138 +#: part/templates/part/part_base.html:146 msgid "Part is virtual (not a physical part)" msgstr "" -#: part/templates/part/part_base.html:136 +#: part/templates/part/part_base.html:139 #: templates/js/translated/company.js:505 #: templates/js/translated/company.js:762 #: templates/js/translated/model_renderers.js:175 @@ -4706,49 +4713,66 @@ msgstr "" msgid "Inactive" msgstr "" -#: part/templates/part/part_base.html:155 +#: part/templates/part/part_base.html:156 +#: part/templates/part/part_base.html:572 +msgid "Show Part Details" +msgstr "" + +#: part/templates/part/part_base.html:173 #, python-format msgid "This part is a variant of %(link)s" msgstr "" -#: part/templates/part/part_base.html:172 templates/js/translated/order.js:1546 +#: part/templates/part/part_base.html:190 templates/js/translated/order.js:1546 #: templates/js/translated/table_filters.js:188 msgid "In Stock" msgstr "" -#: part/templates/part/part_base.html:185 templates/js/translated/part.js:1054 +#: part/templates/part/part_base.html:203 templates/js/translated/part.js:1054 msgid "On Order" msgstr "" -#: part/templates/part/part_base.html:192 templates/InvenTree/index.html:178 +#: part/templates/part/part_base.html:210 templates/InvenTree/index.html:178 msgid "Required for Build Orders" msgstr "" -#: part/templates/part/part_base.html:199 +#: part/templates/part/part_base.html:217 msgid "Required for Sales Orders" msgstr "" -#: part/templates/part/part_base.html:206 +#: part/templates/part/part_base.html:224 msgid "Allocated to Orders" msgstr "" -#: part/templates/part/part_base.html:221 templates/js/translated/bom.js:566 +#: part/templates/part/part_base.html:239 templates/js/translated/bom.js:566 msgid "Can Build" msgstr "" -#: part/templates/part/part_base.html:227 templates/js/translated/part.js:885 +#: part/templates/part/part_base.html:245 templates/js/translated/part.js:885 #: templates/js/translated/part.js:1058 msgid "Building" msgstr "" -#: part/templates/part/part_base.html:320 part/templates/part/prices.html:144 +#: part/templates/part/part_base.html:295 +msgid "Minimum stock level" +msgstr "" + +#: part/templates/part/part_base.html:324 +msgid "Latest Serial Number" +msgstr "" + +#: part/templates/part/part_base.html:442 part/templates/part/prices.html:144 msgid "Calculate" msgstr "" -#: part/templates/part/part_base.html:363 +#: part/templates/part/part_base.html:485 msgid "No matching images found" msgstr "" +#: part/templates/part/part_base.html:566 +msgid "Hide Part Details" +msgstr "" + #: part/templates/part/part_pricing.html:22 part/templates/part/prices.html:21 msgid "Supplier Pricing" msgstr "" @@ -4806,20 +4830,15 @@ msgstr "" msgid "No pricing information is available for this part." msgstr "" -#: part/templates/part/part_sidebar.html:8 -#: templates/js/translated/stock.js:1949 -msgid "Details" -msgstr "" - -#: part/templates/part/part_sidebar.html:13 +#: part/templates/part/part_sidebar.html:11 msgid "Variants" msgstr "" -#: part/templates/part/part_sidebar.html:27 +#: part/templates/part/part_sidebar.html:25 msgid "Used In" msgstr "" -#: part/templates/part/part_sidebar.html:43 +#: part/templates/part/part_sidebar.html:41 msgid "Test Templates" msgstr "" @@ -5173,7 +5192,7 @@ msgid "Stock Item Test Report" msgstr "" #: report/templates/report/inventree_test_report_base.html:79 -#: stock/models.py:530 stock/templates/stock/item_base.html:238 +#: stock/models.py:530 stock/templates/stock/item_base.html:149 #: templates/js/translated/build.js:233 templates/js/translated/build.js:637 #: templates/js/translated/build.js:1013 #: templates/js/translated/model_renderers.js:95 @@ -5223,7 +5242,7 @@ msgid "Quantity is required" msgstr "" #: stock/forms.py:91 stock/forms.py:265 stock/models.py:587 -#: stock/templates/stock/item_base.html:382 +#: stock/templates/stock/item_base.html:179 #: templates/js/translated/stock.js:1276 msgid "Expiry Date" msgstr "" @@ -5273,7 +5292,7 @@ msgid "Confirm removal of installed stock items" msgstr "" #: stock/models.py:60 stock/models.py:624 -#: stock/templates/stock/item_base.html:422 +#: stock/templates/stock/item_base.html:410 msgid "Owner" msgstr "" @@ -5335,7 +5354,7 @@ msgstr "" msgid "Packaging this stock item is stored in" msgstr "" -#: stock/models.py:513 stock/templates/stock/item_base.html:271 +#: stock/models.py:513 stock/templates/stock/item_base.html:292 msgid "Installed In" msgstr "" @@ -5631,125 +5650,123 @@ msgstr "" msgid "Install" msgstr "" -#: stock/templates/stock/item_base.html:106 +#: stock/templates/stock/item_base.html:108 msgid "Convert to variant" msgstr "" -#: stock/templates/stock/item_base.html:109 +#: stock/templates/stock/item_base.html:111 msgid "Duplicate stock item" msgstr "" -#: stock/templates/stock/item_base.html:111 +#: stock/templates/stock/item_base.html:113 msgid "Edit stock item" msgstr "" -#: stock/templates/stock/item_base.html:114 +#: stock/templates/stock/item_base.html:116 msgid "Delete stock item" msgstr "" -#: stock/templates/stock/item_base.html:136 -#: stock/templates/stock/item_base.html:386 -#: templates/js/translated/table_filters.js:247 -msgid "Expired" -msgstr "" - -#: stock/templates/stock/item_base.html:146 -#: stock/templates/stock/item_base.html:388 -#: templates/js/translated/table_filters.js:253 -msgid "Stale" -msgstr "" - -#: stock/templates/stock/item_base.html:161 -msgid "You are not in the list of owners of this item. This stock item cannot be edited." -msgstr "" - -#: stock/templates/stock/item_base.html:168 -msgid "This stock item is in production and cannot be edited." -msgstr "" - -#: stock/templates/stock/item_base.html:169 -msgid "Edit the stock item from the build view." -msgstr "" - -#: stock/templates/stock/item_base.html:182 -msgid "This stock item has not passed all required tests" -msgstr "" - -#: stock/templates/stock/item_base.html:190 -#, python-format -msgid "This stock item is allocated to Sales Order %(link)s (Quantity: %(qty)s)" -msgstr "" - -#: stock/templates/stock/item_base.html:198 -#, python-format -msgid "This stock item is allocated to Build %(link)s (Quantity: %(qty)s)" -msgstr "" - -#: stock/templates/stock/item_base.html:204 -msgid "This stock item is serialized - it has a unique serial number and the quantity cannot be adjusted." -msgstr "" - -#: stock/templates/stock/item_base.html:208 -msgid "This stock item cannot be deleted as it has child items" -msgstr "" - -#: stock/templates/stock/item_base.html:212 -msgid "This stock item will be automatically deleted when all stock is depleted." -msgstr "" - -#: stock/templates/stock/item_base.html:241 +#: stock/templates/stock/item_base.html:152 msgid "previous page" msgstr "" -#: stock/templates/stock/item_base.html:247 +#: stock/templates/stock/item_base.html:158 msgid "next page" msgstr "" -#: stock/templates/stock/item_base.html:290 -#: templates/js/translated/build.js:1035 -msgid "No location set" -msgstr "" - -#: stock/templates/stock/item_base.html:297 -msgid "Barcode Identifier" -msgstr "" - -#: stock/templates/stock/item_base.html:339 -msgid "Parent Item" -msgstr "" - -#: stock/templates/stock/item_base.html:357 -msgid "No manufacturer set" -msgstr "" - -#: stock/templates/stock/item_base.html:386 +#: stock/templates/stock/item_base.html:183 #, python-format msgid "This StockItem expired on %(item.expiry_date)s" msgstr "" -#: stock/templates/stock/item_base.html:388 +#: stock/templates/stock/item_base.html:183 +#: templates/js/translated/table_filters.js:247 +msgid "Expired" +msgstr "" + +#: stock/templates/stock/item_base.html:185 #, python-format msgid "This StockItem expires on %(item.expiry_date)s" msgstr "" -#: stock/templates/stock/item_base.html:395 +#: stock/templates/stock/item_base.html:185 +#: templates/js/translated/table_filters.js:253 +msgid "Stale" +msgstr "" + +#: stock/templates/stock/item_base.html:192 #: templates/js/translated/stock.js:1289 msgid "Last Updated" msgstr "" -#: stock/templates/stock/item_base.html:400 +#: stock/templates/stock/item_base.html:197 msgid "Last Stocktake" msgstr "" -#: stock/templates/stock/item_base.html:404 +#: stock/templates/stock/item_base.html:201 msgid "No stocktake performed" msgstr "" -#: stock/templates/stock/item_base.html:415 +#: stock/templates/stock/item_base.html:219 +msgid "You are not in the list of owners of this item. This stock item cannot be edited." +msgstr "" + +#: stock/templates/stock/item_base.html:226 +msgid "This stock item is in production and cannot be edited." +msgstr "" + +#: stock/templates/stock/item_base.html:227 +msgid "Edit the stock item from the build view." +msgstr "" + +#: stock/templates/stock/item_base.html:240 +msgid "This stock item has not passed all required tests" +msgstr "" + +#: stock/templates/stock/item_base.html:248 +#, python-format +msgid "This stock item is allocated to Sales Order %(link)s (Quantity: %(qty)s)" +msgstr "" + +#: stock/templates/stock/item_base.html:256 +#, python-format +msgid "This stock item is allocated to Build %(link)s (Quantity: %(qty)s)" +msgstr "" + +#: stock/templates/stock/item_base.html:262 +msgid "This stock item is serialized - it has a unique serial number and the quantity cannot be adjusted." +msgstr "" + +#: stock/templates/stock/item_base.html:266 +msgid "This stock item cannot be deleted as it has child items" +msgstr "" + +#: stock/templates/stock/item_base.html:270 +msgid "This stock item will be automatically deleted when all stock is depleted." +msgstr "" + +#: stock/templates/stock/item_base.html:311 +#: templates/js/translated/build.js:1035 +msgid "No location set" +msgstr "" + +#: stock/templates/stock/item_base.html:318 +msgid "Barcode Identifier" +msgstr "" + +#: stock/templates/stock/item_base.html:360 +msgid "Parent Item" +msgstr "" + +#: stock/templates/stock/item_base.html:378 +msgid "No manufacturer set" +msgstr "" + +#: stock/templates/stock/item_base.html:403 msgid "Tests" msgstr "" -#: stock/templates/stock/item_base.html:505 +#: stock/templates/stock/item_base.html:493 msgid "Edit Stock Status" msgstr "" @@ -5827,30 +5844,35 @@ msgstr "" msgid "New Location" msgstr "" -#: stock/templates/stock/location.html:86 +#: stock/templates/stock/location.html:95 +#: stock/templates/stock/location.html:101 +msgid "Location Path" +msgstr "" + +#: stock/templates/stock/location.html:102 msgid "Top level stock location" msgstr "" -#: stock/templates/stock/location.html:95 +#: stock/templates/stock/location.html:115 msgid "You are not in the list of owners of this location. This stock location cannot be edited." msgstr "" -#: stock/templates/stock/location.html:113 -#: stock/templates/stock/location.html:160 +#: stock/templates/stock/location.html:128 +#: stock/templates/stock/location.html:175 #: stock/templates/stock/location_sidebar.html:5 msgid "Sublocations" msgstr "" -#: stock/templates/stock/location.html:127 templates/InvenTree/search.html:170 +#: stock/templates/stock/location.html:142 templates/InvenTree/search.html:170 #: templates/stats.html:97 users/models.py:42 msgid "Stock Locations" msgstr "" -#: stock/templates/stock/location.html:167 templates/stock_table.html:30 +#: stock/templates/stock/location.html:182 templates/stock_table.html:30 msgid "Printing Actions" msgstr "" -#: stock/templates/stock/location.html:171 templates/stock_table.html:34 +#: stock/templates/stock/location.html:186 templates/stock_table.html:34 msgid "Print labels" msgstr "" @@ -7201,10 +7223,6 @@ msgstr "" msgid "Delete Supplier Part" msgstr "" -#: templates/js/translated/company.js:265 -msgid "Edit Company" -msgstr "" - #: templates/js/translated/company.js:286 msgid "Add new Company" msgstr "" @@ -8167,6 +8185,10 @@ msgstr "" msgid "Invalid date" msgstr "" +#: templates/js/translated/stock.js:1949 +msgid "Details" +msgstr "" + #: templates/js/translated/stock.js:1974 msgid "Location no longer exists" msgstr "" diff --git a/InvenTree/locale/es/LC_MESSAGES/django.po b/InvenTree/locale/es/LC_MESSAGES/django.po index db90b2d66d..ed69daafd0 100644 --- a/InvenTree/locale/es/LC_MESSAGES/django.po +++ b/InvenTree/locale/es/LC_MESSAGES/django.po @@ -2,8 +2,8 @@ msgid "" msgstr "" "Project-Id-Version: inventree\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2021-11-30 21:49+0000\n" -"PO-Revision-Date: 2021-11-30 21:52\n" +"POT-Creation-Date: 2021-12-03 10:37+0000\n" +"PO-Revision-Date: 2021-12-03 11:26\n" "Last-Translator: \n" "Language-Team: Spanish, Mexico\n" "Language: es_MX\n" @@ -114,129 +114,130 @@ msgstr "No se encontraron números de serie" msgid "Number of unique serial number ({s}) must match quantity ({q})" msgstr "Número único de número de serie ({s}) debe coincidir con la cantidad ({q})" -#: InvenTree/models.py:114 +#: InvenTree/models.py:120 msgid "Missing file" msgstr "Falta archivo" -#: InvenTree/models.py:115 +#: InvenTree/models.py:121 msgid "Missing external link" msgstr "Falta enlace externo" -#: InvenTree/models.py:126 stock/models.py:1874 +#: InvenTree/models.py:132 stock/models.py:1864 #: templates/js/translated/attachment.js:117 msgid "Attachment" msgstr "Adjunto" -#: InvenTree/models.py:127 +#: InvenTree/models.py:133 msgid "Select file to attach" msgstr "Seleccionar archivo a adjuntar" -#: InvenTree/models.py:133 company/models.py:131 company/models.py:348 +#: InvenTree/models.py:139 company/models.py:131 company/models.py:348 #: company/models.py:564 order/models.py:163 part/models.py:797 #: report/templates/report/inventree_build_order_base.html:165 #: templates/js/translated/company.js:537 -#: templates/js/translated/company.js:826 templates/js/translated/part.js:1077 +#: templates/js/translated/company.js:826 templates/js/translated/part.js:1258 msgid "Link" msgstr "Enlace" -#: InvenTree/models.py:134 build/models.py:330 part/models.py:798 -#: stock/models.py:540 +#: InvenTree/models.py:140 build/models.py:330 part/models.py:798 +#: stock/models.py:530 msgid "Link to external URL" msgstr "Enlace a URL externa" -#: InvenTree/models.py:137 templates/js/translated/attachment.js:161 +#: InvenTree/models.py:143 templates/js/translated/attachment.js:161 msgid "Comment" msgstr "Comentario" -#: InvenTree/models.py:137 +#: InvenTree/models.py:143 msgid "File comment" msgstr "Comentario de archivo" -#: InvenTree/models.py:143 InvenTree/models.py:144 common/models.py:1185 +#: InvenTree/models.py:149 InvenTree/models.py:150 common/models.py:1185 #: common/models.py:1186 part/models.py:2205 part/models.py:2225 #: report/templates/report/inventree_test_report_base.html:96 -#: templates/js/translated/stock.js:2084 +#: templates/js/translated/stock.js:2166 msgid "User" msgstr "Usuario" -#: InvenTree/models.py:147 +#: InvenTree/models.py:153 msgid "upload date" msgstr "fecha de subida" -#: InvenTree/models.py:170 +#: InvenTree/models.py:176 msgid "Filename must not be empty" msgstr "El nombre del archivo no debe estar vacío" -#: InvenTree/models.py:193 +#: InvenTree/models.py:199 msgid "Invalid attachment directory" msgstr "Directorio adjunto inválido" -#: InvenTree/models.py:203 +#: InvenTree/models.py:209 #, python-brace-format msgid "Filename contains illegal character '{c}'" msgstr "El nombre de archivo contiene caracteres no válidos '{c}'" -#: InvenTree/models.py:206 +#: InvenTree/models.py:212 msgid "Filename missing extension" msgstr "Falta extensión del nombre de archivo" -#: InvenTree/models.py:213 +#: InvenTree/models.py:219 msgid "Attachment with this filename already exists" msgstr "Ya existe un adjunto con este nombre de archivo" -#: InvenTree/models.py:220 +#: InvenTree/models.py:226 msgid "Error renaming file" msgstr "Error renombrando archivo" -#: InvenTree/models.py:255 +#: InvenTree/models.py:261 msgid "Invalid choice" msgstr "Elección no válida" -#: InvenTree/models.py:271 InvenTree/models.py:272 company/models.py:415 +#: InvenTree/models.py:277 InvenTree/models.py:278 company/models.py:415 #: label/models.py:112 part/models.py:741 part/models.py:2389 -#: part/templates/part/detail.html:25 report/models.py:181 -#: templates/InvenTree/settings/settings.html:259 -#: templates/js/translated/company.js:638 templates/js/translated/part.js:499 -#: templates/js/translated/part.js:636 templates/js/translated/part.js:1384 -#: templates/js/translated/stock.js:1877 +#: report/models.py:181 templates/InvenTree/settings/settings.html:259 +#: templates/js/translated/company.js:638 templates/js/translated/part.js:506 +#: templates/js/translated/part.js:643 templates/js/translated/part.js:1565 +#: templates/js/translated/stock.js:1959 msgid "Name" msgstr "Nombre" -#: InvenTree/models.py:278 build/models.py:207 +#: InvenTree/models.py:284 build/models.py:207 #: build/templates/build/detail.html:25 company/models.py:354 -#: company/models.py:570 company/templates/company/manufacturer_part.html:80 -#: company/templates/company/supplier_part.html:81 label/models.py:119 -#: order/models.py:161 part/models.py:764 part/templates/part/detail.html:30 +#: company/models.py:570 company/templates/company/company_base.html:68 +#: company/templates/company/manufacturer_part.html:76 +#: company/templates/company/supplier_part.html:73 label/models.py:119 +#: order/models.py:161 part/models.py:764 part/templates/part/category.html:70 +#: part/templates/part/part_base.html:163 #: part/templates/part/set_category.html:14 report/models.py:194 #: report/models.py:553 report/models.py:592 #: report/templates/report/inventree_build_order_base.html:118 -#: stock/templates/stock/location.html:108 templates/js/translated/bom.js:215 +#: stock/templates/stock/location.html:89 templates/js/translated/bom.js:215 #: templates/js/translated/bom.js:428 templates/js/translated/build.js:1621 #: templates/js/translated/company.js:345 #: templates/js/translated/company.js:548 -#: templates/js/translated/company.js:837 templates/js/translated/order.js:673 -#: templates/js/translated/order.js:855 templates/js/translated/order.js:1091 -#: templates/js/translated/part.js:558 templates/js/translated/part.js:752 -#: templates/js/translated/part.js:837 templates/js/translated/part.js:1007 -#: templates/js/translated/part.js:1403 templates/js/translated/part.js:1472 -#: templates/js/translated/stock.js:1151 templates/js/translated/stock.js:1889 -#: templates/js/translated/stock.js:1934 +#: templates/js/translated/company.js:837 templates/js/translated/order.js:680 +#: templates/js/translated/order.js:854 templates/js/translated/order.js:1090 +#: templates/js/translated/part.js:565 templates/js/translated/part.js:933 +#: templates/js/translated/part.js:1018 templates/js/translated/part.js:1188 +#: templates/js/translated/part.js:1584 templates/js/translated/part.js:1653 +#: templates/js/translated/stock.js:1233 templates/js/translated/stock.js:1971 +#: templates/js/translated/stock.js:2016 msgid "Description" msgstr "Descripción" -#: InvenTree/models.py:279 +#: InvenTree/models.py:285 msgid "Description (optional)" msgstr "Descripción (opcional)" -#: InvenTree/models.py:287 +#: InvenTree/models.py:293 msgid "parent" msgstr "principal" -#: InvenTree/serializers.py:62 part/models.py:2674 +#: InvenTree/serializers.py:65 part/models.py:2674 msgid "Must be a valid number" msgstr "Debe ser un número válido" -#: InvenTree/serializers.py:285 +#: InvenTree/serializers.py:299 msgid "Filename" msgstr "Nombre de archivo" @@ -361,7 +362,7 @@ msgid "Returned" msgstr "" #: InvenTree/status_codes.py:143 -#: order/templates/order/sales_order_base.html:147 +#: order/templates/order/sales_order_base.html:148 msgid "Shipped" msgstr "" @@ -566,7 +567,7 @@ msgid "Barcode associated with StockItem" msgstr "" #: build/forms.py:36 build/models.py:1283 -#: build/templates/build/build_base.html:124 +#: build/templates/build/build_base.html:132 #: build/templates/build/detail.html:35 common/models.py:1225 #: company/forms.py:42 company/templates/company/supplier_part.html:251 #: order/forms.py:102 order/models.py:729 order/models.py:991 @@ -574,26 +575,27 @@ msgstr "" #: order/templates/order/order_wizard/select_parts.html:34 part/forms.py:223 #: part/forms.py:239 part/forms.py:255 part/models.py:2576 #: part/templates/part/bom_upload/match_parts.html:31 -#: part/templates/part/detail.html:1076 part/templates/part/detail.html:1162 +#: part/templates/part/detail.html:967 part/templates/part/detail.html:1053 #: part/templates/part/part_pricing.html:16 #: report/templates/report/inventree_build_order_base.html:114 #: report/templates/report/inventree_po_report.html:91 #: report/templates/report/inventree_so_report.html:91 #: report/templates/report/inventree_test_report_base.html:81 #: report/templates/report/inventree_test_report_base.html:139 -#: stock/forms.py:156 stock/serializers.py:286 -#: stock/templates/stock/item_base.html:256 +#: stock/forms.py:156 stock/serializers.py:291 +#: stock/templates/stock/item_base.html:174 #: templates/js/translated/barcode.js:385 templates/js/translated/bom.js:443 #: templates/js/translated/build.js:235 templates/js/translated/build.js:435 #: templates/js/translated/build.js:629 templates/js/translated/build.js:639 #: templates/js/translated/build.js:1015 templates/js/translated/build.js:1362 #: templates/js/translated/model_renderers.js:99 -#: templates/js/translated/order.js:892 templates/js/translated/order.js:1205 -#: templates/js/translated/order.js:1283 templates/js/translated/order.js:1290 -#: templates/js/translated/order.js:1379 templates/js/translated/order.js:1479 -#: templates/js/translated/part.js:1615 templates/js/translated/part.js:1738 -#: templates/js/translated/part.js:1816 templates/js/translated/stock.js:377 -#: templates/js/translated/stock.js:2069 templates/js/translated/stock.js:2171 +#: templates/js/translated/order.js:891 templates/js/translated/order.js:1204 +#: templates/js/translated/order.js:1282 templates/js/translated/order.js:1289 +#: templates/js/translated/order.js:1378 templates/js/translated/order.js:1478 +#: templates/js/translated/part.js:843 templates/js/translated/part.js:1796 +#: templates/js/translated/part.js:1919 templates/js/translated/part.js:1997 +#: templates/js/translated/stock.js:378 templates/js/translated/stock.js:2151 +#: templates/js/translated/stock.js:2253 msgid "Quantity" msgstr "" @@ -602,8 +604,8 @@ msgid "Enter quantity for build output" msgstr "" #: build/forms.py:41 order/forms.py:96 stock/forms.py:95 -#: stock/serializers.py:307 templates/js/translated/stock.js:224 -#: templates/js/translated/stock.js:378 +#: stock/serializers.py:312 templates/js/translated/stock.js:225 +#: templates/js/translated/stock.js:379 msgid "Serial Numbers" msgstr "" @@ -646,7 +648,7 @@ msgstr "" #: build/templates/build/index.html:8 build/templates/build/index.html:12 #: order/templates/order/sales_order_detail.html:42 #: order/templates/order/so_sidebar.html:7 -#: part/templates/part/part_sidebar.html:22 templates/InvenTree/index.html:221 +#: part/templates/part/part_sidebar.html:20 templates/InvenTree/index.html:221 #: templates/InvenTree/search.html:145 #: templates/InvenTree/settings/sidebar.html:42 users/models.py:44 msgid "Build Orders" @@ -662,7 +664,7 @@ msgstr "" #: report/templates/report/inventree_po_report.html:92 #: report/templates/report/inventree_so_report.html:92 #: templates/js/translated/bom.js:435 templates/js/translated/build.js:1119 -#: templates/js/translated/order.js:886 templates/js/translated/order.js:1473 +#: templates/js/translated/order.js:885 templates/js/translated/order.js:1472 msgid "Reference" msgstr "" @@ -670,7 +672,7 @@ msgstr "" msgid "Brief description of the build" msgstr "" -#: build/models.py:219 build/templates/build/build_base.html:156 +#: build/models.py:219 build/templates/build/build_base.html:164 #: build/templates/build/detail.html:88 msgid "Parent Build" msgstr "Armado Principal" @@ -679,7 +681,7 @@ msgstr "Armado Principal" msgid "BuildOrder to which this build is allocated" msgstr "" -#: build/models.py:225 build/templates/build/build_base.html:119 +#: build/models.py:225 build/templates/build/build_base.html:77 #: build/templates/build/detail.html:30 company/models.py:705 #: order/models.py:789 order/models.py:860 #: order/templates/order/order_wizard/select_parts.html:32 part/models.py:357 @@ -700,10 +702,10 @@ msgstr "" #: templates/js/translated/build.js:988 templates/js/translated/build.js:1359 #: templates/js/translated/build.js:1626 templates/js/translated/company.js:489 #: templates/js/translated/company.js:746 templates/js/translated/order.js:426 -#: templates/js/translated/order.js:840 templates/js/translated/order.js:1457 -#: templates/js/translated/part.js:737 templates/js/translated/part.js:818 -#: templates/js/translated/part.js:985 templates/js/translated/stock.js:508 -#: templates/js/translated/stock.js:1108 templates/js/translated/stock.js:2159 +#: templates/js/translated/order.js:839 templates/js/translated/order.js:1456 +#: templates/js/translated/part.js:918 templates/js/translated/part.js:999 +#: templates/js/translated/part.js:1166 templates/js/translated/stock.js:590 +#: templates/js/translated/stock.js:1190 templates/js/translated/stock.js:2241 msgid "Part" msgstr "" @@ -751,7 +753,7 @@ msgstr "Elementos completados" msgid "Number of stock items which have been completed" msgstr "Número de artículos de stock que han sido completados" -#: build/models.py:277 part/templates/part/part_base.html:216 +#: build/models.py:277 part/templates/part/part_base.html:234 msgid "Build Status" msgstr "" @@ -759,7 +761,7 @@ msgstr "" msgid "Build status code" msgstr "" -#: build/models.py:285 stock/models.py:544 +#: build/models.py:285 stock/models.py:534 msgid "Batch Code" msgstr "" @@ -768,7 +770,7 @@ msgid "Batch code for this build output" msgstr "" #: build/models.py:292 order/models.py:165 part/models.py:936 -#: part/templates/part/detail.html:86 templates/js/translated/order.js:1104 +#: part/templates/part/part_base.html:313 templates/js/translated/order.js:1103 msgid "Creation Date" msgstr "" @@ -797,12 +799,12 @@ msgstr "" msgid "User who issued this build order" msgstr "" -#: build/models.py:323 build/templates/build/build_base.html:177 +#: build/models.py:323 build/templates/build/build_base.html:185 #: build/templates/build/detail.html:116 order/models.py:179 -#: order/templates/order/order_base.html:154 -#: order/templates/order/sales_order_base.html:161 part/models.py:940 +#: order/templates/order/order_base.html:158 +#: order/templates/order/sales_order_base.html:162 part/models.py:940 #: report/templates/report/inventree_build_order_base.html:159 -#: templates/js/translated/build.js:1680 templates/js/translated/order.js:700 +#: templates/js/translated/build.js:1680 templates/js/translated/order.js:699 msgid "Responsible" msgstr "" @@ -811,10 +813,10 @@ msgid "User responsible for this build order" msgstr "" #: build/models.py:329 build/templates/build/detail.html:102 -#: company/templates/company/manufacturer_part.html:87 -#: company/templates/company/supplier_part.html:88 -#: part/templates/part/detail.html:80 stock/models.py:538 -#: stock/templates/stock/item_base.html:346 +#: company/templates/company/manufacturer_part.html:102 +#: company/templates/company/supplier_part.html:126 +#: part/templates/part/part_base.html:354 stock/models.py:528 +#: stock/templates/stock/item_base.html:374 msgid "External Link" msgstr "" @@ -824,15 +826,15 @@ msgstr "" #: order/models.py:183 order/models.py:738 #: order/templates/order/po_sidebar.html:11 #: order/templates/order/so_sidebar.html:11 part/models.py:925 -#: part/templates/part/detail.html:223 part/templates/part/part_sidebar.html:52 +#: part/templates/part/detail.html:116 part/templates/part/part_sidebar.html:50 #: report/templates/report/inventree_build_order_base.html:173 -#: stock/forms.py:154 stock/forms.py:204 stock/forms.py:238 stock/models.py:610 -#: stock/models.py:1774 stock/models.py:1880 stock/serializers.py:325 -#: stock/serializers.py:583 stock/templates/stock/stock_sidebar.html:21 +#: stock/forms.py:154 stock/forms.py:204 stock/forms.py:238 stock/models.py:600 +#: stock/models.py:1764 stock/models.py:1870 stock/serializers.py:330 +#: stock/serializers.py:588 stock/templates/stock/stock_sidebar.html:21 #: templates/js/translated/barcode.js:58 templates/js/translated/bom.js:599 -#: templates/js/translated/company.js:842 templates/js/translated/order.js:985 -#: templates/js/translated/order.js:1583 templates/js/translated/stock.js:891 -#: templates/js/translated/stock.js:1370 +#: templates/js/translated/company.js:842 templates/js/translated/order.js:984 +#: templates/js/translated/order.js:1582 templates/js/translated/stock.js:973 +#: templates/js/translated/stock.js:1452 msgid "Notes" msgstr "" @@ -877,7 +879,7 @@ msgstr "" msgid "Selected stock item not found in BOM" msgstr "" -#: build/models.py:1253 stock/templates/stock/item_base.html:318 +#: build/models.py:1253 stock/templates/stock/item_base.html:346 #: templates/InvenTree/search.html:143 templates/js/translated/build.js:1599 #: templates/navbar.html:33 msgid "Build" @@ -890,11 +892,11 @@ msgstr "" #: build/models.py:1270 build/serializers.py:328 #: stock/templates/stock/item_base.html:8 #: stock/templates/stock/item_base.html:16 -#: stock/templates/stock/item_base.html:340 +#: stock/templates/stock/item_base.html:368 #: templates/js/translated/build.js:408 templates/js/translated/build.js:413 #: templates/js/translated/build.js:1361 templates/js/translated/build.js:1742 -#: templates/js/translated/order.js:1178 templates/js/translated/order.js:1183 -#: templates/js/translated/stock.js:2020 +#: templates/js/translated/order.js:1177 templates/js/translated/order.js:1182 +#: templates/js/translated/stock.js:2102 msgid "Stock Item" msgstr "" @@ -920,7 +922,7 @@ msgstr "" #: build/serializers.py:146 msgid "Build output does not match the parent build" -msgstr "" +msgstr "Salida de armado no coincide con armado principal" #: build/serializers.py:150 msgid "Output part does not match BuildOrder part" @@ -934,16 +936,16 @@ msgstr "" msgid "This build output is not fully allocated" msgstr "" -#: build/serializers.py:190 order/serializers.py:219 order/serializers.py:287 -#: stock/forms.py:236 stock/serializers.py:318 stock/serializers.py:685 -#: stock/templates/stock/item_base.html:286 +#: build/serializers.py:190 order/serializers.py:228 order/serializers.py:296 +#: stock/forms.py:236 stock/serializers.py:323 stock/serializers.py:690 +#: stock/templates/stock/item_base.html:314 #: templates/js/translated/barcode.js:384 #: templates/js/translated/barcode.js:557 templates/js/translated/build.js:420 #: templates/js/translated/build.js:1027 templates/js/translated/order.js:348 -#: templates/js/translated/order.js:1190 templates/js/translated/order.js:1298 -#: templates/js/translated/order.js:1304 templates/js/translated/part.js:181 -#: templates/js/translated/stock.js:510 templates/js/translated/stock.js:1251 -#: templates/js/translated/stock.js:1961 +#: templates/js/translated/order.js:1189 templates/js/translated/order.js:1297 +#: templates/js/translated/order.js:1303 templates/js/translated/part.js:177 +#: templates/js/translated/stock.js:592 templates/js/translated/stock.js:1333 +#: templates/js/translated/stock.js:2043 msgid "Location" msgstr "" @@ -951,13 +953,13 @@ msgstr "" msgid "Location for completed build outputs" msgstr "" -#: build/serializers.py:197 build/templates/build/build_base.html:129 +#: build/serializers.py:197 build/templates/build/build_base.html:137 #: build/templates/build/detail.html:63 order/models.py:572 -#: order/serializers.py:240 stock/templates/stock/item_base.html:409 +#: order/serializers.py:249 stock/templates/stock/item_base.html:180 #: templates/js/translated/barcode.js:140 templates/js/translated/build.js:1655 -#: templates/js/translated/order.js:431 templates/js/translated/order.js:677 -#: templates/js/translated/order.js:1096 templates/js/translated/stock.js:1226 -#: templates/js/translated/stock.js:2038 templates/js/translated/stock.js:2187 +#: templates/js/translated/order.js:431 templates/js/translated/order.js:1095 +#: templates/js/translated/stock.js:1308 templates/js/translated/stock.js:2120 +#: templates/js/translated/stock.js:2269 msgid "Status" msgstr "" @@ -986,8 +988,8 @@ msgstr "" msgid "Item must be in stock" msgstr "" -#: build/serializers.py:348 order/models.py:316 order/serializers.py:233 -#: stock/models.py:381 stock/models.py:1103 stock/serializers.py:298 +#: build/serializers.py:348 order/models.py:316 order/serializers.py:242 +#: stock/models.py:371 stock/models.py:1093 stock/serializers.py:303 msgid "Quantity must be greater than zero" msgstr "" @@ -1031,7 +1033,7 @@ msgid "Edit Build" msgstr "" #: build/templates/build/build_base.html:56 -#: build/templates/build/build_base.html:207 build/views.py:56 +#: build/templates/build/build_base.html:215 build/views.py:56 msgid "Cancel Build" msgstr "" @@ -1041,93 +1043,95 @@ msgstr "" #: build/templates/build/build_base.html:64 #: build/templates/build/build_base.html:65 -#: build/templates/build/build_base.html:223 +#: build/templates/build/build_base.html:231 msgid "Complete Build" msgstr "" -#: build/templates/build/build_base.html:79 +#: build/templates/build/build_base.html:82 +msgid "Build Description" +msgstr "" + +#: build/templates/build/build_base.html:91 #, python-format msgid "This Build Order is allocated to Sales Order %(link)s" msgstr "" -#: build/templates/build/build_base.html:86 +#: build/templates/build/build_base.html:98 #, python-format msgid "This Build Order is a child of Build Order %(link)s" msgstr "" -#: build/templates/build/build_base.html:93 +#: build/templates/build/build_base.html:105 msgid "Build Order is ready to mark as completed" msgstr "" -#: build/templates/build/build_base.html:98 +#: build/templates/build/build_base.html:110 msgid "Build Order cannot be completed as outstanding outputs remain" msgstr "" -#: build/templates/build/build_base.html:103 +#: build/templates/build/build_base.html:115 msgid "Required build quantity has not yet been completed" msgstr "" -#: build/templates/build/build_base.html:108 +#: build/templates/build/build_base.html:120 msgid "Stock has not been fully allocated to this Build Order" msgstr "" -#: build/templates/build/build_base.html:138 +#: build/templates/build/build_base.html:146 #: build/templates/build/detail.html:132 -#: order/templates/order/order_base.html:140 -#: order/templates/order/sales_order_base.html:140 +#: order/templates/order/order_base.html:144 +#: order/templates/order/sales_order_base.html:141 #: report/templates/report/inventree_build_order_base.html:126 -#: templates/js/translated/build.js:1692 templates/js/translated/order.js:690 -#: templates/js/translated/order.js:1109 +#: templates/js/translated/build.js:1692 templates/js/translated/order.js:689 +#: templates/js/translated/order.js:1108 msgid "Target Date" msgstr "" -#: build/templates/build/build_base.html:143 +#: build/templates/build/build_base.html:151 #, python-format msgid "This build was due on %(target)s" msgstr "" -#: build/templates/build/build_base.html:143 -#: build/templates/build/build_base.html:188 -#: order/templates/order/order_base.html:81 -#: order/templates/order/order_base.html:102 -#: order/templates/order/sales_order_base.html:78 -#: order/templates/order/sales_order_base.html:107 +#: build/templates/build/build_base.html:151 +#: build/templates/build/build_base.html:196 +#: order/templates/order/order_base.html:98 +#: order/templates/order/sales_order_base.html:93 #: templates/js/translated/table_filters.js:294 #: templates/js/translated/table_filters.js:322 #: templates/js/translated/table_filters.js:339 msgid "Overdue" msgstr "" -#: build/templates/build/build_base.html:150 +#: build/templates/build/build_base.html:158 #: build/templates/build/detail.html:68 build/templates/build/detail.html:143 #: templates/js/translated/build.js:1641 #: templates/js/translated/table_filters.js:304 msgid "Completed" msgstr "" -#: build/templates/build/build_base.html:163 +#: build/templates/build/build_base.html:171 #: build/templates/build/detail.html:95 order/models.py:857 #: order/templates/order/sales_order_base.html:9 #: order/templates/order/sales_order_base.html:28 #: order/templates/order/sales_order_ship.html:25 #: report/templates/report/inventree_build_order_base.html:136 #: report/templates/report/inventree_so_report.html:77 -#: stock/templates/stock/item_base.html:280 -#: templates/js/translated/order.js:1051 +#: stock/templates/stock/item_base.html:308 +#: templates/js/translated/order.js:1050 msgid "Sales Order" msgstr "" -#: build/templates/build/build_base.html:170 +#: build/templates/build/build_base.html:178 #: build/templates/build/detail.html:109 #: report/templates/report/inventree_build_order_base.html:153 msgid "Issued By" msgstr "" -#: build/templates/build/build_base.html:215 +#: build/templates/build/build_base.html:223 msgid "Incomplete Outputs" msgstr "" -#: build/templates/build/build_base.html:216 +#: build/templates/build/build_base.html:224 msgid "Build Order cannot be completed as incomplete build outputs remain" msgstr "" @@ -1188,7 +1192,7 @@ msgid "Stock can be taken from any available location." msgstr "" #: build/templates/build/detail.html:50 order/models.py:811 stock/forms.py:150 -#: templates/js/translated/order.js:432 templates/js/translated/order.js:974 +#: templates/js/translated/order.js:432 templates/js/translated/order.js:973 msgid "Destination" msgstr "" @@ -1201,16 +1205,16 @@ msgid "Allocated Parts" msgstr "" #: build/templates/build/detail.html:81 -#: stock/templates/stock/item_base.html:304 -#: templates/js/translated/stock.js:1240 templates/js/translated/stock.js:2194 +#: stock/templates/stock/item_base.html:332 +#: templates/js/translated/stock.js:1322 templates/js/translated/stock.js:2276 #: templates/js/translated/table_filters.js:151 #: templates/js/translated/table_filters.js:233 msgid "Batch" msgstr "" #: build/templates/build/detail.html:127 -#: order/templates/order/order_base.html:127 -#: order/templates/order/sales_order_base.html:134 +#: order/templates/order/order_base.html:131 +#: order/templates/order/sales_order_base.html:135 #: templates/js/translated/build.js:1663 msgid "Created" msgstr "" @@ -1254,7 +1258,7 @@ msgstr "" #: build/templates/build/detail.html:185 #: company/templates/company/detail.html:38 #: company/templates/company/detail.html:85 order/views.py:509 -#: part/templates/part/category.html:166 +#: part/templates/part/category.html:173 msgid "Order Parts" msgstr "" @@ -1306,8 +1310,8 @@ msgstr "" #: order/templates/order/po_sidebar.html:9 #: order/templates/order/purchase_order_detail.html:60 #: order/templates/order/sales_order_detail.html:52 -#: order/templates/order/so_sidebar.html:9 part/templates/part/detail.html:300 -#: part/templates/part/part_sidebar.html:50 stock/templates/stock/item.html:95 +#: order/templates/order/so_sidebar.html:9 part/templates/part/detail.html:193 +#: part/templates/part/part_sidebar.html:48 stock/templates/stock/item.html:95 #: stock/templates/stock/stock_sidebar.html:19 msgid "Attachments" msgstr "" @@ -1323,7 +1327,7 @@ msgstr "" #: order/templates/order/purchase_order_detail.html:108 #: order/templates/order/sales_order_detail.html:72 #: order/templates/order/sales_order_detail.html:99 -#: part/templates/part/detail.html:227 stock/templates/stock/item.html:115 +#: part/templates/part/detail.html:120 stock/templates/stock/item.html:115 #: stock/templates/stock/item.html:205 msgid "Edit Notes" msgstr "" @@ -1336,7 +1340,7 @@ msgstr "" msgid "All untracked stock items have been allocated" msgstr "Todos los artículos de stock no rastreados han sido asignados" -#: build/templates/build/index.html:18 part/templates/part/detail.html:407 +#: build/templates/build/index.html:18 part/templates/part/detail.html:300 msgid "New Build Order" msgstr "" @@ -1380,7 +1384,7 @@ msgstr "" msgid "Maximum output quantity is " msgstr "" -#: build/views.py:122 stock/serializers.py:356 stock/views.py:1290 +#: build/views.py:122 stock/serializers.py:361 stock/views.py:1290 msgid "Serial numbers already exist" msgstr "" @@ -1675,7 +1679,7 @@ msgid "Parts are trackable by default" msgstr "" #: common/models.py:745 part/models.py:920 -#: part/templates/part/part_base.html:144 +#: part/templates/part/part_base.html:147 #: templates/js/translated/table_filters.js:42 msgid "Virtual" msgstr "" @@ -2142,7 +2146,7 @@ msgstr "" #: common/models.py:1233 company/serializers.py:264 #: company/templates/company/supplier_part.html:256 -#: templates/js/translated/part.js:1620 +#: templates/js/translated/part.js:852 templates/js/translated/part.js:1801 msgid "Price" msgstr "" @@ -2206,7 +2210,7 @@ msgstr "" msgid "Description of the company" msgstr "" -#: company/models.py:112 company/templates/company/company_base.html:70 +#: company/models.py:112 company/templates/company/company_base.html:97 #: templates/js/translated/company.js:349 msgid "Website" msgstr "" @@ -2215,7 +2219,7 @@ msgstr "" msgid "Company website URL" msgstr "" -#: company/models.py:117 company/templates/company/company_base.html:88 +#: company/models.py:117 company/templates/company/company_base.html:115 msgid "Address" msgstr "" @@ -2231,7 +2235,7 @@ msgstr "" msgid "Contact phone number" msgstr "" -#: company/models.py:125 company/templates/company/company_base.html:102 +#: company/models.py:125 company/templates/company/company_base.html:129 #: templates/InvenTree/settings/user.html:47 msgid "Email" msgstr "" @@ -2240,7 +2244,7 @@ msgstr "" msgid "Contact email address" msgstr "" -#: company/models.py:128 company/templates/company/company_base.html:109 +#: company/models.py:128 company/templates/company/company_base.html:136 msgid "Contact" msgstr "" @@ -2281,7 +2285,7 @@ msgid "Does this company manufacture parts?" msgstr "" #: company/models.py:152 company/serializers.py:270 -#: company/templates/company/company_base.html:76 stock/serializers.py:172 +#: company/templates/company/company_base.html:103 stock/serializers.py:177 msgid "Currency" msgstr "" @@ -2289,8 +2293,8 @@ msgstr "" msgid "Default currency used for this company" msgstr "" -#: company/models.py:320 company/models.py:535 stock/models.py:484 -#: stock/templates/stock/item_base.html:224 +#: company/models.py:320 company/models.py:535 stock/models.py:474 +#: stock/templates/stock/item_base.html:135 msgid "Base Part" msgstr "" @@ -2298,29 +2302,29 @@ msgstr "" msgid "Select part" msgstr "" -#: company/models.py:335 company/templates/company/company_base.html:116 -#: company/templates/company/manufacturer_part.html:93 -#: company/templates/company/supplier_part.html:104 -#: stock/templates/stock/item_base.html:353 +#: company/models.py:335 company/templates/company/company_base.html:73 +#: company/templates/company/manufacturer_part.html:91 +#: company/templates/company/supplier_part.html:97 +#: stock/templates/stock/item_base.html:381 #: templates/js/translated/company.js:333 #: templates/js/translated/company.js:514 -#: templates/js/translated/company.js:797 templates/js/translated/part.js:229 +#: templates/js/translated/company.js:797 templates/js/translated/part.js:232 msgid "Manufacturer" msgstr "" -#: company/models.py:336 templates/js/translated/part.js:230 +#: company/models.py:336 templates/js/translated/part.js:233 msgid "Select manufacturer" msgstr "" -#: company/models.py:342 company/templates/company/manufacturer_part.html:97 -#: company/templates/company/supplier_part.html:112 +#: company/models.py:342 company/templates/company/manufacturer_part.html:96 +#: company/templates/company/supplier_part.html:105 #: templates/js/translated/company.js:530 -#: templates/js/translated/company.js:815 templates/js/translated/order.js:874 -#: templates/js/translated/part.js:240 +#: templates/js/translated/company.js:815 templates/js/translated/order.js:873 +#: templates/js/translated/part.js:243 templates/js/translated/part.js:832 msgid "MPN" msgstr "" -#: company/models.py:343 templates/js/translated/part.js:241 +#: company/models.py:343 templates/js/translated/part.js:244 msgid "Manufacturer Part Number" msgstr "" @@ -2335,7 +2339,7 @@ msgstr "" #: company/models.py:409 company/models.py:558 #: company/templates/company/manufacturer_part.html:6 #: company/templates/company/manufacturer_part.html:23 -#: stock/templates/stock/item_base.html:363 +#: stock/templates/stock/item_base.html:391 msgid "Manufacturer Part" msgstr "" @@ -2345,8 +2349,8 @@ msgstr "" #: company/models.py:422 #: report/templates/report/inventree_test_report_base.html:95 -#: stock/models.py:1867 templates/js/translated/company.js:644 -#: templates/js/translated/part.js:645 templates/js/translated/stock.js:878 +#: stock/models.py:1857 templates/js/translated/company.js:644 +#: templates/js/translated/part.js:652 templates/js/translated/stock.js:960 msgid "Value" msgstr "" @@ -2355,9 +2359,9 @@ msgid "Parameter value" msgstr "" #: company/models.py:429 part/models.py:882 part/models.py:2397 -#: part/templates/part/detail.html:59 +#: part/templates/part/part_base.html:288 #: templates/InvenTree/settings/settings.html:264 -#: templates/js/translated/company.js:650 templates/js/translated/part.js:651 +#: templates/js/translated/company.js:650 templates/js/translated/part.js:658 msgid "Units" msgstr "" @@ -2369,28 +2373,28 @@ msgstr "" msgid "Linked manufacturer part must reference the same base part" msgstr "" -#: company/models.py:545 company/templates/company/company_base.html:121 -#: company/templates/company/supplier_part.html:94 order/models.py:263 -#: order/templates/order/order_base.html:108 +#: company/models.py:545 company/templates/company/company_base.html:78 +#: company/templates/company/supplier_part.html:87 order/models.py:263 +#: order/templates/order/order_base.html:112 #: order/templates/order/order_wizard/select_pos.html:30 part/bom.py:219 -#: part/bom.py:247 stock/templates/stock/item_base.html:370 +#: part/bom.py:247 stock/templates/stock/item_base.html:398 #: templates/js/translated/company.js:337 -#: templates/js/translated/company.js:771 templates/js/translated/order.js:660 -#: templates/js/translated/part.js:210 +#: templates/js/translated/company.js:771 templates/js/translated/order.js:667 +#: templates/js/translated/part.js:213 templates/js/translated/part.js:800 msgid "Supplier" msgstr "" -#: company/models.py:546 templates/js/translated/part.js:211 +#: company/models.py:546 templates/js/translated/part.js:214 msgid "Select supplier" msgstr "" -#: company/models.py:551 company/templates/company/supplier_part.html:98 -#: part/bom.py:220 part/bom.py:248 templates/js/translated/order.js:861 -#: templates/js/translated/part.js:221 +#: company/models.py:551 company/templates/company/supplier_part.html:91 +#: part/bom.py:220 part/bom.py:248 templates/js/translated/order.js:860 +#: templates/js/translated/part.js:224 templates/js/translated/part.js:818 msgid "SKU" msgstr "" -#: company/models.py:552 templates/js/translated/part.js:222 +#: company/models.py:552 templates/js/translated/part.js:225 msgid "Supplier stock keeping unit" msgstr "" @@ -2406,7 +2410,7 @@ msgstr "" msgid "Supplier part description" msgstr "" -#: company/models.py:576 company/templates/company/supplier_part.html:126 +#: company/models.py:576 company/templates/company/supplier_part.html:119 #: part/models.py:2588 report/templates/report/inventree_po_report.html:93 #: report/templates/report/inventree_so_report.html:93 msgid "Note" @@ -2420,9 +2424,9 @@ msgstr "" msgid "Minimum charge (e.g. stocking fee)" msgstr "" -#: company/models.py:582 company/templates/company/supplier_part.html:119 -#: stock/models.py:507 stock/templates/stock/item_base.html:311 -#: templates/js/translated/company.js:847 templates/js/translated/stock.js:1366 +#: company/models.py:582 company/templates/company/supplier_part.html:112 +#: stock/models.py:497 stock/templates/stock/item_base.html:339 +#: templates/js/translated/company.js:847 templates/js/translated/stock.js:1448 msgid "Packaging" msgstr "" @@ -2457,43 +2461,56 @@ msgstr "" msgid "Create Purchase Order" msgstr "" -#: company/templates/company/company_base.html:27 +#: company/templates/company/company_base.html:26 +msgid "Company actions" +msgstr "" + +#: company/templates/company/company_base.html:31 msgid "Edit company information" msgstr "" #: company/templates/company/company_base.html:32 -#: company/templates/company/company_base.html:148 +#: templates/js/translated/company.js:265 +msgid "Edit Company" +msgstr "" + +#: company/templates/company/company_base.html:36 +msgid "Delete company" +msgstr "" + +#: company/templates/company/company_base.html:37 +#: company/templates/company/company_base.html:159 msgid "Delete Company" msgstr "" -#: company/templates/company/company_base.html:48 +#: company/templates/company/company_base.html:53 #: part/templates/part/part_thumb.html:12 msgid "Upload new image" msgstr "" -#: company/templates/company/company_base.html:51 +#: company/templates/company/company_base.html:56 #: part/templates/part/part_thumb.html:14 msgid "Download image from URL" msgstr "" -#: company/templates/company/company_base.html:81 -msgid "Uses default currency" -msgstr "" - -#: company/templates/company/company_base.html:95 -msgid "Phone" -msgstr "" - -#: company/templates/company/company_base.html:126 order/models.py:567 -#: order/templates/order/sales_order_base.html:114 stock/models.py:525 -#: stock/models.py:526 stock/templates/stock/item_base.html:263 -#: templates/js/translated/company.js:329 templates/js/translated/order.js:1073 -#: templates/js/translated/stock.js:2002 +#: company/templates/company/company_base.html:83 order/models.py:567 +#: order/templates/order/sales_order_base.html:115 stock/models.py:515 +#: stock/models.py:516 stock/templates/stock/item_base.html:291 +#: templates/js/translated/company.js:329 templates/js/translated/order.js:1072 +#: templates/js/translated/stock.js:2084 msgid "Customer" msgstr "" -#: company/templates/company/company_base.html:194 -#: part/templates/part/part_base.html:342 +#: company/templates/company/company_base.html:108 +msgid "Uses default currency" +msgstr "" + +#: company/templates/company/company_base.html:122 +msgid "Phone" +msgstr "" + +#: company/templates/company/company_base.html:205 +#: part/templates/part/part_base.html:471 msgid "Upload Image" msgstr "" @@ -2509,23 +2526,23 @@ msgid "Create new supplier part" msgstr "" #: company/templates/company/detail.html:20 -#: company/templates/company/manufacturer_part.html:112 -#: part/templates/part/detail.html:440 +#: company/templates/company/manufacturer_part.html:118 +#: part/templates/part/detail.html:333 msgid "New Supplier Part" msgstr "" #: company/templates/company/detail.html:32 #: company/templates/company/detail.html:79 -#: company/templates/company/manufacturer_part.html:121 -#: company/templates/company/manufacturer_part.html:150 -#: part/templates/part/category.html:160 part/templates/part/detail.html:449 -#: part/templates/part/detail.html:477 +#: company/templates/company/manufacturer_part.html:127 +#: company/templates/company/manufacturer_part.html:156 +#: part/templates/part/category.html:167 part/templates/part/detail.html:342 +#: part/templates/part/detail.html:370 msgid "Options" msgstr "" #: company/templates/company/detail.html:37 #: company/templates/company/detail.html:84 -#: part/templates/part/category.html:166 +#: part/templates/part/category.html:173 msgid "Order parts" msgstr "" @@ -2547,7 +2564,7 @@ msgstr "" msgid "Create new manufacturer part" msgstr "" -#: company/templates/company/detail.html:67 part/templates/part/detail.html:467 +#: company/templates/company/detail.html:67 part/templates/part/detail.html:360 msgid "New Manufacturer Part" msgstr "" @@ -2561,7 +2578,7 @@ msgstr "" #: order/templates/order/order_base.html:13 #: order/templates/order/purchase_orders.html:8 #: order/templates/order/purchase_orders.html:12 -#: part/templates/part/detail.html:171 part/templates/part/part_sidebar.html:35 +#: part/templates/part/detail.html:64 part/templates/part/part_sidebar.html:33 #: templates/InvenTree/index.html:252 templates/InvenTree/search.html:203 #: templates/InvenTree/settings/sidebar.html:44 templates/navbar.html:45 #: users/models.py:45 @@ -2583,7 +2600,7 @@ msgstr "" #: order/templates/order/sales_order_base.html:13 #: order/templates/order/sales_orders.html:8 #: order/templates/order/sales_orders.html:15 -#: part/templates/part/detail.html:194 part/templates/part/part_sidebar.html:39 +#: part/templates/part/detail.html:87 part/templates/part/part_sidebar.html:37 #: templates/InvenTree/index.html:283 templates/InvenTree/search.html:223 #: templates/InvenTree/settings/sidebar.html:46 templates/navbar.html:56 #: users/models.py:46 @@ -2610,14 +2627,14 @@ msgid "Company Notes" msgstr "" #: company/templates/company/detail.html:383 -#: company/templates/company/manufacturer_part.html:209 -#: part/templates/part/detail.html:520 +#: company/templates/company/manufacturer_part.html:215 +#: part/templates/part/detail.html:413 msgid "Delete Supplier Parts?" msgstr "" #: company/templates/company/detail.html:384 -#: company/templates/company/manufacturer_part.html:210 -#: part/templates/part/detail.html:521 +#: company/templates/company/manufacturer_part.html:216 +#: part/templates/part/detail.html:414 msgid "All selected supplier parts will be deleted" msgstr "" @@ -2634,7 +2651,7 @@ msgstr "" #: company/templates/company/manufacturer_part.html:35 #: company/templates/company/supplier_part.html:34 #: company/templates/company/supplier_part.html:159 -#: part/templates/part/detail.html:174 part/templates/part/part_base.html:76 +#: part/templates/part/detail.html:67 part/templates/part/part_base.html:76 msgid "Order part" msgstr "" @@ -2648,60 +2665,60 @@ msgstr "" msgid "Delete manufacturer part" msgstr "" -#: company/templates/company/manufacturer_part.html:70 -#: company/templates/company/supplier_part.html:71 +#: company/templates/company/manufacturer_part.html:66 +#: company/templates/company/supplier_part.html:63 msgid "Internal Part" msgstr "" -#: company/templates/company/manufacturer_part.html:108 +#: company/templates/company/manufacturer_part.html:114 #: company/templates/company/supplier_part.html:15 company/views.py:49 -#: part/templates/part/part_sidebar.html:33 part/templates/part/prices.html:163 +#: part/templates/part/part_sidebar.html:31 part/templates/part/prices.html:163 #: templates/InvenTree/search.html:194 templates/navbar.html:43 msgid "Suppliers" msgstr "" -#: company/templates/company/manufacturer_part.html:123 -#: part/templates/part/detail.html:451 +#: company/templates/company/manufacturer_part.html:129 +#: part/templates/part/detail.html:344 msgid "Delete supplier parts" msgstr "" -#: company/templates/company/manufacturer_part.html:123 -#: company/templates/company/manufacturer_part.html:152 -#: company/templates/company/manufacturer_part.html:248 -#: part/templates/part/detail.html:451 part/templates/part/detail.html:479 +#: company/templates/company/manufacturer_part.html:129 +#: company/templates/company/manufacturer_part.html:158 +#: company/templates/company/manufacturer_part.html:254 +#: part/templates/part/detail.html:344 part/templates/part/detail.html:372 #: templates/js/translated/company.js:425 templates/js/translated/helpers.js:31 #: users/models.py:204 msgid "Delete" msgstr "" -#: company/templates/company/manufacturer_part.html:137 +#: company/templates/company/manufacturer_part.html:143 #: company/templates/company/manufacturer_part_sidebar.html:5 #: part/templates/part/category_sidebar.html:17 -#: part/templates/part/detail.html:277 part/templates/part/part_sidebar.html:10 +#: part/templates/part/detail.html:170 part/templates/part/part_sidebar.html:8 msgid "Parameters" msgstr "" -#: company/templates/company/manufacturer_part.html:141 -#: part/templates/part/detail.html:282 +#: company/templates/company/manufacturer_part.html:147 +#: part/templates/part/detail.html:175 #: templates/InvenTree/settings/category.html:12 #: templates/InvenTree/settings/part.html:65 msgid "New Parameter" msgstr "" -#: company/templates/company/manufacturer_part.html:152 +#: company/templates/company/manufacturer_part.html:158 msgid "Delete parameters" msgstr "" -#: company/templates/company/manufacturer_part.html:185 -#: part/templates/part/detail.html:976 +#: company/templates/company/manufacturer_part.html:191 +#: part/templates/part/detail.html:867 msgid "Add Parameter" msgstr "" -#: company/templates/company/manufacturer_part.html:233 +#: company/templates/company/manufacturer_part.html:239 msgid "Selected parameters will be deleted" msgstr "" -#: company/templates/company/manufacturer_part.html:245 +#: company/templates/company/manufacturer_part.html:251 msgid "Delete Parameters" msgstr "" @@ -2722,9 +2739,9 @@ msgid "Assigned Stock Items" msgstr "Artículos de Stock Asignados" #: company/templates/company/supplier_part.html:7 -#: company/templates/company/supplier_part.html:24 stock/models.py:492 -#: stock/templates/stock/item_base.html:375 -#: templates/js/translated/company.js:787 templates/js/translated/stock.js:1323 +#: company/templates/company/supplier_part.html:24 stock/models.py:482 +#: stock/templates/stock/item_base.html:403 +#: templates/js/translated/company.js:787 templates/js/translated/stock.js:1405 msgid "Supplier Part" msgstr "" @@ -2744,13 +2761,13 @@ msgid "Supplier Part Stock" msgstr "" #: company/templates/company/supplier_part.html:141 -#: part/templates/part/detail.html:127 stock/templates/stock/location.html:147 +#: part/templates/part/detail.html:20 stock/templates/stock/location.html:162 msgid "Create new stock item" msgstr "" #: company/templates/company/supplier_part.html:142 -#: part/templates/part/detail.html:128 stock/templates/stock/location.html:148 -#: templates/js/translated/stock.js:354 +#: part/templates/part/detail.html:21 stock/templates/stock/location.html:163 +#: templates/js/translated/stock.js:355 msgid "New Stock Item" msgstr "" @@ -2760,7 +2777,7 @@ msgid "Supplier Part Orders" msgstr "" #: company/templates/company/supplier_part.html:160 -#: part/templates/part/detail.html:175 +#: part/templates/part/detail.html:68 msgid "Order Part" msgstr "" @@ -2796,15 +2813,15 @@ msgid "Delete price break" msgstr "" #: company/templates/company/supplier_part_navbar.html:15 -#: part/templates/part/part_sidebar.html:16 +#: part/templates/part/part_sidebar.html:14 #: stock/templates/stock/loc_link.html:3 stock/templates/stock/location.html:14 #: stock/templates/stock/stock_app_base.html:10 #: templates/InvenTree/search.html:156 #: templates/InvenTree/settings/sidebar.html:40 -#: templates/js/translated/bom.js:216 templates/js/translated/part.js:427 -#: templates/js/translated/part.js:562 templates/js/translated/part.js:878 -#: templates/js/translated/part.js:1039 templates/js/translated/stock.js:509 -#: templates/js/translated/stock.js:1162 templates/navbar.html:26 +#: templates/js/translated/bom.js:216 templates/js/translated/part.js:434 +#: templates/js/translated/part.js:569 templates/js/translated/part.js:1059 +#: templates/js/translated/part.js:1220 templates/js/translated/stock.js:591 +#: templates/js/translated/stock.js:1244 templates/navbar.html:26 msgid "Stock" msgstr "" @@ -2818,16 +2835,16 @@ msgid "Supplier Part Pricing" msgstr "" #: company/templates/company/supplier_part_navbar.html:29 -#: part/templates/part/part_sidebar.html:30 +#: part/templates/part/part_sidebar.html:28 msgid "Pricing" msgstr "" #: company/templates/company/supplier_part_sidebar.html:5 -#: stock/templates/stock/location.html:118 -#: stock/templates/stock/location.html:132 -#: stock/templates/stock/location.html:144 +#: stock/templates/stock/location.html:133 +#: stock/templates/stock/location.html:147 +#: stock/templates/stock/location.html:159 #: stock/templates/stock/location_sidebar.html:7 -#: templates/InvenTree/search.html:158 templates/js/translated/stock.js:1901 +#: templates/InvenTree/search.html:158 templates/js/translated/stock.js:1983 #: templates/stats.html:93 templates/stats.html:102 users/models.py:43 msgid "Stock Items" msgstr "Artículos de Stock" @@ -2947,7 +2964,7 @@ msgstr "" msgid "Place order" msgstr "" -#: order/forms.py:37 order/templates/order/order_base.html:59 +#: order/forms.py:37 order/templates/order/order_base.html:60 msgid "Mark order as complete" msgstr "" @@ -3000,8 +3017,8 @@ msgstr "" msgid "Company from which the items are being ordered" msgstr "Empresa de la que se están pidiendo los artículos" -#: order/models.py:267 order/templates/order/order_base.html:114 -#: templates/js/translated/order.js:669 +#: order/models.py:267 order/templates/order/order_base.html:118 +#: templates/js/translated/order.js:676 msgid "Supplier Reference" msgstr "" @@ -3061,7 +3078,7 @@ msgstr "" msgid "Target date for order completion. Order will be overdue after this date." msgstr "" -#: order/models.py:582 templates/js/translated/order.js:1114 +#: order/models.py:582 templates/js/translated/order.js:1113 msgid "Shipment Date" msgstr "" @@ -3086,16 +3103,16 @@ msgid "Line item notes" msgstr "" #: order/models.py:768 order/models.py:856 -#: templates/js/translated/order.js:1166 +#: templates/js/translated/order.js:1165 msgid "Order" msgstr "" #: order/models.py:769 order/templates/order/order_base.html:9 #: order/templates/order/order_base.html:18 #: report/templates/report/inventree_po_report.html:77 -#: stock/templates/stock/item_base.html:325 -#: templates/js/translated/order.js:638 templates/js/translated/stock.js:1300 -#: templates/js/translated/stock.js:1983 +#: stock/templates/stock/item_base.html:353 +#: templates/js/translated/order.js:638 templates/js/translated/part.js:775 +#: templates/js/translated/stock.js:1382 templates/js/translated/stock.js:2065 msgid "Purchase Order" msgstr "" @@ -3103,9 +3120,10 @@ msgstr "" msgid "Supplier part" msgstr "" -#: order/models.py:797 order/templates/order/order_base.html:147 -#: order/templates/order/sales_order_base.html:154 -#: templates/js/translated/order.js:429 templates/js/translated/order.js:954 +#: order/models.py:797 order/templates/order/order_base.html:151 +#: order/templates/order/sales_order_base.html:155 +#: templates/js/translated/order.js:429 templates/js/translated/order.js:953 +#: templates/js/translated/part.js:847 templates/js/translated/part.js:873 msgid "Received" msgstr "" @@ -3113,9 +3131,9 @@ msgstr "" msgid "Number of items received" msgstr "Número de artículos recibidos" -#: order/models.py:805 part/templates/part/prices.html:176 stock/models.py:619 -#: stock/serializers.py:163 stock/templates/stock/item_base.html:332 -#: templates/js/translated/stock.js:1354 +#: order/models.py:805 part/templates/part/prices.html:176 stock/models.py:609 +#: stock/serializers.py:168 stock/templates/stock/item_base.html:360 +#: templates/js/translated/stock.js:1436 msgid "Purchase Price" msgstr "" @@ -3176,47 +3194,47 @@ msgstr "" msgid "Enter stock allocation quantity" msgstr "" -#: order/serializers.py:169 +#: order/serializers.py:175 msgid "Purchase price currency" msgstr "" -#: order/serializers.py:204 +#: order/serializers.py:213 msgid "Line Item" msgstr "" -#: order/serializers.py:210 +#: order/serializers.py:219 msgid "Line item does not match purchase order" msgstr "" -#: order/serializers.py:220 order/serializers.py:288 +#: order/serializers.py:229 order/serializers.py:297 msgid "Select destination location for received items" msgstr "Seleccione la ubicación de destino para los artículos recibidos" -#: order/serializers.py:244 +#: order/serializers.py:253 msgid "Barcode Hash" msgstr "" -#: order/serializers.py:245 +#: order/serializers.py:254 msgid "Unique identifier field" msgstr "" -#: order/serializers.py:262 +#: order/serializers.py:271 msgid "Barcode is already in use" msgstr "" -#: order/serializers.py:300 +#: order/serializers.py:309 msgid "Line items must be provided" msgstr "Debe proporcionar elementos de línea" -#: order/serializers.py:317 +#: order/serializers.py:326 msgid "Destination location must be specified" msgstr "" -#: order/serializers.py:328 +#: order/serializers.py:337 msgid "Supplied barcode values must be unique" msgstr "" -#: order/serializers.py:569 +#: order/serializers.py:578 msgid "Sale price currency" msgstr "" @@ -3248,22 +3266,36 @@ msgstr "" msgid "Receive items" msgstr "Recibir artículos" -#: order/templates/order/order_base.html:93 -#: order/templates/order/sales_order_base.html:98 +#: order/templates/order/order_base.html:58 +#: order/templates/order/purchase_order_detail.html:31 +msgid "Receive Items" +msgstr "Recibir Artículos" + +#: order/templates/order/order_base.html:62 order/views.py:185 +msgid "Complete Order" +msgstr "" + +#: order/templates/order/order_base.html:84 +#: order/templates/order/sales_order_base.html:79 msgid "Order Reference" msgstr "" -#: order/templates/order/order_base.html:98 -#: order/templates/order/sales_order_base.html:103 +#: order/templates/order/order_base.html:89 +#: order/templates/order/sales_order_base.html:84 +msgid "Order Description" +msgstr "" + +#: order/templates/order/order_base.html:94 +#: order/templates/order/sales_order_base.html:89 msgid "Order Status" msgstr "" -#: order/templates/order/order_base.html:133 +#: order/templates/order/order_base.html:137 #: report/templates/report/inventree_build_order_base.html:122 msgid "Issued" msgstr "" -#: order/templates/order/order_base.html:203 +#: order/templates/order/order_base.html:207 msgid "Edit Purchase Order" msgstr "" @@ -3421,7 +3453,7 @@ msgid "Select existing purchase orders, or create new orders." msgstr "" #: order/templates/order/order_wizard/select_pos.html:31 -#: templates/js/translated/order.js:695 templates/js/translated/order.js:1119 +#: templates/js/translated/order.js:694 templates/js/translated/order.js:1118 msgid "Items" msgstr "Artículos" @@ -3465,10 +3497,6 @@ msgstr "" msgid "Receive selected items" msgstr "Recibir artículos seleccionados" -#: order/templates/order/purchase_order_detail.html:31 -msgid "Receive Items" -msgstr "Recibir Artículos" - #: order/templates/order/purchase_order_detail.html:50 msgid "Received Items" msgstr "Artículos Recibidos" @@ -3496,16 +3524,16 @@ msgstr "" msgid "Ship Order" msgstr "" -#: order/templates/order/sales_order_base.html:86 +#: order/templates/order/sales_order_base.html:102 msgid "This Sales Order has not been fully allocated" msgstr "" -#: order/templates/order/sales_order_base.html:121 -#: templates/js/translated/order.js:1086 +#: order/templates/order/sales_order_base.html:122 +#: templates/js/translated/order.js:1085 msgid "Customer Reference" msgstr "" -#: order/templates/order/sales_order_base.html:194 +#: order/templates/order/sales_order_base.html:195 msgid "Edit Sales Order" msgstr "" @@ -3576,10 +3604,6 @@ msgstr "" msgid "Purchase order issued" msgstr "" -#: order/views.py:185 -msgid "Complete Order" -msgstr "" - #: order/views.py:201 msgid "Confirm order completion" msgstr "" @@ -3672,11 +3696,11 @@ msgid "This field is required" msgstr "" #: part/bom.py:125 part/models.py:81 part/models.py:816 -#: part/templates/part/category.html:90 part/templates/part/detail.html:104 +#: part/templates/part/category.html:104 part/templates/part/part_base.html:338 msgid "Default Location" msgstr "" -#: part/bom.py:126 part/templates/part/part_base.html:167 +#: part/bom.py:126 part/templates/part/part_base.html:185 msgid "Available Stock" msgstr "" @@ -3738,11 +3762,11 @@ msgstr "" #: part/forms.py:96 part/models.py:2427 msgid "Parent Part" -msgstr "" +msgstr "Parte principal" #: part/forms.py:97 part/templates/part/bom_duplicate.html:7 msgid "Select parent part to copy BOM from" -msgstr "" +msgstr "Seleccionar parte principal de la que copiar BOM" #: part/forms.py:103 msgid "Clear existing BOM items" @@ -3793,26 +3817,26 @@ msgstr "" msgid "Part Category" msgstr "" -#: part/models.py:96 part/templates/part/category.html:117 +#: part/models.py:96 part/templates/part/category.html:124 #: templates/InvenTree/search.html:101 templates/stats.html:84 #: users/models.py:40 msgid "Part Categories" msgstr "" #: part/models.py:358 part/templates/part/cat_link.html:3 -#: part/templates/part/category.html:13 part/templates/part/category.html:122 -#: part/templates/part/category.html:142 +#: part/templates/part/category.html:13 part/templates/part/category.html:129 +#: part/templates/part/category.html:149 #: part/templates/part/category_sidebar.html:9 #: templates/InvenTree/index.html:85 templates/InvenTree/search.html:88 #: templates/InvenTree/settings/sidebar.html:36 -#: templates/js/translated/part.js:1416 templates/navbar.html:19 +#: templates/js/translated/part.js:1597 templates/navbar.html:19 #: templates/stats.html:80 templates/stats.html:89 users/models.py:41 msgid "Parts" msgstr "" #: part/models.py:450 msgid "Invalid choice for parent part" -msgstr "" +msgstr "Parte inválida para parte principal" #: part/models.py:502 part/models.py:514 #, python-brace-format @@ -3859,8 +3883,8 @@ msgstr "" msgid "Part description" msgstr "" -#: part/models.py:770 part/templates/part/category.html:97 -#: part/templates/part/detail.html:73 +#: part/models.py:770 part/templates/part/category.html:82 +#: part/templates/part/part_base.html:302 msgid "Keywords" msgstr "" @@ -3869,9 +3893,10 @@ msgid "Part keywords to improve visibility in search results" msgstr "" #: part/models.py:778 part/models.py:2223 part/models.py:2472 -#: part/templates/part/detail.html:36 part/templates/part/set_category.html:15 +#: part/templates/part/part_base.html:265 +#: part/templates/part/set_category.html:15 #: templates/InvenTree/settings/settings.html:163 -#: templates/js/translated/part.js:1021 +#: templates/js/translated/part.js:1202 msgid "Category" msgstr "" @@ -3879,9 +3904,9 @@ msgstr "" msgid "Part category" msgstr "" -#: part/models.py:784 part/templates/part/detail.html:45 -#: templates/js/translated/part.js:550 templates/js/translated/part.js:974 -#: templates/js/translated/stock.js:1134 +#: part/models.py:784 part/templates/part/part_base.html:274 +#: templates/js/translated/part.js:557 templates/js/translated/part.js:1155 +#: templates/js/translated/stock.js:1216 msgid "IPN" msgstr "" @@ -3893,8 +3918,8 @@ msgstr "" msgid "Part revision or version number" msgstr "" -#: part/models.py:792 part/templates/part/detail.html:52 report/models.py:200 -#: templates/js/translated/part.js:554 +#: part/models.py:792 part/templates/part/part_base.html:281 +#: report/models.py:200 templates/js/translated/part.js:561 msgid "Revision" msgstr "" @@ -3902,7 +3927,7 @@ msgstr "" msgid "Where is this item normally stored?" msgstr "" -#: part/models.py:861 part/templates/part/detail.html:113 +#: part/models.py:861 part/templates/part/part_base.html:347 msgid "Default Supplier" msgstr "" @@ -3918,7 +3943,7 @@ msgstr "" 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:875 part/templates/part/part_base.html:178 +#: part/models.py:875 part/templates/part/part_base.html:196 msgid "Minimum Stock" msgstr "" @@ -4001,8 +4026,8 @@ msgstr "" msgid "Test with this name already exists for this part" msgstr "" -#: part/models.py:2310 templates/js/translated/part.js:1467 -#: templates/js/translated/stock.js:858 +#: part/models.py:2310 templates/js/translated/part.js:1648 +#: templates/js/translated/stock.js:940 msgid "Test Name" msgstr "" @@ -4018,7 +4043,7 @@ msgstr "" msgid "Enter description for this test" msgstr "" -#: part/models.py:2322 templates/js/translated/part.js:1476 +#: part/models.py:2322 templates/js/translated/part.js:1657 #: templates/js/translated/table_filters.js:276 msgid "Required" msgstr "" @@ -4027,7 +4052,7 @@ msgstr "" msgid "Is this test required to pass?" msgstr "" -#: part/models.py:2328 templates/js/translated/part.js:1484 +#: part/models.py:2328 templates/js/translated/part.js:1665 msgid "Requires Value" msgstr "" @@ -4035,7 +4060,7 @@ msgstr "" msgid "Does this test require a value when adding a test result?" msgstr "" -#: part/models.py:2334 templates/js/translated/part.js:1491 +#: part/models.py:2334 templates/js/translated/part.js:1672 msgid "Requires Attachment" msgstr "" @@ -4083,7 +4108,7 @@ msgstr "" #: part/models.py:2561 msgid "Select parent part" -msgstr "" +msgstr "Seleccionar parte principal" #: part/models.py:2569 msgid "Sub part" @@ -4150,7 +4175,7 @@ msgstr "" msgid "Stock items for variant parts can be used for this BOM item" msgstr "" -#: part/models.py:2686 stock/models.py:371 +#: part/models.py:2686 stock/models.py:361 msgid "Quantity must be integer value for trackable parts" msgstr "" @@ -4168,7 +4193,7 @@ msgstr "" #: part/models.py:2860 msgid "Parent BOM item" -msgstr "" +msgstr "Artículo BOM principal" #: part/models.py:2868 msgid "Substitute part" @@ -4213,7 +4238,7 @@ msgstr "" msgid "The BOM for %(part)s has not been validated." msgstr "" -#: part/templates/part/bom.html:30 part/templates/part/detail.html:357 +#: part/templates/part/bom.html:30 part/templates/part/detail.html:250 msgid "BOM actions" msgstr "" @@ -4298,68 +4323,64 @@ msgstr "" msgid "New Category" msgstr "" -#: part/templates/part/category.html:67 -msgid "Top level part category" -msgstr "" - -#: part/templates/part/category.html:79 +#: part/templates/part/category.html:76 part/templates/part/category.html:89 msgid "Category Path" msgstr "" -#: part/templates/part/category.html:84 -msgid "Category Description" +#: part/templates/part/category.html:90 +msgid "Top level part category" msgstr "" -#: part/templates/part/category.html:103 part/templates/part/category.html:194 +#: part/templates/part/category.html:110 part/templates/part/category.html:201 #: part/templates/part/category_sidebar.html:7 msgid "Subcategories" msgstr "" -#: part/templates/part/category.html:108 +#: part/templates/part/category.html:115 msgid "Parts (Including subcategories)" msgstr "" -#: part/templates/part/category.html:145 +#: part/templates/part/category.html:152 msgid "Export Part Data" msgstr "" -#: part/templates/part/category.html:146 part/templates/part/category.html:170 +#: part/templates/part/category.html:153 part/templates/part/category.html:177 msgid "Export" msgstr "" -#: part/templates/part/category.html:149 +#: part/templates/part/category.html:156 msgid "Create new part" msgstr "" -#: part/templates/part/category.html:150 templates/js/translated/bom.js:40 +#: part/templates/part/category.html:157 templates/js/translated/bom.js:40 msgid "New Part" msgstr "" -#: part/templates/part/category.html:164 +#: part/templates/part/category.html:171 msgid "Set category" msgstr "" -#: part/templates/part/category.html:164 +#: part/templates/part/category.html:171 msgid "Set Category" msgstr "" -#: part/templates/part/category.html:168 +#: part/templates/part/category.html:175 msgid "Print Labels" msgstr "" -#: part/templates/part/category.html:170 +#: part/templates/part/category.html:177 msgid "Export Data" msgstr "" -#: part/templates/part/category.html:184 +#: part/templates/part/category.html:191 msgid "Part Parameters" msgstr "" -#: part/templates/part/category.html:261 +#: part/templates/part/category.html:268 msgid "Create Part Category" msgstr "" -#: part/templates/part/category.html:288 +#: part/templates/part/category.html:295 msgid "Create Part" msgstr "" @@ -4392,7 +4413,7 @@ msgstr "" #: part/templates/part/category_delete.html:27 #, python-format msgid "If this category is deleted, these parts will be moved to the parent category %(path)s" -msgstr "" +msgstr "Si se elimina esta categoría, estas partes se moverán a la categoría principal %(path)s" #: part/templates/part/category_delete.html:29 msgid "If this category is deleted, these parts will be moved to the top-level category Teile" @@ -4402,7 +4423,7 @@ msgstr "" msgid "Import Parts" msgstr "" -#: part/templates/part/copy_part.html:9 templates/js/translated/part.js:366 +#: part/templates/part/copy_part.html:9 templates/js/translated/part.js:373 msgid "Duplicate Part" msgstr "" @@ -4426,167 +4447,155 @@ msgstr "" msgid "%(full_name)s - %(desc)s (%(match_per)s%% match)" msgstr "" -#: part/templates/part/detail.html:16 -msgid "Part Details" -msgstr "" - -#: part/templates/part/detail.html:66 -msgid "Minimum stock level" -msgstr "" - -#: part/templates/part/detail.html:97 -msgid "Latest Serial Number" -msgstr "" - -#: part/templates/part/detail.html:124 +#: part/templates/part/detail.html:17 msgid "Part Stock" msgstr "" -#: part/templates/part/detail.html:136 +#: part/templates/part/detail.html:29 #, python-format msgid "Showing stock for all variants of %(full_name)s" msgstr "" -#: part/templates/part/detail.html:146 +#: part/templates/part/detail.html:39 msgid "Part Test Templates" msgstr "" -#: part/templates/part/detail.html:151 +#: part/templates/part/detail.html:44 msgid "Add Test Template" msgstr "" -#: part/templates/part/detail.html:208 +#: part/templates/part/detail.html:101 msgid "Sales Order Allocations" msgstr "" -#: part/templates/part/detail.html:249 +#: part/templates/part/detail.html:142 msgid "Part Variants" msgstr "" -#: part/templates/part/detail.html:253 +#: part/templates/part/detail.html:146 msgid "Create new variant" msgstr "" -#: part/templates/part/detail.html:254 +#: part/templates/part/detail.html:147 msgid "New Variant" msgstr "" -#: part/templates/part/detail.html:281 +#: part/templates/part/detail.html:174 msgid "Add new parameter" msgstr "" -#: part/templates/part/detail.html:315 part/templates/part/part_sidebar.html:47 +#: part/templates/part/detail.html:208 part/templates/part/part_sidebar.html:45 msgid "Related Parts" msgstr "" -#: part/templates/part/detail.html:319 part/templates/part/detail.html:320 +#: part/templates/part/detail.html:212 part/templates/part/detail.html:213 msgid "Add Related" msgstr "" -#: part/templates/part/detail.html:340 part/templates/part/part_sidebar.html:19 +#: part/templates/part/detail.html:233 part/templates/part/part_sidebar.html:17 msgid "Bill of Materials" msgstr "" -#: part/templates/part/detail.html:345 +#: part/templates/part/detail.html:238 msgid "Export actions" msgstr "" -#: part/templates/part/detail.html:349 +#: part/templates/part/detail.html:242 msgid "Export BOM" msgstr "" -#: part/templates/part/detail.html:351 +#: part/templates/part/detail.html:244 msgid "Print BOM Report" msgstr "" -#: part/templates/part/detail.html:361 +#: part/templates/part/detail.html:254 msgid "Upload BOM" msgstr "" -#: part/templates/part/detail.html:363 templates/js/translated/part.js:267 +#: part/templates/part/detail.html:256 templates/js/translated/part.js:270 msgid "Copy BOM" msgstr "" -#: part/templates/part/detail.html:365 part/views.py:755 +#: part/templates/part/detail.html:258 part/views.py:755 msgid "Validate BOM" msgstr "" -#: part/templates/part/detail.html:370 +#: part/templates/part/detail.html:263 msgid "New BOM Item" msgstr "" -#: part/templates/part/detail.html:371 +#: part/templates/part/detail.html:264 msgid "Add BOM Item" msgstr "" -#: part/templates/part/detail.html:384 +#: part/templates/part/detail.html:277 msgid "Assemblies" msgstr "" -#: part/templates/part/detail.html:401 +#: part/templates/part/detail.html:294 msgid "Part Builds" msgstr "" -#: part/templates/part/detail.html:426 +#: part/templates/part/detail.html:319 msgid "Build Order Allocations" msgstr "" -#: part/templates/part/detail.html:436 +#: part/templates/part/detail.html:329 msgid "Part Suppliers" msgstr "" -#: part/templates/part/detail.html:463 +#: part/templates/part/detail.html:356 msgid "Part Manufacturers" msgstr "" -#: part/templates/part/detail.html:479 +#: part/templates/part/detail.html:372 msgid "Delete manufacturer parts" msgstr "" -#: part/templates/part/detail.html:660 +#: part/templates/part/detail.html:553 msgid "Delete selected BOM items?" msgstr "" -#: part/templates/part/detail.html:661 +#: part/templates/part/detail.html:554 msgid "All selected BOM items will be deleted" msgstr "" -#: part/templates/part/detail.html:712 +#: part/templates/part/detail.html:605 msgid "Create BOM Item" msgstr "" -#: part/templates/part/detail.html:764 +#: part/templates/part/detail.html:657 msgid "Related Part" msgstr "" -#: part/templates/part/detail.html:772 +#: part/templates/part/detail.html:665 msgid "Add Related Part" msgstr "" -#: part/templates/part/detail.html:869 +#: part/templates/part/detail.html:760 msgid "Add Test Result Template" msgstr "" -#: part/templates/part/detail.html:926 +#: part/templates/part/detail.html:817 msgid "Edit Part Notes" msgstr "" -#: part/templates/part/detail.html:1039 +#: part/templates/part/detail.html:930 #, python-format msgid "Purchase Unit Price - %(currency)s" msgstr "" -#: part/templates/part/detail.html:1051 +#: part/templates/part/detail.html:942 #, python-format msgid "Unit Price-Cost Difference - %(currency)s" msgstr "" -#: part/templates/part/detail.html:1063 +#: part/templates/part/detail.html:954 #, python-format msgid "Supplier Unit Cost - %(currency)s" msgstr "" -#: part/templates/part/detail.html:1152 +#: part/templates/part/detail.html:1043 #, python-format msgid "Unit Price - %(currency)s" msgstr "" @@ -4668,86 +4677,108 @@ msgstr "" msgid "Delete part" msgstr "" -#: part/templates/part/part_base.html:109 +#: part/templates/part/part_base.html:112 msgid "Part is a template part (variants can be made from this part)" msgstr "" -#: part/templates/part/part_base.html:113 +#: part/templates/part/part_base.html:116 msgid "Part can be assembled from other parts" msgstr "" -#: part/templates/part/part_base.html:117 +#: part/templates/part/part_base.html:120 msgid "Part can be used in assemblies" msgstr "" -#: part/templates/part/part_base.html:121 +#: part/templates/part/part_base.html:124 msgid "Part stock is tracked by serial number" msgstr "" -#: part/templates/part/part_base.html:125 +#: part/templates/part/part_base.html:128 msgid "Part can be purchased from external suppliers" msgstr "" -#: part/templates/part/part_base.html:129 +#: part/templates/part/part_base.html:132 msgid "Part can be sold to customers" msgstr "" -#: part/templates/part/part_base.html:135 -#: part/templates/part/part_base.html:143 +#: part/templates/part/part_base.html:138 +#: part/templates/part/part_base.html:146 msgid "Part is virtual (not a physical part)" msgstr "" -#: part/templates/part/part_base.html:136 +#: part/templates/part/part_base.html:139 #: templates/js/translated/company.js:505 #: templates/js/translated/company.js:762 #: templates/js/translated/model_renderers.js:175 -#: templates/js/translated/part.js:465 templates/js/translated/part.js:542 +#: templates/js/translated/part.js:472 templates/js/translated/part.js:549 msgid "Inactive" msgstr "" -#: part/templates/part/part_base.html:155 +#: part/templates/part/part_base.html:156 +#: part/templates/part/part_base.html:579 +msgid "Show Part Details" +msgstr "" + +#: part/templates/part/part_base.html:173 #, python-format msgid "This part is a variant of %(link)s" msgstr "" -#: part/templates/part/part_base.html:172 templates/js/translated/order.js:1546 +#: part/templates/part/part_base.html:190 templates/js/translated/order.js:1545 #: templates/js/translated/table_filters.js:188 msgid "In Stock" msgstr "" -#: part/templates/part/part_base.html:185 templates/js/translated/part.js:1054 +#: part/templates/part/part_base.html:203 templates/js/translated/part.js:1235 msgid "On Order" msgstr "" -#: part/templates/part/part_base.html:192 templates/InvenTree/index.html:178 +#: part/templates/part/part_base.html:210 templates/InvenTree/index.html:178 msgid "Required for Build Orders" msgstr "" -#: part/templates/part/part_base.html:199 +#: part/templates/part/part_base.html:217 msgid "Required for Sales Orders" msgstr "" -#: part/templates/part/part_base.html:206 +#: part/templates/part/part_base.html:224 msgid "Allocated to Orders" msgstr "" -#: part/templates/part/part_base.html:221 templates/js/translated/bom.js:566 +#: part/templates/part/part_base.html:239 templates/js/translated/bom.js:566 msgid "Can Build" msgstr "" -#: part/templates/part/part_base.html:227 templates/js/translated/part.js:885 -#: templates/js/translated/part.js:1058 +#: part/templates/part/part_base.html:245 templates/js/translated/part.js:1066 +#: templates/js/translated/part.js:1239 msgid "Building" msgstr "" -#: part/templates/part/part_base.html:320 part/templates/part/prices.html:144 +#: part/templates/part/part_base.html:295 +msgid "Minimum stock level" +msgstr "" + +#: part/templates/part/part_base.html:324 +msgid "Latest Serial Number" +msgstr "" + +#: part/templates/part/part_base.html:328 +#: stock/templates/stock/item_base.html:159 +msgid "Search for serial number" +msgstr "" + +#: part/templates/part/part_base.html:449 part/templates/part/prices.html:144 msgid "Calculate" msgstr "" -#: part/templates/part/part_base.html:363 +#: part/templates/part/part_base.html:492 msgid "No matching images found" msgstr "" +#: part/templates/part/part_base.html:573 +msgid "Hide Part Details" +msgstr "" + #: part/templates/part/part_pricing.html:22 part/templates/part/prices.html:21 msgid "Supplier Pricing" msgstr "" @@ -4805,20 +4836,15 @@ msgstr "" msgid "No pricing information is available for this part." msgstr "" -#: part/templates/part/part_sidebar.html:8 -#: templates/js/translated/stock.js:1949 -msgid "Details" -msgstr "" - -#: part/templates/part/part_sidebar.html:13 +#: part/templates/part/part_sidebar.html:11 msgid "Variants" msgstr "" -#: part/templates/part/part_sidebar.html:27 +#: part/templates/part/part_sidebar.html:25 msgid "Used In" msgstr "" -#: part/templates/part/part_sidebar.html:43 +#: part/templates/part/part_sidebar.html:41 msgid "Test Templates" msgstr "" @@ -4934,8 +4960,8 @@ msgid "Set category for the following parts" msgstr "" #: part/templates/part/stock_count.html:7 templates/js/translated/bom.js:476 -#: templates/js/translated/part.js:429 templates/js/translated/part.js:875 -#: templates/js/translated/part.js:1062 +#: templates/js/translated/part.js:436 templates/js/translated/part.js:1056 +#: templates/js/translated/part.js:1243 msgid "No Stock" msgstr "" @@ -4995,7 +5021,7 @@ msgstr "" #: part/views.py:734 msgid "Confirm duplication of BOM from parent" -msgstr "" +msgstr "Confirmar duplicación de BOM desde principal" #: part/views.py:776 msgid "Confirm that the BOM is valid" @@ -5037,7 +5063,7 @@ msgstr "" msgid "Delete Part Parameter Template" msgstr "" -#: part/views.py:1489 templates/js/translated/part.js:310 +#: part/views.py:1489 templates/js/translated/part.js:313 msgid "Edit Part Category" msgstr "" @@ -5171,11 +5197,12 @@ msgid "Stock Item Test Report" msgstr "" #: report/templates/report/inventree_test_report_base.html:79 -#: stock/models.py:530 stock/templates/stock/item_base.html:238 +#: stock/models.py:520 stock/templates/stock/item_base.html:149 #: templates/js/translated/build.js:233 templates/js/translated/build.js:637 #: templates/js/translated/build.js:1013 #: templates/js/translated/model_renderers.js:95 -#: templates/js/translated/order.js:1288 templates/js/translated/order.js:1377 +#: templates/js/translated/order.js:1287 templates/js/translated/order.js:1376 +#: templates/js/translated/stock.js:410 msgid "Serial Number" msgstr "" @@ -5184,17 +5211,17 @@ msgid "Test Results" msgstr "" #: report/templates/report/inventree_test_report_base.html:93 -#: stock/models.py:1855 +#: stock/models.py:1845 msgid "Test" msgstr "" #: report/templates/report/inventree_test_report_base.html:94 -#: stock/models.py:1861 +#: stock/models.py:1851 msgid "Result" msgstr "" #: report/templates/report/inventree_test_report_base.html:97 -#: templates/js/translated/order.js:685 templates/js/translated/stock.js:1917 +#: templates/js/translated/order.js:684 templates/js/translated/stock.js:1999 msgid "Date" msgstr "" @@ -5212,7 +5239,7 @@ msgid "Installed Items" msgstr "" #: report/templates/report/inventree_test_report_base.html:137 -#: templates/js/translated/stock.js:2177 +#: templates/js/translated/stock.js:2259 msgid "Serial" msgstr "" @@ -5220,9 +5247,9 @@ msgstr "" msgid "Quantity is required" msgstr "" -#: stock/forms.py:91 stock/forms.py:265 stock/models.py:587 -#: stock/templates/stock/item_base.html:382 -#: templates/js/translated/stock.js:1276 +#: stock/forms.py:91 stock/forms.py:265 stock/models.py:577 +#: stock/templates/stock/item_base.html:186 +#: templates/js/translated/stock.js:1358 msgid "Expiry Date" msgstr "" @@ -5270,241 +5297,241 @@ msgstr "" msgid "Confirm removal of installed stock items" msgstr "" -#: stock/models.py:60 stock/models.py:624 -#: stock/templates/stock/item_base.html:422 +#: stock/models.py:60 stock/models.py:614 +#: stock/templates/stock/item_base.html:417 msgid "Owner" msgstr "" -#: stock/models.py:61 stock/models.py:625 +#: stock/models.py:61 stock/models.py:615 msgid "Select Owner" msgstr "" -#: stock/models.py:352 +#: stock/models.py:342 msgid "StockItem with this serial number already exists" msgstr "" -#: stock/models.py:388 +#: stock/models.py:378 #, python-brace-format msgid "Part type ('{pf}') must be {pe}" msgstr "" -#: stock/models.py:398 stock/models.py:407 +#: stock/models.py:388 stock/models.py:397 msgid "Quantity must be 1 for item with a serial number" msgstr "" -#: stock/models.py:399 +#: stock/models.py:389 msgid "Serial number cannot be set if quantity greater than 1" msgstr "" -#: stock/models.py:421 +#: stock/models.py:411 msgid "Item cannot belong to itself" msgstr "" -#: stock/models.py:427 +#: stock/models.py:417 msgid "Item must have a build reference if is_building=True" msgstr "" -#: stock/models.py:434 +#: stock/models.py:424 msgid "Build reference does not point to the same part object" msgstr "" -#: stock/models.py:476 +#: stock/models.py:466 msgid "Parent Stock Item" -msgstr "" +msgstr "Artículo de stock principal" -#: stock/models.py:485 +#: stock/models.py:475 msgid "Base part" msgstr "" -#: stock/models.py:493 +#: stock/models.py:483 msgid "Select a matching supplier part for this stock item" msgstr "" -#: stock/models.py:498 stock/templates/stock/location.html:12 +#: stock/models.py:488 stock/templates/stock/location.html:12 #: stock/templates/stock/stock_app_base.html:8 msgid "Stock Location" msgstr "" -#: stock/models.py:501 +#: stock/models.py:491 msgid "Where is this stock item located?" msgstr "" -#: stock/models.py:508 +#: stock/models.py:498 msgid "Packaging this stock item is stored in" msgstr "" -#: stock/models.py:513 stock/templates/stock/item_base.html:271 +#: stock/models.py:503 stock/templates/stock/item_base.html:299 msgid "Installed In" msgstr "" -#: stock/models.py:516 +#: stock/models.py:506 msgid "Is this item installed in another item?" msgstr "" -#: stock/models.py:532 +#: stock/models.py:522 msgid "Serial number for this item" msgstr "" -#: stock/models.py:546 +#: stock/models.py:536 msgid "Batch code for this stock item" msgstr "" -#: stock/models.py:550 +#: stock/models.py:540 msgid "Stock Quantity" msgstr "" -#: stock/models.py:559 +#: stock/models.py:549 msgid "Source Build" msgstr "" -#: stock/models.py:561 +#: stock/models.py:551 msgid "Build for this stock item" msgstr "" -#: stock/models.py:572 +#: stock/models.py:562 msgid "Source Purchase Order" msgstr "" -#: stock/models.py:575 +#: stock/models.py:565 msgid "Purchase order for this stock item" msgstr "" -#: stock/models.py:581 +#: stock/models.py:571 msgid "Destination Sales Order" msgstr "" -#: stock/models.py:588 +#: stock/models.py:578 msgid "Expiry date for stock item. Stock will be considered expired after this date" msgstr "" -#: stock/models.py:601 +#: stock/models.py:591 msgid "Delete on deplete" msgstr "" -#: stock/models.py:601 +#: stock/models.py:591 msgid "Delete this Stock Item when stock is depleted" msgstr "" -#: stock/models.py:611 stock/templates/stock/item.html:111 +#: stock/models.py:601 stock/templates/stock/item.html:111 msgid "Stock Item Notes" msgstr "" -#: stock/models.py:620 +#: stock/models.py:610 msgid "Single unit purchase price at time of purchase" msgstr "" -#: stock/models.py:630 +#: stock/models.py:620 msgid "Scheduled for deletion" msgstr "" -#: stock/models.py:631 +#: stock/models.py:621 msgid "This StockItem will be deleted by the background worker" msgstr "" -#: stock/models.py:1094 +#: stock/models.py:1084 msgid "Part is not set as trackable" msgstr "" -#: stock/models.py:1100 +#: stock/models.py:1090 msgid "Quantity must be integer" msgstr "" -#: stock/models.py:1106 +#: stock/models.py:1096 #, python-brace-format msgid "Quantity must not exceed available stock quantity ({n})" msgstr "" -#: stock/models.py:1109 +#: stock/models.py:1099 msgid "Serial numbers must be a list of integers" msgstr "" -#: stock/models.py:1112 +#: stock/models.py:1102 msgid "Quantity does not match serial numbers" msgstr "" -#: stock/models.py:1119 +#: stock/models.py:1109 #, python-brace-format msgid "Serial numbers already exist: {exists}" msgstr "" -#: stock/models.py:1277 +#: stock/models.py:1267 msgid "StockItem cannot be moved as it is not in stock" msgstr "" -#: stock/models.py:1775 +#: stock/models.py:1765 msgid "Entry notes" msgstr "" -#: stock/models.py:1832 +#: stock/models.py:1822 msgid "Value must be provided for this test" msgstr "" -#: stock/models.py:1838 +#: stock/models.py:1828 msgid "Attachment must be uploaded for this test" msgstr "" -#: stock/models.py:1856 +#: stock/models.py:1846 msgid "Test name" msgstr "" -#: stock/models.py:1862 templates/js/translated/table_filters.js:266 +#: stock/models.py:1852 templates/js/translated/table_filters.js:266 msgid "Test result" msgstr "" -#: stock/models.py:1868 +#: stock/models.py:1858 msgid "Test output value" msgstr "" -#: stock/models.py:1875 +#: stock/models.py:1865 msgid "Test result attachment" msgstr "" -#: stock/models.py:1881 +#: stock/models.py:1871 msgid "Test notes" msgstr "" -#: stock/serializers.py:166 +#: stock/serializers.py:171 msgid "Purchase price of this stock item" msgstr "" -#: stock/serializers.py:173 +#: stock/serializers.py:178 msgid "Purchase currency of this stock item" msgstr "" -#: stock/serializers.py:287 +#: stock/serializers.py:292 msgid "Enter number of stock items to serialize" msgstr "" -#: stock/serializers.py:302 +#: stock/serializers.py:307 #, python-brace-format msgid "Quantity must not exceed available stock quantity ({q})" msgstr "" -#: stock/serializers.py:308 +#: stock/serializers.py:313 msgid "Enter serial numbers for new items" msgstr "" -#: stock/serializers.py:319 stock/serializers.py:686 +#: stock/serializers.py:324 stock/serializers.py:691 msgid "Destination stock location" msgstr "" -#: stock/serializers.py:326 +#: stock/serializers.py:331 msgid "Optional note field" msgstr "" -#: stock/serializers.py:339 +#: stock/serializers.py:344 msgid "Serial numbers cannot be assigned to this part" msgstr "" -#: stock/serializers.py:556 +#: stock/serializers.py:561 msgid "StockItem primary key value" msgstr "" -#: stock/serializers.py:584 +#: stock/serializers.py:589 msgid "Stock transaction notes" msgstr "" -#: stock/serializers.py:594 +#: stock/serializers.py:599 msgid "A list of stock items must be provided" msgstr "" @@ -5629,125 +5656,131 @@ msgstr "" msgid "Install" msgstr "" -#: stock/templates/stock/item_base.html:106 +#: stock/templates/stock/item_base.html:108 msgid "Convert to variant" msgstr "" -#: stock/templates/stock/item_base.html:109 +#: stock/templates/stock/item_base.html:111 msgid "Duplicate stock item" msgstr "" -#: stock/templates/stock/item_base.html:111 +#: stock/templates/stock/item_base.html:113 msgid "Edit stock item" msgstr "" -#: stock/templates/stock/item_base.html:114 +#: stock/templates/stock/item_base.html:116 msgid "Delete stock item" msgstr "" -#: stock/templates/stock/item_base.html:136 -#: stock/templates/stock/item_base.html:386 -#: templates/js/translated/table_filters.js:247 -msgid "Expired" +#: stock/templates/stock/item_base.html:154 +msgid "previous page" msgstr "" -#: stock/templates/stock/item_base.html:146 -#: stock/templates/stock/item_base.html:388 -#: templates/js/translated/table_filters.js:253 -msgid "Stale" +#: stock/templates/stock/item_base.html:154 +msgid "Navigate to previous serial number" msgstr "" -#: stock/templates/stock/item_base.html:161 -msgid "You are not in the list of owners of this item. This stock item cannot be edited." +#: stock/templates/stock/item_base.html:163 +msgid "next page" msgstr "" -#: stock/templates/stock/item_base.html:168 -msgid "This stock item is in production and cannot be edited." -msgstr "" - -#: stock/templates/stock/item_base.html:169 -msgid "Edit the stock item from the build view." -msgstr "" - -#: stock/templates/stock/item_base.html:182 -msgid "This stock item has not passed all required tests" +#: stock/templates/stock/item_base.html:163 +msgid "Navigate to next serial number" msgstr "" #: stock/templates/stock/item_base.html:190 #, python-format -msgid "This stock item is allocated to Sales Order %(link)s (Quantity: %(qty)s)" -msgstr "" - -#: stock/templates/stock/item_base.html:198 -#, python-format -msgid "This stock item is allocated to Build %(link)s (Quantity: %(qty)s)" -msgstr "" - -#: stock/templates/stock/item_base.html:204 -msgid "This stock item is serialized - it has a unique serial number and the quantity cannot be adjusted." -msgstr "" - -#: stock/templates/stock/item_base.html:208 -msgid "This stock item cannot be deleted as it has child items" -msgstr "" - -#: stock/templates/stock/item_base.html:212 -msgid "This stock item will be automatically deleted when all stock is depleted." -msgstr "" - -#: stock/templates/stock/item_base.html:241 -msgid "previous page" -msgstr "" - -#: stock/templates/stock/item_base.html:247 -msgid "next page" -msgstr "" - -#: stock/templates/stock/item_base.html:290 -#: templates/js/translated/build.js:1035 -msgid "No location set" -msgstr "" - -#: stock/templates/stock/item_base.html:297 -msgid "Barcode Identifier" -msgstr "" - -#: stock/templates/stock/item_base.html:339 -msgid "Parent Item" -msgstr "" - -#: stock/templates/stock/item_base.html:357 -msgid "No manufacturer set" -msgstr "" - -#: stock/templates/stock/item_base.html:386 -#, python-format msgid "This StockItem expired on %(item.expiry_date)s" msgstr "" -#: stock/templates/stock/item_base.html:388 +#: stock/templates/stock/item_base.html:190 +#: templates/js/translated/table_filters.js:247 +msgid "Expired" +msgstr "" + +#: stock/templates/stock/item_base.html:192 #, python-format msgid "This StockItem expires on %(item.expiry_date)s" msgstr "" -#: stock/templates/stock/item_base.html:395 -#: templates/js/translated/stock.js:1289 +#: stock/templates/stock/item_base.html:192 +#: templates/js/translated/table_filters.js:253 +msgid "Stale" +msgstr "" + +#: stock/templates/stock/item_base.html:199 +#: templates/js/translated/stock.js:1371 msgid "Last Updated" msgstr "" -#: stock/templates/stock/item_base.html:400 +#: stock/templates/stock/item_base.html:204 msgid "Last Stocktake" msgstr "Último Inventario" -#: stock/templates/stock/item_base.html:404 +#: stock/templates/stock/item_base.html:208 msgid "No stocktake performed" msgstr "Ningún inventario realizado" -#: stock/templates/stock/item_base.html:415 +#: stock/templates/stock/item_base.html:226 +msgid "You are not in the list of owners of this item. This stock item cannot be edited." +msgstr "" + +#: stock/templates/stock/item_base.html:233 +msgid "This stock item is in production and cannot be edited." +msgstr "" + +#: stock/templates/stock/item_base.html:234 +msgid "Edit the stock item from the build view." +msgstr "" + +#: stock/templates/stock/item_base.html:247 +msgid "This stock item has not passed all required tests" +msgstr "" + +#: stock/templates/stock/item_base.html:255 +#, python-format +msgid "This stock item is allocated to Sales Order %(link)s (Quantity: %(qty)s)" +msgstr "" + +#: stock/templates/stock/item_base.html:263 +#, python-format +msgid "This stock item is allocated to Build %(link)s (Quantity: %(qty)s)" +msgstr "" + +#: stock/templates/stock/item_base.html:269 +msgid "This stock item is serialized - it has a unique serial number and the quantity cannot be adjusted." +msgstr "" + +#: stock/templates/stock/item_base.html:273 +msgid "This stock item cannot be deleted as it has child items" +msgstr "" + +#: stock/templates/stock/item_base.html:277 +msgid "This stock item will be automatically deleted when all stock is depleted." +msgstr "" + +#: stock/templates/stock/item_base.html:318 +#: templates/js/translated/build.js:1035 +msgid "No location set" +msgstr "" + +#: stock/templates/stock/item_base.html:325 +msgid "Barcode Identifier" +msgstr "" + +#: stock/templates/stock/item_base.html:367 +msgid "Parent Item" +msgstr "Artículo principal" + +#: stock/templates/stock/item_base.html:385 +msgid "No manufacturer set" +msgstr "" + +#: stock/templates/stock/item_base.html:410 msgid "Tests" msgstr "" -#: stock/templates/stock/item_base.html:505 +#: stock/templates/stock/item_base.html:500 msgid "Edit Stock Status" msgstr "" @@ -5825,30 +5858,35 @@ msgstr "" msgid "New Location" msgstr "" -#: stock/templates/stock/location.html:86 +#: stock/templates/stock/location.html:95 +#: stock/templates/stock/location.html:101 +msgid "Location Path" +msgstr "" + +#: stock/templates/stock/location.html:102 msgid "Top level stock location" msgstr "" -#: stock/templates/stock/location.html:95 +#: stock/templates/stock/location.html:115 msgid "You are not in the list of owners of this location. This stock location cannot be edited." msgstr "" -#: stock/templates/stock/location.html:113 -#: stock/templates/stock/location.html:160 +#: stock/templates/stock/location.html:128 +#: stock/templates/stock/location.html:175 #: stock/templates/stock/location_sidebar.html:5 msgid "Sublocations" msgstr "" -#: stock/templates/stock/location.html:127 templates/InvenTree/search.html:170 +#: stock/templates/stock/location.html:142 templates/InvenTree/search.html:170 #: templates/stats.html:97 users/models.py:42 msgid "Stock Locations" msgstr "" -#: stock/templates/stock/location.html:167 templates/stock_table.html:30 +#: stock/templates/stock/location.html:182 templates/stock_table.html:30 msgid "Printing Actions" msgstr "" -#: stock/templates/stock/location.html:171 templates/stock_table.html:34 +#: stock/templates/stock/location.html:186 templates/stock_table.html:34 msgid "Print labels" msgstr "" @@ -5942,7 +5980,7 @@ msgstr "" msgid "Uninstall Stock Items" msgstr "" -#: stock/views.py:760 templates/js/translated/stock.js:648 +#: stock/views.py:760 templates/js/translated/stock.js:730 msgid "Confirm stock adjustment" msgstr "" @@ -5950,7 +5988,7 @@ msgstr "" msgid "Uninstalled stock items" msgstr "" -#: stock/views.py:793 templates/js/translated/stock.js:318 +#: stock/views.py:793 templates/js/translated/stock.js:319 msgid "Edit Stock Item" msgstr "" @@ -5962,7 +6000,7 @@ msgstr "" msgid "Create new Stock Item" msgstr "" -#: stock/views.py:1186 templates/js/translated/stock.js:298 +#: stock/views.py:1186 templates/js/translated/stock.js:299 msgid "Duplicate Stock Item" msgstr "" @@ -6868,7 +6906,7 @@ msgstr "" msgid "Unlink" msgstr "" -#: templates/js/translated/barcode.js:397 templates/js/translated/stock.js:600 +#: templates/js/translated/barcode.js:397 templates/js/translated/stock.js:682 msgid "Remove stock item" msgstr "" @@ -6963,7 +7001,7 @@ msgid "View BOM" msgstr "" #: templates/js/translated/bom.js:608 templates/js/translated/build.js:1183 -#: templates/js/translated/order.js:1320 +#: templates/js/translated/order.js:1319 msgid "Actions" msgstr "" @@ -7001,7 +7039,7 @@ msgstr "" #: templates/js/translated/bom.js:996 msgid "Inherited from parent BOM" -msgstr "" +msgstr "Heredado de BOM principal" #: templates/js/translated/build.js:78 msgid "Edit Build Order" @@ -7055,7 +7093,7 @@ msgstr "" msgid "No build order allocations found" msgstr "" -#: templates/js/translated/build.js:424 templates/js/translated/order.js:1194 +#: templates/js/translated/build.js:424 templates/js/translated/order.js:1193 msgid "Location not specified" msgstr "" @@ -7064,12 +7102,12 @@ msgid "No active build outputs found" msgstr "" #: templates/js/translated/build.js:1052 templates/js/translated/build.js:1760 -#: templates/js/translated/order.js:1327 +#: templates/js/translated/order.js:1326 msgid "Edit stock allocation" msgstr "" #: templates/js/translated/build.js:1054 templates/js/translated/build.js:1761 -#: templates/js/translated/order.js:1328 +#: templates/js/translated/order.js:1327 msgid "Delete stock allocation" msgstr "" @@ -7090,11 +7128,11 @@ msgid "Quantity Per" msgstr "" #: templates/js/translated/build.js:1134 templates/js/translated/build.js:1360 -#: templates/js/translated/build.js:1756 templates/js/translated/order.js:1557 +#: templates/js/translated/build.js:1756 templates/js/translated/order.js:1556 msgid "Allocated" msgstr "" -#: templates/js/translated/build.js:1190 templates/js/translated/order.js:1611 +#: templates/js/translated/build.js:1190 templates/js/translated/order.js:1610 msgid "Build stock" msgstr "" @@ -7102,7 +7140,7 @@ msgstr "" msgid "Order stock" msgstr "" -#: templates/js/translated/build.js:1197 templates/js/translated/order.js:1604 +#: templates/js/translated/build.js:1197 templates/js/translated/order.js:1603 msgid "Allocate stock" msgstr "" @@ -7143,9 +7181,9 @@ msgstr "" msgid "No builds matching query" msgstr "" -#: templates/js/translated/build.js:1593 templates/js/translated/part.js:966 -#: templates/js/translated/part.js:1377 templates/js/translated/stock.js:1094 -#: templates/js/translated/stock.js:1871 +#: templates/js/translated/build.js:1593 templates/js/translated/part.js:1147 +#: templates/js/translated/part.js:1558 templates/js/translated/stock.js:1176 +#: templates/js/translated/stock.js:1953 msgid "Select" msgstr "" @@ -7153,7 +7191,7 @@ msgstr "" msgid "Build order is overdue" msgstr "" -#: templates/js/translated/build.js:1674 templates/js/translated/stock.js:2090 +#: templates/js/translated/build.js:1674 templates/js/translated/stock.js:2172 msgid "No user information" msgstr "" @@ -7197,10 +7235,6 @@ msgstr "" msgid "Delete Supplier Part" msgstr "" -#: templates/js/translated/company.js:265 -msgid "Edit Company" -msgstr "" - #: templates/js/translated/company.js:286 msgid "Add new Company" msgstr "" @@ -7230,34 +7264,34 @@ msgid "No manufacturer parts found" msgstr "" #: templates/js/translated/company.js:497 -#: templates/js/translated/company.js:754 templates/js/translated/part.js:449 -#: templates/js/translated/part.js:534 +#: templates/js/translated/company.js:754 templates/js/translated/part.js:456 +#: templates/js/translated/part.js:541 msgid "Template part" msgstr "" #: templates/js/translated/company.js:501 -#: templates/js/translated/company.js:758 templates/js/translated/part.js:453 -#: templates/js/translated/part.js:538 +#: templates/js/translated/company.js:758 templates/js/translated/part.js:460 +#: templates/js/translated/part.js:545 msgid "Assembled part" msgstr "" -#: templates/js/translated/company.js:628 templates/js/translated/part.js:626 +#: templates/js/translated/company.js:628 templates/js/translated/part.js:633 msgid "No parameters found" msgstr "" -#: templates/js/translated/company.js:665 templates/js/translated/part.js:668 +#: templates/js/translated/company.js:665 templates/js/translated/part.js:675 msgid "Edit parameter" msgstr "" -#: templates/js/translated/company.js:666 templates/js/translated/part.js:669 +#: templates/js/translated/company.js:666 templates/js/translated/part.js:676 msgid "Delete parameter" msgstr "" -#: templates/js/translated/company.js:685 templates/js/translated/part.js:686 +#: templates/js/translated/company.js:685 templates/js/translated/part.js:693 msgid "Edit Parameter" msgstr "" -#: templates/js/translated/company.js:696 templates/js/translated/part.js:698 +#: templates/js/translated/company.js:696 templates/js/translated/part.js:705 msgid "Delete Parameter" msgstr "" @@ -7346,7 +7380,7 @@ msgid "NO" msgstr "" #: templates/js/translated/label.js:29 templates/js/translated/report.js:118 -#: templates/js/translated/stock.js:624 +#: templates/js/translated/stock.js:706 msgid "Select Stock Items" msgstr "" @@ -7502,11 +7536,11 @@ msgstr "" msgid "Export Order" msgstr "" -#: templates/js/translated/order.js:211 templates/js/translated/stock.js:423 +#: templates/js/translated/order.js:211 templates/js/translated/stock.js:505 msgid "Format" msgstr "" -#: templates/js/translated/order.js:212 templates/js/translated/stock.js:424 +#: templates/js/translated/order.js:212 templates/js/translated/stock.js:506 msgid "Select file format" msgstr "" @@ -7522,7 +7556,7 @@ msgstr "" msgid "Quantity to receive" msgstr "" -#: templates/js/translated/order.js:360 templates/js/translated/stock.js:1673 +#: templates/js/translated/order.js:360 templates/js/translated/stock.js:1755 msgid "Stock Status" msgstr "" @@ -7546,321 +7580,321 @@ msgstr "" msgid "Receive Purchase Order Items" msgstr "" -#: templates/js/translated/order.js:627 +#: templates/js/translated/order.js:627 templates/js/translated/part.js:746 msgid "No purchase orders found" msgstr "" -#: templates/js/translated/order.js:652 templates/js/translated/order.js:1063 +#: templates/js/translated/order.js:659 templates/js/translated/order.js:1062 msgid "Order is overdue" msgstr "" -#: templates/js/translated/order.js:772 templates/js/translated/order.js:1646 +#: templates/js/translated/order.js:771 templates/js/translated/order.js:1645 msgid "Edit Line Item" msgstr "" -#: templates/js/translated/order.js:784 templates/js/translated/order.js:1657 +#: templates/js/translated/order.js:783 templates/js/translated/order.js:1656 msgid "Delete Line Item" msgstr "" -#: templates/js/translated/order.js:823 +#: templates/js/translated/order.js:822 msgid "No line items found" msgstr "" -#: templates/js/translated/order.js:850 templates/js/translated/order.js:1467 +#: templates/js/translated/order.js:849 templates/js/translated/order.js:1466 msgid "Total" msgstr "" -#: templates/js/translated/order.js:904 templates/js/translated/order.js:1492 -#: templates/js/translated/part.js:1594 templates/js/translated/part.js:1805 +#: templates/js/translated/order.js:903 templates/js/translated/order.js:1491 +#: templates/js/translated/part.js:1775 templates/js/translated/part.js:1986 msgid "Unit Price" msgstr "" -#: templates/js/translated/order.js:919 templates/js/translated/order.js:1508 +#: templates/js/translated/order.js:918 templates/js/translated/order.js:1507 msgid "Total Price" msgstr "" -#: templates/js/translated/order.js:997 templates/js/translated/order.js:1617 +#: templates/js/translated/order.js:996 templates/js/translated/order.js:1616 msgid "Edit line item" msgstr "" -#: templates/js/translated/order.js:998 +#: templates/js/translated/order.js:997 msgid "Delete line item" msgstr "" -#: templates/js/translated/order.js:1002 +#: templates/js/translated/order.js:1001 templates/js/translated/part.js:878 msgid "Receive line item" msgstr "" -#: templates/js/translated/order.js:1039 +#: templates/js/translated/order.js:1038 msgid "No sales orders found" msgstr "" -#: templates/js/translated/order.js:1077 +#: templates/js/translated/order.js:1076 msgid "Invalid Customer" msgstr "" -#: templates/js/translated/order.js:1155 +#: templates/js/translated/order.js:1154 msgid "No sales order allocations found" msgstr "" -#: templates/js/translated/order.js:1248 +#: templates/js/translated/order.js:1247 msgid "Edit Stock Allocation" msgstr "" -#: templates/js/translated/order.js:1265 +#: templates/js/translated/order.js:1264 msgid "Confirm Delete Operation" msgstr "" -#: templates/js/translated/order.js:1266 +#: templates/js/translated/order.js:1265 msgid "Delete Stock Allocation" msgstr "" -#: templates/js/translated/order.js:1308 +#: templates/js/translated/order.js:1307 msgid "Stock location not specified" msgstr "" -#: templates/js/translated/order.js:1557 +#: templates/js/translated/order.js:1556 msgid "Fulfilled" msgstr "" -#: templates/js/translated/order.js:1601 +#: templates/js/translated/order.js:1600 msgid "Allocate serial numbers" msgstr "" -#: templates/js/translated/order.js:1607 +#: templates/js/translated/order.js:1606 msgid "Purchase stock" msgstr "" -#: templates/js/translated/order.js:1614 templates/js/translated/order.js:1793 +#: templates/js/translated/order.js:1613 templates/js/translated/order.js:1792 msgid "Calculate price" msgstr "" -#: templates/js/translated/order.js:1618 +#: templates/js/translated/order.js:1617 msgid "Delete line item " msgstr "" -#: templates/js/translated/order.js:1741 +#: templates/js/translated/order.js:1740 msgid "Allocate Stock Item" msgstr "" -#: templates/js/translated/order.js:1801 +#: templates/js/translated/order.js:1800 msgid "Update Unit Price" msgstr "" -#: templates/js/translated/order.js:1815 +#: templates/js/translated/order.js:1814 msgid "No matching line items" msgstr "" -#: templates/js/translated/part.js:51 +#: templates/js/translated/part.js:52 msgid "Part Attributes" msgstr "" -#: templates/js/translated/part.js:55 +#: templates/js/translated/part.js:56 msgid "Part Creation Options" msgstr "" -#: templates/js/translated/part.js:59 +#: templates/js/translated/part.js:60 msgid "Part Duplication Options" msgstr "" -#: templates/js/translated/part.js:63 +#: templates/js/translated/part.js:64 msgid "Supplier Options" msgstr "" -#: templates/js/translated/part.js:77 +#: templates/js/translated/part.js:78 msgid "Add Part Category" msgstr "" -#: templates/js/translated/part.js:166 +#: templates/js/translated/part.js:162 msgid "Create Initial Stock" msgstr "" -#: templates/js/translated/part.js:167 +#: templates/js/translated/part.js:163 msgid "Create an initial stock item for this part" msgstr "" -#: templates/js/translated/part.js:174 +#: templates/js/translated/part.js:170 msgid "Initial Stock Quantity" msgstr "" -#: templates/js/translated/part.js:175 +#: templates/js/translated/part.js:171 msgid "Specify initial stock quantity for this part" msgstr "" -#: templates/js/translated/part.js:182 +#: templates/js/translated/part.js:178 msgid "Select destination stock location" msgstr "" -#: templates/js/translated/part.js:193 +#: templates/js/translated/part.js:196 msgid "Copy Category Parameters" msgstr "" -#: templates/js/translated/part.js:194 +#: templates/js/translated/part.js:197 msgid "Copy parameter templates from selected part category" msgstr "" -#: templates/js/translated/part.js:202 +#: templates/js/translated/part.js:205 msgid "Add Supplier Data" msgstr "" -#: templates/js/translated/part.js:203 +#: templates/js/translated/part.js:206 msgid "Create initial supplier data for this part" msgstr "" -#: templates/js/translated/part.js:259 +#: templates/js/translated/part.js:262 msgid "Copy Image" msgstr "" -#: templates/js/translated/part.js:260 +#: templates/js/translated/part.js:263 msgid "Copy image from original part" msgstr "" -#: templates/js/translated/part.js:268 +#: templates/js/translated/part.js:271 msgid "Copy bill of materials from original part" msgstr "" -#: templates/js/translated/part.js:275 +#: templates/js/translated/part.js:278 msgid "Copy Parameters" msgstr "" -#: templates/js/translated/part.js:276 +#: templates/js/translated/part.js:279 msgid "Copy parameter data from original part" msgstr "" -#: templates/js/translated/part.js:289 +#: templates/js/translated/part.js:292 msgid "Parent part category" -msgstr "" +msgstr "Categoría principal de parte" -#: templates/js/translated/part.js:333 +#: templates/js/translated/part.js:336 msgid "Edit Part" msgstr "" -#: templates/js/translated/part.js:335 +#: templates/js/translated/part.js:338 msgid "Part edited" msgstr "" -#: templates/js/translated/part.js:403 +#: templates/js/translated/part.js:410 msgid "You are subscribed to notifications for this item" msgstr "" -#: templates/js/translated/part.js:405 +#: templates/js/translated/part.js:412 msgid "You have subscribed to notifications for this item" msgstr "" -#: templates/js/translated/part.js:410 +#: templates/js/translated/part.js:417 msgid "Subscribe to notifications for this item" msgstr "" -#: templates/js/translated/part.js:412 +#: templates/js/translated/part.js:419 msgid "You have unsubscribed to notifications for this item" msgstr "" -#: templates/js/translated/part.js:441 templates/js/translated/part.js:526 +#: templates/js/translated/part.js:448 templates/js/translated/part.js:533 msgid "Trackable part" msgstr "" -#: templates/js/translated/part.js:445 templates/js/translated/part.js:530 +#: templates/js/translated/part.js:452 templates/js/translated/part.js:537 msgid "Virtual part" msgstr "" -#: templates/js/translated/part.js:457 +#: templates/js/translated/part.js:464 msgid "Subscribed part" msgstr "" -#: templates/js/translated/part.js:461 +#: templates/js/translated/part.js:468 msgid "Salable part" msgstr "" -#: templates/js/translated/part.js:576 +#: templates/js/translated/part.js:583 msgid "No variants found" msgstr "" -#: templates/js/translated/part.js:765 +#: templates/js/translated/part.js:946 msgid "Delete part relationship" msgstr "" -#: templates/js/translated/part.js:789 +#: templates/js/translated/part.js:970 msgid "Delete Part Relationship" msgstr "" -#: templates/js/translated/part.js:856 templates/js/translated/part.js:1116 +#: templates/js/translated/part.js:1037 templates/js/translated/part.js:1297 msgid "No parts found" msgstr "" -#: templates/js/translated/part.js:1026 +#: templates/js/translated/part.js:1207 msgid "No category" msgstr "" -#: templates/js/translated/part.js:1049 +#: templates/js/translated/part.js:1230 #: templates/js/translated/table_filters.js:381 msgid "Low stock" msgstr "" -#: templates/js/translated/part.js:1140 templates/js/translated/part.js:1312 -#: templates/js/translated/stock.js:1832 +#: templates/js/translated/part.js:1321 templates/js/translated/part.js:1493 +#: templates/js/translated/stock.js:1914 msgid "Display as list" msgstr "" -#: templates/js/translated/part.js:1156 +#: templates/js/translated/part.js:1337 msgid "Display as grid" msgstr "" -#: templates/js/translated/part.js:1331 templates/js/translated/stock.js:1851 +#: templates/js/translated/part.js:1512 templates/js/translated/stock.js:1933 msgid "Display as tree" msgstr "" -#: templates/js/translated/part.js:1395 +#: templates/js/translated/part.js:1576 msgid "Subscribed category" msgstr "" -#: templates/js/translated/part.js:1409 templates/js/translated/stock.js:1895 +#: templates/js/translated/part.js:1590 templates/js/translated/stock.js:1977 msgid "Path" msgstr "" -#: templates/js/translated/part.js:1453 +#: templates/js/translated/part.js:1634 msgid "No test templates matching query" msgstr "" -#: templates/js/translated/part.js:1504 templates/js/translated/stock.js:816 +#: templates/js/translated/part.js:1685 templates/js/translated/stock.js:898 msgid "Edit test result" msgstr "" -#: templates/js/translated/part.js:1505 templates/js/translated/stock.js:817 +#: templates/js/translated/part.js:1686 templates/js/translated/stock.js:899 msgid "Delete test result" msgstr "" -#: templates/js/translated/part.js:1511 +#: templates/js/translated/part.js:1692 msgid "This test is defined for a parent part" -msgstr "" +msgstr "Esta prueba está definida para una parte principal" -#: templates/js/translated/part.js:1533 +#: templates/js/translated/part.js:1714 msgid "Edit Test Result Template" msgstr "" -#: templates/js/translated/part.js:1547 +#: templates/js/translated/part.js:1728 msgid "Delete Test Result Template" msgstr "" -#: templates/js/translated/part.js:1572 +#: templates/js/translated/part.js:1753 #, python-brace-format msgid "No ${human_name} information found" msgstr "" -#: templates/js/translated/part.js:1627 +#: templates/js/translated/part.js:1808 #, python-brace-format msgid "Edit ${human_name}" msgstr "" -#: templates/js/translated/part.js:1628 +#: templates/js/translated/part.js:1809 #, python-brace-format msgid "Delete ${human_name}" msgstr "" -#: templates/js/translated/part.js:1729 +#: templates/js/translated/part.js:1910 msgid "Single Price" msgstr "" -#: templates/js/translated/part.js:1748 +#: templates/js/translated/part.js:1929 msgid "Single Price Difference" msgstr "" @@ -7930,276 +7964,300 @@ msgstr "" msgid "Sales Order(s) must be selected before printing report" msgstr "" -#: templates/js/translated/stock.js:70 +#: templates/js/translated/stock.js:71 msgid "Serialize Stock Item" msgstr "" -#: templates/js/translated/stock.js:88 templates/js/translated/stock.js:167 +#: templates/js/translated/stock.js:89 templates/js/translated/stock.js:168 msgid "Next available serial number" msgstr "" -#: templates/js/translated/stock.js:90 templates/js/translated/stock.js:169 +#: templates/js/translated/stock.js:91 templates/js/translated/stock.js:170 msgid "Latest serial number" msgstr "" -#: templates/js/translated/stock.js:104 +#: templates/js/translated/stock.js:105 msgid "Parent stock location" -msgstr "" +msgstr "Ubicación del stock principal" -#: templates/js/translated/stock.js:140 +#: templates/js/translated/stock.js:141 msgid "New Stock Location" msgstr "" -#: templates/js/translated/stock.js:180 +#: templates/js/translated/stock.js:181 msgid "This part cannot be serialized" msgstr "" -#: templates/js/translated/stock.js:219 +#: templates/js/translated/stock.js:220 msgid "Enter initial quantity for this stock item" msgstr "" -#: templates/js/translated/stock.js:225 +#: templates/js/translated/stock.js:226 msgid "Enter serial numbers for new stock (or leave blank)" msgstr "" -#: templates/js/translated/stock.js:368 +#: templates/js/translated/stock.js:369 msgid "Created new stock item" msgstr "" -#: templates/js/translated/stock.js:381 +#: templates/js/translated/stock.js:382 msgid "Created multiple stock items" msgstr "" -#: templates/js/translated/stock.js:420 +#: templates/js/translated/stock.js:407 +msgid "Find Serial Number" +msgstr "" + +#: templates/js/translated/stock.js:411 templates/js/translated/stock.js:412 +msgid "Enter serial number" +msgstr "" + +#: templates/js/translated/stock.js:428 +msgid "Enter a serial number" +msgstr "" + +#: templates/js/translated/stock.js:448 +msgid "No matching serial number" +msgstr "" + +#: templates/js/translated/stock.js:457 +msgid "More than one matching result found" +msgstr "" + +#: templates/js/translated/stock.js:502 msgid "Export Stock" msgstr "" -#: templates/js/translated/stock.js:431 +#: templates/js/translated/stock.js:513 msgid "Include Sublocations" msgstr "" -#: templates/js/translated/stock.js:432 +#: templates/js/translated/stock.js:514 msgid "Include stock items in sublocations" msgstr "" -#: templates/js/translated/stock.js:474 +#: templates/js/translated/stock.js:556 msgid "Transfer Stock" msgstr "" -#: templates/js/translated/stock.js:475 +#: templates/js/translated/stock.js:557 msgid "Move" msgstr "" -#: templates/js/translated/stock.js:481 +#: templates/js/translated/stock.js:563 msgid "Count Stock" msgstr "" -#: templates/js/translated/stock.js:482 +#: templates/js/translated/stock.js:564 msgid "Count" msgstr "" -#: templates/js/translated/stock.js:486 +#: templates/js/translated/stock.js:568 msgid "Remove Stock" msgstr "" -#: templates/js/translated/stock.js:487 +#: templates/js/translated/stock.js:569 msgid "Take" msgstr "" -#: templates/js/translated/stock.js:491 +#: templates/js/translated/stock.js:573 msgid "Add Stock" msgstr "" -#: templates/js/translated/stock.js:492 users/models.py:200 +#: templates/js/translated/stock.js:574 users/models.py:200 msgid "Add" msgstr "" -#: templates/js/translated/stock.js:496 templates/stock_table.html:56 +#: templates/js/translated/stock.js:578 templates/stock_table.html:56 msgid "Delete Stock" msgstr "" -#: templates/js/translated/stock.js:585 +#: templates/js/translated/stock.js:667 msgid "Quantity cannot be adjusted for serialized stock" msgstr "" -#: templates/js/translated/stock.js:585 +#: templates/js/translated/stock.js:667 msgid "Specify stock quantity" msgstr "" -#: templates/js/translated/stock.js:625 +#: templates/js/translated/stock.js:707 msgid "You must select at least one available stock item" msgstr "" -#: templates/js/translated/stock.js:783 +#: templates/js/translated/stock.js:865 msgid "PASS" msgstr "" -#: templates/js/translated/stock.js:785 +#: templates/js/translated/stock.js:867 msgid "FAIL" msgstr "" -#: templates/js/translated/stock.js:790 +#: templates/js/translated/stock.js:872 msgid "NO RESULT" msgstr "" -#: templates/js/translated/stock.js:812 +#: templates/js/translated/stock.js:894 msgid "Add test result" msgstr "" -#: templates/js/translated/stock.js:838 +#: templates/js/translated/stock.js:920 msgid "No test results found" msgstr "" -#: templates/js/translated/stock.js:895 +#: templates/js/translated/stock.js:977 msgid "Test Date" msgstr "" -#: templates/js/translated/stock.js:1002 +#: templates/js/translated/stock.js:1084 msgid "In production" msgstr "" -#: templates/js/translated/stock.js:1006 +#: templates/js/translated/stock.js:1088 msgid "Installed in Stock Item" msgstr "" -#: templates/js/translated/stock.js:1010 +#: templates/js/translated/stock.js:1092 msgid "Shipped to customer" msgstr "" -#: templates/js/translated/stock.js:1014 +#: templates/js/translated/stock.js:1096 msgid "Assigned to Sales Order" msgstr "" -#: templates/js/translated/stock.js:1020 +#: templates/js/translated/stock.js:1102 msgid "No stock location set" msgstr "" -#: templates/js/translated/stock.js:1178 +#: templates/js/translated/stock.js:1260 msgid "Stock item is in production" msgstr "" -#: templates/js/translated/stock.js:1183 +#: templates/js/translated/stock.js:1265 msgid "Stock item assigned to sales order" msgstr "" -#: templates/js/translated/stock.js:1186 +#: templates/js/translated/stock.js:1268 msgid "Stock item assigned to customer" msgstr "" -#: templates/js/translated/stock.js:1190 +#: templates/js/translated/stock.js:1272 msgid "Stock item has expired" msgstr "" -#: templates/js/translated/stock.js:1192 +#: templates/js/translated/stock.js:1274 msgid "Stock item will expire soon" msgstr "" -#: templates/js/translated/stock.js:1196 +#: templates/js/translated/stock.js:1278 msgid "Stock item has been allocated" msgstr "" -#: templates/js/translated/stock.js:1200 +#: templates/js/translated/stock.js:1282 msgid "Stock item has been installed in another item" msgstr "" -#: templates/js/translated/stock.js:1207 +#: templates/js/translated/stock.js:1289 msgid "Stock item has been rejected" msgstr "" -#: templates/js/translated/stock.js:1209 +#: templates/js/translated/stock.js:1291 msgid "Stock item is lost" msgstr "" -#: templates/js/translated/stock.js:1211 +#: templates/js/translated/stock.js:1293 msgid "Stock item is destroyed" msgstr "" -#: templates/js/translated/stock.js:1215 +#: templates/js/translated/stock.js:1297 #: templates/js/translated/table_filters.js:183 msgid "Depleted" msgstr "" -#: templates/js/translated/stock.js:1265 +#: templates/js/translated/stock.js:1347 msgid "Stocktake" msgstr "Inventario" -#: templates/js/translated/stock.js:1338 +#: templates/js/translated/stock.js:1420 msgid "Supplier part not specified" msgstr "" -#: templates/js/translated/stock.js:1376 +#: templates/js/translated/stock.js:1458 msgid "No stock items matching query" msgstr "" -#: templates/js/translated/stock.js:1397 templates/js/translated/stock.js:1445 +#: templates/js/translated/stock.js:1479 templates/js/translated/stock.js:1527 msgid "items" msgstr "" -#: templates/js/translated/stock.js:1485 +#: templates/js/translated/stock.js:1567 msgid "batches" msgstr "" -#: templates/js/translated/stock.js:1512 +#: templates/js/translated/stock.js:1594 msgid "locations" msgstr "" -#: templates/js/translated/stock.js:1514 +#: templates/js/translated/stock.js:1596 msgid "Undefined location" msgstr "" -#: templates/js/translated/stock.js:1688 +#: templates/js/translated/stock.js:1770 msgid "Set Stock Status" msgstr "" -#: templates/js/translated/stock.js:1702 +#: templates/js/translated/stock.js:1784 msgid "Select Status Code" msgstr "" -#: templates/js/translated/stock.js:1703 +#: templates/js/translated/stock.js:1785 msgid "Status code must be selected" msgstr "" -#: templates/js/translated/stock.js:1927 +#: templates/js/translated/stock.js:2009 msgid "Invalid date" msgstr "" -#: templates/js/translated/stock.js:1974 +#: templates/js/translated/stock.js:2031 +msgid "Details" +msgstr "" + +#: templates/js/translated/stock.js:2056 msgid "Location no longer exists" msgstr "" -#: templates/js/translated/stock.js:1993 +#: templates/js/translated/stock.js:2075 msgid "Purchase order no longer exists" msgstr "" -#: templates/js/translated/stock.js:2012 +#: templates/js/translated/stock.js:2094 msgid "Customer no longer exists" msgstr "" -#: templates/js/translated/stock.js:2030 +#: templates/js/translated/stock.js:2112 msgid "Stock item no longer exists" msgstr "" -#: templates/js/translated/stock.js:2053 +#: templates/js/translated/stock.js:2135 msgid "Added" msgstr "" -#: templates/js/translated/stock.js:2061 +#: templates/js/translated/stock.js:2143 msgid "Removed" msgstr "" -#: templates/js/translated/stock.js:2102 +#: templates/js/translated/stock.js:2184 msgid "Edit tracking entry" msgstr "" -#: templates/js/translated/stock.js:2103 +#: templates/js/translated/stock.js:2185 msgid "Delete tracking entry" msgstr "" -#: templates/js/translated/stock.js:2154 +#: templates/js/translated/stock.js:2236 msgid "No installed items" msgstr "" -#: templates/js/translated/stock.js:2205 +#: templates/js/translated/stock.js:2287 msgid "Uninstall Stock Item" msgstr "" diff --git a/InvenTree/locale/es_MX/LC_MESSAGES/django.po b/InvenTree/locale/es_MX/LC_MESSAGES/django.po index 11cca2ebb9..c752304ce6 100644 --- a/InvenTree/locale/es_MX/LC_MESSAGES/django.po +++ b/InvenTree/locale/es_MX/LC_MESSAGES/django.po @@ -8,7 +8,7 @@ msgid "" msgstr "" "Project-Id-Version: PACKAGE VERSION\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2021-11-30 21:49+0000\n" +"POT-Creation-Date: 2021-11-30 22:21+0000\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: FULL NAME \n" "Language-Team: LANGUAGE \n" @@ -195,8 +195,7 @@ msgstr "" #: InvenTree/models.py:271 InvenTree/models.py:272 company/models.py:415 #: label/models.py:112 part/models.py:741 part/models.py:2389 -#: part/templates/part/detail.html:25 report/models.py:181 -#: templates/InvenTree/settings/settings.html:259 +#: report/models.py:181 templates/InvenTree/settings/settings.html:259 #: templates/js/translated/company.js:638 templates/js/translated/part.js:499 #: templates/js/translated/part.js:636 templates/js/translated/part.js:1384 #: templates/js/translated/stock.js:1877 @@ -205,13 +204,15 @@ msgstr "" #: InvenTree/models.py:278 build/models.py:207 #: build/templates/build/detail.html:25 company/models.py:354 -#: company/models.py:570 company/templates/company/manufacturer_part.html:80 -#: company/templates/company/supplier_part.html:81 label/models.py:119 -#: order/models.py:161 part/models.py:764 part/templates/part/detail.html:30 +#: company/models.py:570 company/templates/company/company_base.html:68 +#: company/templates/company/manufacturer_part.html:76 +#: company/templates/company/supplier_part.html:73 label/models.py:119 +#: order/models.py:161 part/models.py:764 part/templates/part/category.html:70 +#: part/templates/part/part_base.html:163 #: part/templates/part/set_category.html:14 report/models.py:194 #: report/models.py:553 report/models.py:592 #: report/templates/report/inventree_build_order_base.html:118 -#: stock/templates/stock/location.html:108 templates/js/translated/bom.js:215 +#: stock/templates/stock/location.html:89 templates/js/translated/bom.js:215 #: templates/js/translated/bom.js:428 templates/js/translated/build.js:1621 #: templates/js/translated/company.js:345 #: templates/js/translated/company.js:548 @@ -362,7 +363,7 @@ msgid "Returned" msgstr "" #: InvenTree/status_codes.py:143 -#: order/templates/order/sales_order_base.html:147 +#: order/templates/order/sales_order_base.html:148 msgid "Shipped" msgstr "" @@ -567,7 +568,7 @@ msgid "Barcode associated with StockItem" msgstr "" #: build/forms.py:36 build/models.py:1283 -#: build/templates/build/build_base.html:124 +#: build/templates/build/build_base.html:132 #: build/templates/build/detail.html:35 common/models.py:1225 #: company/forms.py:42 company/templates/company/supplier_part.html:251 #: order/forms.py:102 order/models.py:729 order/models.py:991 @@ -575,7 +576,7 @@ msgstr "" #: order/templates/order/order_wizard/select_parts.html:34 part/forms.py:223 #: part/forms.py:239 part/forms.py:255 part/models.py:2576 #: part/templates/part/bom_upload/match_parts.html:31 -#: part/templates/part/detail.html:1076 part/templates/part/detail.html:1162 +#: part/templates/part/detail.html:969 part/templates/part/detail.html:1055 #: part/templates/part/part_pricing.html:16 #: report/templates/report/inventree_build_order_base.html:114 #: report/templates/report/inventree_po_report.html:91 @@ -583,7 +584,7 @@ msgstr "" #: report/templates/report/inventree_test_report_base.html:81 #: report/templates/report/inventree_test_report_base.html:139 #: stock/forms.py:156 stock/serializers.py:286 -#: stock/templates/stock/item_base.html:256 +#: stock/templates/stock/item_base.html:167 #: templates/js/translated/barcode.js:385 templates/js/translated/bom.js:443 #: templates/js/translated/build.js:235 templates/js/translated/build.js:435 #: templates/js/translated/build.js:629 templates/js/translated/build.js:639 @@ -647,7 +648,7 @@ msgstr "" #: build/templates/build/index.html:8 build/templates/build/index.html:12 #: order/templates/order/sales_order_detail.html:42 #: order/templates/order/so_sidebar.html:7 -#: part/templates/part/part_sidebar.html:22 templates/InvenTree/index.html:221 +#: part/templates/part/part_sidebar.html:20 templates/InvenTree/index.html:221 #: templates/InvenTree/search.html:145 #: templates/InvenTree/settings/sidebar.html:42 users/models.py:44 msgid "Build Orders" @@ -671,7 +672,7 @@ msgstr "" msgid "Brief description of the build" msgstr "" -#: build/models.py:219 build/templates/build/build_base.html:156 +#: build/models.py:219 build/templates/build/build_base.html:164 #: build/templates/build/detail.html:88 msgid "Parent Build" msgstr "" @@ -680,7 +681,7 @@ msgstr "" msgid "BuildOrder to which this build is allocated" msgstr "" -#: build/models.py:225 build/templates/build/build_base.html:119 +#: build/models.py:225 build/templates/build/build_base.html:77 #: build/templates/build/detail.html:30 company/models.py:705 #: order/models.py:789 order/models.py:860 #: order/templates/order/order_wizard/select_parts.html:32 part/models.py:357 @@ -752,7 +753,7 @@ msgstr "" msgid "Number of stock items which have been completed" msgstr "" -#: build/models.py:277 part/templates/part/part_base.html:216 +#: build/models.py:277 part/templates/part/part_base.html:234 msgid "Build Status" msgstr "" @@ -769,7 +770,7 @@ msgid "Batch code for this build output" msgstr "" #: build/models.py:292 order/models.py:165 part/models.py:936 -#: part/templates/part/detail.html:86 templates/js/translated/order.js:1104 +#: part/templates/part/part_base.html:313 templates/js/translated/order.js:1104 msgid "Creation Date" msgstr "" @@ -798,10 +799,10 @@ msgstr "" msgid "User who issued this build order" msgstr "" -#: build/models.py:323 build/templates/build/build_base.html:177 +#: build/models.py:323 build/templates/build/build_base.html:185 #: build/templates/build/detail.html:116 order/models.py:179 -#: order/templates/order/order_base.html:154 -#: order/templates/order/sales_order_base.html:161 part/models.py:940 +#: order/templates/order/order_base.html:158 +#: order/templates/order/sales_order_base.html:162 part/models.py:940 #: report/templates/report/inventree_build_order_base.html:159 #: templates/js/translated/build.js:1680 templates/js/translated/order.js:700 msgid "Responsible" @@ -812,10 +813,10 @@ msgid "User responsible for this build order" msgstr "" #: build/models.py:329 build/templates/build/detail.html:102 -#: company/templates/company/manufacturer_part.html:87 -#: company/templates/company/supplier_part.html:88 -#: part/templates/part/detail.html:80 stock/models.py:538 -#: stock/templates/stock/item_base.html:346 +#: company/templates/company/manufacturer_part.html:102 +#: company/templates/company/supplier_part.html:126 +#: part/templates/part/part_base.html:347 stock/models.py:538 +#: stock/templates/stock/item_base.html:367 msgid "External Link" msgstr "" @@ -825,7 +826,7 @@ msgstr "" #: order/models.py:183 order/models.py:738 #: order/templates/order/po_sidebar.html:11 #: order/templates/order/so_sidebar.html:11 part/models.py:925 -#: part/templates/part/detail.html:223 part/templates/part/part_sidebar.html:52 +#: part/templates/part/detail.html:116 part/templates/part/part_sidebar.html:50 #: report/templates/report/inventree_build_order_base.html:173 #: stock/forms.py:154 stock/forms.py:204 stock/forms.py:238 stock/models.py:610 #: stock/models.py:1774 stock/models.py:1880 stock/serializers.py:325 @@ -878,7 +879,7 @@ msgstr "" msgid "Selected stock item not found in BOM" msgstr "" -#: build/models.py:1253 stock/templates/stock/item_base.html:318 +#: build/models.py:1253 stock/templates/stock/item_base.html:339 #: templates/InvenTree/search.html:143 templates/js/translated/build.js:1599 #: templates/navbar.html:33 msgid "Build" @@ -891,7 +892,7 @@ msgstr "" #: build/models.py:1270 build/serializers.py:328 #: stock/templates/stock/item_base.html:8 #: stock/templates/stock/item_base.html:16 -#: stock/templates/stock/item_base.html:340 +#: stock/templates/stock/item_base.html:361 #: templates/js/translated/build.js:408 templates/js/translated/build.js:413 #: templates/js/translated/build.js:1361 templates/js/translated/build.js:1742 #: templates/js/translated/order.js:1178 templates/js/translated/order.js:1183 @@ -937,7 +938,7 @@ msgstr "" #: build/serializers.py:190 order/serializers.py:219 order/serializers.py:287 #: stock/forms.py:236 stock/serializers.py:318 stock/serializers.py:685 -#: stock/templates/stock/item_base.html:286 +#: stock/templates/stock/item_base.html:307 #: templates/js/translated/barcode.js:384 #: templates/js/translated/barcode.js:557 templates/js/translated/build.js:420 #: templates/js/translated/build.js:1027 templates/js/translated/order.js:348 @@ -952,9 +953,9 @@ msgstr "" msgid "Location for completed build outputs" msgstr "" -#: build/serializers.py:197 build/templates/build/build_base.html:129 +#: build/serializers.py:197 build/templates/build/build_base.html:137 #: build/templates/build/detail.html:63 order/models.py:572 -#: order/serializers.py:240 stock/templates/stock/item_base.html:409 +#: order/serializers.py:240 stock/templates/stock/item_base.html:173 #: templates/js/translated/barcode.js:140 templates/js/translated/build.js:1655 #: templates/js/translated/order.js:431 templates/js/translated/order.js:677 #: templates/js/translated/order.js:1096 templates/js/translated/stock.js:1226 @@ -1032,7 +1033,7 @@ msgid "Edit Build" msgstr "" #: build/templates/build/build_base.html:56 -#: build/templates/build/build_base.html:207 build/views.py:56 +#: build/templates/build/build_base.html:215 build/views.py:56 msgid "Cancel Build" msgstr "" @@ -1042,93 +1043,95 @@ msgstr "" #: build/templates/build/build_base.html:64 #: build/templates/build/build_base.html:65 -#: build/templates/build/build_base.html:223 +#: build/templates/build/build_base.html:231 msgid "Complete Build" msgstr "" -#: build/templates/build/build_base.html:79 +#: build/templates/build/build_base.html:82 +msgid "Build Description" +msgstr "" + +#: build/templates/build/build_base.html:91 #, python-format msgid "This Build Order is allocated to Sales Order %(link)s" msgstr "" -#: build/templates/build/build_base.html:86 +#: build/templates/build/build_base.html:98 #, python-format msgid "This Build Order is a child of Build Order %(link)s" msgstr "" -#: build/templates/build/build_base.html:93 +#: build/templates/build/build_base.html:105 msgid "Build Order is ready to mark as completed" msgstr "" -#: build/templates/build/build_base.html:98 +#: build/templates/build/build_base.html:110 msgid "Build Order cannot be completed as outstanding outputs remain" msgstr "" -#: build/templates/build/build_base.html:103 +#: build/templates/build/build_base.html:115 msgid "Required build quantity has not yet been completed" msgstr "" -#: build/templates/build/build_base.html:108 +#: build/templates/build/build_base.html:120 msgid "Stock has not been fully allocated to this Build Order" msgstr "" -#: build/templates/build/build_base.html:138 +#: build/templates/build/build_base.html:146 #: build/templates/build/detail.html:132 -#: order/templates/order/order_base.html:140 -#: order/templates/order/sales_order_base.html:140 +#: order/templates/order/order_base.html:144 +#: order/templates/order/sales_order_base.html:141 #: report/templates/report/inventree_build_order_base.html:126 #: templates/js/translated/build.js:1692 templates/js/translated/order.js:690 #: templates/js/translated/order.js:1109 msgid "Target Date" msgstr "" -#: build/templates/build/build_base.html:143 +#: build/templates/build/build_base.html:151 #, python-format msgid "This build was due on %(target)s" msgstr "" -#: build/templates/build/build_base.html:143 -#: build/templates/build/build_base.html:188 -#: order/templates/order/order_base.html:81 -#: order/templates/order/order_base.html:102 -#: order/templates/order/sales_order_base.html:78 -#: order/templates/order/sales_order_base.html:107 +#: build/templates/build/build_base.html:151 +#: build/templates/build/build_base.html:196 +#: order/templates/order/order_base.html:98 +#: order/templates/order/sales_order_base.html:93 #: templates/js/translated/table_filters.js:294 #: templates/js/translated/table_filters.js:322 #: templates/js/translated/table_filters.js:339 msgid "Overdue" msgstr "" -#: build/templates/build/build_base.html:150 +#: build/templates/build/build_base.html:158 #: build/templates/build/detail.html:68 build/templates/build/detail.html:143 #: templates/js/translated/build.js:1641 #: templates/js/translated/table_filters.js:304 msgid "Completed" msgstr "" -#: build/templates/build/build_base.html:163 +#: build/templates/build/build_base.html:171 #: build/templates/build/detail.html:95 order/models.py:857 #: order/templates/order/sales_order_base.html:9 #: order/templates/order/sales_order_base.html:28 #: order/templates/order/sales_order_ship.html:25 #: report/templates/report/inventree_build_order_base.html:136 #: report/templates/report/inventree_so_report.html:77 -#: stock/templates/stock/item_base.html:280 +#: stock/templates/stock/item_base.html:301 #: templates/js/translated/order.js:1051 msgid "Sales Order" msgstr "" -#: build/templates/build/build_base.html:170 +#: build/templates/build/build_base.html:178 #: build/templates/build/detail.html:109 #: report/templates/report/inventree_build_order_base.html:153 msgid "Issued By" msgstr "" -#: build/templates/build/build_base.html:215 +#: build/templates/build/build_base.html:223 msgid "Incomplete Outputs" msgstr "" -#: build/templates/build/build_base.html:216 +#: build/templates/build/build_base.html:224 msgid "Build Order cannot be completed as incomplete build outputs remain" msgstr "" @@ -1202,7 +1205,7 @@ msgid "Allocated Parts" msgstr "" #: build/templates/build/detail.html:81 -#: stock/templates/stock/item_base.html:304 +#: stock/templates/stock/item_base.html:325 #: templates/js/translated/stock.js:1240 templates/js/translated/stock.js:2194 #: templates/js/translated/table_filters.js:151 #: templates/js/translated/table_filters.js:233 @@ -1210,8 +1213,8 @@ msgid "Batch" msgstr "" #: build/templates/build/detail.html:127 -#: order/templates/order/order_base.html:127 -#: order/templates/order/sales_order_base.html:134 +#: order/templates/order/order_base.html:131 +#: order/templates/order/sales_order_base.html:135 #: templates/js/translated/build.js:1663 msgid "Created" msgstr "" @@ -1255,7 +1258,7 @@ msgstr "" #: build/templates/build/detail.html:185 #: company/templates/company/detail.html:38 #: company/templates/company/detail.html:85 order/views.py:509 -#: part/templates/part/category.html:166 +#: part/templates/part/category.html:173 msgid "Order Parts" msgstr "" @@ -1307,8 +1310,8 @@ msgstr "" #: order/templates/order/po_sidebar.html:9 #: order/templates/order/purchase_order_detail.html:60 #: order/templates/order/sales_order_detail.html:52 -#: order/templates/order/so_sidebar.html:9 part/templates/part/detail.html:300 -#: part/templates/part/part_sidebar.html:50 stock/templates/stock/item.html:95 +#: order/templates/order/so_sidebar.html:9 part/templates/part/detail.html:193 +#: part/templates/part/part_sidebar.html:48 stock/templates/stock/item.html:95 #: stock/templates/stock/stock_sidebar.html:19 msgid "Attachments" msgstr "" @@ -1324,7 +1327,7 @@ msgstr "" #: order/templates/order/purchase_order_detail.html:108 #: order/templates/order/sales_order_detail.html:72 #: order/templates/order/sales_order_detail.html:99 -#: part/templates/part/detail.html:227 stock/templates/stock/item.html:115 +#: part/templates/part/detail.html:120 stock/templates/stock/item.html:115 #: stock/templates/stock/item.html:205 msgid "Edit Notes" msgstr "" @@ -1337,7 +1340,7 @@ msgstr "" msgid "All untracked stock items have been allocated" msgstr "" -#: build/templates/build/index.html:18 part/templates/part/detail.html:407 +#: build/templates/build/index.html:18 part/templates/part/detail.html:300 msgid "New Build Order" msgstr "" @@ -1676,7 +1679,7 @@ msgid "Parts are trackable by default" msgstr "" #: common/models.py:745 part/models.py:920 -#: part/templates/part/part_base.html:144 +#: part/templates/part/part_base.html:147 #: templates/js/translated/table_filters.js:42 msgid "Virtual" msgstr "" @@ -2207,7 +2210,7 @@ msgstr "" msgid "Description of the company" msgstr "" -#: company/models.py:112 company/templates/company/company_base.html:70 +#: company/models.py:112 company/templates/company/company_base.html:97 #: templates/js/translated/company.js:349 msgid "Website" msgstr "" @@ -2216,7 +2219,7 @@ msgstr "" msgid "Company website URL" msgstr "" -#: company/models.py:117 company/templates/company/company_base.html:88 +#: company/models.py:117 company/templates/company/company_base.html:115 msgid "Address" msgstr "" @@ -2232,7 +2235,7 @@ msgstr "" msgid "Contact phone number" msgstr "" -#: company/models.py:125 company/templates/company/company_base.html:102 +#: company/models.py:125 company/templates/company/company_base.html:129 #: templates/InvenTree/settings/user.html:47 msgid "Email" msgstr "" @@ -2241,7 +2244,7 @@ msgstr "" msgid "Contact email address" msgstr "" -#: company/models.py:128 company/templates/company/company_base.html:109 +#: company/models.py:128 company/templates/company/company_base.html:136 msgid "Contact" msgstr "" @@ -2282,7 +2285,7 @@ msgid "Does this company manufacture parts?" msgstr "" #: company/models.py:152 company/serializers.py:270 -#: company/templates/company/company_base.html:76 stock/serializers.py:172 +#: company/templates/company/company_base.html:103 stock/serializers.py:172 msgid "Currency" msgstr "" @@ -2291,7 +2294,7 @@ msgid "Default currency used for this company" msgstr "" #: company/models.py:320 company/models.py:535 stock/models.py:484 -#: stock/templates/stock/item_base.html:224 +#: stock/templates/stock/item_base.html:135 msgid "Base Part" msgstr "" @@ -2299,10 +2302,10 @@ msgstr "" msgid "Select part" msgstr "" -#: company/models.py:335 company/templates/company/company_base.html:116 -#: company/templates/company/manufacturer_part.html:93 -#: company/templates/company/supplier_part.html:104 -#: stock/templates/stock/item_base.html:353 +#: company/models.py:335 company/templates/company/company_base.html:73 +#: company/templates/company/manufacturer_part.html:91 +#: company/templates/company/supplier_part.html:97 +#: stock/templates/stock/item_base.html:374 #: templates/js/translated/company.js:333 #: templates/js/translated/company.js:514 #: templates/js/translated/company.js:797 templates/js/translated/part.js:229 @@ -2313,8 +2316,8 @@ msgstr "" msgid "Select manufacturer" msgstr "" -#: company/models.py:342 company/templates/company/manufacturer_part.html:97 -#: company/templates/company/supplier_part.html:112 +#: company/models.py:342 company/templates/company/manufacturer_part.html:96 +#: company/templates/company/supplier_part.html:105 #: templates/js/translated/company.js:530 #: templates/js/translated/company.js:815 templates/js/translated/order.js:874 #: templates/js/translated/part.js:240 @@ -2336,7 +2339,7 @@ msgstr "" #: company/models.py:409 company/models.py:558 #: company/templates/company/manufacturer_part.html:6 #: company/templates/company/manufacturer_part.html:23 -#: stock/templates/stock/item_base.html:363 +#: stock/templates/stock/item_base.html:384 msgid "Manufacturer Part" msgstr "" @@ -2356,7 +2359,7 @@ msgid "Parameter value" msgstr "" #: company/models.py:429 part/models.py:882 part/models.py:2397 -#: part/templates/part/detail.html:59 +#: part/templates/part/part_base.html:288 #: templates/InvenTree/settings/settings.html:264 #: templates/js/translated/company.js:650 templates/js/translated/part.js:651 msgid "Units" @@ -2370,11 +2373,11 @@ msgstr "" msgid "Linked manufacturer part must reference the same base part" msgstr "" -#: company/models.py:545 company/templates/company/company_base.html:121 -#: company/templates/company/supplier_part.html:94 order/models.py:263 -#: order/templates/order/order_base.html:108 +#: company/models.py:545 company/templates/company/company_base.html:78 +#: company/templates/company/supplier_part.html:87 order/models.py:263 +#: order/templates/order/order_base.html:112 #: order/templates/order/order_wizard/select_pos.html:30 part/bom.py:219 -#: part/bom.py:247 stock/templates/stock/item_base.html:370 +#: part/bom.py:247 stock/templates/stock/item_base.html:391 #: templates/js/translated/company.js:337 #: templates/js/translated/company.js:771 templates/js/translated/order.js:660 #: templates/js/translated/part.js:210 @@ -2385,7 +2388,7 @@ msgstr "" msgid "Select supplier" msgstr "" -#: company/models.py:551 company/templates/company/supplier_part.html:98 +#: company/models.py:551 company/templates/company/supplier_part.html:91 #: part/bom.py:220 part/bom.py:248 templates/js/translated/order.js:861 #: templates/js/translated/part.js:221 msgid "SKU" @@ -2407,7 +2410,7 @@ msgstr "" msgid "Supplier part description" msgstr "" -#: company/models.py:576 company/templates/company/supplier_part.html:126 +#: company/models.py:576 company/templates/company/supplier_part.html:119 #: part/models.py:2588 report/templates/report/inventree_po_report.html:93 #: report/templates/report/inventree_so_report.html:93 msgid "Note" @@ -2421,8 +2424,8 @@ msgstr "" msgid "Minimum charge (e.g. stocking fee)" msgstr "" -#: company/models.py:582 company/templates/company/supplier_part.html:119 -#: stock/models.py:507 stock/templates/stock/item_base.html:311 +#: company/models.py:582 company/templates/company/supplier_part.html:112 +#: stock/models.py:507 stock/templates/stock/item_base.html:332 #: templates/js/translated/company.js:847 templates/js/translated/stock.js:1366 msgid "Packaging" msgstr "" @@ -2458,43 +2461,56 @@ msgstr "" msgid "Create Purchase Order" msgstr "" -#: company/templates/company/company_base.html:27 +#: company/templates/company/company_base.html:26 +msgid "Company actions" +msgstr "" + +#: company/templates/company/company_base.html:31 msgid "Edit company information" msgstr "" #: company/templates/company/company_base.html:32 -#: company/templates/company/company_base.html:148 +#: templates/js/translated/company.js:265 +msgid "Edit Company" +msgstr "" + +#: company/templates/company/company_base.html:36 +msgid "Delete company" +msgstr "" + +#: company/templates/company/company_base.html:37 +#: company/templates/company/company_base.html:159 msgid "Delete Company" msgstr "" -#: company/templates/company/company_base.html:48 +#: company/templates/company/company_base.html:53 #: part/templates/part/part_thumb.html:12 msgid "Upload new image" msgstr "" -#: company/templates/company/company_base.html:51 +#: company/templates/company/company_base.html:56 #: part/templates/part/part_thumb.html:14 msgid "Download image from URL" msgstr "" -#: company/templates/company/company_base.html:81 -msgid "Uses default currency" -msgstr "" - -#: company/templates/company/company_base.html:95 -msgid "Phone" -msgstr "" - -#: company/templates/company/company_base.html:126 order/models.py:567 -#: order/templates/order/sales_order_base.html:114 stock/models.py:525 -#: stock/models.py:526 stock/templates/stock/item_base.html:263 +#: company/templates/company/company_base.html:83 order/models.py:567 +#: order/templates/order/sales_order_base.html:115 stock/models.py:525 +#: stock/models.py:526 stock/templates/stock/item_base.html:284 #: templates/js/translated/company.js:329 templates/js/translated/order.js:1073 #: templates/js/translated/stock.js:2002 msgid "Customer" msgstr "" -#: company/templates/company/company_base.html:194 -#: part/templates/part/part_base.html:342 +#: company/templates/company/company_base.html:108 +msgid "Uses default currency" +msgstr "" + +#: company/templates/company/company_base.html:122 +msgid "Phone" +msgstr "" + +#: company/templates/company/company_base.html:205 +#: part/templates/part/part_base.html:464 msgid "Upload Image" msgstr "" @@ -2510,23 +2526,23 @@ msgid "Create new supplier part" msgstr "" #: company/templates/company/detail.html:20 -#: company/templates/company/manufacturer_part.html:112 -#: part/templates/part/detail.html:440 +#: company/templates/company/manufacturer_part.html:118 +#: part/templates/part/detail.html:333 msgid "New Supplier Part" msgstr "" #: company/templates/company/detail.html:32 #: company/templates/company/detail.html:79 -#: company/templates/company/manufacturer_part.html:121 -#: company/templates/company/manufacturer_part.html:150 -#: part/templates/part/category.html:160 part/templates/part/detail.html:449 -#: part/templates/part/detail.html:477 +#: company/templates/company/manufacturer_part.html:127 +#: company/templates/company/manufacturer_part.html:156 +#: part/templates/part/category.html:167 part/templates/part/detail.html:342 +#: part/templates/part/detail.html:370 msgid "Options" msgstr "" #: company/templates/company/detail.html:37 #: company/templates/company/detail.html:84 -#: part/templates/part/category.html:166 +#: part/templates/part/category.html:173 msgid "Order parts" msgstr "" @@ -2548,7 +2564,7 @@ msgstr "" msgid "Create new manufacturer part" msgstr "" -#: company/templates/company/detail.html:67 part/templates/part/detail.html:467 +#: company/templates/company/detail.html:67 part/templates/part/detail.html:360 msgid "New Manufacturer Part" msgstr "" @@ -2562,7 +2578,7 @@ msgstr "" #: order/templates/order/order_base.html:13 #: order/templates/order/purchase_orders.html:8 #: order/templates/order/purchase_orders.html:12 -#: part/templates/part/detail.html:171 part/templates/part/part_sidebar.html:35 +#: part/templates/part/detail.html:64 part/templates/part/part_sidebar.html:33 #: templates/InvenTree/index.html:252 templates/InvenTree/search.html:203 #: templates/InvenTree/settings/sidebar.html:44 templates/navbar.html:45 #: users/models.py:45 @@ -2584,7 +2600,7 @@ msgstr "" #: order/templates/order/sales_order_base.html:13 #: order/templates/order/sales_orders.html:8 #: order/templates/order/sales_orders.html:15 -#: part/templates/part/detail.html:194 part/templates/part/part_sidebar.html:39 +#: part/templates/part/detail.html:87 part/templates/part/part_sidebar.html:37 #: templates/InvenTree/index.html:283 templates/InvenTree/search.html:223 #: templates/InvenTree/settings/sidebar.html:46 templates/navbar.html:56 #: users/models.py:46 @@ -2611,14 +2627,14 @@ msgid "Company Notes" msgstr "" #: company/templates/company/detail.html:383 -#: company/templates/company/manufacturer_part.html:209 -#: part/templates/part/detail.html:520 +#: company/templates/company/manufacturer_part.html:215 +#: part/templates/part/detail.html:413 msgid "Delete Supplier Parts?" msgstr "" #: company/templates/company/detail.html:384 -#: company/templates/company/manufacturer_part.html:210 -#: part/templates/part/detail.html:521 +#: company/templates/company/manufacturer_part.html:216 +#: part/templates/part/detail.html:414 msgid "All selected supplier parts will be deleted" msgstr "" @@ -2635,7 +2651,7 @@ msgstr "" #: company/templates/company/manufacturer_part.html:35 #: company/templates/company/supplier_part.html:34 #: company/templates/company/supplier_part.html:159 -#: part/templates/part/detail.html:174 part/templates/part/part_base.html:76 +#: part/templates/part/detail.html:67 part/templates/part/part_base.html:76 msgid "Order part" msgstr "" @@ -2649,60 +2665,60 @@ msgstr "" msgid "Delete manufacturer part" msgstr "" -#: company/templates/company/manufacturer_part.html:70 -#: company/templates/company/supplier_part.html:71 +#: company/templates/company/manufacturer_part.html:66 +#: company/templates/company/supplier_part.html:63 msgid "Internal Part" msgstr "" -#: company/templates/company/manufacturer_part.html:108 +#: company/templates/company/manufacturer_part.html:114 #: company/templates/company/supplier_part.html:15 company/views.py:49 -#: part/templates/part/part_sidebar.html:33 part/templates/part/prices.html:163 +#: part/templates/part/part_sidebar.html:31 part/templates/part/prices.html:163 #: templates/InvenTree/search.html:194 templates/navbar.html:43 msgid "Suppliers" msgstr "" -#: company/templates/company/manufacturer_part.html:123 -#: part/templates/part/detail.html:451 +#: company/templates/company/manufacturer_part.html:129 +#: part/templates/part/detail.html:344 msgid "Delete supplier parts" msgstr "" -#: company/templates/company/manufacturer_part.html:123 -#: company/templates/company/manufacturer_part.html:152 -#: company/templates/company/manufacturer_part.html:248 -#: part/templates/part/detail.html:451 part/templates/part/detail.html:479 +#: company/templates/company/manufacturer_part.html:129 +#: company/templates/company/manufacturer_part.html:158 +#: company/templates/company/manufacturer_part.html:254 +#: part/templates/part/detail.html:344 part/templates/part/detail.html:372 #: templates/js/translated/company.js:425 templates/js/translated/helpers.js:31 #: users/models.py:204 msgid "Delete" msgstr "" -#: company/templates/company/manufacturer_part.html:137 +#: company/templates/company/manufacturer_part.html:143 #: company/templates/company/manufacturer_part_sidebar.html:5 #: part/templates/part/category_sidebar.html:17 -#: part/templates/part/detail.html:277 part/templates/part/part_sidebar.html:10 +#: part/templates/part/detail.html:170 part/templates/part/part_sidebar.html:8 msgid "Parameters" msgstr "" -#: company/templates/company/manufacturer_part.html:141 -#: part/templates/part/detail.html:282 +#: company/templates/company/manufacturer_part.html:147 +#: part/templates/part/detail.html:175 #: templates/InvenTree/settings/category.html:12 #: templates/InvenTree/settings/part.html:65 msgid "New Parameter" msgstr "" -#: company/templates/company/manufacturer_part.html:152 +#: company/templates/company/manufacturer_part.html:158 msgid "Delete parameters" msgstr "" -#: company/templates/company/manufacturer_part.html:185 -#: part/templates/part/detail.html:976 +#: company/templates/company/manufacturer_part.html:191 +#: part/templates/part/detail.html:869 msgid "Add Parameter" msgstr "" -#: company/templates/company/manufacturer_part.html:233 +#: company/templates/company/manufacturer_part.html:239 msgid "Selected parameters will be deleted" msgstr "" -#: company/templates/company/manufacturer_part.html:245 +#: company/templates/company/manufacturer_part.html:251 msgid "Delete Parameters" msgstr "" @@ -2724,7 +2740,7 @@ msgstr "" #: company/templates/company/supplier_part.html:7 #: company/templates/company/supplier_part.html:24 stock/models.py:492 -#: stock/templates/stock/item_base.html:375 +#: stock/templates/stock/item_base.html:396 #: templates/js/translated/company.js:787 templates/js/translated/stock.js:1323 msgid "Supplier Part" msgstr "" @@ -2745,12 +2761,12 @@ msgid "Supplier Part Stock" msgstr "" #: company/templates/company/supplier_part.html:141 -#: part/templates/part/detail.html:127 stock/templates/stock/location.html:147 +#: part/templates/part/detail.html:20 stock/templates/stock/location.html:162 msgid "Create new stock item" msgstr "" #: company/templates/company/supplier_part.html:142 -#: part/templates/part/detail.html:128 stock/templates/stock/location.html:148 +#: part/templates/part/detail.html:21 stock/templates/stock/location.html:163 #: templates/js/translated/stock.js:354 msgid "New Stock Item" msgstr "" @@ -2761,7 +2777,7 @@ msgid "Supplier Part Orders" msgstr "" #: company/templates/company/supplier_part.html:160 -#: part/templates/part/detail.html:175 +#: part/templates/part/detail.html:68 msgid "Order Part" msgstr "" @@ -2797,7 +2813,7 @@ msgid "Delete price break" msgstr "" #: company/templates/company/supplier_part_navbar.html:15 -#: part/templates/part/part_sidebar.html:16 +#: part/templates/part/part_sidebar.html:14 #: stock/templates/stock/loc_link.html:3 stock/templates/stock/location.html:14 #: stock/templates/stock/stock_app_base.html:10 #: templates/InvenTree/search.html:156 @@ -2819,14 +2835,14 @@ msgid "Supplier Part Pricing" msgstr "" #: company/templates/company/supplier_part_navbar.html:29 -#: part/templates/part/part_sidebar.html:30 +#: part/templates/part/part_sidebar.html:28 msgid "Pricing" msgstr "" #: company/templates/company/supplier_part_sidebar.html:5 -#: stock/templates/stock/location.html:118 -#: stock/templates/stock/location.html:132 -#: stock/templates/stock/location.html:144 +#: stock/templates/stock/location.html:133 +#: stock/templates/stock/location.html:147 +#: stock/templates/stock/location.html:159 #: stock/templates/stock/location_sidebar.html:7 #: templates/InvenTree/search.html:158 templates/js/translated/stock.js:1901 #: templates/stats.html:93 templates/stats.html:102 users/models.py:43 @@ -2948,7 +2964,7 @@ msgstr "" msgid "Place order" msgstr "" -#: order/forms.py:37 order/templates/order/order_base.html:59 +#: order/forms.py:37 order/templates/order/order_base.html:60 msgid "Mark order as complete" msgstr "" @@ -3001,7 +3017,7 @@ msgstr "" msgid "Company from which the items are being ordered" msgstr "" -#: order/models.py:267 order/templates/order/order_base.html:114 +#: order/models.py:267 order/templates/order/order_base.html:118 #: templates/js/translated/order.js:669 msgid "Supplier Reference" msgstr "" @@ -3094,7 +3110,7 @@ msgstr "" #: order/models.py:769 order/templates/order/order_base.html:9 #: order/templates/order/order_base.html:18 #: report/templates/report/inventree_po_report.html:77 -#: stock/templates/stock/item_base.html:325 +#: stock/templates/stock/item_base.html:346 #: templates/js/translated/order.js:638 templates/js/translated/stock.js:1300 #: templates/js/translated/stock.js:1983 msgid "Purchase Order" @@ -3104,8 +3120,8 @@ msgstr "" msgid "Supplier part" msgstr "" -#: order/models.py:797 order/templates/order/order_base.html:147 -#: order/templates/order/sales_order_base.html:154 +#: order/models.py:797 order/templates/order/order_base.html:151 +#: order/templates/order/sales_order_base.html:155 #: templates/js/translated/order.js:429 templates/js/translated/order.js:954 msgid "Received" msgstr "" @@ -3115,7 +3131,7 @@ msgid "Number of items received" msgstr "" #: order/models.py:805 part/templates/part/prices.html:176 stock/models.py:619 -#: stock/serializers.py:163 stock/templates/stock/item_base.html:332 +#: stock/serializers.py:163 stock/templates/stock/item_base.html:353 #: templates/js/translated/stock.js:1354 msgid "Purchase Price" msgstr "" @@ -3249,22 +3265,36 @@ msgstr "" msgid "Receive items" msgstr "" -#: order/templates/order/order_base.html:93 -#: order/templates/order/sales_order_base.html:98 +#: order/templates/order/order_base.html:58 +#: order/templates/order/purchase_order_detail.html:31 +msgid "Receive Items" +msgstr "" + +#: order/templates/order/order_base.html:62 order/views.py:185 +msgid "Complete Order" +msgstr "" + +#: order/templates/order/order_base.html:84 +#: order/templates/order/sales_order_base.html:79 msgid "Order Reference" msgstr "" -#: order/templates/order/order_base.html:98 -#: order/templates/order/sales_order_base.html:103 +#: order/templates/order/order_base.html:89 +#: order/templates/order/sales_order_base.html:84 +msgid "Order Description" +msgstr "" + +#: order/templates/order/order_base.html:94 +#: order/templates/order/sales_order_base.html:89 msgid "Order Status" msgstr "" -#: order/templates/order/order_base.html:133 +#: order/templates/order/order_base.html:137 #: report/templates/report/inventree_build_order_base.html:122 msgid "Issued" msgstr "" -#: order/templates/order/order_base.html:203 +#: order/templates/order/order_base.html:207 msgid "Edit Purchase Order" msgstr "" @@ -3466,10 +3496,6 @@ msgstr "" msgid "Receive selected items" msgstr "" -#: order/templates/order/purchase_order_detail.html:31 -msgid "Receive Items" -msgstr "" - #: order/templates/order/purchase_order_detail.html:50 msgid "Received Items" msgstr "" @@ -3497,16 +3523,16 @@ msgstr "" msgid "Ship Order" msgstr "" -#: order/templates/order/sales_order_base.html:86 +#: order/templates/order/sales_order_base.html:102 msgid "This Sales Order has not been fully allocated" msgstr "" -#: order/templates/order/sales_order_base.html:121 +#: order/templates/order/sales_order_base.html:122 #: templates/js/translated/order.js:1086 msgid "Customer Reference" msgstr "" -#: order/templates/order/sales_order_base.html:194 +#: order/templates/order/sales_order_base.html:195 msgid "Edit Sales Order" msgstr "" @@ -3577,10 +3603,6 @@ msgstr "" msgid "Purchase order issued" msgstr "" -#: order/views.py:185 -msgid "Complete Order" -msgstr "" - #: order/views.py:201 msgid "Confirm order completion" msgstr "" @@ -3673,11 +3695,11 @@ msgid "This field is required" msgstr "" #: part/bom.py:125 part/models.py:81 part/models.py:816 -#: part/templates/part/category.html:90 part/templates/part/detail.html:104 +#: part/templates/part/category.html:104 part/templates/part/part_base.html:331 msgid "Default Location" msgstr "" -#: part/bom.py:126 part/templates/part/part_base.html:167 +#: part/bom.py:126 part/templates/part/part_base.html:185 msgid "Available Stock" msgstr "" @@ -3794,15 +3816,15 @@ msgstr "" msgid "Part Category" msgstr "" -#: part/models.py:96 part/templates/part/category.html:117 +#: part/models.py:96 part/templates/part/category.html:124 #: templates/InvenTree/search.html:101 templates/stats.html:84 #: users/models.py:40 msgid "Part Categories" msgstr "" #: part/models.py:358 part/templates/part/cat_link.html:3 -#: part/templates/part/category.html:13 part/templates/part/category.html:122 -#: part/templates/part/category.html:142 +#: part/templates/part/category.html:13 part/templates/part/category.html:129 +#: part/templates/part/category.html:149 #: part/templates/part/category_sidebar.html:9 #: templates/InvenTree/index.html:85 templates/InvenTree/search.html:88 #: templates/InvenTree/settings/sidebar.html:36 @@ -3860,8 +3882,8 @@ msgstr "" msgid "Part description" msgstr "" -#: part/models.py:770 part/templates/part/category.html:97 -#: part/templates/part/detail.html:73 +#: part/models.py:770 part/templates/part/category.html:82 +#: part/templates/part/part_base.html:302 msgid "Keywords" msgstr "" @@ -3870,7 +3892,8 @@ msgid "Part keywords to improve visibility in search results" msgstr "" #: part/models.py:778 part/models.py:2223 part/models.py:2472 -#: part/templates/part/detail.html:36 part/templates/part/set_category.html:15 +#: part/templates/part/part_base.html:265 +#: part/templates/part/set_category.html:15 #: templates/InvenTree/settings/settings.html:163 #: templates/js/translated/part.js:1021 msgid "Category" @@ -3880,7 +3903,7 @@ msgstr "" msgid "Part category" msgstr "" -#: part/models.py:784 part/templates/part/detail.html:45 +#: part/models.py:784 part/templates/part/part_base.html:274 #: templates/js/translated/part.js:550 templates/js/translated/part.js:974 #: templates/js/translated/stock.js:1134 msgid "IPN" @@ -3894,8 +3917,8 @@ msgstr "" msgid "Part revision or version number" msgstr "" -#: part/models.py:792 part/templates/part/detail.html:52 report/models.py:200 -#: templates/js/translated/part.js:554 +#: part/models.py:792 part/templates/part/part_base.html:281 +#: report/models.py:200 templates/js/translated/part.js:554 msgid "Revision" msgstr "" @@ -3903,7 +3926,7 @@ msgstr "" msgid "Where is this item normally stored?" msgstr "" -#: part/models.py:861 part/templates/part/detail.html:113 +#: part/models.py:861 part/templates/part/part_base.html:340 msgid "Default Supplier" msgstr "" @@ -3919,7 +3942,7 @@ msgstr "" msgid "Expiry time (in days) for stock items of this part" msgstr "" -#: part/models.py:875 part/templates/part/part_base.html:178 +#: part/models.py:875 part/templates/part/part_base.html:196 msgid "Minimum Stock" msgstr "" @@ -4214,7 +4237,7 @@ msgstr "" msgid "The BOM for %(part)s has not been validated." msgstr "" -#: part/templates/part/bom.html:30 part/templates/part/detail.html:357 +#: part/templates/part/bom.html:30 part/templates/part/detail.html:250 msgid "BOM actions" msgstr "" @@ -4299,68 +4322,64 @@ msgstr "" msgid "New Category" msgstr "" -#: part/templates/part/category.html:67 -msgid "Top level part category" -msgstr "" - -#: part/templates/part/category.html:79 +#: part/templates/part/category.html:76 part/templates/part/category.html:89 msgid "Category Path" msgstr "" -#: part/templates/part/category.html:84 -msgid "Category Description" +#: part/templates/part/category.html:90 +msgid "Top level part category" msgstr "" -#: part/templates/part/category.html:103 part/templates/part/category.html:194 +#: part/templates/part/category.html:110 part/templates/part/category.html:201 #: part/templates/part/category_sidebar.html:7 msgid "Subcategories" msgstr "" -#: part/templates/part/category.html:108 +#: part/templates/part/category.html:115 msgid "Parts (Including subcategories)" msgstr "" -#: part/templates/part/category.html:145 +#: part/templates/part/category.html:152 msgid "Export Part Data" msgstr "" -#: part/templates/part/category.html:146 part/templates/part/category.html:170 +#: part/templates/part/category.html:153 part/templates/part/category.html:177 msgid "Export" msgstr "" -#: part/templates/part/category.html:149 +#: part/templates/part/category.html:156 msgid "Create new part" msgstr "" -#: part/templates/part/category.html:150 templates/js/translated/bom.js:40 +#: part/templates/part/category.html:157 templates/js/translated/bom.js:40 msgid "New Part" msgstr "" -#: part/templates/part/category.html:164 +#: part/templates/part/category.html:171 msgid "Set category" msgstr "" -#: part/templates/part/category.html:164 +#: part/templates/part/category.html:171 msgid "Set Category" msgstr "" -#: part/templates/part/category.html:168 +#: part/templates/part/category.html:175 msgid "Print Labels" msgstr "" -#: part/templates/part/category.html:170 +#: part/templates/part/category.html:177 msgid "Export Data" msgstr "" -#: part/templates/part/category.html:184 +#: part/templates/part/category.html:191 msgid "Part Parameters" msgstr "" -#: part/templates/part/category.html:261 +#: part/templates/part/category.html:268 msgid "Create Part Category" msgstr "" -#: part/templates/part/category.html:288 +#: part/templates/part/category.html:295 msgid "Create Part" msgstr "" @@ -4427,167 +4446,155 @@ msgstr "" msgid "%(full_name)s - %(desc)s (%(match_per)s%% match)" msgstr "" -#: part/templates/part/detail.html:16 -msgid "Part Details" -msgstr "" - -#: part/templates/part/detail.html:66 -msgid "Minimum stock level" -msgstr "" - -#: part/templates/part/detail.html:97 -msgid "Latest Serial Number" -msgstr "" - -#: part/templates/part/detail.html:124 +#: part/templates/part/detail.html:17 msgid "Part Stock" msgstr "" -#: part/templates/part/detail.html:136 +#: part/templates/part/detail.html:29 #, python-format msgid "Showing stock for all variants of %(full_name)s" msgstr "" -#: part/templates/part/detail.html:146 +#: part/templates/part/detail.html:39 msgid "Part Test Templates" msgstr "" -#: part/templates/part/detail.html:151 +#: part/templates/part/detail.html:44 msgid "Add Test Template" msgstr "" -#: part/templates/part/detail.html:208 +#: part/templates/part/detail.html:101 msgid "Sales Order Allocations" msgstr "" -#: part/templates/part/detail.html:249 +#: part/templates/part/detail.html:142 msgid "Part Variants" msgstr "" -#: part/templates/part/detail.html:253 +#: part/templates/part/detail.html:146 msgid "Create new variant" msgstr "" -#: part/templates/part/detail.html:254 +#: part/templates/part/detail.html:147 msgid "New Variant" msgstr "" -#: part/templates/part/detail.html:281 +#: part/templates/part/detail.html:174 msgid "Add new parameter" msgstr "" -#: part/templates/part/detail.html:315 part/templates/part/part_sidebar.html:47 +#: part/templates/part/detail.html:208 part/templates/part/part_sidebar.html:45 msgid "Related Parts" msgstr "" -#: part/templates/part/detail.html:319 part/templates/part/detail.html:320 +#: part/templates/part/detail.html:212 part/templates/part/detail.html:213 msgid "Add Related" msgstr "" -#: part/templates/part/detail.html:340 part/templates/part/part_sidebar.html:19 +#: part/templates/part/detail.html:233 part/templates/part/part_sidebar.html:17 msgid "Bill of Materials" msgstr "" -#: part/templates/part/detail.html:345 +#: part/templates/part/detail.html:238 msgid "Export actions" msgstr "" -#: part/templates/part/detail.html:349 +#: part/templates/part/detail.html:242 msgid "Export BOM" msgstr "" -#: part/templates/part/detail.html:351 +#: part/templates/part/detail.html:244 msgid "Print BOM Report" msgstr "" -#: part/templates/part/detail.html:361 +#: part/templates/part/detail.html:254 msgid "Upload BOM" msgstr "" -#: part/templates/part/detail.html:363 templates/js/translated/part.js:267 +#: part/templates/part/detail.html:256 templates/js/translated/part.js:267 msgid "Copy BOM" msgstr "" -#: part/templates/part/detail.html:365 part/views.py:755 +#: part/templates/part/detail.html:258 part/views.py:755 msgid "Validate BOM" msgstr "" -#: part/templates/part/detail.html:370 +#: part/templates/part/detail.html:263 msgid "New BOM Item" msgstr "" -#: part/templates/part/detail.html:371 +#: part/templates/part/detail.html:264 msgid "Add BOM Item" msgstr "" -#: part/templates/part/detail.html:384 +#: part/templates/part/detail.html:277 msgid "Assemblies" msgstr "" -#: part/templates/part/detail.html:401 +#: part/templates/part/detail.html:294 msgid "Part Builds" msgstr "" -#: part/templates/part/detail.html:426 +#: part/templates/part/detail.html:319 msgid "Build Order Allocations" msgstr "" -#: part/templates/part/detail.html:436 +#: part/templates/part/detail.html:329 msgid "Part Suppliers" msgstr "" -#: part/templates/part/detail.html:463 +#: part/templates/part/detail.html:356 msgid "Part Manufacturers" msgstr "" -#: part/templates/part/detail.html:479 +#: part/templates/part/detail.html:372 msgid "Delete manufacturer parts" msgstr "" -#: part/templates/part/detail.html:660 +#: part/templates/part/detail.html:553 msgid "Delete selected BOM items?" msgstr "" -#: part/templates/part/detail.html:661 +#: part/templates/part/detail.html:554 msgid "All selected BOM items will be deleted" msgstr "" -#: part/templates/part/detail.html:712 +#: part/templates/part/detail.html:605 msgid "Create BOM Item" msgstr "" -#: part/templates/part/detail.html:764 +#: part/templates/part/detail.html:657 msgid "Related Part" msgstr "" -#: part/templates/part/detail.html:772 +#: part/templates/part/detail.html:665 msgid "Add Related Part" msgstr "" -#: part/templates/part/detail.html:869 +#: part/templates/part/detail.html:762 msgid "Add Test Result Template" msgstr "" -#: part/templates/part/detail.html:926 +#: part/templates/part/detail.html:819 msgid "Edit Part Notes" msgstr "" -#: part/templates/part/detail.html:1039 +#: part/templates/part/detail.html:932 #, python-format msgid "Purchase Unit Price - %(currency)s" msgstr "" -#: part/templates/part/detail.html:1051 +#: part/templates/part/detail.html:944 #, python-format msgid "Unit Price-Cost Difference - %(currency)s" msgstr "" -#: part/templates/part/detail.html:1063 +#: part/templates/part/detail.html:956 #, python-format msgid "Supplier Unit Cost - %(currency)s" msgstr "" -#: part/templates/part/detail.html:1152 +#: part/templates/part/detail.html:1045 #, python-format msgid "Unit Price - %(currency)s" msgstr "" @@ -4669,36 +4676,36 @@ msgstr "" msgid "Delete part" msgstr "" -#: part/templates/part/part_base.html:109 +#: part/templates/part/part_base.html:112 msgid "Part is a template part (variants can be made from this part)" msgstr "" -#: part/templates/part/part_base.html:113 +#: part/templates/part/part_base.html:116 msgid "Part can be assembled from other parts" msgstr "" -#: part/templates/part/part_base.html:117 +#: part/templates/part/part_base.html:120 msgid "Part can be used in assemblies" msgstr "" -#: part/templates/part/part_base.html:121 +#: part/templates/part/part_base.html:124 msgid "Part stock is tracked by serial number" msgstr "" -#: part/templates/part/part_base.html:125 +#: part/templates/part/part_base.html:128 msgid "Part can be purchased from external suppliers" msgstr "" -#: part/templates/part/part_base.html:129 +#: part/templates/part/part_base.html:132 msgid "Part can be sold to customers" msgstr "" -#: part/templates/part/part_base.html:135 -#: part/templates/part/part_base.html:143 +#: part/templates/part/part_base.html:138 +#: part/templates/part/part_base.html:146 msgid "Part is virtual (not a physical part)" msgstr "" -#: part/templates/part/part_base.html:136 +#: part/templates/part/part_base.html:139 #: templates/js/translated/company.js:505 #: templates/js/translated/company.js:762 #: templates/js/translated/model_renderers.js:175 @@ -4706,49 +4713,66 @@ msgstr "" msgid "Inactive" msgstr "" -#: part/templates/part/part_base.html:155 +#: part/templates/part/part_base.html:156 +#: part/templates/part/part_base.html:572 +msgid "Show Part Details" +msgstr "" + +#: part/templates/part/part_base.html:173 #, python-format msgid "This part is a variant of %(link)s" msgstr "" -#: part/templates/part/part_base.html:172 templates/js/translated/order.js:1546 +#: part/templates/part/part_base.html:190 templates/js/translated/order.js:1546 #: templates/js/translated/table_filters.js:188 msgid "In Stock" msgstr "" -#: part/templates/part/part_base.html:185 templates/js/translated/part.js:1054 +#: part/templates/part/part_base.html:203 templates/js/translated/part.js:1054 msgid "On Order" msgstr "" -#: part/templates/part/part_base.html:192 templates/InvenTree/index.html:178 +#: part/templates/part/part_base.html:210 templates/InvenTree/index.html:178 msgid "Required for Build Orders" msgstr "" -#: part/templates/part/part_base.html:199 +#: part/templates/part/part_base.html:217 msgid "Required for Sales Orders" msgstr "" -#: part/templates/part/part_base.html:206 +#: part/templates/part/part_base.html:224 msgid "Allocated to Orders" msgstr "" -#: part/templates/part/part_base.html:221 templates/js/translated/bom.js:566 +#: part/templates/part/part_base.html:239 templates/js/translated/bom.js:566 msgid "Can Build" msgstr "" -#: part/templates/part/part_base.html:227 templates/js/translated/part.js:885 +#: part/templates/part/part_base.html:245 templates/js/translated/part.js:885 #: templates/js/translated/part.js:1058 msgid "Building" msgstr "" -#: part/templates/part/part_base.html:320 part/templates/part/prices.html:144 +#: part/templates/part/part_base.html:295 +msgid "Minimum stock level" +msgstr "" + +#: part/templates/part/part_base.html:324 +msgid "Latest Serial Number" +msgstr "" + +#: part/templates/part/part_base.html:442 part/templates/part/prices.html:144 msgid "Calculate" msgstr "" -#: part/templates/part/part_base.html:363 +#: part/templates/part/part_base.html:485 msgid "No matching images found" msgstr "" +#: part/templates/part/part_base.html:566 +msgid "Hide Part Details" +msgstr "" + #: part/templates/part/part_pricing.html:22 part/templates/part/prices.html:21 msgid "Supplier Pricing" msgstr "" @@ -4806,20 +4830,15 @@ msgstr "" msgid "No pricing information is available for this part." msgstr "" -#: part/templates/part/part_sidebar.html:8 -#: templates/js/translated/stock.js:1949 -msgid "Details" -msgstr "" - -#: part/templates/part/part_sidebar.html:13 +#: part/templates/part/part_sidebar.html:11 msgid "Variants" msgstr "" -#: part/templates/part/part_sidebar.html:27 +#: part/templates/part/part_sidebar.html:25 msgid "Used In" msgstr "" -#: part/templates/part/part_sidebar.html:43 +#: part/templates/part/part_sidebar.html:41 msgid "Test Templates" msgstr "" @@ -5173,7 +5192,7 @@ msgid "Stock Item Test Report" msgstr "" #: report/templates/report/inventree_test_report_base.html:79 -#: stock/models.py:530 stock/templates/stock/item_base.html:238 +#: stock/models.py:530 stock/templates/stock/item_base.html:149 #: templates/js/translated/build.js:233 templates/js/translated/build.js:637 #: templates/js/translated/build.js:1013 #: templates/js/translated/model_renderers.js:95 @@ -5223,7 +5242,7 @@ msgid "Quantity is required" msgstr "" #: stock/forms.py:91 stock/forms.py:265 stock/models.py:587 -#: stock/templates/stock/item_base.html:382 +#: stock/templates/stock/item_base.html:179 #: templates/js/translated/stock.js:1276 msgid "Expiry Date" msgstr "" @@ -5273,7 +5292,7 @@ msgid "Confirm removal of installed stock items" msgstr "" #: stock/models.py:60 stock/models.py:624 -#: stock/templates/stock/item_base.html:422 +#: stock/templates/stock/item_base.html:410 msgid "Owner" msgstr "" @@ -5335,7 +5354,7 @@ msgstr "" msgid "Packaging this stock item is stored in" msgstr "" -#: stock/models.py:513 stock/templates/stock/item_base.html:271 +#: stock/models.py:513 stock/templates/stock/item_base.html:292 msgid "Installed In" msgstr "" @@ -5631,125 +5650,123 @@ msgstr "" msgid "Install" msgstr "" -#: stock/templates/stock/item_base.html:106 +#: stock/templates/stock/item_base.html:108 msgid "Convert to variant" msgstr "" -#: stock/templates/stock/item_base.html:109 +#: stock/templates/stock/item_base.html:111 msgid "Duplicate stock item" msgstr "" -#: stock/templates/stock/item_base.html:111 +#: stock/templates/stock/item_base.html:113 msgid "Edit stock item" msgstr "" -#: stock/templates/stock/item_base.html:114 +#: stock/templates/stock/item_base.html:116 msgid "Delete stock item" msgstr "" -#: stock/templates/stock/item_base.html:136 -#: stock/templates/stock/item_base.html:386 -#: templates/js/translated/table_filters.js:247 -msgid "Expired" -msgstr "" - -#: stock/templates/stock/item_base.html:146 -#: stock/templates/stock/item_base.html:388 -#: templates/js/translated/table_filters.js:253 -msgid "Stale" -msgstr "" - -#: stock/templates/stock/item_base.html:161 -msgid "You are not in the list of owners of this item. This stock item cannot be edited." -msgstr "" - -#: stock/templates/stock/item_base.html:168 -msgid "This stock item is in production and cannot be edited." -msgstr "" - -#: stock/templates/stock/item_base.html:169 -msgid "Edit the stock item from the build view." -msgstr "" - -#: stock/templates/stock/item_base.html:182 -msgid "This stock item has not passed all required tests" -msgstr "" - -#: stock/templates/stock/item_base.html:190 -#, python-format -msgid "This stock item is allocated to Sales Order %(link)s (Quantity: %(qty)s)" -msgstr "" - -#: stock/templates/stock/item_base.html:198 -#, python-format -msgid "This stock item is allocated to Build %(link)s (Quantity: %(qty)s)" -msgstr "" - -#: stock/templates/stock/item_base.html:204 -msgid "This stock item is serialized - it has a unique serial number and the quantity cannot be adjusted." -msgstr "" - -#: stock/templates/stock/item_base.html:208 -msgid "This stock item cannot be deleted as it has child items" -msgstr "" - -#: stock/templates/stock/item_base.html:212 -msgid "This stock item will be automatically deleted when all stock is depleted." -msgstr "" - -#: stock/templates/stock/item_base.html:241 +#: stock/templates/stock/item_base.html:152 msgid "previous page" msgstr "" -#: stock/templates/stock/item_base.html:247 +#: stock/templates/stock/item_base.html:158 msgid "next page" msgstr "" -#: stock/templates/stock/item_base.html:290 -#: templates/js/translated/build.js:1035 -msgid "No location set" -msgstr "" - -#: stock/templates/stock/item_base.html:297 -msgid "Barcode Identifier" -msgstr "" - -#: stock/templates/stock/item_base.html:339 -msgid "Parent Item" -msgstr "" - -#: stock/templates/stock/item_base.html:357 -msgid "No manufacturer set" -msgstr "" - -#: stock/templates/stock/item_base.html:386 +#: stock/templates/stock/item_base.html:183 #, python-format msgid "This StockItem expired on %(item.expiry_date)s" msgstr "" -#: stock/templates/stock/item_base.html:388 +#: stock/templates/stock/item_base.html:183 +#: templates/js/translated/table_filters.js:247 +msgid "Expired" +msgstr "" + +#: stock/templates/stock/item_base.html:185 #, python-format msgid "This StockItem expires on %(item.expiry_date)s" msgstr "" -#: stock/templates/stock/item_base.html:395 +#: stock/templates/stock/item_base.html:185 +#: templates/js/translated/table_filters.js:253 +msgid "Stale" +msgstr "" + +#: stock/templates/stock/item_base.html:192 #: templates/js/translated/stock.js:1289 msgid "Last Updated" msgstr "" -#: stock/templates/stock/item_base.html:400 +#: stock/templates/stock/item_base.html:197 msgid "Last Stocktake" msgstr "" -#: stock/templates/stock/item_base.html:404 +#: stock/templates/stock/item_base.html:201 msgid "No stocktake performed" msgstr "" -#: stock/templates/stock/item_base.html:415 +#: stock/templates/stock/item_base.html:219 +msgid "You are not in the list of owners of this item. This stock item cannot be edited." +msgstr "" + +#: stock/templates/stock/item_base.html:226 +msgid "This stock item is in production and cannot be edited." +msgstr "" + +#: stock/templates/stock/item_base.html:227 +msgid "Edit the stock item from the build view." +msgstr "" + +#: stock/templates/stock/item_base.html:240 +msgid "This stock item has not passed all required tests" +msgstr "" + +#: stock/templates/stock/item_base.html:248 +#, python-format +msgid "This stock item is allocated to Sales Order %(link)s (Quantity: %(qty)s)" +msgstr "" + +#: stock/templates/stock/item_base.html:256 +#, python-format +msgid "This stock item is allocated to Build %(link)s (Quantity: %(qty)s)" +msgstr "" + +#: stock/templates/stock/item_base.html:262 +msgid "This stock item is serialized - it has a unique serial number and the quantity cannot be adjusted." +msgstr "" + +#: stock/templates/stock/item_base.html:266 +msgid "This stock item cannot be deleted as it has child items" +msgstr "" + +#: stock/templates/stock/item_base.html:270 +msgid "This stock item will be automatically deleted when all stock is depleted." +msgstr "" + +#: stock/templates/stock/item_base.html:311 +#: templates/js/translated/build.js:1035 +msgid "No location set" +msgstr "" + +#: stock/templates/stock/item_base.html:318 +msgid "Barcode Identifier" +msgstr "" + +#: stock/templates/stock/item_base.html:360 +msgid "Parent Item" +msgstr "" + +#: stock/templates/stock/item_base.html:378 +msgid "No manufacturer set" +msgstr "" + +#: stock/templates/stock/item_base.html:403 msgid "Tests" msgstr "" -#: stock/templates/stock/item_base.html:505 +#: stock/templates/stock/item_base.html:493 msgid "Edit Stock Status" msgstr "" @@ -5827,30 +5844,35 @@ msgstr "" msgid "New Location" msgstr "" -#: stock/templates/stock/location.html:86 +#: stock/templates/stock/location.html:95 +#: stock/templates/stock/location.html:101 +msgid "Location Path" +msgstr "" + +#: stock/templates/stock/location.html:102 msgid "Top level stock location" msgstr "" -#: stock/templates/stock/location.html:95 +#: stock/templates/stock/location.html:115 msgid "You are not in the list of owners of this location. This stock location cannot be edited." msgstr "" -#: stock/templates/stock/location.html:113 -#: stock/templates/stock/location.html:160 +#: stock/templates/stock/location.html:128 +#: stock/templates/stock/location.html:175 #: stock/templates/stock/location_sidebar.html:5 msgid "Sublocations" msgstr "" -#: stock/templates/stock/location.html:127 templates/InvenTree/search.html:170 +#: stock/templates/stock/location.html:142 templates/InvenTree/search.html:170 #: templates/stats.html:97 users/models.py:42 msgid "Stock Locations" msgstr "" -#: stock/templates/stock/location.html:167 templates/stock_table.html:30 +#: stock/templates/stock/location.html:182 templates/stock_table.html:30 msgid "Printing Actions" msgstr "" -#: stock/templates/stock/location.html:171 templates/stock_table.html:34 +#: stock/templates/stock/location.html:186 templates/stock_table.html:34 msgid "Print labels" msgstr "" @@ -7201,10 +7223,6 @@ msgstr "" msgid "Delete Supplier Part" msgstr "" -#: templates/js/translated/company.js:265 -msgid "Edit Company" -msgstr "" - #: templates/js/translated/company.js:286 msgid "Add new Company" msgstr "" @@ -8167,6 +8185,10 @@ msgstr "" msgid "Invalid date" msgstr "" +#: templates/js/translated/stock.js:1949 +msgid "Details" +msgstr "" + #: templates/js/translated/stock.js:1974 msgid "Location no longer exists" msgstr "" diff --git a/InvenTree/locale/fr/LC_MESSAGES/django.po b/InvenTree/locale/fr/LC_MESSAGES/django.po index 235abaafb7..ccbb92c1b4 100644 --- a/InvenTree/locale/fr/LC_MESSAGES/django.po +++ b/InvenTree/locale/fr/LC_MESSAGES/django.po @@ -2,8 +2,8 @@ msgid "" msgstr "" "Project-Id-Version: inventree\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2021-11-30 21:49+0000\n" -"PO-Revision-Date: 2021-11-30 21:51\n" +"POT-Creation-Date: 2021-12-03 10:37+0000\n" +"PO-Revision-Date: 2021-12-03 11:25\n" "Last-Translator: \n" "Language-Team: French\n" "Language: fr_FR\n" @@ -114,129 +114,130 @@ msgstr "Aucun numéro de série trouvé" msgid "Number of unique serial number ({s}) must match quantity ({q})" msgstr "Le nombre de numéros de série uniques ({s}) doit correspondre à la quantité ({q})" -#: InvenTree/models.py:114 +#: InvenTree/models.py:120 msgid "Missing file" msgstr "" -#: InvenTree/models.py:115 +#: InvenTree/models.py:121 msgid "Missing external link" msgstr "" -#: InvenTree/models.py:126 stock/models.py:1874 +#: InvenTree/models.py:132 stock/models.py:1864 #: templates/js/translated/attachment.js:117 msgid "Attachment" msgstr "Pièce jointe" -#: InvenTree/models.py:127 +#: InvenTree/models.py:133 msgid "Select file to attach" msgstr "Sélectionnez un fichier à joindre" -#: InvenTree/models.py:133 company/models.py:131 company/models.py:348 +#: InvenTree/models.py:139 company/models.py:131 company/models.py:348 #: company/models.py:564 order/models.py:163 part/models.py:797 #: report/templates/report/inventree_build_order_base.html:165 #: templates/js/translated/company.js:537 -#: templates/js/translated/company.js:826 templates/js/translated/part.js:1077 +#: templates/js/translated/company.js:826 templates/js/translated/part.js:1258 msgid "Link" msgstr "Lien" -#: InvenTree/models.py:134 build/models.py:330 part/models.py:798 -#: stock/models.py:540 +#: InvenTree/models.py:140 build/models.py:330 part/models.py:798 +#: stock/models.py:530 msgid "Link to external URL" msgstr "Lien vers une url externe" -#: InvenTree/models.py:137 templates/js/translated/attachment.js:161 +#: InvenTree/models.py:143 templates/js/translated/attachment.js:161 msgid "Comment" msgstr "Commentaire" -#: InvenTree/models.py:137 +#: InvenTree/models.py:143 msgid "File comment" msgstr "Commentaire du fichier" -#: InvenTree/models.py:143 InvenTree/models.py:144 common/models.py:1185 +#: InvenTree/models.py:149 InvenTree/models.py:150 common/models.py:1185 #: common/models.py:1186 part/models.py:2205 part/models.py:2225 #: report/templates/report/inventree_test_report_base.html:96 -#: templates/js/translated/stock.js:2084 +#: templates/js/translated/stock.js:2166 msgid "User" msgstr "Utilisateur" -#: InvenTree/models.py:147 +#: InvenTree/models.py:153 msgid "upload date" msgstr "date de chargement" -#: InvenTree/models.py:170 +#: InvenTree/models.py:176 msgid "Filename must not be empty" msgstr "Le nom de fichier ne doit pas être vide" -#: InvenTree/models.py:193 +#: InvenTree/models.py:199 msgid "Invalid attachment directory" msgstr "Répertoire de pièce jointe invalide" -#: InvenTree/models.py:203 +#: InvenTree/models.py:209 #, python-brace-format msgid "Filename contains illegal character '{c}'" msgstr "Le nom de fichier contient le caractère illégal '{c}'" -#: InvenTree/models.py:206 +#: InvenTree/models.py:212 msgid "Filename missing extension" msgstr "Extension manquante du nom de fichier" -#: InvenTree/models.py:213 +#: InvenTree/models.py:219 msgid "Attachment with this filename already exists" msgstr "Une pièce jointe avec ce nom de fichier existe déjà" -#: InvenTree/models.py:220 +#: InvenTree/models.py:226 msgid "Error renaming file" msgstr "Erreur lors du renommage du fichier" -#: InvenTree/models.py:255 +#: InvenTree/models.py:261 msgid "Invalid choice" msgstr "Choix invalide" -#: InvenTree/models.py:271 InvenTree/models.py:272 company/models.py:415 +#: InvenTree/models.py:277 InvenTree/models.py:278 company/models.py:415 #: label/models.py:112 part/models.py:741 part/models.py:2389 -#: part/templates/part/detail.html:25 report/models.py:181 -#: templates/InvenTree/settings/settings.html:259 -#: templates/js/translated/company.js:638 templates/js/translated/part.js:499 -#: templates/js/translated/part.js:636 templates/js/translated/part.js:1384 -#: templates/js/translated/stock.js:1877 +#: report/models.py:181 templates/InvenTree/settings/settings.html:259 +#: templates/js/translated/company.js:638 templates/js/translated/part.js:506 +#: templates/js/translated/part.js:643 templates/js/translated/part.js:1565 +#: templates/js/translated/stock.js:1959 msgid "Name" msgstr "Nom" -#: InvenTree/models.py:278 build/models.py:207 +#: InvenTree/models.py:284 build/models.py:207 #: build/templates/build/detail.html:25 company/models.py:354 -#: company/models.py:570 company/templates/company/manufacturer_part.html:80 -#: company/templates/company/supplier_part.html:81 label/models.py:119 -#: order/models.py:161 part/models.py:764 part/templates/part/detail.html:30 +#: company/models.py:570 company/templates/company/company_base.html:68 +#: company/templates/company/manufacturer_part.html:76 +#: company/templates/company/supplier_part.html:73 label/models.py:119 +#: order/models.py:161 part/models.py:764 part/templates/part/category.html:70 +#: part/templates/part/part_base.html:163 #: part/templates/part/set_category.html:14 report/models.py:194 #: report/models.py:553 report/models.py:592 #: report/templates/report/inventree_build_order_base.html:118 -#: stock/templates/stock/location.html:108 templates/js/translated/bom.js:215 +#: stock/templates/stock/location.html:89 templates/js/translated/bom.js:215 #: templates/js/translated/bom.js:428 templates/js/translated/build.js:1621 #: templates/js/translated/company.js:345 #: templates/js/translated/company.js:548 -#: templates/js/translated/company.js:837 templates/js/translated/order.js:673 -#: templates/js/translated/order.js:855 templates/js/translated/order.js:1091 -#: templates/js/translated/part.js:558 templates/js/translated/part.js:752 -#: templates/js/translated/part.js:837 templates/js/translated/part.js:1007 -#: templates/js/translated/part.js:1403 templates/js/translated/part.js:1472 -#: templates/js/translated/stock.js:1151 templates/js/translated/stock.js:1889 -#: templates/js/translated/stock.js:1934 +#: templates/js/translated/company.js:837 templates/js/translated/order.js:680 +#: templates/js/translated/order.js:854 templates/js/translated/order.js:1090 +#: templates/js/translated/part.js:565 templates/js/translated/part.js:933 +#: templates/js/translated/part.js:1018 templates/js/translated/part.js:1188 +#: templates/js/translated/part.js:1584 templates/js/translated/part.js:1653 +#: templates/js/translated/stock.js:1233 templates/js/translated/stock.js:1971 +#: templates/js/translated/stock.js:2016 msgid "Description" msgstr "Description" -#: InvenTree/models.py:279 +#: InvenTree/models.py:285 msgid "Description (optional)" msgstr "Description (facultative)" -#: InvenTree/models.py:287 +#: InvenTree/models.py:293 msgid "parent" msgstr "parent" -#: InvenTree/serializers.py:62 part/models.py:2674 +#: InvenTree/serializers.py:65 part/models.py:2674 msgid "Must be a valid number" msgstr "Doit être un nombre valide" -#: InvenTree/serializers.py:285 +#: InvenTree/serializers.py:299 msgid "Filename" msgstr "Nom du fichier" @@ -361,7 +362,7 @@ msgid "Returned" msgstr "Retourné" #: InvenTree/status_codes.py:143 -#: order/templates/order/sales_order_base.html:147 +#: order/templates/order/sales_order_base.html:148 msgid "Shipped" msgstr "Expédié" @@ -566,7 +567,7 @@ msgid "Barcode associated with StockItem" msgstr "" #: build/forms.py:36 build/models.py:1283 -#: build/templates/build/build_base.html:124 +#: build/templates/build/build_base.html:132 #: build/templates/build/detail.html:35 common/models.py:1225 #: company/forms.py:42 company/templates/company/supplier_part.html:251 #: order/forms.py:102 order/models.py:729 order/models.py:991 @@ -574,26 +575,27 @@ msgstr "" #: order/templates/order/order_wizard/select_parts.html:34 part/forms.py:223 #: part/forms.py:239 part/forms.py:255 part/models.py:2576 #: part/templates/part/bom_upload/match_parts.html:31 -#: part/templates/part/detail.html:1076 part/templates/part/detail.html:1162 +#: part/templates/part/detail.html:967 part/templates/part/detail.html:1053 #: part/templates/part/part_pricing.html:16 #: report/templates/report/inventree_build_order_base.html:114 #: report/templates/report/inventree_po_report.html:91 #: report/templates/report/inventree_so_report.html:91 #: report/templates/report/inventree_test_report_base.html:81 #: report/templates/report/inventree_test_report_base.html:139 -#: stock/forms.py:156 stock/serializers.py:286 -#: stock/templates/stock/item_base.html:256 +#: stock/forms.py:156 stock/serializers.py:291 +#: stock/templates/stock/item_base.html:174 #: templates/js/translated/barcode.js:385 templates/js/translated/bom.js:443 #: templates/js/translated/build.js:235 templates/js/translated/build.js:435 #: templates/js/translated/build.js:629 templates/js/translated/build.js:639 #: templates/js/translated/build.js:1015 templates/js/translated/build.js:1362 #: templates/js/translated/model_renderers.js:99 -#: templates/js/translated/order.js:892 templates/js/translated/order.js:1205 -#: templates/js/translated/order.js:1283 templates/js/translated/order.js:1290 -#: templates/js/translated/order.js:1379 templates/js/translated/order.js:1479 -#: templates/js/translated/part.js:1615 templates/js/translated/part.js:1738 -#: templates/js/translated/part.js:1816 templates/js/translated/stock.js:377 -#: templates/js/translated/stock.js:2069 templates/js/translated/stock.js:2171 +#: templates/js/translated/order.js:891 templates/js/translated/order.js:1204 +#: templates/js/translated/order.js:1282 templates/js/translated/order.js:1289 +#: templates/js/translated/order.js:1378 templates/js/translated/order.js:1478 +#: templates/js/translated/part.js:843 templates/js/translated/part.js:1796 +#: templates/js/translated/part.js:1919 templates/js/translated/part.js:1997 +#: templates/js/translated/stock.js:378 templates/js/translated/stock.js:2151 +#: templates/js/translated/stock.js:2253 msgid "Quantity" msgstr "Quantité" @@ -602,8 +604,8 @@ msgid "Enter quantity for build output" msgstr "" #: build/forms.py:41 order/forms.py:96 stock/forms.py:95 -#: stock/serializers.py:307 templates/js/translated/stock.js:224 -#: templates/js/translated/stock.js:378 +#: stock/serializers.py:312 templates/js/translated/stock.js:225 +#: templates/js/translated/stock.js:379 msgid "Serial Numbers" msgstr "Numéros de série" @@ -646,7 +648,7 @@ msgstr "Ordre de Fabrication" #: build/templates/build/index.html:8 build/templates/build/index.html:12 #: order/templates/order/sales_order_detail.html:42 #: order/templates/order/so_sidebar.html:7 -#: part/templates/part/part_sidebar.html:22 templates/InvenTree/index.html:221 +#: part/templates/part/part_sidebar.html:20 templates/InvenTree/index.html:221 #: templates/InvenTree/search.html:145 #: templates/InvenTree/settings/sidebar.html:42 users/models.py:44 msgid "Build Orders" @@ -662,7 +664,7 @@ msgstr "Référence de l' Ordre de Fabrication" #: report/templates/report/inventree_po_report.html:92 #: report/templates/report/inventree_so_report.html:92 #: templates/js/translated/bom.js:435 templates/js/translated/build.js:1119 -#: templates/js/translated/order.js:886 templates/js/translated/order.js:1473 +#: templates/js/translated/order.js:885 templates/js/translated/order.js:1472 msgid "Reference" msgstr "Référence" @@ -670,7 +672,7 @@ msgstr "Référence" msgid "Brief description of the build" msgstr "" -#: build/models.py:219 build/templates/build/build_base.html:156 +#: build/models.py:219 build/templates/build/build_base.html:164 #: build/templates/build/detail.html:88 msgid "Parent Build" msgstr "" @@ -679,7 +681,7 @@ msgstr "" msgid "BuildOrder to which this build is allocated" msgstr "" -#: build/models.py:225 build/templates/build/build_base.html:119 +#: build/models.py:225 build/templates/build/build_base.html:77 #: build/templates/build/detail.html:30 company/models.py:705 #: order/models.py:789 order/models.py:860 #: order/templates/order/order_wizard/select_parts.html:32 part/models.py:357 @@ -700,10 +702,10 @@ msgstr "" #: templates/js/translated/build.js:988 templates/js/translated/build.js:1359 #: templates/js/translated/build.js:1626 templates/js/translated/company.js:489 #: templates/js/translated/company.js:746 templates/js/translated/order.js:426 -#: templates/js/translated/order.js:840 templates/js/translated/order.js:1457 -#: templates/js/translated/part.js:737 templates/js/translated/part.js:818 -#: templates/js/translated/part.js:985 templates/js/translated/stock.js:508 -#: templates/js/translated/stock.js:1108 templates/js/translated/stock.js:2159 +#: templates/js/translated/order.js:839 templates/js/translated/order.js:1456 +#: templates/js/translated/part.js:918 templates/js/translated/part.js:999 +#: templates/js/translated/part.js:1166 templates/js/translated/stock.js:590 +#: templates/js/translated/stock.js:1190 templates/js/translated/stock.js:2241 msgid "Part" msgstr "Pièce" @@ -751,7 +753,7 @@ msgstr "" msgid "Number of stock items which have been completed" msgstr "" -#: build/models.py:277 part/templates/part/part_base.html:216 +#: build/models.py:277 part/templates/part/part_base.html:234 msgid "Build Status" msgstr "" @@ -759,7 +761,7 @@ msgstr "" msgid "Build status code" msgstr "" -#: build/models.py:285 stock/models.py:544 +#: build/models.py:285 stock/models.py:534 msgid "Batch Code" msgstr "" @@ -768,7 +770,7 @@ msgid "Batch code for this build output" msgstr "" #: build/models.py:292 order/models.py:165 part/models.py:936 -#: part/templates/part/detail.html:86 templates/js/translated/order.js:1104 +#: part/templates/part/part_base.html:313 templates/js/translated/order.js:1103 msgid "Creation Date" msgstr "Date de création" @@ -797,12 +799,12 @@ msgstr "" msgid "User who issued this build order" msgstr "" -#: build/models.py:323 build/templates/build/build_base.html:177 +#: build/models.py:323 build/templates/build/build_base.html:185 #: build/templates/build/detail.html:116 order/models.py:179 -#: order/templates/order/order_base.html:154 -#: order/templates/order/sales_order_base.html:161 part/models.py:940 +#: order/templates/order/order_base.html:158 +#: order/templates/order/sales_order_base.html:162 part/models.py:940 #: report/templates/report/inventree_build_order_base.html:159 -#: templates/js/translated/build.js:1680 templates/js/translated/order.js:700 +#: templates/js/translated/build.js:1680 templates/js/translated/order.js:699 msgid "Responsible" msgstr "" @@ -811,10 +813,10 @@ msgid "User responsible for this build order" msgstr "" #: build/models.py:329 build/templates/build/detail.html:102 -#: company/templates/company/manufacturer_part.html:87 -#: company/templates/company/supplier_part.html:88 -#: part/templates/part/detail.html:80 stock/models.py:538 -#: stock/templates/stock/item_base.html:346 +#: company/templates/company/manufacturer_part.html:102 +#: company/templates/company/supplier_part.html:126 +#: part/templates/part/part_base.html:354 stock/models.py:528 +#: stock/templates/stock/item_base.html:374 msgid "External Link" msgstr "Lien Externe" @@ -824,15 +826,15 @@ msgstr "Lien Externe" #: order/models.py:183 order/models.py:738 #: order/templates/order/po_sidebar.html:11 #: order/templates/order/so_sidebar.html:11 part/models.py:925 -#: part/templates/part/detail.html:223 part/templates/part/part_sidebar.html:52 +#: part/templates/part/detail.html:116 part/templates/part/part_sidebar.html:50 #: report/templates/report/inventree_build_order_base.html:173 -#: stock/forms.py:154 stock/forms.py:204 stock/forms.py:238 stock/models.py:610 -#: stock/models.py:1774 stock/models.py:1880 stock/serializers.py:325 -#: stock/serializers.py:583 stock/templates/stock/stock_sidebar.html:21 +#: stock/forms.py:154 stock/forms.py:204 stock/forms.py:238 stock/models.py:600 +#: stock/models.py:1764 stock/models.py:1870 stock/serializers.py:330 +#: stock/serializers.py:588 stock/templates/stock/stock_sidebar.html:21 #: templates/js/translated/barcode.js:58 templates/js/translated/bom.js:599 -#: templates/js/translated/company.js:842 templates/js/translated/order.js:985 -#: templates/js/translated/order.js:1583 templates/js/translated/stock.js:891 -#: templates/js/translated/stock.js:1370 +#: templates/js/translated/company.js:842 templates/js/translated/order.js:984 +#: templates/js/translated/order.js:1582 templates/js/translated/stock.js:973 +#: templates/js/translated/stock.js:1452 msgid "Notes" msgstr "Notes" @@ -877,7 +879,7 @@ msgstr "" msgid "Selected stock item not found in BOM" msgstr "" -#: build/models.py:1253 stock/templates/stock/item_base.html:318 +#: build/models.py:1253 stock/templates/stock/item_base.html:346 #: templates/InvenTree/search.html:143 templates/js/translated/build.js:1599 #: templates/navbar.html:33 msgid "Build" @@ -890,11 +892,11 @@ msgstr "" #: build/models.py:1270 build/serializers.py:328 #: stock/templates/stock/item_base.html:8 #: stock/templates/stock/item_base.html:16 -#: stock/templates/stock/item_base.html:340 +#: stock/templates/stock/item_base.html:368 #: templates/js/translated/build.js:408 templates/js/translated/build.js:413 #: templates/js/translated/build.js:1361 templates/js/translated/build.js:1742 -#: templates/js/translated/order.js:1178 templates/js/translated/order.js:1183 -#: templates/js/translated/stock.js:2020 +#: templates/js/translated/order.js:1177 templates/js/translated/order.js:1182 +#: templates/js/translated/stock.js:2102 msgid "Stock Item" msgstr "Article en stock" @@ -934,16 +936,16 @@ msgstr "" msgid "This build output is not fully allocated" msgstr "" -#: build/serializers.py:190 order/serializers.py:219 order/serializers.py:287 -#: stock/forms.py:236 stock/serializers.py:318 stock/serializers.py:685 -#: stock/templates/stock/item_base.html:286 +#: build/serializers.py:190 order/serializers.py:228 order/serializers.py:296 +#: stock/forms.py:236 stock/serializers.py:323 stock/serializers.py:690 +#: stock/templates/stock/item_base.html:314 #: templates/js/translated/barcode.js:384 #: templates/js/translated/barcode.js:557 templates/js/translated/build.js:420 #: templates/js/translated/build.js:1027 templates/js/translated/order.js:348 -#: templates/js/translated/order.js:1190 templates/js/translated/order.js:1298 -#: templates/js/translated/order.js:1304 templates/js/translated/part.js:181 -#: templates/js/translated/stock.js:510 templates/js/translated/stock.js:1251 -#: templates/js/translated/stock.js:1961 +#: templates/js/translated/order.js:1189 templates/js/translated/order.js:1297 +#: templates/js/translated/order.js:1303 templates/js/translated/part.js:177 +#: templates/js/translated/stock.js:592 templates/js/translated/stock.js:1333 +#: templates/js/translated/stock.js:2043 msgid "Location" msgstr "Emplacement" @@ -951,13 +953,13 @@ msgstr "Emplacement" msgid "Location for completed build outputs" msgstr "" -#: build/serializers.py:197 build/templates/build/build_base.html:129 +#: build/serializers.py:197 build/templates/build/build_base.html:137 #: build/templates/build/detail.html:63 order/models.py:572 -#: order/serializers.py:240 stock/templates/stock/item_base.html:409 +#: order/serializers.py:249 stock/templates/stock/item_base.html:180 #: templates/js/translated/barcode.js:140 templates/js/translated/build.js:1655 -#: templates/js/translated/order.js:431 templates/js/translated/order.js:677 -#: templates/js/translated/order.js:1096 templates/js/translated/stock.js:1226 -#: templates/js/translated/stock.js:2038 templates/js/translated/stock.js:2187 +#: templates/js/translated/order.js:431 templates/js/translated/order.js:1095 +#: templates/js/translated/stock.js:1308 templates/js/translated/stock.js:2120 +#: templates/js/translated/stock.js:2269 msgid "Status" msgstr "État" @@ -986,8 +988,8 @@ msgstr "" msgid "Item must be in stock" msgstr "L'article doit être en stock" -#: build/serializers.py:348 order/models.py:316 order/serializers.py:233 -#: stock/models.py:381 stock/models.py:1103 stock/serializers.py:298 +#: build/serializers.py:348 order/models.py:316 order/serializers.py:242 +#: stock/models.py:371 stock/models.py:1093 stock/serializers.py:303 msgid "Quantity must be greater than zero" msgstr "La quantité doit être supérieure à zéro" @@ -1031,7 +1033,7 @@ msgid "Edit Build" msgstr "Modifier l'assemblage" #: build/templates/build/build_base.html:56 -#: build/templates/build/build_base.html:207 build/views.py:56 +#: build/templates/build/build_base.html:215 build/views.py:56 msgid "Cancel Build" msgstr "Annuler l'assemblage" @@ -1041,93 +1043,95 @@ msgstr "Supprimer l'assemblage" #: build/templates/build/build_base.html:64 #: build/templates/build/build_base.html:65 -#: build/templates/build/build_base.html:223 +#: build/templates/build/build_base.html:231 msgid "Complete Build" msgstr "Compléter l'assemblage" -#: build/templates/build/build_base.html:79 +#: build/templates/build/build_base.html:82 +msgid "Build Description" +msgstr "" + +#: build/templates/build/build_base.html:91 #, python-format msgid "This Build Order is allocated to Sales Order %(link)s" msgstr "" -#: build/templates/build/build_base.html:86 +#: build/templates/build/build_base.html:98 #, python-format msgid "This Build Order is a child of Build Order %(link)s" msgstr "" -#: build/templates/build/build_base.html:93 +#: build/templates/build/build_base.html:105 msgid "Build Order is ready to mark as completed" msgstr "" -#: build/templates/build/build_base.html:98 +#: build/templates/build/build_base.html:110 msgid "Build Order cannot be completed as outstanding outputs remain" msgstr "" -#: build/templates/build/build_base.html:103 +#: build/templates/build/build_base.html:115 msgid "Required build quantity has not yet been completed" msgstr "" -#: build/templates/build/build_base.html:108 +#: build/templates/build/build_base.html:120 msgid "Stock has not been fully allocated to this Build Order" msgstr "" -#: build/templates/build/build_base.html:138 +#: build/templates/build/build_base.html:146 #: build/templates/build/detail.html:132 -#: order/templates/order/order_base.html:140 -#: order/templates/order/sales_order_base.html:140 +#: order/templates/order/order_base.html:144 +#: order/templates/order/sales_order_base.html:141 #: report/templates/report/inventree_build_order_base.html:126 -#: templates/js/translated/build.js:1692 templates/js/translated/order.js:690 -#: templates/js/translated/order.js:1109 +#: templates/js/translated/build.js:1692 templates/js/translated/order.js:689 +#: templates/js/translated/order.js:1108 msgid "Target Date" msgstr "Date Cible" -#: build/templates/build/build_base.html:143 +#: build/templates/build/build_base.html:151 #, python-format msgid "This build was due on %(target)s" msgstr "" -#: build/templates/build/build_base.html:143 -#: build/templates/build/build_base.html:188 -#: order/templates/order/order_base.html:81 -#: order/templates/order/order_base.html:102 -#: order/templates/order/sales_order_base.html:78 -#: order/templates/order/sales_order_base.html:107 +#: build/templates/build/build_base.html:151 +#: build/templates/build/build_base.html:196 +#: order/templates/order/order_base.html:98 +#: order/templates/order/sales_order_base.html:93 #: templates/js/translated/table_filters.js:294 #: templates/js/translated/table_filters.js:322 #: templates/js/translated/table_filters.js:339 msgid "Overdue" msgstr "En retard" -#: build/templates/build/build_base.html:150 +#: build/templates/build/build_base.html:158 #: build/templates/build/detail.html:68 build/templates/build/detail.html:143 #: templates/js/translated/build.js:1641 #: templates/js/translated/table_filters.js:304 msgid "Completed" msgstr "Terminé" -#: build/templates/build/build_base.html:163 +#: build/templates/build/build_base.html:171 #: build/templates/build/detail.html:95 order/models.py:857 #: order/templates/order/sales_order_base.html:9 #: order/templates/order/sales_order_base.html:28 #: order/templates/order/sales_order_ship.html:25 #: report/templates/report/inventree_build_order_base.html:136 #: report/templates/report/inventree_so_report.html:77 -#: stock/templates/stock/item_base.html:280 -#: templates/js/translated/order.js:1051 +#: stock/templates/stock/item_base.html:308 +#: templates/js/translated/order.js:1050 msgid "Sales Order" msgstr "Commandes" -#: build/templates/build/build_base.html:170 +#: build/templates/build/build_base.html:178 #: build/templates/build/detail.html:109 #: report/templates/report/inventree_build_order_base.html:153 msgid "Issued By" msgstr "" -#: build/templates/build/build_base.html:215 +#: build/templates/build/build_base.html:223 msgid "Incomplete Outputs" msgstr "" -#: build/templates/build/build_base.html:216 +#: build/templates/build/build_base.html:224 msgid "Build Order cannot be completed as incomplete build outputs remain" msgstr "" @@ -1188,7 +1192,7 @@ msgid "Stock can be taken from any available location." msgstr "" #: build/templates/build/detail.html:50 order/models.py:811 stock/forms.py:150 -#: templates/js/translated/order.js:432 templates/js/translated/order.js:974 +#: templates/js/translated/order.js:432 templates/js/translated/order.js:973 msgid "Destination" msgstr "Destination" @@ -1201,16 +1205,16 @@ msgid "Allocated Parts" msgstr "" #: build/templates/build/detail.html:81 -#: stock/templates/stock/item_base.html:304 -#: templates/js/translated/stock.js:1240 templates/js/translated/stock.js:2194 +#: stock/templates/stock/item_base.html:332 +#: templates/js/translated/stock.js:1322 templates/js/translated/stock.js:2276 #: templates/js/translated/table_filters.js:151 #: templates/js/translated/table_filters.js:233 msgid "Batch" msgstr "" #: build/templates/build/detail.html:127 -#: order/templates/order/order_base.html:127 -#: order/templates/order/sales_order_base.html:134 +#: order/templates/order/order_base.html:131 +#: order/templates/order/sales_order_base.html:135 #: templates/js/translated/build.js:1663 msgid "Created" msgstr "Créé le" @@ -1254,7 +1258,7 @@ msgstr "Commander les pièces requises" #: build/templates/build/detail.html:185 #: company/templates/company/detail.html:38 #: company/templates/company/detail.html:85 order/views.py:509 -#: part/templates/part/category.html:166 +#: part/templates/part/category.html:173 msgid "Order Parts" msgstr "Commander des pièces" @@ -1306,8 +1310,8 @@ msgstr "" #: order/templates/order/po_sidebar.html:9 #: order/templates/order/purchase_order_detail.html:60 #: order/templates/order/sales_order_detail.html:52 -#: order/templates/order/so_sidebar.html:9 part/templates/part/detail.html:300 -#: part/templates/part/part_sidebar.html:50 stock/templates/stock/item.html:95 +#: order/templates/order/so_sidebar.html:9 part/templates/part/detail.html:193 +#: part/templates/part/part_sidebar.html:48 stock/templates/stock/item.html:95 #: stock/templates/stock/stock_sidebar.html:19 msgid "Attachments" msgstr "Pieces jointes" @@ -1323,7 +1327,7 @@ msgstr "" #: order/templates/order/purchase_order_detail.html:108 #: order/templates/order/sales_order_detail.html:72 #: order/templates/order/sales_order_detail.html:99 -#: part/templates/part/detail.html:227 stock/templates/stock/item.html:115 +#: part/templates/part/detail.html:120 stock/templates/stock/item.html:115 #: stock/templates/stock/item.html:205 msgid "Edit Notes" msgstr "Modifier les notes" @@ -1336,7 +1340,7 @@ msgstr "" msgid "All untracked stock items have been allocated" msgstr "" -#: build/templates/build/index.html:18 part/templates/part/detail.html:407 +#: build/templates/build/index.html:18 part/templates/part/detail.html:300 msgid "New Build Order" msgstr "" @@ -1380,7 +1384,7 @@ msgstr "" msgid "Maximum output quantity is " msgstr "La quantité maximale de sortie est " -#: build/views.py:122 stock/serializers.py:356 stock/views.py:1290 +#: build/views.py:122 stock/serializers.py:361 stock/views.py:1290 msgid "Serial numbers already exist" msgstr "" @@ -1675,7 +1679,7 @@ msgid "Parts are trackable by default" msgstr "" #: common/models.py:745 part/models.py:920 -#: part/templates/part/part_base.html:144 +#: part/templates/part/part_base.html:147 #: templates/js/translated/table_filters.js:42 msgid "Virtual" msgstr "" @@ -2142,7 +2146,7 @@ msgstr "" #: common/models.py:1233 company/serializers.py:264 #: company/templates/company/supplier_part.html:256 -#: templates/js/translated/part.js:1620 +#: templates/js/translated/part.js:852 templates/js/translated/part.js:1801 msgid "Price" msgstr "" @@ -2206,7 +2210,7 @@ msgstr "" msgid "Description of the company" msgstr "" -#: company/models.py:112 company/templates/company/company_base.html:70 +#: company/models.py:112 company/templates/company/company_base.html:97 #: templates/js/translated/company.js:349 msgid "Website" msgstr "" @@ -2215,7 +2219,7 @@ msgstr "" msgid "Company website URL" msgstr "" -#: company/models.py:117 company/templates/company/company_base.html:88 +#: company/models.py:117 company/templates/company/company_base.html:115 msgid "Address" msgstr "" @@ -2231,7 +2235,7 @@ msgstr "" msgid "Contact phone number" msgstr "" -#: company/models.py:125 company/templates/company/company_base.html:102 +#: company/models.py:125 company/templates/company/company_base.html:129 #: templates/InvenTree/settings/user.html:47 msgid "Email" msgstr "E-mail" @@ -2240,7 +2244,7 @@ msgstr "E-mail" msgid "Contact email address" msgstr "Adresse e-mail de contact" -#: company/models.py:128 company/templates/company/company_base.html:109 +#: company/models.py:128 company/templates/company/company_base.html:136 msgid "Contact" msgstr "Contact" @@ -2281,7 +2285,7 @@ msgid "Does this company manufacture parts?" msgstr "Cette entreprise fabrique-t-elle des pièces?" #: company/models.py:152 company/serializers.py:270 -#: company/templates/company/company_base.html:76 stock/serializers.py:172 +#: company/templates/company/company_base.html:103 stock/serializers.py:177 msgid "Currency" msgstr "Devise" @@ -2289,8 +2293,8 @@ msgstr "Devise" msgid "Default currency used for this company" msgstr "" -#: company/models.py:320 company/models.py:535 stock/models.py:484 -#: stock/templates/stock/item_base.html:224 +#: company/models.py:320 company/models.py:535 stock/models.py:474 +#: stock/templates/stock/item_base.html:135 msgid "Base Part" msgstr "" @@ -2298,29 +2302,29 @@ msgstr "" msgid "Select part" msgstr "" -#: company/models.py:335 company/templates/company/company_base.html:116 -#: company/templates/company/manufacturer_part.html:93 -#: company/templates/company/supplier_part.html:104 -#: stock/templates/stock/item_base.html:353 +#: company/models.py:335 company/templates/company/company_base.html:73 +#: company/templates/company/manufacturer_part.html:91 +#: company/templates/company/supplier_part.html:97 +#: stock/templates/stock/item_base.html:381 #: templates/js/translated/company.js:333 #: templates/js/translated/company.js:514 -#: templates/js/translated/company.js:797 templates/js/translated/part.js:229 +#: templates/js/translated/company.js:797 templates/js/translated/part.js:232 msgid "Manufacturer" msgstr "Fabricant" -#: company/models.py:336 templates/js/translated/part.js:230 +#: company/models.py:336 templates/js/translated/part.js:233 msgid "Select manufacturer" msgstr "Sélectionner un fabricant" -#: company/models.py:342 company/templates/company/manufacturer_part.html:97 -#: company/templates/company/supplier_part.html:112 +#: company/models.py:342 company/templates/company/manufacturer_part.html:96 +#: company/templates/company/supplier_part.html:105 #: templates/js/translated/company.js:530 -#: templates/js/translated/company.js:815 templates/js/translated/order.js:874 -#: templates/js/translated/part.js:240 +#: templates/js/translated/company.js:815 templates/js/translated/order.js:873 +#: templates/js/translated/part.js:243 templates/js/translated/part.js:832 msgid "MPN" msgstr "" -#: company/models.py:343 templates/js/translated/part.js:241 +#: company/models.py:343 templates/js/translated/part.js:244 msgid "Manufacturer Part Number" msgstr "" @@ -2335,7 +2339,7 @@ msgstr "" #: company/models.py:409 company/models.py:558 #: company/templates/company/manufacturer_part.html:6 #: company/templates/company/manufacturer_part.html:23 -#: stock/templates/stock/item_base.html:363 +#: stock/templates/stock/item_base.html:391 msgid "Manufacturer Part" msgstr "" @@ -2345,8 +2349,8 @@ msgstr "" #: company/models.py:422 #: report/templates/report/inventree_test_report_base.html:95 -#: stock/models.py:1867 templates/js/translated/company.js:644 -#: templates/js/translated/part.js:645 templates/js/translated/stock.js:878 +#: stock/models.py:1857 templates/js/translated/company.js:644 +#: templates/js/translated/part.js:652 templates/js/translated/stock.js:960 msgid "Value" msgstr "Valeur" @@ -2355,9 +2359,9 @@ msgid "Parameter value" msgstr "" #: company/models.py:429 part/models.py:882 part/models.py:2397 -#: part/templates/part/detail.html:59 +#: part/templates/part/part_base.html:288 #: templates/InvenTree/settings/settings.html:264 -#: templates/js/translated/company.js:650 templates/js/translated/part.js:651 +#: templates/js/translated/company.js:650 templates/js/translated/part.js:658 msgid "Units" msgstr "" @@ -2369,28 +2373,28 @@ msgstr "" msgid "Linked manufacturer part must reference the same base part" msgstr "" -#: company/models.py:545 company/templates/company/company_base.html:121 -#: company/templates/company/supplier_part.html:94 order/models.py:263 -#: order/templates/order/order_base.html:108 +#: company/models.py:545 company/templates/company/company_base.html:78 +#: company/templates/company/supplier_part.html:87 order/models.py:263 +#: order/templates/order/order_base.html:112 #: order/templates/order/order_wizard/select_pos.html:30 part/bom.py:219 -#: part/bom.py:247 stock/templates/stock/item_base.html:370 +#: part/bom.py:247 stock/templates/stock/item_base.html:398 #: templates/js/translated/company.js:337 -#: templates/js/translated/company.js:771 templates/js/translated/order.js:660 -#: templates/js/translated/part.js:210 +#: templates/js/translated/company.js:771 templates/js/translated/order.js:667 +#: templates/js/translated/part.js:213 templates/js/translated/part.js:800 msgid "Supplier" msgstr "Fournisseur" -#: company/models.py:546 templates/js/translated/part.js:211 +#: company/models.py:546 templates/js/translated/part.js:214 msgid "Select supplier" msgstr "" -#: company/models.py:551 company/templates/company/supplier_part.html:98 -#: part/bom.py:220 part/bom.py:248 templates/js/translated/order.js:861 -#: templates/js/translated/part.js:221 +#: company/models.py:551 company/templates/company/supplier_part.html:91 +#: part/bom.py:220 part/bom.py:248 templates/js/translated/order.js:860 +#: templates/js/translated/part.js:224 templates/js/translated/part.js:818 msgid "SKU" msgstr "" -#: company/models.py:552 templates/js/translated/part.js:222 +#: company/models.py:552 templates/js/translated/part.js:225 msgid "Supplier stock keeping unit" msgstr "" @@ -2406,7 +2410,7 @@ msgstr "" msgid "Supplier part description" msgstr "" -#: company/models.py:576 company/templates/company/supplier_part.html:126 +#: company/models.py:576 company/templates/company/supplier_part.html:119 #: part/models.py:2588 report/templates/report/inventree_po_report.html:93 #: report/templates/report/inventree_so_report.html:93 msgid "Note" @@ -2420,9 +2424,9 @@ msgstr "coût de base" msgid "Minimum charge (e.g. stocking fee)" msgstr "" -#: company/models.py:582 company/templates/company/supplier_part.html:119 -#: stock/models.py:507 stock/templates/stock/item_base.html:311 -#: templates/js/translated/company.js:847 templates/js/translated/stock.js:1366 +#: company/models.py:582 company/templates/company/supplier_part.html:112 +#: stock/models.py:497 stock/templates/stock/item_base.html:339 +#: templates/js/translated/company.js:847 templates/js/translated/stock.js:1448 msgid "Packaging" msgstr "" @@ -2457,43 +2461,56 @@ msgstr "" msgid "Create Purchase Order" msgstr "Créer une commande d'achat" -#: company/templates/company/company_base.html:27 +#: company/templates/company/company_base.html:26 +msgid "Company actions" +msgstr "" + +#: company/templates/company/company_base.html:31 msgid "Edit company information" msgstr "" #: company/templates/company/company_base.html:32 -#: company/templates/company/company_base.html:148 +#: templates/js/translated/company.js:265 +msgid "Edit Company" +msgstr "" + +#: company/templates/company/company_base.html:36 +msgid "Delete company" +msgstr "" + +#: company/templates/company/company_base.html:37 +#: company/templates/company/company_base.html:159 msgid "Delete Company" msgstr "" -#: company/templates/company/company_base.html:48 +#: company/templates/company/company_base.html:53 #: part/templates/part/part_thumb.html:12 msgid "Upload new image" msgstr "Ajouter une nouvelle image" -#: company/templates/company/company_base.html:51 +#: company/templates/company/company_base.html:56 #: part/templates/part/part_thumb.html:14 msgid "Download image from URL" msgstr "Télécharger l'image depuis l'URL" -#: company/templates/company/company_base.html:81 -msgid "Uses default currency" -msgstr "" - -#: company/templates/company/company_base.html:95 -msgid "Phone" -msgstr "" - -#: company/templates/company/company_base.html:126 order/models.py:567 -#: order/templates/order/sales_order_base.html:114 stock/models.py:525 -#: stock/models.py:526 stock/templates/stock/item_base.html:263 -#: templates/js/translated/company.js:329 templates/js/translated/order.js:1073 -#: templates/js/translated/stock.js:2002 +#: company/templates/company/company_base.html:83 order/models.py:567 +#: order/templates/order/sales_order_base.html:115 stock/models.py:515 +#: stock/models.py:516 stock/templates/stock/item_base.html:291 +#: templates/js/translated/company.js:329 templates/js/translated/order.js:1072 +#: templates/js/translated/stock.js:2084 msgid "Customer" msgstr "" -#: company/templates/company/company_base.html:194 -#: part/templates/part/part_base.html:342 +#: company/templates/company/company_base.html:108 +msgid "Uses default currency" +msgstr "" + +#: company/templates/company/company_base.html:122 +msgid "Phone" +msgstr "" + +#: company/templates/company/company_base.html:205 +#: part/templates/part/part_base.html:471 msgid "Upload Image" msgstr "" @@ -2509,23 +2526,23 @@ msgid "Create new supplier part" msgstr "" #: company/templates/company/detail.html:20 -#: company/templates/company/manufacturer_part.html:112 -#: part/templates/part/detail.html:440 +#: company/templates/company/manufacturer_part.html:118 +#: part/templates/part/detail.html:333 msgid "New Supplier Part" msgstr "" #: company/templates/company/detail.html:32 #: company/templates/company/detail.html:79 -#: company/templates/company/manufacturer_part.html:121 -#: company/templates/company/manufacturer_part.html:150 -#: part/templates/part/category.html:160 part/templates/part/detail.html:449 -#: part/templates/part/detail.html:477 +#: company/templates/company/manufacturer_part.html:127 +#: company/templates/company/manufacturer_part.html:156 +#: part/templates/part/category.html:167 part/templates/part/detail.html:342 +#: part/templates/part/detail.html:370 msgid "Options" msgstr "" #: company/templates/company/detail.html:37 #: company/templates/company/detail.html:84 -#: part/templates/part/category.html:166 +#: part/templates/part/category.html:173 msgid "Order parts" msgstr "" @@ -2547,7 +2564,7 @@ msgstr "" msgid "Create new manufacturer part" msgstr "" -#: company/templates/company/detail.html:67 part/templates/part/detail.html:467 +#: company/templates/company/detail.html:67 part/templates/part/detail.html:360 msgid "New Manufacturer Part" msgstr "" @@ -2561,7 +2578,7 @@ msgstr "" #: order/templates/order/order_base.html:13 #: order/templates/order/purchase_orders.html:8 #: order/templates/order/purchase_orders.html:12 -#: part/templates/part/detail.html:171 part/templates/part/part_sidebar.html:35 +#: part/templates/part/detail.html:64 part/templates/part/part_sidebar.html:33 #: templates/InvenTree/index.html:252 templates/InvenTree/search.html:203 #: templates/InvenTree/settings/sidebar.html:44 templates/navbar.html:45 #: users/models.py:45 @@ -2583,7 +2600,7 @@ msgstr "Nouvelle commande achat" #: order/templates/order/sales_order_base.html:13 #: order/templates/order/sales_orders.html:8 #: order/templates/order/sales_orders.html:15 -#: part/templates/part/detail.html:194 part/templates/part/part_sidebar.html:39 +#: part/templates/part/detail.html:87 part/templates/part/part_sidebar.html:37 #: templates/InvenTree/index.html:283 templates/InvenTree/search.html:223 #: templates/InvenTree/settings/sidebar.html:46 templates/navbar.html:56 #: users/models.py:46 @@ -2610,14 +2627,14 @@ msgid "Company Notes" msgstr "" #: company/templates/company/detail.html:383 -#: company/templates/company/manufacturer_part.html:209 -#: part/templates/part/detail.html:520 +#: company/templates/company/manufacturer_part.html:215 +#: part/templates/part/detail.html:413 msgid "Delete Supplier Parts?" msgstr "" #: company/templates/company/detail.html:384 -#: company/templates/company/manufacturer_part.html:210 -#: part/templates/part/detail.html:521 +#: company/templates/company/manufacturer_part.html:216 +#: part/templates/part/detail.html:414 msgid "All selected supplier parts will be deleted" msgstr "" @@ -2634,7 +2651,7 @@ msgstr "Fabricants" #: company/templates/company/manufacturer_part.html:35 #: company/templates/company/supplier_part.html:34 #: company/templates/company/supplier_part.html:159 -#: part/templates/part/detail.html:174 part/templates/part/part_base.html:76 +#: part/templates/part/detail.html:67 part/templates/part/part_base.html:76 msgid "Order part" msgstr "" @@ -2648,60 +2665,60 @@ msgstr "" msgid "Delete manufacturer part" msgstr "" -#: company/templates/company/manufacturer_part.html:70 -#: company/templates/company/supplier_part.html:71 +#: company/templates/company/manufacturer_part.html:66 +#: company/templates/company/supplier_part.html:63 msgid "Internal Part" msgstr "Pièces Internes" -#: company/templates/company/manufacturer_part.html:108 +#: company/templates/company/manufacturer_part.html:114 #: company/templates/company/supplier_part.html:15 company/views.py:49 -#: part/templates/part/part_sidebar.html:33 part/templates/part/prices.html:163 +#: part/templates/part/part_sidebar.html:31 part/templates/part/prices.html:163 #: templates/InvenTree/search.html:194 templates/navbar.html:43 msgid "Suppliers" msgstr "Fournisseurs" -#: company/templates/company/manufacturer_part.html:123 -#: part/templates/part/detail.html:451 +#: company/templates/company/manufacturer_part.html:129 +#: part/templates/part/detail.html:344 msgid "Delete supplier parts" msgstr "Supprimer les pièces du fournisseur" -#: company/templates/company/manufacturer_part.html:123 -#: company/templates/company/manufacturer_part.html:152 -#: company/templates/company/manufacturer_part.html:248 -#: part/templates/part/detail.html:451 part/templates/part/detail.html:479 +#: company/templates/company/manufacturer_part.html:129 +#: company/templates/company/manufacturer_part.html:158 +#: company/templates/company/manufacturer_part.html:254 +#: part/templates/part/detail.html:344 part/templates/part/detail.html:372 #: templates/js/translated/company.js:425 templates/js/translated/helpers.js:31 #: users/models.py:204 msgid "Delete" msgstr "Supprimer" -#: company/templates/company/manufacturer_part.html:137 +#: company/templates/company/manufacturer_part.html:143 #: company/templates/company/manufacturer_part_sidebar.html:5 #: part/templates/part/category_sidebar.html:17 -#: part/templates/part/detail.html:277 part/templates/part/part_sidebar.html:10 +#: part/templates/part/detail.html:170 part/templates/part/part_sidebar.html:8 msgid "Parameters" msgstr "Paramètres" -#: company/templates/company/manufacturer_part.html:141 -#: part/templates/part/detail.html:282 +#: company/templates/company/manufacturer_part.html:147 +#: part/templates/part/detail.html:175 #: templates/InvenTree/settings/category.html:12 #: templates/InvenTree/settings/part.html:65 msgid "New Parameter" msgstr "Nouveau paramètre" -#: company/templates/company/manufacturer_part.html:152 +#: company/templates/company/manufacturer_part.html:158 msgid "Delete parameters" msgstr "" -#: company/templates/company/manufacturer_part.html:185 -#: part/templates/part/detail.html:976 +#: company/templates/company/manufacturer_part.html:191 +#: part/templates/part/detail.html:867 msgid "Add Parameter" msgstr "" -#: company/templates/company/manufacturer_part.html:233 +#: company/templates/company/manufacturer_part.html:239 msgid "Selected parameters will be deleted" msgstr "" -#: company/templates/company/manufacturer_part.html:245 +#: company/templates/company/manufacturer_part.html:251 msgid "Delete Parameters" msgstr "" @@ -2722,9 +2739,9 @@ msgid "Assigned Stock Items" msgstr "" #: company/templates/company/supplier_part.html:7 -#: company/templates/company/supplier_part.html:24 stock/models.py:492 -#: stock/templates/stock/item_base.html:375 -#: templates/js/translated/company.js:787 templates/js/translated/stock.js:1323 +#: company/templates/company/supplier_part.html:24 stock/models.py:482 +#: stock/templates/stock/item_base.html:403 +#: templates/js/translated/company.js:787 templates/js/translated/stock.js:1405 msgid "Supplier Part" msgstr "" @@ -2744,13 +2761,13 @@ msgid "Supplier Part Stock" msgstr "" #: company/templates/company/supplier_part.html:141 -#: part/templates/part/detail.html:127 stock/templates/stock/location.html:147 +#: part/templates/part/detail.html:20 stock/templates/stock/location.html:162 msgid "Create new stock item" msgstr "" #: company/templates/company/supplier_part.html:142 -#: part/templates/part/detail.html:128 stock/templates/stock/location.html:148 -#: templates/js/translated/stock.js:354 +#: part/templates/part/detail.html:21 stock/templates/stock/location.html:163 +#: templates/js/translated/stock.js:355 msgid "New Stock Item" msgstr "" @@ -2760,7 +2777,7 @@ msgid "Supplier Part Orders" msgstr "" #: company/templates/company/supplier_part.html:160 -#: part/templates/part/detail.html:175 +#: part/templates/part/detail.html:68 msgid "Order Part" msgstr "" @@ -2796,15 +2813,15 @@ msgid "Delete price break" msgstr "" #: company/templates/company/supplier_part_navbar.html:15 -#: part/templates/part/part_sidebar.html:16 +#: part/templates/part/part_sidebar.html:14 #: stock/templates/stock/loc_link.html:3 stock/templates/stock/location.html:14 #: stock/templates/stock/stock_app_base.html:10 #: templates/InvenTree/search.html:156 #: templates/InvenTree/settings/sidebar.html:40 -#: templates/js/translated/bom.js:216 templates/js/translated/part.js:427 -#: templates/js/translated/part.js:562 templates/js/translated/part.js:878 -#: templates/js/translated/part.js:1039 templates/js/translated/stock.js:509 -#: templates/js/translated/stock.js:1162 templates/navbar.html:26 +#: templates/js/translated/bom.js:216 templates/js/translated/part.js:434 +#: templates/js/translated/part.js:569 templates/js/translated/part.js:1059 +#: templates/js/translated/part.js:1220 templates/js/translated/stock.js:591 +#: templates/js/translated/stock.js:1244 templates/navbar.html:26 msgid "Stock" msgstr "Stock" @@ -2818,16 +2835,16 @@ msgid "Supplier Part Pricing" msgstr "" #: company/templates/company/supplier_part_navbar.html:29 -#: part/templates/part/part_sidebar.html:30 +#: part/templates/part/part_sidebar.html:28 msgid "Pricing" msgstr "Tarif" #: company/templates/company/supplier_part_sidebar.html:5 -#: stock/templates/stock/location.html:118 -#: stock/templates/stock/location.html:132 -#: stock/templates/stock/location.html:144 +#: stock/templates/stock/location.html:133 +#: stock/templates/stock/location.html:147 +#: stock/templates/stock/location.html:159 #: stock/templates/stock/location_sidebar.html:7 -#: templates/InvenTree/search.html:158 templates/js/translated/stock.js:1901 +#: templates/InvenTree/search.html:158 templates/js/translated/stock.js:1983 #: templates/stats.html:93 templates/stats.html:102 users/models.py:43 msgid "Stock Items" msgstr "Éléments en stock" @@ -2947,7 +2964,7 @@ msgstr "" msgid "Place order" msgstr "Passer la commande" -#: order/forms.py:37 order/templates/order/order_base.html:59 +#: order/forms.py:37 order/templates/order/order_base.html:60 msgid "Mark order as complete" msgstr "Marquer la commande comme complète" @@ -3000,8 +3017,8 @@ msgstr "" msgid "Company from which the items are being ordered" msgstr "" -#: order/models.py:267 order/templates/order/order_base.html:114 -#: templates/js/translated/order.js:669 +#: order/models.py:267 order/templates/order/order_base.html:118 +#: templates/js/translated/order.js:676 msgid "Supplier Reference" msgstr "" @@ -3061,7 +3078,7 @@ msgstr "" msgid "Target date for order completion. Order will be overdue after this date." msgstr "" -#: order/models.py:582 templates/js/translated/order.js:1114 +#: order/models.py:582 templates/js/translated/order.js:1113 msgid "Shipment Date" msgstr "" @@ -3086,16 +3103,16 @@ msgid "Line item notes" msgstr "" #: order/models.py:768 order/models.py:856 -#: templates/js/translated/order.js:1166 +#: templates/js/translated/order.js:1165 msgid "Order" msgstr "Commande" #: order/models.py:769 order/templates/order/order_base.html:9 #: order/templates/order/order_base.html:18 #: report/templates/report/inventree_po_report.html:77 -#: stock/templates/stock/item_base.html:325 -#: templates/js/translated/order.js:638 templates/js/translated/stock.js:1300 -#: templates/js/translated/stock.js:1983 +#: stock/templates/stock/item_base.html:353 +#: templates/js/translated/order.js:638 templates/js/translated/part.js:775 +#: templates/js/translated/stock.js:1382 templates/js/translated/stock.js:2065 msgid "Purchase Order" msgstr "Commande d’achat" @@ -3103,9 +3120,10 @@ msgstr "Commande d’achat" msgid "Supplier part" msgstr "Pièce fournisseur" -#: order/models.py:797 order/templates/order/order_base.html:147 -#: order/templates/order/sales_order_base.html:154 -#: templates/js/translated/order.js:429 templates/js/translated/order.js:954 +#: order/models.py:797 order/templates/order/order_base.html:151 +#: order/templates/order/sales_order_base.html:155 +#: templates/js/translated/order.js:429 templates/js/translated/order.js:953 +#: templates/js/translated/part.js:847 templates/js/translated/part.js:873 msgid "Received" msgstr "Reçu" @@ -3113,9 +3131,9 @@ msgstr "Reçu" msgid "Number of items received" msgstr "Nombre d'éléments reçus" -#: order/models.py:805 part/templates/part/prices.html:176 stock/models.py:619 -#: stock/serializers.py:163 stock/templates/stock/item_base.html:332 -#: templates/js/translated/stock.js:1354 +#: order/models.py:805 part/templates/part/prices.html:176 stock/models.py:609 +#: stock/serializers.py:168 stock/templates/stock/item_base.html:360 +#: templates/js/translated/stock.js:1436 msgid "Purchase Price" msgstr "Prix d'achat" @@ -3176,47 +3194,47 @@ msgstr "" msgid "Enter stock allocation quantity" msgstr "" -#: order/serializers.py:169 +#: order/serializers.py:175 msgid "Purchase price currency" msgstr "Devise du prix d'achat" -#: order/serializers.py:204 +#: order/serializers.py:213 msgid "Line Item" msgstr "" -#: order/serializers.py:210 +#: order/serializers.py:219 msgid "Line item does not match purchase order" msgstr "" -#: order/serializers.py:220 order/serializers.py:288 +#: order/serializers.py:229 order/serializers.py:297 msgid "Select destination location for received items" msgstr "" -#: order/serializers.py:244 +#: order/serializers.py:253 msgid "Barcode Hash" msgstr "" -#: order/serializers.py:245 +#: order/serializers.py:254 msgid "Unique identifier field" msgstr "" -#: order/serializers.py:262 +#: order/serializers.py:271 msgid "Barcode is already in use" msgstr "Le code-barres est déjà utilisé" -#: order/serializers.py:300 +#: order/serializers.py:309 msgid "Line items must be provided" msgstr "" -#: order/serializers.py:317 +#: order/serializers.py:326 msgid "Destination location must be specified" msgstr "" -#: order/serializers.py:328 +#: order/serializers.py:337 msgid "Supplied barcode values must be unique" msgstr "" -#: order/serializers.py:569 +#: order/serializers.py:578 msgid "Sale price currency" msgstr "" @@ -3248,22 +3266,36 @@ msgstr "Modifier la commande" msgid "Receive items" msgstr "" -#: order/templates/order/order_base.html:93 -#: order/templates/order/sales_order_base.html:98 +#: order/templates/order/order_base.html:58 +#: order/templates/order/purchase_order_detail.html:31 +msgid "Receive Items" +msgstr "" + +#: order/templates/order/order_base.html:62 order/views.py:185 +msgid "Complete Order" +msgstr "Finaliser la commande" + +#: order/templates/order/order_base.html:84 +#: order/templates/order/sales_order_base.html:79 msgid "Order Reference" msgstr "" -#: order/templates/order/order_base.html:98 -#: order/templates/order/sales_order_base.html:103 +#: order/templates/order/order_base.html:89 +#: order/templates/order/sales_order_base.html:84 +msgid "Order Description" +msgstr "" + +#: order/templates/order/order_base.html:94 +#: order/templates/order/sales_order_base.html:89 msgid "Order Status" msgstr "Statut de la commande" -#: order/templates/order/order_base.html:133 +#: order/templates/order/order_base.html:137 #: report/templates/report/inventree_build_order_base.html:122 msgid "Issued" msgstr "" -#: order/templates/order/order_base.html:203 +#: order/templates/order/order_base.html:207 msgid "Edit Purchase Order" msgstr "" @@ -3421,7 +3453,7 @@ msgid "Select existing purchase orders, or create new orders." msgstr "" #: order/templates/order/order_wizard/select_pos.html:31 -#: templates/js/translated/order.js:695 templates/js/translated/order.js:1119 +#: templates/js/translated/order.js:694 templates/js/translated/order.js:1118 msgid "Items" msgstr "" @@ -3465,10 +3497,6 @@ msgstr "" msgid "Receive selected items" msgstr "" -#: order/templates/order/purchase_order_detail.html:31 -msgid "Receive Items" -msgstr "" - #: order/templates/order/purchase_order_detail.html:50 msgid "Received Items" msgstr "" @@ -3496,16 +3524,16 @@ msgstr "" msgid "Ship Order" msgstr "" -#: order/templates/order/sales_order_base.html:86 +#: order/templates/order/sales_order_base.html:102 msgid "This Sales Order has not been fully allocated" msgstr "" -#: order/templates/order/sales_order_base.html:121 -#: templates/js/translated/order.js:1086 +#: order/templates/order/sales_order_base.html:122 +#: templates/js/translated/order.js:1085 msgid "Customer Reference" msgstr "" -#: order/templates/order/sales_order_base.html:194 +#: order/templates/order/sales_order_base.html:195 msgid "Edit Sales Order" msgstr "" @@ -3576,10 +3604,6 @@ msgstr "" msgid "Purchase order issued" msgstr "" -#: order/views.py:185 -msgid "Complete Order" -msgstr "Finaliser la commande" - #: order/views.py:201 msgid "Confirm order completion" msgstr "" @@ -3672,11 +3696,11 @@ msgid "This field is required" msgstr "" #: part/bom.py:125 part/models.py:81 part/models.py:816 -#: part/templates/part/category.html:90 part/templates/part/detail.html:104 +#: part/templates/part/category.html:104 part/templates/part/part_base.html:338 msgid "Default Location" msgstr "" -#: part/bom.py:126 part/templates/part/part_base.html:167 +#: part/bom.py:126 part/templates/part/part_base.html:185 msgid "Available Stock" msgstr "" @@ -3793,19 +3817,19 @@ msgstr "" msgid "Part Category" msgstr "" -#: part/models.py:96 part/templates/part/category.html:117 +#: part/models.py:96 part/templates/part/category.html:124 #: templates/InvenTree/search.html:101 templates/stats.html:84 #: users/models.py:40 msgid "Part Categories" msgstr "" #: part/models.py:358 part/templates/part/cat_link.html:3 -#: part/templates/part/category.html:13 part/templates/part/category.html:122 -#: part/templates/part/category.html:142 +#: part/templates/part/category.html:13 part/templates/part/category.html:129 +#: part/templates/part/category.html:149 #: part/templates/part/category_sidebar.html:9 #: templates/InvenTree/index.html:85 templates/InvenTree/search.html:88 #: templates/InvenTree/settings/sidebar.html:36 -#: templates/js/translated/part.js:1416 templates/navbar.html:19 +#: templates/js/translated/part.js:1597 templates/navbar.html:19 #: templates/stats.html:80 templates/stats.html:89 users/models.py:41 msgid "Parts" msgstr "" @@ -3859,8 +3883,8 @@ msgstr "" msgid "Part description" msgstr "" -#: part/models.py:770 part/templates/part/category.html:97 -#: part/templates/part/detail.html:73 +#: part/models.py:770 part/templates/part/category.html:82 +#: part/templates/part/part_base.html:302 msgid "Keywords" msgstr "" @@ -3869,9 +3893,10 @@ msgid "Part keywords to improve visibility in search results" msgstr "" #: part/models.py:778 part/models.py:2223 part/models.py:2472 -#: part/templates/part/detail.html:36 part/templates/part/set_category.html:15 +#: part/templates/part/part_base.html:265 +#: part/templates/part/set_category.html:15 #: templates/InvenTree/settings/settings.html:163 -#: templates/js/translated/part.js:1021 +#: templates/js/translated/part.js:1202 msgid "Category" msgstr "Catégorie" @@ -3879,9 +3904,9 @@ msgstr "Catégorie" msgid "Part category" msgstr "Catégorie de la pièce" -#: part/models.py:784 part/templates/part/detail.html:45 -#: templates/js/translated/part.js:550 templates/js/translated/part.js:974 -#: templates/js/translated/stock.js:1134 +#: part/models.py:784 part/templates/part/part_base.html:274 +#: templates/js/translated/part.js:557 templates/js/translated/part.js:1155 +#: templates/js/translated/stock.js:1216 msgid "IPN" msgstr "IPN" @@ -3893,8 +3918,8 @@ msgstr "" msgid "Part revision or version number" msgstr "" -#: part/models.py:792 part/templates/part/detail.html:52 report/models.py:200 -#: templates/js/translated/part.js:554 +#: part/models.py:792 part/templates/part/part_base.html:281 +#: report/models.py:200 templates/js/translated/part.js:561 msgid "Revision" msgstr "Révision" @@ -3902,7 +3927,7 @@ msgstr "Révision" msgid "Where is this item normally stored?" msgstr "" -#: part/models.py:861 part/templates/part/detail.html:113 +#: part/models.py:861 part/templates/part/part_base.html:347 msgid "Default Supplier" msgstr "" @@ -3918,7 +3943,7 @@ msgstr "" msgid "Expiry time (in days) for stock items of this part" msgstr "" -#: part/models.py:875 part/templates/part/part_base.html:178 +#: part/models.py:875 part/templates/part/part_base.html:196 msgid "Minimum Stock" msgstr "" @@ -4001,8 +4026,8 @@ msgstr "" msgid "Test with this name already exists for this part" msgstr "" -#: part/models.py:2310 templates/js/translated/part.js:1467 -#: templates/js/translated/stock.js:858 +#: part/models.py:2310 templates/js/translated/part.js:1648 +#: templates/js/translated/stock.js:940 msgid "Test Name" msgstr "Nom de test" @@ -4018,7 +4043,7 @@ msgstr "" msgid "Enter description for this test" msgstr "" -#: part/models.py:2322 templates/js/translated/part.js:1476 +#: part/models.py:2322 templates/js/translated/part.js:1657 #: templates/js/translated/table_filters.js:276 msgid "Required" msgstr "Requis" @@ -4027,7 +4052,7 @@ msgstr "Requis" msgid "Is this test required to pass?" msgstr "" -#: part/models.py:2328 templates/js/translated/part.js:1484 +#: part/models.py:2328 templates/js/translated/part.js:1665 msgid "Requires Value" msgstr "" @@ -4035,7 +4060,7 @@ msgstr "" msgid "Does this test require a value when adding a test result?" msgstr "" -#: part/models.py:2334 templates/js/translated/part.js:1491 +#: part/models.py:2334 templates/js/translated/part.js:1672 msgid "Requires Attachment" msgstr "" @@ -4150,7 +4175,7 @@ msgstr "" msgid "Stock items for variant parts can be used for this BOM item" msgstr "" -#: part/models.py:2686 stock/models.py:371 +#: part/models.py:2686 stock/models.py:361 msgid "Quantity must be integer value for trackable parts" msgstr "" @@ -4213,7 +4238,7 @@ msgstr "" msgid "The BOM for %(part)s has not been validated." msgstr "" -#: part/templates/part/bom.html:30 part/templates/part/detail.html:357 +#: part/templates/part/bom.html:30 part/templates/part/detail.html:250 msgid "BOM actions" msgstr "" @@ -4298,68 +4323,64 @@ msgstr "" msgid "New Category" msgstr "Nouvelle catégorie" -#: part/templates/part/category.html:67 -msgid "Top level part category" -msgstr "" - -#: part/templates/part/category.html:79 +#: part/templates/part/category.html:76 part/templates/part/category.html:89 msgid "Category Path" msgstr "" -#: part/templates/part/category.html:84 -msgid "Category Description" +#: part/templates/part/category.html:90 +msgid "Top level part category" msgstr "" -#: part/templates/part/category.html:103 part/templates/part/category.html:194 +#: part/templates/part/category.html:110 part/templates/part/category.html:201 #: part/templates/part/category_sidebar.html:7 msgid "Subcategories" msgstr "" -#: part/templates/part/category.html:108 +#: part/templates/part/category.html:115 msgid "Parts (Including subcategories)" msgstr "" -#: part/templates/part/category.html:145 +#: part/templates/part/category.html:152 msgid "Export Part Data" msgstr "" -#: part/templates/part/category.html:146 part/templates/part/category.html:170 +#: part/templates/part/category.html:153 part/templates/part/category.html:177 msgid "Export" msgstr "Exporter" -#: part/templates/part/category.html:149 +#: part/templates/part/category.html:156 msgid "Create new part" msgstr "" -#: part/templates/part/category.html:150 templates/js/translated/bom.js:40 +#: part/templates/part/category.html:157 templates/js/translated/bom.js:40 msgid "New Part" msgstr "" -#: part/templates/part/category.html:164 +#: part/templates/part/category.html:171 msgid "Set category" msgstr "" -#: part/templates/part/category.html:164 +#: part/templates/part/category.html:171 msgid "Set Category" msgstr "" -#: part/templates/part/category.html:168 +#: part/templates/part/category.html:175 msgid "Print Labels" msgstr "" -#: part/templates/part/category.html:170 +#: part/templates/part/category.html:177 msgid "Export Data" msgstr "" -#: part/templates/part/category.html:184 +#: part/templates/part/category.html:191 msgid "Part Parameters" msgstr "" -#: part/templates/part/category.html:261 +#: part/templates/part/category.html:268 msgid "Create Part Category" msgstr "" -#: part/templates/part/category.html:288 +#: part/templates/part/category.html:295 msgid "Create Part" msgstr "" @@ -4402,7 +4423,7 @@ msgstr "" msgid "Import Parts" msgstr "" -#: part/templates/part/copy_part.html:9 templates/js/translated/part.js:366 +#: part/templates/part/copy_part.html:9 templates/js/translated/part.js:373 msgid "Duplicate Part" msgstr "" @@ -4426,167 +4447,155 @@ msgstr "" msgid "%(full_name)s - %(desc)s (%(match_per)s%% match)" msgstr "" -#: part/templates/part/detail.html:16 -msgid "Part Details" -msgstr "" - -#: part/templates/part/detail.html:66 -msgid "Minimum stock level" -msgstr "" - -#: part/templates/part/detail.html:97 -msgid "Latest Serial Number" -msgstr "" - -#: part/templates/part/detail.html:124 +#: part/templates/part/detail.html:17 msgid "Part Stock" msgstr "" -#: part/templates/part/detail.html:136 +#: part/templates/part/detail.html:29 #, python-format msgid "Showing stock for all variants of %(full_name)s" msgstr "" -#: part/templates/part/detail.html:146 +#: part/templates/part/detail.html:39 msgid "Part Test Templates" msgstr "" -#: part/templates/part/detail.html:151 +#: part/templates/part/detail.html:44 msgid "Add Test Template" msgstr "" -#: part/templates/part/detail.html:208 +#: part/templates/part/detail.html:101 msgid "Sales Order Allocations" msgstr "" -#: part/templates/part/detail.html:249 +#: part/templates/part/detail.html:142 msgid "Part Variants" msgstr "" -#: part/templates/part/detail.html:253 +#: part/templates/part/detail.html:146 msgid "Create new variant" msgstr "" -#: part/templates/part/detail.html:254 +#: part/templates/part/detail.html:147 msgid "New Variant" msgstr "" -#: part/templates/part/detail.html:281 +#: part/templates/part/detail.html:174 msgid "Add new parameter" msgstr "" -#: part/templates/part/detail.html:315 part/templates/part/part_sidebar.html:47 +#: part/templates/part/detail.html:208 part/templates/part/part_sidebar.html:45 msgid "Related Parts" msgstr "" -#: part/templates/part/detail.html:319 part/templates/part/detail.html:320 +#: part/templates/part/detail.html:212 part/templates/part/detail.html:213 msgid "Add Related" msgstr "" -#: part/templates/part/detail.html:340 part/templates/part/part_sidebar.html:19 +#: part/templates/part/detail.html:233 part/templates/part/part_sidebar.html:17 msgid "Bill of Materials" msgstr "" -#: part/templates/part/detail.html:345 +#: part/templates/part/detail.html:238 msgid "Export actions" msgstr "" -#: part/templates/part/detail.html:349 +#: part/templates/part/detail.html:242 msgid "Export BOM" msgstr "" -#: part/templates/part/detail.html:351 +#: part/templates/part/detail.html:244 msgid "Print BOM Report" msgstr "" -#: part/templates/part/detail.html:361 +#: part/templates/part/detail.html:254 msgid "Upload BOM" msgstr "" -#: part/templates/part/detail.html:363 templates/js/translated/part.js:267 +#: part/templates/part/detail.html:256 templates/js/translated/part.js:270 msgid "Copy BOM" msgstr "" -#: part/templates/part/detail.html:365 part/views.py:755 +#: part/templates/part/detail.html:258 part/views.py:755 msgid "Validate BOM" msgstr "" -#: part/templates/part/detail.html:370 +#: part/templates/part/detail.html:263 msgid "New BOM Item" msgstr "" -#: part/templates/part/detail.html:371 +#: part/templates/part/detail.html:264 msgid "Add BOM Item" msgstr "" -#: part/templates/part/detail.html:384 +#: part/templates/part/detail.html:277 msgid "Assemblies" msgstr "" -#: part/templates/part/detail.html:401 +#: part/templates/part/detail.html:294 msgid "Part Builds" msgstr "" -#: part/templates/part/detail.html:426 +#: part/templates/part/detail.html:319 msgid "Build Order Allocations" msgstr "" -#: part/templates/part/detail.html:436 +#: part/templates/part/detail.html:329 msgid "Part Suppliers" msgstr "" -#: part/templates/part/detail.html:463 +#: part/templates/part/detail.html:356 msgid "Part Manufacturers" msgstr "" -#: part/templates/part/detail.html:479 +#: part/templates/part/detail.html:372 msgid "Delete manufacturer parts" msgstr "" -#: part/templates/part/detail.html:660 +#: part/templates/part/detail.html:553 msgid "Delete selected BOM items?" msgstr "" -#: part/templates/part/detail.html:661 +#: part/templates/part/detail.html:554 msgid "All selected BOM items will be deleted" msgstr "" -#: part/templates/part/detail.html:712 +#: part/templates/part/detail.html:605 msgid "Create BOM Item" msgstr "" -#: part/templates/part/detail.html:764 +#: part/templates/part/detail.html:657 msgid "Related Part" msgstr "" -#: part/templates/part/detail.html:772 +#: part/templates/part/detail.html:665 msgid "Add Related Part" msgstr "" -#: part/templates/part/detail.html:869 +#: part/templates/part/detail.html:760 msgid "Add Test Result Template" msgstr "" -#: part/templates/part/detail.html:926 +#: part/templates/part/detail.html:817 msgid "Edit Part Notes" msgstr "" -#: part/templates/part/detail.html:1039 +#: part/templates/part/detail.html:930 #, python-format msgid "Purchase Unit Price - %(currency)s" msgstr "" -#: part/templates/part/detail.html:1051 +#: part/templates/part/detail.html:942 #, python-format msgid "Unit Price-Cost Difference - %(currency)s" msgstr "" -#: part/templates/part/detail.html:1063 +#: part/templates/part/detail.html:954 #, python-format msgid "Supplier Unit Cost - %(currency)s" msgstr "" -#: part/templates/part/detail.html:1152 +#: part/templates/part/detail.html:1043 #, python-format msgid "Unit Price - %(currency)s" msgstr "" @@ -4668,86 +4677,108 @@ msgstr "Modifier la pièce" msgid "Delete part" msgstr "" -#: part/templates/part/part_base.html:109 +#: part/templates/part/part_base.html:112 msgid "Part is a template part (variants can be made from this part)" msgstr "" -#: part/templates/part/part_base.html:113 +#: part/templates/part/part_base.html:116 msgid "Part can be assembled from other parts" msgstr "" -#: part/templates/part/part_base.html:117 +#: part/templates/part/part_base.html:120 msgid "Part can be used in assemblies" msgstr "" -#: part/templates/part/part_base.html:121 +#: part/templates/part/part_base.html:124 msgid "Part stock is tracked by serial number" msgstr "" -#: part/templates/part/part_base.html:125 +#: part/templates/part/part_base.html:128 msgid "Part can be purchased from external suppliers" msgstr "" -#: part/templates/part/part_base.html:129 +#: part/templates/part/part_base.html:132 msgid "Part can be sold to customers" msgstr "" -#: part/templates/part/part_base.html:135 -#: part/templates/part/part_base.html:143 +#: part/templates/part/part_base.html:138 +#: part/templates/part/part_base.html:146 msgid "Part is virtual (not a physical part)" msgstr "" -#: part/templates/part/part_base.html:136 +#: part/templates/part/part_base.html:139 #: templates/js/translated/company.js:505 #: templates/js/translated/company.js:762 #: templates/js/translated/model_renderers.js:175 -#: templates/js/translated/part.js:465 templates/js/translated/part.js:542 +#: templates/js/translated/part.js:472 templates/js/translated/part.js:549 msgid "Inactive" msgstr "" -#: part/templates/part/part_base.html:155 +#: part/templates/part/part_base.html:156 +#: part/templates/part/part_base.html:579 +msgid "Show Part Details" +msgstr "" + +#: part/templates/part/part_base.html:173 #, python-format msgid "This part is a variant of %(link)s" msgstr "" -#: part/templates/part/part_base.html:172 templates/js/translated/order.js:1546 +#: part/templates/part/part_base.html:190 templates/js/translated/order.js:1545 #: templates/js/translated/table_filters.js:188 msgid "In Stock" msgstr "" -#: part/templates/part/part_base.html:185 templates/js/translated/part.js:1054 +#: part/templates/part/part_base.html:203 templates/js/translated/part.js:1235 msgid "On Order" msgstr "" -#: part/templates/part/part_base.html:192 templates/InvenTree/index.html:178 +#: part/templates/part/part_base.html:210 templates/InvenTree/index.html:178 msgid "Required for Build Orders" msgstr "" -#: part/templates/part/part_base.html:199 +#: part/templates/part/part_base.html:217 msgid "Required for Sales Orders" msgstr "" -#: part/templates/part/part_base.html:206 +#: part/templates/part/part_base.html:224 msgid "Allocated to Orders" msgstr "" -#: part/templates/part/part_base.html:221 templates/js/translated/bom.js:566 +#: part/templates/part/part_base.html:239 templates/js/translated/bom.js:566 msgid "Can Build" msgstr "" -#: part/templates/part/part_base.html:227 templates/js/translated/part.js:885 -#: templates/js/translated/part.js:1058 +#: part/templates/part/part_base.html:245 templates/js/translated/part.js:1066 +#: templates/js/translated/part.js:1239 msgid "Building" msgstr "" -#: part/templates/part/part_base.html:320 part/templates/part/prices.html:144 +#: part/templates/part/part_base.html:295 +msgid "Minimum stock level" +msgstr "" + +#: part/templates/part/part_base.html:324 +msgid "Latest Serial Number" +msgstr "" + +#: part/templates/part/part_base.html:328 +#: stock/templates/stock/item_base.html:159 +msgid "Search for serial number" +msgstr "" + +#: part/templates/part/part_base.html:449 part/templates/part/prices.html:144 msgid "Calculate" msgstr "Calculer" -#: part/templates/part/part_base.html:363 +#: part/templates/part/part_base.html:492 msgid "No matching images found" msgstr "" +#: part/templates/part/part_base.html:573 +msgid "Hide Part Details" +msgstr "" + #: part/templates/part/part_pricing.html:22 part/templates/part/prices.html:21 msgid "Supplier Pricing" msgstr "" @@ -4805,20 +4836,15 @@ msgstr "" msgid "No pricing information is available for this part." msgstr "" -#: part/templates/part/part_sidebar.html:8 -#: templates/js/translated/stock.js:1949 -msgid "Details" -msgstr "Détails" - -#: part/templates/part/part_sidebar.html:13 +#: part/templates/part/part_sidebar.html:11 msgid "Variants" msgstr "" -#: part/templates/part/part_sidebar.html:27 +#: part/templates/part/part_sidebar.html:25 msgid "Used In" msgstr "" -#: part/templates/part/part_sidebar.html:43 +#: part/templates/part/part_sidebar.html:41 msgid "Test Templates" msgstr "Tester le modèle" @@ -4934,8 +4960,8 @@ msgid "Set category for the following parts" msgstr "" #: part/templates/part/stock_count.html:7 templates/js/translated/bom.js:476 -#: templates/js/translated/part.js:429 templates/js/translated/part.js:875 -#: templates/js/translated/part.js:1062 +#: templates/js/translated/part.js:436 templates/js/translated/part.js:1056 +#: templates/js/translated/part.js:1243 msgid "No Stock" msgstr "" @@ -5037,7 +5063,7 @@ msgstr "" msgid "Delete Part Parameter Template" msgstr "" -#: part/views.py:1489 templates/js/translated/part.js:310 +#: part/views.py:1489 templates/js/translated/part.js:313 msgid "Edit Part Category" msgstr "" @@ -5171,11 +5197,12 @@ msgid "Stock Item Test Report" msgstr "" #: report/templates/report/inventree_test_report_base.html:79 -#: stock/models.py:530 stock/templates/stock/item_base.html:238 +#: stock/models.py:520 stock/templates/stock/item_base.html:149 #: templates/js/translated/build.js:233 templates/js/translated/build.js:637 #: templates/js/translated/build.js:1013 #: templates/js/translated/model_renderers.js:95 -#: templates/js/translated/order.js:1288 templates/js/translated/order.js:1377 +#: templates/js/translated/order.js:1287 templates/js/translated/order.js:1376 +#: templates/js/translated/stock.js:410 msgid "Serial Number" msgstr "" @@ -5184,17 +5211,17 @@ msgid "Test Results" msgstr "" #: report/templates/report/inventree_test_report_base.html:93 -#: stock/models.py:1855 +#: stock/models.py:1845 msgid "Test" msgstr "" #: report/templates/report/inventree_test_report_base.html:94 -#: stock/models.py:1861 +#: stock/models.py:1851 msgid "Result" msgstr "" #: report/templates/report/inventree_test_report_base.html:97 -#: templates/js/translated/order.js:685 templates/js/translated/stock.js:1917 +#: templates/js/translated/order.js:684 templates/js/translated/stock.js:1999 msgid "Date" msgstr "" @@ -5212,7 +5239,7 @@ msgid "Installed Items" msgstr "" #: report/templates/report/inventree_test_report_base.html:137 -#: templates/js/translated/stock.js:2177 +#: templates/js/translated/stock.js:2259 msgid "Serial" msgstr "" @@ -5220,9 +5247,9 @@ msgstr "" msgid "Quantity is required" msgstr "" -#: stock/forms.py:91 stock/forms.py:265 stock/models.py:587 -#: stock/templates/stock/item_base.html:382 -#: templates/js/translated/stock.js:1276 +#: stock/forms.py:91 stock/forms.py:265 stock/models.py:577 +#: stock/templates/stock/item_base.html:186 +#: templates/js/translated/stock.js:1358 msgid "Expiry Date" msgstr "" @@ -5270,241 +5297,241 @@ msgstr "" msgid "Confirm removal of installed stock items" msgstr "" -#: stock/models.py:60 stock/models.py:624 -#: stock/templates/stock/item_base.html:422 +#: stock/models.py:60 stock/models.py:614 +#: stock/templates/stock/item_base.html:417 msgid "Owner" msgstr "Propriétaire" -#: stock/models.py:61 stock/models.py:625 +#: stock/models.py:61 stock/models.py:615 msgid "Select Owner" msgstr "Sélectionner un propriétaire" -#: stock/models.py:352 +#: stock/models.py:342 msgid "StockItem with this serial number already exists" msgstr "" -#: stock/models.py:388 +#: stock/models.py:378 #, python-brace-format msgid "Part type ('{pf}') must be {pe}" msgstr "" -#: stock/models.py:398 stock/models.py:407 +#: stock/models.py:388 stock/models.py:397 msgid "Quantity must be 1 for item with a serial number" msgstr "" -#: stock/models.py:399 +#: stock/models.py:389 msgid "Serial number cannot be set if quantity greater than 1" msgstr "" -#: stock/models.py:421 +#: stock/models.py:411 msgid "Item cannot belong to itself" msgstr "" -#: stock/models.py:427 +#: stock/models.py:417 msgid "Item must have a build reference if is_building=True" msgstr "" -#: stock/models.py:434 +#: stock/models.py:424 msgid "Build reference does not point to the same part object" msgstr "" -#: stock/models.py:476 +#: stock/models.py:466 msgid "Parent Stock Item" msgstr "" -#: stock/models.py:485 +#: stock/models.py:475 msgid "Base part" msgstr "" -#: stock/models.py:493 +#: stock/models.py:483 msgid "Select a matching supplier part for this stock item" msgstr "" -#: stock/models.py:498 stock/templates/stock/location.html:12 +#: stock/models.py:488 stock/templates/stock/location.html:12 #: stock/templates/stock/stock_app_base.html:8 msgid "Stock Location" msgstr "" -#: stock/models.py:501 +#: stock/models.py:491 msgid "Where is this stock item located?" msgstr "" -#: stock/models.py:508 +#: stock/models.py:498 msgid "Packaging this stock item is stored in" msgstr "" -#: stock/models.py:513 stock/templates/stock/item_base.html:271 +#: stock/models.py:503 stock/templates/stock/item_base.html:299 msgid "Installed In" msgstr "" -#: stock/models.py:516 +#: stock/models.py:506 msgid "Is this item installed in another item?" msgstr "" -#: stock/models.py:532 +#: stock/models.py:522 msgid "Serial number for this item" msgstr "" -#: stock/models.py:546 +#: stock/models.py:536 msgid "Batch code for this stock item" msgstr "" -#: stock/models.py:550 +#: stock/models.py:540 msgid "Stock Quantity" msgstr "" -#: stock/models.py:559 +#: stock/models.py:549 msgid "Source Build" msgstr "" -#: stock/models.py:561 +#: stock/models.py:551 msgid "Build for this stock item" msgstr "" -#: stock/models.py:572 +#: stock/models.py:562 msgid "Source Purchase Order" msgstr "" -#: stock/models.py:575 +#: stock/models.py:565 msgid "Purchase order for this stock item" msgstr "" -#: stock/models.py:581 +#: stock/models.py:571 msgid "Destination Sales Order" msgstr "" -#: stock/models.py:588 +#: stock/models.py:578 msgid "Expiry date for stock item. Stock will be considered expired after this date" msgstr "" -#: stock/models.py:601 +#: stock/models.py:591 msgid "Delete on deplete" msgstr "" -#: stock/models.py:601 +#: stock/models.py:591 msgid "Delete this Stock Item when stock is depleted" msgstr "" -#: stock/models.py:611 stock/templates/stock/item.html:111 +#: stock/models.py:601 stock/templates/stock/item.html:111 msgid "Stock Item Notes" msgstr "" -#: stock/models.py:620 +#: stock/models.py:610 msgid "Single unit purchase price at time of purchase" msgstr "" -#: stock/models.py:630 +#: stock/models.py:620 msgid "Scheduled for deletion" msgstr "" -#: stock/models.py:631 +#: stock/models.py:621 msgid "This StockItem will be deleted by the background worker" msgstr "" -#: stock/models.py:1094 +#: stock/models.py:1084 msgid "Part is not set as trackable" msgstr "" -#: stock/models.py:1100 +#: stock/models.py:1090 msgid "Quantity must be integer" msgstr "" -#: stock/models.py:1106 +#: stock/models.py:1096 #, python-brace-format msgid "Quantity must not exceed available stock quantity ({n})" msgstr "" -#: stock/models.py:1109 +#: stock/models.py:1099 msgid "Serial numbers must be a list of integers" msgstr "" -#: stock/models.py:1112 +#: stock/models.py:1102 msgid "Quantity does not match serial numbers" msgstr "" -#: stock/models.py:1119 +#: stock/models.py:1109 #, python-brace-format msgid "Serial numbers already exist: {exists}" msgstr "" -#: stock/models.py:1277 +#: stock/models.py:1267 msgid "StockItem cannot be moved as it is not in stock" msgstr "" -#: stock/models.py:1775 +#: stock/models.py:1765 msgid "Entry notes" msgstr "" -#: stock/models.py:1832 +#: stock/models.py:1822 msgid "Value must be provided for this test" msgstr "" -#: stock/models.py:1838 +#: stock/models.py:1828 msgid "Attachment must be uploaded for this test" msgstr "" -#: stock/models.py:1856 +#: stock/models.py:1846 msgid "Test name" msgstr "" -#: stock/models.py:1862 templates/js/translated/table_filters.js:266 +#: stock/models.py:1852 templates/js/translated/table_filters.js:266 msgid "Test result" msgstr "" -#: stock/models.py:1868 +#: stock/models.py:1858 msgid "Test output value" msgstr "" -#: stock/models.py:1875 +#: stock/models.py:1865 msgid "Test result attachment" msgstr "" -#: stock/models.py:1881 +#: stock/models.py:1871 msgid "Test notes" msgstr "" -#: stock/serializers.py:166 +#: stock/serializers.py:171 msgid "Purchase price of this stock item" msgstr "" -#: stock/serializers.py:173 +#: stock/serializers.py:178 msgid "Purchase currency of this stock item" msgstr "" -#: stock/serializers.py:287 +#: stock/serializers.py:292 msgid "Enter number of stock items to serialize" msgstr "" -#: stock/serializers.py:302 +#: stock/serializers.py:307 #, python-brace-format msgid "Quantity must not exceed available stock quantity ({q})" msgstr "" -#: stock/serializers.py:308 +#: stock/serializers.py:313 msgid "Enter serial numbers for new items" msgstr "" -#: stock/serializers.py:319 stock/serializers.py:686 +#: stock/serializers.py:324 stock/serializers.py:691 msgid "Destination stock location" msgstr "" -#: stock/serializers.py:326 +#: stock/serializers.py:331 msgid "Optional note field" msgstr "" -#: stock/serializers.py:339 +#: stock/serializers.py:344 msgid "Serial numbers cannot be assigned to this part" msgstr "" -#: stock/serializers.py:556 +#: stock/serializers.py:561 msgid "StockItem primary key value" msgstr "" -#: stock/serializers.py:584 +#: stock/serializers.py:589 msgid "Stock transaction notes" msgstr "" -#: stock/serializers.py:594 +#: stock/serializers.py:599 msgid "A list of stock items must be provided" msgstr "" @@ -5629,125 +5656,131 @@ msgstr "" msgid "Install" msgstr "" -#: stock/templates/stock/item_base.html:106 +#: stock/templates/stock/item_base.html:108 msgid "Convert to variant" msgstr "" -#: stock/templates/stock/item_base.html:109 +#: stock/templates/stock/item_base.html:111 msgid "Duplicate stock item" msgstr "" -#: stock/templates/stock/item_base.html:111 +#: stock/templates/stock/item_base.html:113 msgid "Edit stock item" msgstr "" -#: stock/templates/stock/item_base.html:114 +#: stock/templates/stock/item_base.html:116 msgid "Delete stock item" msgstr "" -#: stock/templates/stock/item_base.html:136 -#: stock/templates/stock/item_base.html:386 -#: templates/js/translated/table_filters.js:247 -msgid "Expired" +#: stock/templates/stock/item_base.html:154 +msgid "previous page" msgstr "" -#: stock/templates/stock/item_base.html:146 -#: stock/templates/stock/item_base.html:388 -#: templates/js/translated/table_filters.js:253 -msgid "Stale" +#: stock/templates/stock/item_base.html:154 +msgid "Navigate to previous serial number" msgstr "" -#: stock/templates/stock/item_base.html:161 -msgid "You are not in the list of owners of this item. This stock item cannot be edited." +#: stock/templates/stock/item_base.html:163 +msgid "next page" msgstr "" -#: stock/templates/stock/item_base.html:168 -msgid "This stock item is in production and cannot be edited." -msgstr "" - -#: stock/templates/stock/item_base.html:169 -msgid "Edit the stock item from the build view." -msgstr "" - -#: stock/templates/stock/item_base.html:182 -msgid "This stock item has not passed all required tests" +#: stock/templates/stock/item_base.html:163 +msgid "Navigate to next serial number" msgstr "" #: stock/templates/stock/item_base.html:190 #, python-format -msgid "This stock item is allocated to Sales Order %(link)s (Quantity: %(qty)s)" -msgstr "" - -#: stock/templates/stock/item_base.html:198 -#, python-format -msgid "This stock item is allocated to Build %(link)s (Quantity: %(qty)s)" -msgstr "" - -#: stock/templates/stock/item_base.html:204 -msgid "This stock item is serialized - it has a unique serial number and the quantity cannot be adjusted." -msgstr "" - -#: stock/templates/stock/item_base.html:208 -msgid "This stock item cannot be deleted as it has child items" -msgstr "" - -#: stock/templates/stock/item_base.html:212 -msgid "This stock item will be automatically deleted when all stock is depleted." -msgstr "" - -#: stock/templates/stock/item_base.html:241 -msgid "previous page" -msgstr "" - -#: stock/templates/stock/item_base.html:247 -msgid "next page" -msgstr "" - -#: stock/templates/stock/item_base.html:290 -#: templates/js/translated/build.js:1035 -msgid "No location set" -msgstr "" - -#: stock/templates/stock/item_base.html:297 -msgid "Barcode Identifier" -msgstr "" - -#: stock/templates/stock/item_base.html:339 -msgid "Parent Item" -msgstr "" - -#: stock/templates/stock/item_base.html:357 -msgid "No manufacturer set" -msgstr "" - -#: stock/templates/stock/item_base.html:386 -#, python-format msgid "This StockItem expired on %(item.expiry_date)s" msgstr "" -#: stock/templates/stock/item_base.html:388 +#: stock/templates/stock/item_base.html:190 +#: templates/js/translated/table_filters.js:247 +msgid "Expired" +msgstr "" + +#: stock/templates/stock/item_base.html:192 #, python-format msgid "This StockItem expires on %(item.expiry_date)s" msgstr "" -#: stock/templates/stock/item_base.html:395 -#: templates/js/translated/stock.js:1289 +#: stock/templates/stock/item_base.html:192 +#: templates/js/translated/table_filters.js:253 +msgid "Stale" +msgstr "" + +#: stock/templates/stock/item_base.html:199 +#: templates/js/translated/stock.js:1371 msgid "Last Updated" msgstr "" -#: stock/templates/stock/item_base.html:400 +#: stock/templates/stock/item_base.html:204 msgid "Last Stocktake" msgstr "" -#: stock/templates/stock/item_base.html:404 +#: stock/templates/stock/item_base.html:208 msgid "No stocktake performed" msgstr "" -#: stock/templates/stock/item_base.html:415 +#: stock/templates/stock/item_base.html:226 +msgid "You are not in the list of owners of this item. This stock item cannot be edited." +msgstr "" + +#: stock/templates/stock/item_base.html:233 +msgid "This stock item is in production and cannot be edited." +msgstr "" + +#: stock/templates/stock/item_base.html:234 +msgid "Edit the stock item from the build view." +msgstr "" + +#: stock/templates/stock/item_base.html:247 +msgid "This stock item has not passed all required tests" +msgstr "" + +#: stock/templates/stock/item_base.html:255 +#, python-format +msgid "This stock item is allocated to Sales Order %(link)s (Quantity: %(qty)s)" +msgstr "" + +#: stock/templates/stock/item_base.html:263 +#, python-format +msgid "This stock item is allocated to Build %(link)s (Quantity: %(qty)s)" +msgstr "" + +#: stock/templates/stock/item_base.html:269 +msgid "This stock item is serialized - it has a unique serial number and the quantity cannot be adjusted." +msgstr "" + +#: stock/templates/stock/item_base.html:273 +msgid "This stock item cannot be deleted as it has child items" +msgstr "" + +#: stock/templates/stock/item_base.html:277 +msgid "This stock item will be automatically deleted when all stock is depleted." +msgstr "" + +#: stock/templates/stock/item_base.html:318 +#: templates/js/translated/build.js:1035 +msgid "No location set" +msgstr "" + +#: stock/templates/stock/item_base.html:325 +msgid "Barcode Identifier" +msgstr "" + +#: stock/templates/stock/item_base.html:367 +msgid "Parent Item" +msgstr "" + +#: stock/templates/stock/item_base.html:385 +msgid "No manufacturer set" +msgstr "" + +#: stock/templates/stock/item_base.html:410 msgid "Tests" msgstr "" -#: stock/templates/stock/item_base.html:505 +#: stock/templates/stock/item_base.html:500 msgid "Edit Stock Status" msgstr "" @@ -5825,30 +5858,35 @@ msgstr "" msgid "New Location" msgstr "" -#: stock/templates/stock/location.html:86 +#: stock/templates/stock/location.html:95 +#: stock/templates/stock/location.html:101 +msgid "Location Path" +msgstr "" + +#: stock/templates/stock/location.html:102 msgid "Top level stock location" msgstr "" -#: stock/templates/stock/location.html:95 +#: stock/templates/stock/location.html:115 msgid "You are not in the list of owners of this location. This stock location cannot be edited." msgstr "" -#: stock/templates/stock/location.html:113 -#: stock/templates/stock/location.html:160 +#: stock/templates/stock/location.html:128 +#: stock/templates/stock/location.html:175 #: stock/templates/stock/location_sidebar.html:5 msgid "Sublocations" msgstr "" -#: stock/templates/stock/location.html:127 templates/InvenTree/search.html:170 +#: stock/templates/stock/location.html:142 templates/InvenTree/search.html:170 #: templates/stats.html:97 users/models.py:42 msgid "Stock Locations" msgstr "" -#: stock/templates/stock/location.html:167 templates/stock_table.html:30 +#: stock/templates/stock/location.html:182 templates/stock_table.html:30 msgid "Printing Actions" msgstr "" -#: stock/templates/stock/location.html:171 templates/stock_table.html:34 +#: stock/templates/stock/location.html:186 templates/stock_table.html:34 msgid "Print labels" msgstr "" @@ -5942,7 +5980,7 @@ msgstr "" msgid "Uninstall Stock Items" msgstr "" -#: stock/views.py:760 templates/js/translated/stock.js:648 +#: stock/views.py:760 templates/js/translated/stock.js:730 msgid "Confirm stock adjustment" msgstr "" @@ -5950,7 +5988,7 @@ msgstr "" msgid "Uninstalled stock items" msgstr "" -#: stock/views.py:793 templates/js/translated/stock.js:318 +#: stock/views.py:793 templates/js/translated/stock.js:319 msgid "Edit Stock Item" msgstr "" @@ -5962,7 +6000,7 @@ msgstr "" msgid "Create new Stock Item" msgstr "" -#: stock/views.py:1186 templates/js/translated/stock.js:298 +#: stock/views.py:1186 templates/js/translated/stock.js:299 msgid "Duplicate Stock Item" msgstr "" @@ -6868,7 +6906,7 @@ msgstr "" msgid "Unlink" msgstr "" -#: templates/js/translated/barcode.js:397 templates/js/translated/stock.js:600 +#: templates/js/translated/barcode.js:397 templates/js/translated/stock.js:682 msgid "Remove stock item" msgstr "" @@ -6963,7 +7001,7 @@ msgid "View BOM" msgstr "" #: templates/js/translated/bom.js:608 templates/js/translated/build.js:1183 -#: templates/js/translated/order.js:1320 +#: templates/js/translated/order.js:1319 msgid "Actions" msgstr "" @@ -7055,7 +7093,7 @@ msgstr "" msgid "No build order allocations found" msgstr "" -#: templates/js/translated/build.js:424 templates/js/translated/order.js:1194 +#: templates/js/translated/build.js:424 templates/js/translated/order.js:1193 msgid "Location not specified" msgstr "" @@ -7064,12 +7102,12 @@ msgid "No active build outputs found" msgstr "" #: templates/js/translated/build.js:1052 templates/js/translated/build.js:1760 -#: templates/js/translated/order.js:1327 +#: templates/js/translated/order.js:1326 msgid "Edit stock allocation" msgstr "" #: templates/js/translated/build.js:1054 templates/js/translated/build.js:1761 -#: templates/js/translated/order.js:1328 +#: templates/js/translated/order.js:1327 msgid "Delete stock allocation" msgstr "" @@ -7090,11 +7128,11 @@ msgid "Quantity Per" msgstr "" #: templates/js/translated/build.js:1134 templates/js/translated/build.js:1360 -#: templates/js/translated/build.js:1756 templates/js/translated/order.js:1557 +#: templates/js/translated/build.js:1756 templates/js/translated/order.js:1556 msgid "Allocated" msgstr "" -#: templates/js/translated/build.js:1190 templates/js/translated/order.js:1611 +#: templates/js/translated/build.js:1190 templates/js/translated/order.js:1610 msgid "Build stock" msgstr "" @@ -7102,7 +7140,7 @@ msgstr "" msgid "Order stock" msgstr "" -#: templates/js/translated/build.js:1197 templates/js/translated/order.js:1604 +#: templates/js/translated/build.js:1197 templates/js/translated/order.js:1603 msgid "Allocate stock" msgstr "" @@ -7143,9 +7181,9 @@ msgstr "" msgid "No builds matching query" msgstr "" -#: templates/js/translated/build.js:1593 templates/js/translated/part.js:966 -#: templates/js/translated/part.js:1377 templates/js/translated/stock.js:1094 -#: templates/js/translated/stock.js:1871 +#: templates/js/translated/build.js:1593 templates/js/translated/part.js:1147 +#: templates/js/translated/part.js:1558 templates/js/translated/stock.js:1176 +#: templates/js/translated/stock.js:1953 msgid "Select" msgstr "" @@ -7153,7 +7191,7 @@ msgstr "" msgid "Build order is overdue" msgstr "" -#: templates/js/translated/build.js:1674 templates/js/translated/stock.js:2090 +#: templates/js/translated/build.js:1674 templates/js/translated/stock.js:2172 msgid "No user information" msgstr "" @@ -7197,10 +7235,6 @@ msgstr "" msgid "Delete Supplier Part" msgstr "" -#: templates/js/translated/company.js:265 -msgid "Edit Company" -msgstr "" - #: templates/js/translated/company.js:286 msgid "Add new Company" msgstr "" @@ -7230,34 +7264,34 @@ msgid "No manufacturer parts found" msgstr "" #: templates/js/translated/company.js:497 -#: templates/js/translated/company.js:754 templates/js/translated/part.js:449 -#: templates/js/translated/part.js:534 +#: templates/js/translated/company.js:754 templates/js/translated/part.js:456 +#: templates/js/translated/part.js:541 msgid "Template part" msgstr "" #: templates/js/translated/company.js:501 -#: templates/js/translated/company.js:758 templates/js/translated/part.js:453 -#: templates/js/translated/part.js:538 +#: templates/js/translated/company.js:758 templates/js/translated/part.js:460 +#: templates/js/translated/part.js:545 msgid "Assembled part" msgstr "" -#: templates/js/translated/company.js:628 templates/js/translated/part.js:626 +#: templates/js/translated/company.js:628 templates/js/translated/part.js:633 msgid "No parameters found" msgstr "" -#: templates/js/translated/company.js:665 templates/js/translated/part.js:668 +#: templates/js/translated/company.js:665 templates/js/translated/part.js:675 msgid "Edit parameter" msgstr "" -#: templates/js/translated/company.js:666 templates/js/translated/part.js:669 +#: templates/js/translated/company.js:666 templates/js/translated/part.js:676 msgid "Delete parameter" msgstr "" -#: templates/js/translated/company.js:685 templates/js/translated/part.js:686 +#: templates/js/translated/company.js:685 templates/js/translated/part.js:693 msgid "Edit Parameter" msgstr "" -#: templates/js/translated/company.js:696 templates/js/translated/part.js:698 +#: templates/js/translated/company.js:696 templates/js/translated/part.js:705 msgid "Delete Parameter" msgstr "" @@ -7346,7 +7380,7 @@ msgid "NO" msgstr "" #: templates/js/translated/label.js:29 templates/js/translated/report.js:118 -#: templates/js/translated/stock.js:624 +#: templates/js/translated/stock.js:706 msgid "Select Stock Items" msgstr "" @@ -7502,11 +7536,11 @@ msgstr "" msgid "Export Order" msgstr "" -#: templates/js/translated/order.js:211 templates/js/translated/stock.js:423 +#: templates/js/translated/order.js:211 templates/js/translated/stock.js:505 msgid "Format" msgstr "" -#: templates/js/translated/order.js:212 templates/js/translated/stock.js:424 +#: templates/js/translated/order.js:212 templates/js/translated/stock.js:506 msgid "Select file format" msgstr "" @@ -7522,7 +7556,7 @@ msgstr "" msgid "Quantity to receive" msgstr "" -#: templates/js/translated/order.js:360 templates/js/translated/stock.js:1673 +#: templates/js/translated/order.js:360 templates/js/translated/stock.js:1755 msgid "Stock Status" msgstr "" @@ -7546,321 +7580,321 @@ msgstr "" msgid "Receive Purchase Order Items" msgstr "" -#: templates/js/translated/order.js:627 +#: templates/js/translated/order.js:627 templates/js/translated/part.js:746 msgid "No purchase orders found" msgstr "" -#: templates/js/translated/order.js:652 templates/js/translated/order.js:1063 +#: templates/js/translated/order.js:659 templates/js/translated/order.js:1062 msgid "Order is overdue" msgstr "" -#: templates/js/translated/order.js:772 templates/js/translated/order.js:1646 +#: templates/js/translated/order.js:771 templates/js/translated/order.js:1645 msgid "Edit Line Item" msgstr "" -#: templates/js/translated/order.js:784 templates/js/translated/order.js:1657 +#: templates/js/translated/order.js:783 templates/js/translated/order.js:1656 msgid "Delete Line Item" msgstr "" -#: templates/js/translated/order.js:823 +#: templates/js/translated/order.js:822 msgid "No line items found" msgstr "" -#: templates/js/translated/order.js:850 templates/js/translated/order.js:1467 +#: templates/js/translated/order.js:849 templates/js/translated/order.js:1466 msgid "Total" msgstr "" -#: templates/js/translated/order.js:904 templates/js/translated/order.js:1492 -#: templates/js/translated/part.js:1594 templates/js/translated/part.js:1805 +#: templates/js/translated/order.js:903 templates/js/translated/order.js:1491 +#: templates/js/translated/part.js:1775 templates/js/translated/part.js:1986 msgid "Unit Price" msgstr "" -#: templates/js/translated/order.js:919 templates/js/translated/order.js:1508 +#: templates/js/translated/order.js:918 templates/js/translated/order.js:1507 msgid "Total Price" msgstr "" -#: templates/js/translated/order.js:997 templates/js/translated/order.js:1617 +#: templates/js/translated/order.js:996 templates/js/translated/order.js:1616 msgid "Edit line item" msgstr "" -#: templates/js/translated/order.js:998 +#: templates/js/translated/order.js:997 msgid "Delete line item" msgstr "" -#: templates/js/translated/order.js:1002 +#: templates/js/translated/order.js:1001 templates/js/translated/part.js:878 msgid "Receive line item" msgstr "" -#: templates/js/translated/order.js:1039 +#: templates/js/translated/order.js:1038 msgid "No sales orders found" msgstr "" -#: templates/js/translated/order.js:1077 +#: templates/js/translated/order.js:1076 msgid "Invalid Customer" msgstr "" -#: templates/js/translated/order.js:1155 +#: templates/js/translated/order.js:1154 msgid "No sales order allocations found" msgstr "" -#: templates/js/translated/order.js:1248 +#: templates/js/translated/order.js:1247 msgid "Edit Stock Allocation" msgstr "" -#: templates/js/translated/order.js:1265 +#: templates/js/translated/order.js:1264 msgid "Confirm Delete Operation" msgstr "" -#: templates/js/translated/order.js:1266 +#: templates/js/translated/order.js:1265 msgid "Delete Stock Allocation" msgstr "" -#: templates/js/translated/order.js:1308 +#: templates/js/translated/order.js:1307 msgid "Stock location not specified" msgstr "" -#: templates/js/translated/order.js:1557 +#: templates/js/translated/order.js:1556 msgid "Fulfilled" msgstr "" -#: templates/js/translated/order.js:1601 +#: templates/js/translated/order.js:1600 msgid "Allocate serial numbers" msgstr "" -#: templates/js/translated/order.js:1607 +#: templates/js/translated/order.js:1606 msgid "Purchase stock" msgstr "" -#: templates/js/translated/order.js:1614 templates/js/translated/order.js:1793 +#: templates/js/translated/order.js:1613 templates/js/translated/order.js:1792 msgid "Calculate price" msgstr "" -#: templates/js/translated/order.js:1618 +#: templates/js/translated/order.js:1617 msgid "Delete line item " msgstr "" -#: templates/js/translated/order.js:1741 +#: templates/js/translated/order.js:1740 msgid "Allocate Stock Item" msgstr "" -#: templates/js/translated/order.js:1801 +#: templates/js/translated/order.js:1800 msgid "Update Unit Price" msgstr "" -#: templates/js/translated/order.js:1815 +#: templates/js/translated/order.js:1814 msgid "No matching line items" msgstr "" -#: templates/js/translated/part.js:51 +#: templates/js/translated/part.js:52 msgid "Part Attributes" msgstr "" -#: templates/js/translated/part.js:55 +#: templates/js/translated/part.js:56 msgid "Part Creation Options" msgstr "" -#: templates/js/translated/part.js:59 +#: templates/js/translated/part.js:60 msgid "Part Duplication Options" msgstr "" -#: templates/js/translated/part.js:63 +#: templates/js/translated/part.js:64 msgid "Supplier Options" msgstr "" -#: templates/js/translated/part.js:77 +#: templates/js/translated/part.js:78 msgid "Add Part Category" msgstr "" -#: templates/js/translated/part.js:166 +#: templates/js/translated/part.js:162 msgid "Create Initial Stock" msgstr "" -#: templates/js/translated/part.js:167 +#: templates/js/translated/part.js:163 msgid "Create an initial stock item for this part" msgstr "" -#: templates/js/translated/part.js:174 +#: templates/js/translated/part.js:170 msgid "Initial Stock Quantity" msgstr "" -#: templates/js/translated/part.js:175 +#: templates/js/translated/part.js:171 msgid "Specify initial stock quantity for this part" msgstr "" -#: templates/js/translated/part.js:182 +#: templates/js/translated/part.js:178 msgid "Select destination stock location" msgstr "" -#: templates/js/translated/part.js:193 +#: templates/js/translated/part.js:196 msgid "Copy Category Parameters" msgstr "" -#: templates/js/translated/part.js:194 +#: templates/js/translated/part.js:197 msgid "Copy parameter templates from selected part category" msgstr "" -#: templates/js/translated/part.js:202 +#: templates/js/translated/part.js:205 msgid "Add Supplier Data" msgstr "" -#: templates/js/translated/part.js:203 +#: templates/js/translated/part.js:206 msgid "Create initial supplier data for this part" msgstr "" -#: templates/js/translated/part.js:259 +#: templates/js/translated/part.js:262 msgid "Copy Image" msgstr "" -#: templates/js/translated/part.js:260 +#: templates/js/translated/part.js:263 msgid "Copy image from original part" msgstr "" -#: templates/js/translated/part.js:268 +#: templates/js/translated/part.js:271 msgid "Copy bill of materials from original part" msgstr "" -#: templates/js/translated/part.js:275 +#: templates/js/translated/part.js:278 msgid "Copy Parameters" msgstr "" -#: templates/js/translated/part.js:276 +#: templates/js/translated/part.js:279 msgid "Copy parameter data from original part" msgstr "" -#: templates/js/translated/part.js:289 +#: templates/js/translated/part.js:292 msgid "Parent part category" msgstr "" -#: templates/js/translated/part.js:333 +#: templates/js/translated/part.js:336 msgid "Edit Part" msgstr "" -#: templates/js/translated/part.js:335 +#: templates/js/translated/part.js:338 msgid "Part edited" msgstr "" -#: templates/js/translated/part.js:403 +#: templates/js/translated/part.js:410 msgid "You are subscribed to notifications for this item" msgstr "" -#: templates/js/translated/part.js:405 +#: templates/js/translated/part.js:412 msgid "You have subscribed to notifications for this item" msgstr "" -#: templates/js/translated/part.js:410 +#: templates/js/translated/part.js:417 msgid "Subscribe to notifications for this item" msgstr "" -#: templates/js/translated/part.js:412 +#: templates/js/translated/part.js:419 msgid "You have unsubscribed to notifications for this item" msgstr "" -#: templates/js/translated/part.js:441 templates/js/translated/part.js:526 +#: templates/js/translated/part.js:448 templates/js/translated/part.js:533 msgid "Trackable part" msgstr "" -#: templates/js/translated/part.js:445 templates/js/translated/part.js:530 +#: templates/js/translated/part.js:452 templates/js/translated/part.js:537 msgid "Virtual part" msgstr "" -#: templates/js/translated/part.js:457 +#: templates/js/translated/part.js:464 msgid "Subscribed part" msgstr "" -#: templates/js/translated/part.js:461 +#: templates/js/translated/part.js:468 msgid "Salable part" msgstr "" -#: templates/js/translated/part.js:576 +#: templates/js/translated/part.js:583 msgid "No variants found" msgstr "" -#: templates/js/translated/part.js:765 +#: templates/js/translated/part.js:946 msgid "Delete part relationship" msgstr "" -#: templates/js/translated/part.js:789 +#: templates/js/translated/part.js:970 msgid "Delete Part Relationship" msgstr "" -#: templates/js/translated/part.js:856 templates/js/translated/part.js:1116 +#: templates/js/translated/part.js:1037 templates/js/translated/part.js:1297 msgid "No parts found" msgstr "" -#: templates/js/translated/part.js:1026 +#: templates/js/translated/part.js:1207 msgid "No category" msgstr "" -#: templates/js/translated/part.js:1049 +#: templates/js/translated/part.js:1230 #: templates/js/translated/table_filters.js:381 msgid "Low stock" msgstr "" -#: templates/js/translated/part.js:1140 templates/js/translated/part.js:1312 -#: templates/js/translated/stock.js:1832 +#: templates/js/translated/part.js:1321 templates/js/translated/part.js:1493 +#: templates/js/translated/stock.js:1914 msgid "Display as list" msgstr "" -#: templates/js/translated/part.js:1156 +#: templates/js/translated/part.js:1337 msgid "Display as grid" msgstr "" -#: templates/js/translated/part.js:1331 templates/js/translated/stock.js:1851 +#: templates/js/translated/part.js:1512 templates/js/translated/stock.js:1933 msgid "Display as tree" msgstr "" -#: templates/js/translated/part.js:1395 +#: templates/js/translated/part.js:1576 msgid "Subscribed category" msgstr "" -#: templates/js/translated/part.js:1409 templates/js/translated/stock.js:1895 +#: templates/js/translated/part.js:1590 templates/js/translated/stock.js:1977 msgid "Path" msgstr "" -#: templates/js/translated/part.js:1453 +#: templates/js/translated/part.js:1634 msgid "No test templates matching query" msgstr "" -#: templates/js/translated/part.js:1504 templates/js/translated/stock.js:816 +#: templates/js/translated/part.js:1685 templates/js/translated/stock.js:898 msgid "Edit test result" msgstr "" -#: templates/js/translated/part.js:1505 templates/js/translated/stock.js:817 +#: templates/js/translated/part.js:1686 templates/js/translated/stock.js:899 msgid "Delete test result" msgstr "" -#: templates/js/translated/part.js:1511 +#: templates/js/translated/part.js:1692 msgid "This test is defined for a parent part" msgstr "" -#: templates/js/translated/part.js:1533 +#: templates/js/translated/part.js:1714 msgid "Edit Test Result Template" msgstr "" -#: templates/js/translated/part.js:1547 +#: templates/js/translated/part.js:1728 msgid "Delete Test Result Template" msgstr "" -#: templates/js/translated/part.js:1572 +#: templates/js/translated/part.js:1753 #, python-brace-format msgid "No ${human_name} information found" msgstr "" -#: templates/js/translated/part.js:1627 +#: templates/js/translated/part.js:1808 #, python-brace-format msgid "Edit ${human_name}" msgstr "" -#: templates/js/translated/part.js:1628 +#: templates/js/translated/part.js:1809 #, python-brace-format msgid "Delete ${human_name}" msgstr "" -#: templates/js/translated/part.js:1729 +#: templates/js/translated/part.js:1910 msgid "Single Price" msgstr "" -#: templates/js/translated/part.js:1748 +#: templates/js/translated/part.js:1929 msgid "Single Price Difference" msgstr "" @@ -7930,276 +7964,300 @@ msgstr "" msgid "Sales Order(s) must be selected before printing report" msgstr "" -#: templates/js/translated/stock.js:70 +#: templates/js/translated/stock.js:71 msgid "Serialize Stock Item" msgstr "" -#: templates/js/translated/stock.js:88 templates/js/translated/stock.js:167 +#: templates/js/translated/stock.js:89 templates/js/translated/stock.js:168 msgid "Next available serial number" msgstr "" -#: templates/js/translated/stock.js:90 templates/js/translated/stock.js:169 +#: templates/js/translated/stock.js:91 templates/js/translated/stock.js:170 msgid "Latest serial number" msgstr "" -#: templates/js/translated/stock.js:104 +#: templates/js/translated/stock.js:105 msgid "Parent stock location" msgstr "" -#: templates/js/translated/stock.js:140 +#: templates/js/translated/stock.js:141 msgid "New Stock Location" msgstr "" -#: templates/js/translated/stock.js:180 +#: templates/js/translated/stock.js:181 msgid "This part cannot be serialized" msgstr "" -#: templates/js/translated/stock.js:219 +#: templates/js/translated/stock.js:220 msgid "Enter initial quantity for this stock item" msgstr "" -#: templates/js/translated/stock.js:225 +#: templates/js/translated/stock.js:226 msgid "Enter serial numbers for new stock (or leave blank)" msgstr "" -#: templates/js/translated/stock.js:368 +#: templates/js/translated/stock.js:369 msgid "Created new stock item" msgstr "" -#: templates/js/translated/stock.js:381 +#: templates/js/translated/stock.js:382 msgid "Created multiple stock items" msgstr "" -#: templates/js/translated/stock.js:420 +#: templates/js/translated/stock.js:407 +msgid "Find Serial Number" +msgstr "" + +#: templates/js/translated/stock.js:411 templates/js/translated/stock.js:412 +msgid "Enter serial number" +msgstr "" + +#: templates/js/translated/stock.js:428 +msgid "Enter a serial number" +msgstr "" + +#: templates/js/translated/stock.js:448 +msgid "No matching serial number" +msgstr "" + +#: templates/js/translated/stock.js:457 +msgid "More than one matching result found" +msgstr "" + +#: templates/js/translated/stock.js:502 msgid "Export Stock" msgstr "" -#: templates/js/translated/stock.js:431 +#: templates/js/translated/stock.js:513 msgid "Include Sublocations" msgstr "" -#: templates/js/translated/stock.js:432 +#: templates/js/translated/stock.js:514 msgid "Include stock items in sublocations" msgstr "" -#: templates/js/translated/stock.js:474 +#: templates/js/translated/stock.js:556 msgid "Transfer Stock" msgstr "" -#: templates/js/translated/stock.js:475 +#: templates/js/translated/stock.js:557 msgid "Move" msgstr "" -#: templates/js/translated/stock.js:481 +#: templates/js/translated/stock.js:563 msgid "Count Stock" msgstr "" -#: templates/js/translated/stock.js:482 +#: templates/js/translated/stock.js:564 msgid "Count" msgstr "" -#: templates/js/translated/stock.js:486 +#: templates/js/translated/stock.js:568 msgid "Remove Stock" msgstr "" -#: templates/js/translated/stock.js:487 +#: templates/js/translated/stock.js:569 msgid "Take" msgstr "" -#: templates/js/translated/stock.js:491 +#: templates/js/translated/stock.js:573 msgid "Add Stock" msgstr "" -#: templates/js/translated/stock.js:492 users/models.py:200 +#: templates/js/translated/stock.js:574 users/models.py:200 msgid "Add" msgstr "" -#: templates/js/translated/stock.js:496 templates/stock_table.html:56 +#: templates/js/translated/stock.js:578 templates/stock_table.html:56 msgid "Delete Stock" msgstr "" -#: templates/js/translated/stock.js:585 +#: templates/js/translated/stock.js:667 msgid "Quantity cannot be adjusted for serialized stock" msgstr "" -#: templates/js/translated/stock.js:585 +#: templates/js/translated/stock.js:667 msgid "Specify stock quantity" msgstr "" -#: templates/js/translated/stock.js:625 +#: templates/js/translated/stock.js:707 msgid "You must select at least one available stock item" msgstr "" -#: templates/js/translated/stock.js:783 +#: templates/js/translated/stock.js:865 msgid "PASS" msgstr "" -#: templates/js/translated/stock.js:785 +#: templates/js/translated/stock.js:867 msgid "FAIL" msgstr "" -#: templates/js/translated/stock.js:790 +#: templates/js/translated/stock.js:872 msgid "NO RESULT" msgstr "" -#: templates/js/translated/stock.js:812 +#: templates/js/translated/stock.js:894 msgid "Add test result" msgstr "" -#: templates/js/translated/stock.js:838 +#: templates/js/translated/stock.js:920 msgid "No test results found" msgstr "" -#: templates/js/translated/stock.js:895 +#: templates/js/translated/stock.js:977 msgid "Test Date" msgstr "" -#: templates/js/translated/stock.js:1002 +#: templates/js/translated/stock.js:1084 msgid "In production" msgstr "" -#: templates/js/translated/stock.js:1006 +#: templates/js/translated/stock.js:1088 msgid "Installed in Stock Item" msgstr "" -#: templates/js/translated/stock.js:1010 +#: templates/js/translated/stock.js:1092 msgid "Shipped to customer" msgstr "" -#: templates/js/translated/stock.js:1014 +#: templates/js/translated/stock.js:1096 msgid "Assigned to Sales Order" msgstr "" -#: templates/js/translated/stock.js:1020 +#: templates/js/translated/stock.js:1102 msgid "No stock location set" msgstr "" -#: templates/js/translated/stock.js:1178 +#: templates/js/translated/stock.js:1260 msgid "Stock item is in production" msgstr "" -#: templates/js/translated/stock.js:1183 +#: templates/js/translated/stock.js:1265 msgid "Stock item assigned to sales order" msgstr "" -#: templates/js/translated/stock.js:1186 +#: templates/js/translated/stock.js:1268 msgid "Stock item assigned to customer" msgstr "" -#: templates/js/translated/stock.js:1190 +#: templates/js/translated/stock.js:1272 msgid "Stock item has expired" msgstr "" -#: templates/js/translated/stock.js:1192 +#: templates/js/translated/stock.js:1274 msgid "Stock item will expire soon" msgstr "" -#: templates/js/translated/stock.js:1196 +#: templates/js/translated/stock.js:1278 msgid "Stock item has been allocated" msgstr "" -#: templates/js/translated/stock.js:1200 +#: templates/js/translated/stock.js:1282 msgid "Stock item has been installed in another item" msgstr "" -#: templates/js/translated/stock.js:1207 +#: templates/js/translated/stock.js:1289 msgid "Stock item has been rejected" msgstr "" -#: templates/js/translated/stock.js:1209 +#: templates/js/translated/stock.js:1291 msgid "Stock item is lost" msgstr "" -#: templates/js/translated/stock.js:1211 +#: templates/js/translated/stock.js:1293 msgid "Stock item is destroyed" msgstr "" -#: templates/js/translated/stock.js:1215 +#: templates/js/translated/stock.js:1297 #: templates/js/translated/table_filters.js:183 msgid "Depleted" msgstr "" -#: templates/js/translated/stock.js:1265 +#: templates/js/translated/stock.js:1347 msgid "Stocktake" msgstr "" -#: templates/js/translated/stock.js:1338 +#: templates/js/translated/stock.js:1420 msgid "Supplier part not specified" msgstr "" -#: templates/js/translated/stock.js:1376 +#: templates/js/translated/stock.js:1458 msgid "No stock items matching query" msgstr "" -#: templates/js/translated/stock.js:1397 templates/js/translated/stock.js:1445 +#: templates/js/translated/stock.js:1479 templates/js/translated/stock.js:1527 msgid "items" msgstr "" -#: templates/js/translated/stock.js:1485 +#: templates/js/translated/stock.js:1567 msgid "batches" msgstr "" -#: templates/js/translated/stock.js:1512 +#: templates/js/translated/stock.js:1594 msgid "locations" msgstr "" -#: templates/js/translated/stock.js:1514 +#: templates/js/translated/stock.js:1596 msgid "Undefined location" msgstr "" -#: templates/js/translated/stock.js:1688 +#: templates/js/translated/stock.js:1770 msgid "Set Stock Status" msgstr "" -#: templates/js/translated/stock.js:1702 +#: templates/js/translated/stock.js:1784 msgid "Select Status Code" msgstr "" -#: templates/js/translated/stock.js:1703 +#: templates/js/translated/stock.js:1785 msgid "Status code must be selected" msgstr "" -#: templates/js/translated/stock.js:1927 +#: templates/js/translated/stock.js:2009 msgid "Invalid date" msgstr "" -#: templates/js/translated/stock.js:1974 +#: templates/js/translated/stock.js:2031 +msgid "Details" +msgstr "Détails" + +#: templates/js/translated/stock.js:2056 msgid "Location no longer exists" msgstr "" -#: templates/js/translated/stock.js:1993 +#: templates/js/translated/stock.js:2075 msgid "Purchase order no longer exists" msgstr "" -#: templates/js/translated/stock.js:2012 +#: templates/js/translated/stock.js:2094 msgid "Customer no longer exists" msgstr "" -#: templates/js/translated/stock.js:2030 +#: templates/js/translated/stock.js:2112 msgid "Stock item no longer exists" msgstr "" -#: templates/js/translated/stock.js:2053 +#: templates/js/translated/stock.js:2135 msgid "Added" msgstr "" -#: templates/js/translated/stock.js:2061 +#: templates/js/translated/stock.js:2143 msgid "Removed" msgstr "" -#: templates/js/translated/stock.js:2102 +#: templates/js/translated/stock.js:2184 msgid "Edit tracking entry" msgstr "" -#: templates/js/translated/stock.js:2103 +#: templates/js/translated/stock.js:2185 msgid "Delete tracking entry" msgstr "" -#: templates/js/translated/stock.js:2154 +#: templates/js/translated/stock.js:2236 msgid "No installed items" msgstr "" -#: templates/js/translated/stock.js:2205 +#: templates/js/translated/stock.js:2287 msgid "Uninstall Stock Item" msgstr "" diff --git a/InvenTree/locale/he/LC_MESSAGES/django.po b/InvenTree/locale/he/LC_MESSAGES/django.po index 19508cb053..634eb7da35 100644 --- a/InvenTree/locale/he/LC_MESSAGES/django.po +++ b/InvenTree/locale/he/LC_MESSAGES/django.po @@ -2,8 +2,8 @@ msgid "" msgstr "" "Project-Id-Version: inventree\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2021-11-30 21:49+0000\n" -"PO-Revision-Date: 2021-11-30 21:52\n" +"POT-Creation-Date: 2021-12-03 10:37+0000\n" +"PO-Revision-Date: 2021-12-03 11:25\n" "Last-Translator: \n" "Language-Team: Hebrew\n" "Language: he_IL\n" @@ -114,129 +114,130 @@ msgstr "" msgid "Number of unique serial number ({s}) must match quantity ({q})" msgstr "" -#: InvenTree/models.py:114 +#: InvenTree/models.py:120 msgid "Missing file" msgstr "" -#: InvenTree/models.py:115 +#: InvenTree/models.py:121 msgid "Missing external link" msgstr "" -#: InvenTree/models.py:126 stock/models.py:1874 +#: InvenTree/models.py:132 stock/models.py:1864 #: templates/js/translated/attachment.js:117 msgid "Attachment" msgstr "" -#: InvenTree/models.py:127 +#: InvenTree/models.py:133 msgid "Select file to attach" msgstr "" -#: InvenTree/models.py:133 company/models.py:131 company/models.py:348 +#: InvenTree/models.py:139 company/models.py:131 company/models.py:348 #: company/models.py:564 order/models.py:163 part/models.py:797 #: report/templates/report/inventree_build_order_base.html:165 #: templates/js/translated/company.js:537 -#: templates/js/translated/company.js:826 templates/js/translated/part.js:1077 +#: templates/js/translated/company.js:826 templates/js/translated/part.js:1258 msgid "Link" msgstr "" -#: InvenTree/models.py:134 build/models.py:330 part/models.py:798 -#: stock/models.py:540 +#: InvenTree/models.py:140 build/models.py:330 part/models.py:798 +#: stock/models.py:530 msgid "Link to external URL" msgstr "" -#: InvenTree/models.py:137 templates/js/translated/attachment.js:161 +#: InvenTree/models.py:143 templates/js/translated/attachment.js:161 msgid "Comment" msgstr "" -#: InvenTree/models.py:137 +#: InvenTree/models.py:143 msgid "File comment" msgstr "" -#: InvenTree/models.py:143 InvenTree/models.py:144 common/models.py:1185 +#: InvenTree/models.py:149 InvenTree/models.py:150 common/models.py:1185 #: common/models.py:1186 part/models.py:2205 part/models.py:2225 #: report/templates/report/inventree_test_report_base.html:96 -#: templates/js/translated/stock.js:2084 +#: templates/js/translated/stock.js:2166 msgid "User" msgstr "" -#: InvenTree/models.py:147 +#: InvenTree/models.py:153 msgid "upload date" msgstr "" -#: InvenTree/models.py:170 +#: InvenTree/models.py:176 msgid "Filename must not be empty" msgstr "" -#: InvenTree/models.py:193 +#: InvenTree/models.py:199 msgid "Invalid attachment directory" msgstr "" -#: InvenTree/models.py:203 +#: InvenTree/models.py:209 #, python-brace-format msgid "Filename contains illegal character '{c}'" msgstr "" -#: InvenTree/models.py:206 +#: InvenTree/models.py:212 msgid "Filename missing extension" msgstr "" -#: InvenTree/models.py:213 +#: InvenTree/models.py:219 msgid "Attachment with this filename already exists" msgstr "" -#: InvenTree/models.py:220 +#: InvenTree/models.py:226 msgid "Error renaming file" msgstr "" -#: InvenTree/models.py:255 +#: InvenTree/models.py:261 msgid "Invalid choice" msgstr "" -#: InvenTree/models.py:271 InvenTree/models.py:272 company/models.py:415 +#: InvenTree/models.py:277 InvenTree/models.py:278 company/models.py:415 #: label/models.py:112 part/models.py:741 part/models.py:2389 -#: part/templates/part/detail.html:25 report/models.py:181 -#: templates/InvenTree/settings/settings.html:259 -#: templates/js/translated/company.js:638 templates/js/translated/part.js:499 -#: templates/js/translated/part.js:636 templates/js/translated/part.js:1384 -#: templates/js/translated/stock.js:1877 +#: report/models.py:181 templates/InvenTree/settings/settings.html:259 +#: templates/js/translated/company.js:638 templates/js/translated/part.js:506 +#: templates/js/translated/part.js:643 templates/js/translated/part.js:1565 +#: templates/js/translated/stock.js:1959 msgid "Name" msgstr "" -#: InvenTree/models.py:278 build/models.py:207 +#: InvenTree/models.py:284 build/models.py:207 #: build/templates/build/detail.html:25 company/models.py:354 -#: company/models.py:570 company/templates/company/manufacturer_part.html:80 -#: company/templates/company/supplier_part.html:81 label/models.py:119 -#: order/models.py:161 part/models.py:764 part/templates/part/detail.html:30 +#: company/models.py:570 company/templates/company/company_base.html:68 +#: company/templates/company/manufacturer_part.html:76 +#: company/templates/company/supplier_part.html:73 label/models.py:119 +#: order/models.py:161 part/models.py:764 part/templates/part/category.html:70 +#: part/templates/part/part_base.html:163 #: part/templates/part/set_category.html:14 report/models.py:194 #: report/models.py:553 report/models.py:592 #: report/templates/report/inventree_build_order_base.html:118 -#: stock/templates/stock/location.html:108 templates/js/translated/bom.js:215 +#: stock/templates/stock/location.html:89 templates/js/translated/bom.js:215 #: templates/js/translated/bom.js:428 templates/js/translated/build.js:1621 #: templates/js/translated/company.js:345 #: templates/js/translated/company.js:548 -#: templates/js/translated/company.js:837 templates/js/translated/order.js:673 -#: templates/js/translated/order.js:855 templates/js/translated/order.js:1091 -#: templates/js/translated/part.js:558 templates/js/translated/part.js:752 -#: templates/js/translated/part.js:837 templates/js/translated/part.js:1007 -#: templates/js/translated/part.js:1403 templates/js/translated/part.js:1472 -#: templates/js/translated/stock.js:1151 templates/js/translated/stock.js:1889 -#: templates/js/translated/stock.js:1934 +#: templates/js/translated/company.js:837 templates/js/translated/order.js:680 +#: templates/js/translated/order.js:854 templates/js/translated/order.js:1090 +#: templates/js/translated/part.js:565 templates/js/translated/part.js:933 +#: templates/js/translated/part.js:1018 templates/js/translated/part.js:1188 +#: templates/js/translated/part.js:1584 templates/js/translated/part.js:1653 +#: templates/js/translated/stock.js:1233 templates/js/translated/stock.js:1971 +#: templates/js/translated/stock.js:2016 msgid "Description" msgstr "" -#: InvenTree/models.py:279 +#: InvenTree/models.py:285 msgid "Description (optional)" msgstr "" -#: InvenTree/models.py:287 +#: InvenTree/models.py:293 msgid "parent" msgstr "" -#: InvenTree/serializers.py:62 part/models.py:2674 +#: InvenTree/serializers.py:65 part/models.py:2674 msgid "Must be a valid number" msgstr "" -#: InvenTree/serializers.py:285 +#: InvenTree/serializers.py:299 msgid "Filename" msgstr "" @@ -361,7 +362,7 @@ msgid "Returned" msgstr "" #: InvenTree/status_codes.py:143 -#: order/templates/order/sales_order_base.html:147 +#: order/templates/order/sales_order_base.html:148 msgid "Shipped" msgstr "" @@ -566,7 +567,7 @@ msgid "Barcode associated with StockItem" msgstr "" #: build/forms.py:36 build/models.py:1283 -#: build/templates/build/build_base.html:124 +#: build/templates/build/build_base.html:132 #: build/templates/build/detail.html:35 common/models.py:1225 #: company/forms.py:42 company/templates/company/supplier_part.html:251 #: order/forms.py:102 order/models.py:729 order/models.py:991 @@ -574,26 +575,27 @@ msgstr "" #: order/templates/order/order_wizard/select_parts.html:34 part/forms.py:223 #: part/forms.py:239 part/forms.py:255 part/models.py:2576 #: part/templates/part/bom_upload/match_parts.html:31 -#: part/templates/part/detail.html:1076 part/templates/part/detail.html:1162 +#: part/templates/part/detail.html:967 part/templates/part/detail.html:1053 #: part/templates/part/part_pricing.html:16 #: report/templates/report/inventree_build_order_base.html:114 #: report/templates/report/inventree_po_report.html:91 #: report/templates/report/inventree_so_report.html:91 #: report/templates/report/inventree_test_report_base.html:81 #: report/templates/report/inventree_test_report_base.html:139 -#: stock/forms.py:156 stock/serializers.py:286 -#: stock/templates/stock/item_base.html:256 +#: stock/forms.py:156 stock/serializers.py:291 +#: stock/templates/stock/item_base.html:174 #: templates/js/translated/barcode.js:385 templates/js/translated/bom.js:443 #: templates/js/translated/build.js:235 templates/js/translated/build.js:435 #: templates/js/translated/build.js:629 templates/js/translated/build.js:639 #: templates/js/translated/build.js:1015 templates/js/translated/build.js:1362 #: templates/js/translated/model_renderers.js:99 -#: templates/js/translated/order.js:892 templates/js/translated/order.js:1205 -#: templates/js/translated/order.js:1283 templates/js/translated/order.js:1290 -#: templates/js/translated/order.js:1379 templates/js/translated/order.js:1479 -#: templates/js/translated/part.js:1615 templates/js/translated/part.js:1738 -#: templates/js/translated/part.js:1816 templates/js/translated/stock.js:377 -#: templates/js/translated/stock.js:2069 templates/js/translated/stock.js:2171 +#: templates/js/translated/order.js:891 templates/js/translated/order.js:1204 +#: templates/js/translated/order.js:1282 templates/js/translated/order.js:1289 +#: templates/js/translated/order.js:1378 templates/js/translated/order.js:1478 +#: templates/js/translated/part.js:843 templates/js/translated/part.js:1796 +#: templates/js/translated/part.js:1919 templates/js/translated/part.js:1997 +#: templates/js/translated/stock.js:378 templates/js/translated/stock.js:2151 +#: templates/js/translated/stock.js:2253 msgid "Quantity" msgstr "" @@ -602,8 +604,8 @@ msgid "Enter quantity for build output" msgstr "" #: build/forms.py:41 order/forms.py:96 stock/forms.py:95 -#: stock/serializers.py:307 templates/js/translated/stock.js:224 -#: templates/js/translated/stock.js:378 +#: stock/serializers.py:312 templates/js/translated/stock.js:225 +#: templates/js/translated/stock.js:379 msgid "Serial Numbers" msgstr "" @@ -646,7 +648,7 @@ msgstr "" #: build/templates/build/index.html:8 build/templates/build/index.html:12 #: order/templates/order/sales_order_detail.html:42 #: order/templates/order/so_sidebar.html:7 -#: part/templates/part/part_sidebar.html:22 templates/InvenTree/index.html:221 +#: part/templates/part/part_sidebar.html:20 templates/InvenTree/index.html:221 #: templates/InvenTree/search.html:145 #: templates/InvenTree/settings/sidebar.html:42 users/models.py:44 msgid "Build Orders" @@ -662,7 +664,7 @@ msgstr "" #: report/templates/report/inventree_po_report.html:92 #: report/templates/report/inventree_so_report.html:92 #: templates/js/translated/bom.js:435 templates/js/translated/build.js:1119 -#: templates/js/translated/order.js:886 templates/js/translated/order.js:1473 +#: templates/js/translated/order.js:885 templates/js/translated/order.js:1472 msgid "Reference" msgstr "" @@ -670,7 +672,7 @@ msgstr "" msgid "Brief description of the build" msgstr "" -#: build/models.py:219 build/templates/build/build_base.html:156 +#: build/models.py:219 build/templates/build/build_base.html:164 #: build/templates/build/detail.html:88 msgid "Parent Build" msgstr "" @@ -679,7 +681,7 @@ msgstr "" msgid "BuildOrder to which this build is allocated" msgstr "" -#: build/models.py:225 build/templates/build/build_base.html:119 +#: build/models.py:225 build/templates/build/build_base.html:77 #: build/templates/build/detail.html:30 company/models.py:705 #: order/models.py:789 order/models.py:860 #: order/templates/order/order_wizard/select_parts.html:32 part/models.py:357 @@ -700,10 +702,10 @@ msgstr "" #: templates/js/translated/build.js:988 templates/js/translated/build.js:1359 #: templates/js/translated/build.js:1626 templates/js/translated/company.js:489 #: templates/js/translated/company.js:746 templates/js/translated/order.js:426 -#: templates/js/translated/order.js:840 templates/js/translated/order.js:1457 -#: templates/js/translated/part.js:737 templates/js/translated/part.js:818 -#: templates/js/translated/part.js:985 templates/js/translated/stock.js:508 -#: templates/js/translated/stock.js:1108 templates/js/translated/stock.js:2159 +#: templates/js/translated/order.js:839 templates/js/translated/order.js:1456 +#: templates/js/translated/part.js:918 templates/js/translated/part.js:999 +#: templates/js/translated/part.js:1166 templates/js/translated/stock.js:590 +#: templates/js/translated/stock.js:1190 templates/js/translated/stock.js:2241 msgid "Part" msgstr "" @@ -751,7 +753,7 @@ msgstr "" msgid "Number of stock items which have been completed" msgstr "" -#: build/models.py:277 part/templates/part/part_base.html:216 +#: build/models.py:277 part/templates/part/part_base.html:234 msgid "Build Status" msgstr "" @@ -759,7 +761,7 @@ msgstr "" msgid "Build status code" msgstr "" -#: build/models.py:285 stock/models.py:544 +#: build/models.py:285 stock/models.py:534 msgid "Batch Code" msgstr "" @@ -768,7 +770,7 @@ msgid "Batch code for this build output" msgstr "" #: build/models.py:292 order/models.py:165 part/models.py:936 -#: part/templates/part/detail.html:86 templates/js/translated/order.js:1104 +#: part/templates/part/part_base.html:313 templates/js/translated/order.js:1103 msgid "Creation Date" msgstr "" @@ -797,12 +799,12 @@ msgstr "" msgid "User who issued this build order" msgstr "" -#: build/models.py:323 build/templates/build/build_base.html:177 +#: build/models.py:323 build/templates/build/build_base.html:185 #: build/templates/build/detail.html:116 order/models.py:179 -#: order/templates/order/order_base.html:154 -#: order/templates/order/sales_order_base.html:161 part/models.py:940 +#: order/templates/order/order_base.html:158 +#: order/templates/order/sales_order_base.html:162 part/models.py:940 #: report/templates/report/inventree_build_order_base.html:159 -#: templates/js/translated/build.js:1680 templates/js/translated/order.js:700 +#: templates/js/translated/build.js:1680 templates/js/translated/order.js:699 msgid "Responsible" msgstr "" @@ -811,10 +813,10 @@ msgid "User responsible for this build order" msgstr "" #: build/models.py:329 build/templates/build/detail.html:102 -#: company/templates/company/manufacturer_part.html:87 -#: company/templates/company/supplier_part.html:88 -#: part/templates/part/detail.html:80 stock/models.py:538 -#: stock/templates/stock/item_base.html:346 +#: company/templates/company/manufacturer_part.html:102 +#: company/templates/company/supplier_part.html:126 +#: part/templates/part/part_base.html:354 stock/models.py:528 +#: stock/templates/stock/item_base.html:374 msgid "External Link" msgstr "" @@ -824,15 +826,15 @@ msgstr "" #: order/models.py:183 order/models.py:738 #: order/templates/order/po_sidebar.html:11 #: order/templates/order/so_sidebar.html:11 part/models.py:925 -#: part/templates/part/detail.html:223 part/templates/part/part_sidebar.html:52 +#: part/templates/part/detail.html:116 part/templates/part/part_sidebar.html:50 #: report/templates/report/inventree_build_order_base.html:173 -#: stock/forms.py:154 stock/forms.py:204 stock/forms.py:238 stock/models.py:610 -#: stock/models.py:1774 stock/models.py:1880 stock/serializers.py:325 -#: stock/serializers.py:583 stock/templates/stock/stock_sidebar.html:21 +#: stock/forms.py:154 stock/forms.py:204 stock/forms.py:238 stock/models.py:600 +#: stock/models.py:1764 stock/models.py:1870 stock/serializers.py:330 +#: stock/serializers.py:588 stock/templates/stock/stock_sidebar.html:21 #: templates/js/translated/barcode.js:58 templates/js/translated/bom.js:599 -#: templates/js/translated/company.js:842 templates/js/translated/order.js:985 -#: templates/js/translated/order.js:1583 templates/js/translated/stock.js:891 -#: templates/js/translated/stock.js:1370 +#: templates/js/translated/company.js:842 templates/js/translated/order.js:984 +#: templates/js/translated/order.js:1582 templates/js/translated/stock.js:973 +#: templates/js/translated/stock.js:1452 msgid "Notes" msgstr "" @@ -877,7 +879,7 @@ msgstr "" msgid "Selected stock item not found in BOM" msgstr "" -#: build/models.py:1253 stock/templates/stock/item_base.html:318 +#: build/models.py:1253 stock/templates/stock/item_base.html:346 #: templates/InvenTree/search.html:143 templates/js/translated/build.js:1599 #: templates/navbar.html:33 msgid "Build" @@ -890,11 +892,11 @@ msgstr "" #: build/models.py:1270 build/serializers.py:328 #: stock/templates/stock/item_base.html:8 #: stock/templates/stock/item_base.html:16 -#: stock/templates/stock/item_base.html:340 +#: stock/templates/stock/item_base.html:368 #: templates/js/translated/build.js:408 templates/js/translated/build.js:413 #: templates/js/translated/build.js:1361 templates/js/translated/build.js:1742 -#: templates/js/translated/order.js:1178 templates/js/translated/order.js:1183 -#: templates/js/translated/stock.js:2020 +#: templates/js/translated/order.js:1177 templates/js/translated/order.js:1182 +#: templates/js/translated/stock.js:2102 msgid "Stock Item" msgstr "" @@ -934,16 +936,16 @@ msgstr "" msgid "This build output is not fully allocated" msgstr "" -#: build/serializers.py:190 order/serializers.py:219 order/serializers.py:287 -#: stock/forms.py:236 stock/serializers.py:318 stock/serializers.py:685 -#: stock/templates/stock/item_base.html:286 +#: build/serializers.py:190 order/serializers.py:228 order/serializers.py:296 +#: stock/forms.py:236 stock/serializers.py:323 stock/serializers.py:690 +#: stock/templates/stock/item_base.html:314 #: templates/js/translated/barcode.js:384 #: templates/js/translated/barcode.js:557 templates/js/translated/build.js:420 #: templates/js/translated/build.js:1027 templates/js/translated/order.js:348 -#: templates/js/translated/order.js:1190 templates/js/translated/order.js:1298 -#: templates/js/translated/order.js:1304 templates/js/translated/part.js:181 -#: templates/js/translated/stock.js:510 templates/js/translated/stock.js:1251 -#: templates/js/translated/stock.js:1961 +#: templates/js/translated/order.js:1189 templates/js/translated/order.js:1297 +#: templates/js/translated/order.js:1303 templates/js/translated/part.js:177 +#: templates/js/translated/stock.js:592 templates/js/translated/stock.js:1333 +#: templates/js/translated/stock.js:2043 msgid "Location" msgstr "" @@ -951,13 +953,13 @@ msgstr "" msgid "Location for completed build outputs" msgstr "" -#: build/serializers.py:197 build/templates/build/build_base.html:129 +#: build/serializers.py:197 build/templates/build/build_base.html:137 #: build/templates/build/detail.html:63 order/models.py:572 -#: order/serializers.py:240 stock/templates/stock/item_base.html:409 +#: order/serializers.py:249 stock/templates/stock/item_base.html:180 #: templates/js/translated/barcode.js:140 templates/js/translated/build.js:1655 -#: templates/js/translated/order.js:431 templates/js/translated/order.js:677 -#: templates/js/translated/order.js:1096 templates/js/translated/stock.js:1226 -#: templates/js/translated/stock.js:2038 templates/js/translated/stock.js:2187 +#: templates/js/translated/order.js:431 templates/js/translated/order.js:1095 +#: templates/js/translated/stock.js:1308 templates/js/translated/stock.js:2120 +#: templates/js/translated/stock.js:2269 msgid "Status" msgstr "" @@ -986,8 +988,8 @@ msgstr "" msgid "Item must be in stock" msgstr "" -#: build/serializers.py:348 order/models.py:316 order/serializers.py:233 -#: stock/models.py:381 stock/models.py:1103 stock/serializers.py:298 +#: build/serializers.py:348 order/models.py:316 order/serializers.py:242 +#: stock/models.py:371 stock/models.py:1093 stock/serializers.py:303 msgid "Quantity must be greater than zero" msgstr "" @@ -1031,7 +1033,7 @@ msgid "Edit Build" msgstr "" #: build/templates/build/build_base.html:56 -#: build/templates/build/build_base.html:207 build/views.py:56 +#: build/templates/build/build_base.html:215 build/views.py:56 msgid "Cancel Build" msgstr "" @@ -1041,93 +1043,95 @@ msgstr "" #: build/templates/build/build_base.html:64 #: build/templates/build/build_base.html:65 -#: build/templates/build/build_base.html:223 +#: build/templates/build/build_base.html:231 msgid "Complete Build" msgstr "" -#: build/templates/build/build_base.html:79 +#: build/templates/build/build_base.html:82 +msgid "Build Description" +msgstr "" + +#: build/templates/build/build_base.html:91 #, python-format msgid "This Build Order is allocated to Sales Order %(link)s" msgstr "" -#: build/templates/build/build_base.html:86 +#: build/templates/build/build_base.html:98 #, python-format msgid "This Build Order is a child of Build Order %(link)s" msgstr "" -#: build/templates/build/build_base.html:93 +#: build/templates/build/build_base.html:105 msgid "Build Order is ready to mark as completed" msgstr "" -#: build/templates/build/build_base.html:98 +#: build/templates/build/build_base.html:110 msgid "Build Order cannot be completed as outstanding outputs remain" msgstr "" -#: build/templates/build/build_base.html:103 +#: build/templates/build/build_base.html:115 msgid "Required build quantity has not yet been completed" msgstr "" -#: build/templates/build/build_base.html:108 +#: build/templates/build/build_base.html:120 msgid "Stock has not been fully allocated to this Build Order" msgstr "" -#: build/templates/build/build_base.html:138 +#: build/templates/build/build_base.html:146 #: build/templates/build/detail.html:132 -#: order/templates/order/order_base.html:140 -#: order/templates/order/sales_order_base.html:140 +#: order/templates/order/order_base.html:144 +#: order/templates/order/sales_order_base.html:141 #: report/templates/report/inventree_build_order_base.html:126 -#: templates/js/translated/build.js:1692 templates/js/translated/order.js:690 -#: templates/js/translated/order.js:1109 +#: templates/js/translated/build.js:1692 templates/js/translated/order.js:689 +#: templates/js/translated/order.js:1108 msgid "Target Date" msgstr "" -#: build/templates/build/build_base.html:143 +#: build/templates/build/build_base.html:151 #, python-format msgid "This build was due on %(target)s" msgstr "" -#: build/templates/build/build_base.html:143 -#: build/templates/build/build_base.html:188 -#: order/templates/order/order_base.html:81 -#: order/templates/order/order_base.html:102 -#: order/templates/order/sales_order_base.html:78 -#: order/templates/order/sales_order_base.html:107 +#: build/templates/build/build_base.html:151 +#: build/templates/build/build_base.html:196 +#: order/templates/order/order_base.html:98 +#: order/templates/order/sales_order_base.html:93 #: templates/js/translated/table_filters.js:294 #: templates/js/translated/table_filters.js:322 #: templates/js/translated/table_filters.js:339 msgid "Overdue" msgstr "" -#: build/templates/build/build_base.html:150 +#: build/templates/build/build_base.html:158 #: build/templates/build/detail.html:68 build/templates/build/detail.html:143 #: templates/js/translated/build.js:1641 #: templates/js/translated/table_filters.js:304 msgid "Completed" msgstr "" -#: build/templates/build/build_base.html:163 +#: build/templates/build/build_base.html:171 #: build/templates/build/detail.html:95 order/models.py:857 #: order/templates/order/sales_order_base.html:9 #: order/templates/order/sales_order_base.html:28 #: order/templates/order/sales_order_ship.html:25 #: report/templates/report/inventree_build_order_base.html:136 #: report/templates/report/inventree_so_report.html:77 -#: stock/templates/stock/item_base.html:280 -#: templates/js/translated/order.js:1051 +#: stock/templates/stock/item_base.html:308 +#: templates/js/translated/order.js:1050 msgid "Sales Order" msgstr "" -#: build/templates/build/build_base.html:170 +#: build/templates/build/build_base.html:178 #: build/templates/build/detail.html:109 #: report/templates/report/inventree_build_order_base.html:153 msgid "Issued By" msgstr "" -#: build/templates/build/build_base.html:215 +#: build/templates/build/build_base.html:223 msgid "Incomplete Outputs" msgstr "" -#: build/templates/build/build_base.html:216 +#: build/templates/build/build_base.html:224 msgid "Build Order cannot be completed as incomplete build outputs remain" msgstr "" @@ -1188,7 +1192,7 @@ msgid "Stock can be taken from any available location." msgstr "" #: build/templates/build/detail.html:50 order/models.py:811 stock/forms.py:150 -#: templates/js/translated/order.js:432 templates/js/translated/order.js:974 +#: templates/js/translated/order.js:432 templates/js/translated/order.js:973 msgid "Destination" msgstr "" @@ -1201,16 +1205,16 @@ msgid "Allocated Parts" msgstr "" #: build/templates/build/detail.html:81 -#: stock/templates/stock/item_base.html:304 -#: templates/js/translated/stock.js:1240 templates/js/translated/stock.js:2194 +#: stock/templates/stock/item_base.html:332 +#: templates/js/translated/stock.js:1322 templates/js/translated/stock.js:2276 #: templates/js/translated/table_filters.js:151 #: templates/js/translated/table_filters.js:233 msgid "Batch" msgstr "" #: build/templates/build/detail.html:127 -#: order/templates/order/order_base.html:127 -#: order/templates/order/sales_order_base.html:134 +#: order/templates/order/order_base.html:131 +#: order/templates/order/sales_order_base.html:135 #: templates/js/translated/build.js:1663 msgid "Created" msgstr "" @@ -1254,7 +1258,7 @@ msgstr "" #: build/templates/build/detail.html:185 #: company/templates/company/detail.html:38 #: company/templates/company/detail.html:85 order/views.py:509 -#: part/templates/part/category.html:166 +#: part/templates/part/category.html:173 msgid "Order Parts" msgstr "" @@ -1306,8 +1310,8 @@ msgstr "" #: order/templates/order/po_sidebar.html:9 #: order/templates/order/purchase_order_detail.html:60 #: order/templates/order/sales_order_detail.html:52 -#: order/templates/order/so_sidebar.html:9 part/templates/part/detail.html:300 -#: part/templates/part/part_sidebar.html:50 stock/templates/stock/item.html:95 +#: order/templates/order/so_sidebar.html:9 part/templates/part/detail.html:193 +#: part/templates/part/part_sidebar.html:48 stock/templates/stock/item.html:95 #: stock/templates/stock/stock_sidebar.html:19 msgid "Attachments" msgstr "" @@ -1323,7 +1327,7 @@ msgstr "" #: order/templates/order/purchase_order_detail.html:108 #: order/templates/order/sales_order_detail.html:72 #: order/templates/order/sales_order_detail.html:99 -#: part/templates/part/detail.html:227 stock/templates/stock/item.html:115 +#: part/templates/part/detail.html:120 stock/templates/stock/item.html:115 #: stock/templates/stock/item.html:205 msgid "Edit Notes" msgstr "" @@ -1336,7 +1340,7 @@ msgstr "" msgid "All untracked stock items have been allocated" msgstr "" -#: build/templates/build/index.html:18 part/templates/part/detail.html:407 +#: build/templates/build/index.html:18 part/templates/part/detail.html:300 msgid "New Build Order" msgstr "" @@ -1380,7 +1384,7 @@ msgstr "" msgid "Maximum output quantity is " msgstr "" -#: build/views.py:122 stock/serializers.py:356 stock/views.py:1290 +#: build/views.py:122 stock/serializers.py:361 stock/views.py:1290 msgid "Serial numbers already exist" msgstr "" @@ -1675,7 +1679,7 @@ msgid "Parts are trackable by default" msgstr "" #: common/models.py:745 part/models.py:920 -#: part/templates/part/part_base.html:144 +#: part/templates/part/part_base.html:147 #: templates/js/translated/table_filters.js:42 msgid "Virtual" msgstr "" @@ -2142,7 +2146,7 @@ msgstr "" #: common/models.py:1233 company/serializers.py:264 #: company/templates/company/supplier_part.html:256 -#: templates/js/translated/part.js:1620 +#: templates/js/translated/part.js:852 templates/js/translated/part.js:1801 msgid "Price" msgstr "" @@ -2206,7 +2210,7 @@ msgstr "" msgid "Description of the company" msgstr "" -#: company/models.py:112 company/templates/company/company_base.html:70 +#: company/models.py:112 company/templates/company/company_base.html:97 #: templates/js/translated/company.js:349 msgid "Website" msgstr "" @@ -2215,7 +2219,7 @@ msgstr "" msgid "Company website URL" msgstr "" -#: company/models.py:117 company/templates/company/company_base.html:88 +#: company/models.py:117 company/templates/company/company_base.html:115 msgid "Address" msgstr "" @@ -2231,7 +2235,7 @@ msgstr "" msgid "Contact phone number" msgstr "" -#: company/models.py:125 company/templates/company/company_base.html:102 +#: company/models.py:125 company/templates/company/company_base.html:129 #: templates/InvenTree/settings/user.html:47 msgid "Email" msgstr "" @@ -2240,7 +2244,7 @@ msgstr "" msgid "Contact email address" msgstr "" -#: company/models.py:128 company/templates/company/company_base.html:109 +#: company/models.py:128 company/templates/company/company_base.html:136 msgid "Contact" msgstr "" @@ -2281,7 +2285,7 @@ msgid "Does this company manufacture parts?" msgstr "" #: company/models.py:152 company/serializers.py:270 -#: company/templates/company/company_base.html:76 stock/serializers.py:172 +#: company/templates/company/company_base.html:103 stock/serializers.py:177 msgid "Currency" msgstr "" @@ -2289,8 +2293,8 @@ msgstr "" msgid "Default currency used for this company" msgstr "" -#: company/models.py:320 company/models.py:535 stock/models.py:484 -#: stock/templates/stock/item_base.html:224 +#: company/models.py:320 company/models.py:535 stock/models.py:474 +#: stock/templates/stock/item_base.html:135 msgid "Base Part" msgstr "" @@ -2298,29 +2302,29 @@ msgstr "" msgid "Select part" msgstr "" -#: company/models.py:335 company/templates/company/company_base.html:116 -#: company/templates/company/manufacturer_part.html:93 -#: company/templates/company/supplier_part.html:104 -#: stock/templates/stock/item_base.html:353 +#: company/models.py:335 company/templates/company/company_base.html:73 +#: company/templates/company/manufacturer_part.html:91 +#: company/templates/company/supplier_part.html:97 +#: stock/templates/stock/item_base.html:381 #: templates/js/translated/company.js:333 #: templates/js/translated/company.js:514 -#: templates/js/translated/company.js:797 templates/js/translated/part.js:229 +#: templates/js/translated/company.js:797 templates/js/translated/part.js:232 msgid "Manufacturer" msgstr "" -#: company/models.py:336 templates/js/translated/part.js:230 +#: company/models.py:336 templates/js/translated/part.js:233 msgid "Select manufacturer" msgstr "" -#: company/models.py:342 company/templates/company/manufacturer_part.html:97 -#: company/templates/company/supplier_part.html:112 +#: company/models.py:342 company/templates/company/manufacturer_part.html:96 +#: company/templates/company/supplier_part.html:105 #: templates/js/translated/company.js:530 -#: templates/js/translated/company.js:815 templates/js/translated/order.js:874 -#: templates/js/translated/part.js:240 +#: templates/js/translated/company.js:815 templates/js/translated/order.js:873 +#: templates/js/translated/part.js:243 templates/js/translated/part.js:832 msgid "MPN" msgstr "" -#: company/models.py:343 templates/js/translated/part.js:241 +#: company/models.py:343 templates/js/translated/part.js:244 msgid "Manufacturer Part Number" msgstr "" @@ -2335,7 +2339,7 @@ msgstr "" #: company/models.py:409 company/models.py:558 #: company/templates/company/manufacturer_part.html:6 #: company/templates/company/manufacturer_part.html:23 -#: stock/templates/stock/item_base.html:363 +#: stock/templates/stock/item_base.html:391 msgid "Manufacturer Part" msgstr "" @@ -2345,8 +2349,8 @@ msgstr "" #: company/models.py:422 #: report/templates/report/inventree_test_report_base.html:95 -#: stock/models.py:1867 templates/js/translated/company.js:644 -#: templates/js/translated/part.js:645 templates/js/translated/stock.js:878 +#: stock/models.py:1857 templates/js/translated/company.js:644 +#: templates/js/translated/part.js:652 templates/js/translated/stock.js:960 msgid "Value" msgstr "" @@ -2355,9 +2359,9 @@ msgid "Parameter value" msgstr "" #: company/models.py:429 part/models.py:882 part/models.py:2397 -#: part/templates/part/detail.html:59 +#: part/templates/part/part_base.html:288 #: templates/InvenTree/settings/settings.html:264 -#: templates/js/translated/company.js:650 templates/js/translated/part.js:651 +#: templates/js/translated/company.js:650 templates/js/translated/part.js:658 msgid "Units" msgstr "" @@ -2369,28 +2373,28 @@ msgstr "" msgid "Linked manufacturer part must reference the same base part" msgstr "" -#: company/models.py:545 company/templates/company/company_base.html:121 -#: company/templates/company/supplier_part.html:94 order/models.py:263 -#: order/templates/order/order_base.html:108 +#: company/models.py:545 company/templates/company/company_base.html:78 +#: company/templates/company/supplier_part.html:87 order/models.py:263 +#: order/templates/order/order_base.html:112 #: order/templates/order/order_wizard/select_pos.html:30 part/bom.py:219 -#: part/bom.py:247 stock/templates/stock/item_base.html:370 +#: part/bom.py:247 stock/templates/stock/item_base.html:398 #: templates/js/translated/company.js:337 -#: templates/js/translated/company.js:771 templates/js/translated/order.js:660 -#: templates/js/translated/part.js:210 +#: templates/js/translated/company.js:771 templates/js/translated/order.js:667 +#: templates/js/translated/part.js:213 templates/js/translated/part.js:800 msgid "Supplier" msgstr "" -#: company/models.py:546 templates/js/translated/part.js:211 +#: company/models.py:546 templates/js/translated/part.js:214 msgid "Select supplier" msgstr "" -#: company/models.py:551 company/templates/company/supplier_part.html:98 -#: part/bom.py:220 part/bom.py:248 templates/js/translated/order.js:861 -#: templates/js/translated/part.js:221 +#: company/models.py:551 company/templates/company/supplier_part.html:91 +#: part/bom.py:220 part/bom.py:248 templates/js/translated/order.js:860 +#: templates/js/translated/part.js:224 templates/js/translated/part.js:818 msgid "SKU" msgstr "" -#: company/models.py:552 templates/js/translated/part.js:222 +#: company/models.py:552 templates/js/translated/part.js:225 msgid "Supplier stock keeping unit" msgstr "" @@ -2406,7 +2410,7 @@ msgstr "" msgid "Supplier part description" msgstr "" -#: company/models.py:576 company/templates/company/supplier_part.html:126 +#: company/models.py:576 company/templates/company/supplier_part.html:119 #: part/models.py:2588 report/templates/report/inventree_po_report.html:93 #: report/templates/report/inventree_so_report.html:93 msgid "Note" @@ -2420,9 +2424,9 @@ msgstr "" msgid "Minimum charge (e.g. stocking fee)" msgstr "" -#: company/models.py:582 company/templates/company/supplier_part.html:119 -#: stock/models.py:507 stock/templates/stock/item_base.html:311 -#: templates/js/translated/company.js:847 templates/js/translated/stock.js:1366 +#: company/models.py:582 company/templates/company/supplier_part.html:112 +#: stock/models.py:497 stock/templates/stock/item_base.html:339 +#: templates/js/translated/company.js:847 templates/js/translated/stock.js:1448 msgid "Packaging" msgstr "" @@ -2457,43 +2461,56 @@ msgstr "" msgid "Create Purchase Order" msgstr "" -#: company/templates/company/company_base.html:27 +#: company/templates/company/company_base.html:26 +msgid "Company actions" +msgstr "" + +#: company/templates/company/company_base.html:31 msgid "Edit company information" msgstr "" #: company/templates/company/company_base.html:32 -#: company/templates/company/company_base.html:148 +#: templates/js/translated/company.js:265 +msgid "Edit Company" +msgstr "" + +#: company/templates/company/company_base.html:36 +msgid "Delete company" +msgstr "" + +#: company/templates/company/company_base.html:37 +#: company/templates/company/company_base.html:159 msgid "Delete Company" msgstr "" -#: company/templates/company/company_base.html:48 +#: company/templates/company/company_base.html:53 #: part/templates/part/part_thumb.html:12 msgid "Upload new image" msgstr "" -#: company/templates/company/company_base.html:51 +#: company/templates/company/company_base.html:56 #: part/templates/part/part_thumb.html:14 msgid "Download image from URL" msgstr "" -#: company/templates/company/company_base.html:81 -msgid "Uses default currency" -msgstr "" - -#: company/templates/company/company_base.html:95 -msgid "Phone" -msgstr "" - -#: company/templates/company/company_base.html:126 order/models.py:567 -#: order/templates/order/sales_order_base.html:114 stock/models.py:525 -#: stock/models.py:526 stock/templates/stock/item_base.html:263 -#: templates/js/translated/company.js:329 templates/js/translated/order.js:1073 -#: templates/js/translated/stock.js:2002 +#: company/templates/company/company_base.html:83 order/models.py:567 +#: order/templates/order/sales_order_base.html:115 stock/models.py:515 +#: stock/models.py:516 stock/templates/stock/item_base.html:291 +#: templates/js/translated/company.js:329 templates/js/translated/order.js:1072 +#: templates/js/translated/stock.js:2084 msgid "Customer" msgstr "" -#: company/templates/company/company_base.html:194 -#: part/templates/part/part_base.html:342 +#: company/templates/company/company_base.html:108 +msgid "Uses default currency" +msgstr "" + +#: company/templates/company/company_base.html:122 +msgid "Phone" +msgstr "" + +#: company/templates/company/company_base.html:205 +#: part/templates/part/part_base.html:471 msgid "Upload Image" msgstr "" @@ -2509,23 +2526,23 @@ msgid "Create new supplier part" msgstr "" #: company/templates/company/detail.html:20 -#: company/templates/company/manufacturer_part.html:112 -#: part/templates/part/detail.html:440 +#: company/templates/company/manufacturer_part.html:118 +#: part/templates/part/detail.html:333 msgid "New Supplier Part" msgstr "" #: company/templates/company/detail.html:32 #: company/templates/company/detail.html:79 -#: company/templates/company/manufacturer_part.html:121 -#: company/templates/company/manufacturer_part.html:150 -#: part/templates/part/category.html:160 part/templates/part/detail.html:449 -#: part/templates/part/detail.html:477 +#: company/templates/company/manufacturer_part.html:127 +#: company/templates/company/manufacturer_part.html:156 +#: part/templates/part/category.html:167 part/templates/part/detail.html:342 +#: part/templates/part/detail.html:370 msgid "Options" msgstr "" #: company/templates/company/detail.html:37 #: company/templates/company/detail.html:84 -#: part/templates/part/category.html:166 +#: part/templates/part/category.html:173 msgid "Order parts" msgstr "" @@ -2547,7 +2564,7 @@ msgstr "" msgid "Create new manufacturer part" msgstr "" -#: company/templates/company/detail.html:67 part/templates/part/detail.html:467 +#: company/templates/company/detail.html:67 part/templates/part/detail.html:360 msgid "New Manufacturer Part" msgstr "" @@ -2561,7 +2578,7 @@ msgstr "" #: order/templates/order/order_base.html:13 #: order/templates/order/purchase_orders.html:8 #: order/templates/order/purchase_orders.html:12 -#: part/templates/part/detail.html:171 part/templates/part/part_sidebar.html:35 +#: part/templates/part/detail.html:64 part/templates/part/part_sidebar.html:33 #: templates/InvenTree/index.html:252 templates/InvenTree/search.html:203 #: templates/InvenTree/settings/sidebar.html:44 templates/navbar.html:45 #: users/models.py:45 @@ -2583,7 +2600,7 @@ msgstr "" #: order/templates/order/sales_order_base.html:13 #: order/templates/order/sales_orders.html:8 #: order/templates/order/sales_orders.html:15 -#: part/templates/part/detail.html:194 part/templates/part/part_sidebar.html:39 +#: part/templates/part/detail.html:87 part/templates/part/part_sidebar.html:37 #: templates/InvenTree/index.html:283 templates/InvenTree/search.html:223 #: templates/InvenTree/settings/sidebar.html:46 templates/navbar.html:56 #: users/models.py:46 @@ -2610,14 +2627,14 @@ msgid "Company Notes" msgstr "" #: company/templates/company/detail.html:383 -#: company/templates/company/manufacturer_part.html:209 -#: part/templates/part/detail.html:520 +#: company/templates/company/manufacturer_part.html:215 +#: part/templates/part/detail.html:413 msgid "Delete Supplier Parts?" msgstr "" #: company/templates/company/detail.html:384 -#: company/templates/company/manufacturer_part.html:210 -#: part/templates/part/detail.html:521 +#: company/templates/company/manufacturer_part.html:216 +#: part/templates/part/detail.html:414 msgid "All selected supplier parts will be deleted" msgstr "" @@ -2634,7 +2651,7 @@ msgstr "" #: company/templates/company/manufacturer_part.html:35 #: company/templates/company/supplier_part.html:34 #: company/templates/company/supplier_part.html:159 -#: part/templates/part/detail.html:174 part/templates/part/part_base.html:76 +#: part/templates/part/detail.html:67 part/templates/part/part_base.html:76 msgid "Order part" msgstr "" @@ -2648,60 +2665,60 @@ msgstr "" msgid "Delete manufacturer part" msgstr "" -#: company/templates/company/manufacturer_part.html:70 -#: company/templates/company/supplier_part.html:71 +#: company/templates/company/manufacturer_part.html:66 +#: company/templates/company/supplier_part.html:63 msgid "Internal Part" msgstr "" -#: company/templates/company/manufacturer_part.html:108 +#: company/templates/company/manufacturer_part.html:114 #: company/templates/company/supplier_part.html:15 company/views.py:49 -#: part/templates/part/part_sidebar.html:33 part/templates/part/prices.html:163 +#: part/templates/part/part_sidebar.html:31 part/templates/part/prices.html:163 #: templates/InvenTree/search.html:194 templates/navbar.html:43 msgid "Suppliers" msgstr "" -#: company/templates/company/manufacturer_part.html:123 -#: part/templates/part/detail.html:451 +#: company/templates/company/manufacturer_part.html:129 +#: part/templates/part/detail.html:344 msgid "Delete supplier parts" msgstr "" -#: company/templates/company/manufacturer_part.html:123 -#: company/templates/company/manufacturer_part.html:152 -#: company/templates/company/manufacturer_part.html:248 -#: part/templates/part/detail.html:451 part/templates/part/detail.html:479 +#: company/templates/company/manufacturer_part.html:129 +#: company/templates/company/manufacturer_part.html:158 +#: company/templates/company/manufacturer_part.html:254 +#: part/templates/part/detail.html:344 part/templates/part/detail.html:372 #: templates/js/translated/company.js:425 templates/js/translated/helpers.js:31 #: users/models.py:204 msgid "Delete" msgstr "" -#: company/templates/company/manufacturer_part.html:137 +#: company/templates/company/manufacturer_part.html:143 #: company/templates/company/manufacturer_part_sidebar.html:5 #: part/templates/part/category_sidebar.html:17 -#: part/templates/part/detail.html:277 part/templates/part/part_sidebar.html:10 +#: part/templates/part/detail.html:170 part/templates/part/part_sidebar.html:8 msgid "Parameters" msgstr "" -#: company/templates/company/manufacturer_part.html:141 -#: part/templates/part/detail.html:282 +#: company/templates/company/manufacturer_part.html:147 +#: part/templates/part/detail.html:175 #: templates/InvenTree/settings/category.html:12 #: templates/InvenTree/settings/part.html:65 msgid "New Parameter" msgstr "" -#: company/templates/company/manufacturer_part.html:152 +#: company/templates/company/manufacturer_part.html:158 msgid "Delete parameters" msgstr "" -#: company/templates/company/manufacturer_part.html:185 -#: part/templates/part/detail.html:976 +#: company/templates/company/manufacturer_part.html:191 +#: part/templates/part/detail.html:867 msgid "Add Parameter" msgstr "" -#: company/templates/company/manufacturer_part.html:233 +#: company/templates/company/manufacturer_part.html:239 msgid "Selected parameters will be deleted" msgstr "" -#: company/templates/company/manufacturer_part.html:245 +#: company/templates/company/manufacturer_part.html:251 msgid "Delete Parameters" msgstr "" @@ -2722,9 +2739,9 @@ msgid "Assigned Stock Items" msgstr "" #: company/templates/company/supplier_part.html:7 -#: company/templates/company/supplier_part.html:24 stock/models.py:492 -#: stock/templates/stock/item_base.html:375 -#: templates/js/translated/company.js:787 templates/js/translated/stock.js:1323 +#: company/templates/company/supplier_part.html:24 stock/models.py:482 +#: stock/templates/stock/item_base.html:403 +#: templates/js/translated/company.js:787 templates/js/translated/stock.js:1405 msgid "Supplier Part" msgstr "" @@ -2744,13 +2761,13 @@ msgid "Supplier Part Stock" msgstr "" #: company/templates/company/supplier_part.html:141 -#: part/templates/part/detail.html:127 stock/templates/stock/location.html:147 +#: part/templates/part/detail.html:20 stock/templates/stock/location.html:162 msgid "Create new stock item" msgstr "" #: company/templates/company/supplier_part.html:142 -#: part/templates/part/detail.html:128 stock/templates/stock/location.html:148 -#: templates/js/translated/stock.js:354 +#: part/templates/part/detail.html:21 stock/templates/stock/location.html:163 +#: templates/js/translated/stock.js:355 msgid "New Stock Item" msgstr "" @@ -2760,7 +2777,7 @@ msgid "Supplier Part Orders" msgstr "" #: company/templates/company/supplier_part.html:160 -#: part/templates/part/detail.html:175 +#: part/templates/part/detail.html:68 msgid "Order Part" msgstr "" @@ -2796,15 +2813,15 @@ msgid "Delete price break" msgstr "" #: company/templates/company/supplier_part_navbar.html:15 -#: part/templates/part/part_sidebar.html:16 +#: part/templates/part/part_sidebar.html:14 #: stock/templates/stock/loc_link.html:3 stock/templates/stock/location.html:14 #: stock/templates/stock/stock_app_base.html:10 #: templates/InvenTree/search.html:156 #: templates/InvenTree/settings/sidebar.html:40 -#: templates/js/translated/bom.js:216 templates/js/translated/part.js:427 -#: templates/js/translated/part.js:562 templates/js/translated/part.js:878 -#: templates/js/translated/part.js:1039 templates/js/translated/stock.js:509 -#: templates/js/translated/stock.js:1162 templates/navbar.html:26 +#: templates/js/translated/bom.js:216 templates/js/translated/part.js:434 +#: templates/js/translated/part.js:569 templates/js/translated/part.js:1059 +#: templates/js/translated/part.js:1220 templates/js/translated/stock.js:591 +#: templates/js/translated/stock.js:1244 templates/navbar.html:26 msgid "Stock" msgstr "" @@ -2818,16 +2835,16 @@ msgid "Supplier Part Pricing" msgstr "" #: company/templates/company/supplier_part_navbar.html:29 -#: part/templates/part/part_sidebar.html:30 +#: part/templates/part/part_sidebar.html:28 msgid "Pricing" msgstr "" #: company/templates/company/supplier_part_sidebar.html:5 -#: stock/templates/stock/location.html:118 -#: stock/templates/stock/location.html:132 -#: stock/templates/stock/location.html:144 +#: stock/templates/stock/location.html:133 +#: stock/templates/stock/location.html:147 +#: stock/templates/stock/location.html:159 #: stock/templates/stock/location_sidebar.html:7 -#: templates/InvenTree/search.html:158 templates/js/translated/stock.js:1901 +#: templates/InvenTree/search.html:158 templates/js/translated/stock.js:1983 #: templates/stats.html:93 templates/stats.html:102 users/models.py:43 msgid "Stock Items" msgstr "" @@ -2947,7 +2964,7 @@ msgstr "" msgid "Place order" msgstr "" -#: order/forms.py:37 order/templates/order/order_base.html:59 +#: order/forms.py:37 order/templates/order/order_base.html:60 msgid "Mark order as complete" msgstr "" @@ -3000,8 +3017,8 @@ msgstr "" msgid "Company from which the items are being ordered" msgstr "" -#: order/models.py:267 order/templates/order/order_base.html:114 -#: templates/js/translated/order.js:669 +#: order/models.py:267 order/templates/order/order_base.html:118 +#: templates/js/translated/order.js:676 msgid "Supplier Reference" msgstr "" @@ -3061,7 +3078,7 @@ msgstr "" msgid "Target date for order completion. Order will be overdue after this date." msgstr "" -#: order/models.py:582 templates/js/translated/order.js:1114 +#: order/models.py:582 templates/js/translated/order.js:1113 msgid "Shipment Date" msgstr "" @@ -3086,16 +3103,16 @@ msgid "Line item notes" msgstr "" #: order/models.py:768 order/models.py:856 -#: templates/js/translated/order.js:1166 +#: templates/js/translated/order.js:1165 msgid "Order" msgstr "" #: order/models.py:769 order/templates/order/order_base.html:9 #: order/templates/order/order_base.html:18 #: report/templates/report/inventree_po_report.html:77 -#: stock/templates/stock/item_base.html:325 -#: templates/js/translated/order.js:638 templates/js/translated/stock.js:1300 -#: templates/js/translated/stock.js:1983 +#: stock/templates/stock/item_base.html:353 +#: templates/js/translated/order.js:638 templates/js/translated/part.js:775 +#: templates/js/translated/stock.js:1382 templates/js/translated/stock.js:2065 msgid "Purchase Order" msgstr "" @@ -3103,9 +3120,10 @@ msgstr "" msgid "Supplier part" msgstr "" -#: order/models.py:797 order/templates/order/order_base.html:147 -#: order/templates/order/sales_order_base.html:154 -#: templates/js/translated/order.js:429 templates/js/translated/order.js:954 +#: order/models.py:797 order/templates/order/order_base.html:151 +#: order/templates/order/sales_order_base.html:155 +#: templates/js/translated/order.js:429 templates/js/translated/order.js:953 +#: templates/js/translated/part.js:847 templates/js/translated/part.js:873 msgid "Received" msgstr "" @@ -3113,9 +3131,9 @@ msgstr "" msgid "Number of items received" msgstr "" -#: order/models.py:805 part/templates/part/prices.html:176 stock/models.py:619 -#: stock/serializers.py:163 stock/templates/stock/item_base.html:332 -#: templates/js/translated/stock.js:1354 +#: order/models.py:805 part/templates/part/prices.html:176 stock/models.py:609 +#: stock/serializers.py:168 stock/templates/stock/item_base.html:360 +#: templates/js/translated/stock.js:1436 msgid "Purchase Price" msgstr "" @@ -3176,47 +3194,47 @@ msgstr "" msgid "Enter stock allocation quantity" msgstr "" -#: order/serializers.py:169 +#: order/serializers.py:175 msgid "Purchase price currency" msgstr "" -#: order/serializers.py:204 +#: order/serializers.py:213 msgid "Line Item" msgstr "" -#: order/serializers.py:210 +#: order/serializers.py:219 msgid "Line item does not match purchase order" msgstr "" -#: order/serializers.py:220 order/serializers.py:288 +#: order/serializers.py:229 order/serializers.py:297 msgid "Select destination location for received items" msgstr "" -#: order/serializers.py:244 +#: order/serializers.py:253 msgid "Barcode Hash" msgstr "" -#: order/serializers.py:245 +#: order/serializers.py:254 msgid "Unique identifier field" msgstr "" -#: order/serializers.py:262 +#: order/serializers.py:271 msgid "Barcode is already in use" msgstr "" -#: order/serializers.py:300 +#: order/serializers.py:309 msgid "Line items must be provided" msgstr "" -#: order/serializers.py:317 +#: order/serializers.py:326 msgid "Destination location must be specified" msgstr "" -#: order/serializers.py:328 +#: order/serializers.py:337 msgid "Supplied barcode values must be unique" msgstr "" -#: order/serializers.py:569 +#: order/serializers.py:578 msgid "Sale price currency" msgstr "" @@ -3248,22 +3266,36 @@ msgstr "" msgid "Receive items" msgstr "" -#: order/templates/order/order_base.html:93 -#: order/templates/order/sales_order_base.html:98 +#: order/templates/order/order_base.html:58 +#: order/templates/order/purchase_order_detail.html:31 +msgid "Receive Items" +msgstr "" + +#: order/templates/order/order_base.html:62 order/views.py:185 +msgid "Complete Order" +msgstr "" + +#: order/templates/order/order_base.html:84 +#: order/templates/order/sales_order_base.html:79 msgid "Order Reference" msgstr "" -#: order/templates/order/order_base.html:98 -#: order/templates/order/sales_order_base.html:103 +#: order/templates/order/order_base.html:89 +#: order/templates/order/sales_order_base.html:84 +msgid "Order Description" +msgstr "" + +#: order/templates/order/order_base.html:94 +#: order/templates/order/sales_order_base.html:89 msgid "Order Status" msgstr "" -#: order/templates/order/order_base.html:133 +#: order/templates/order/order_base.html:137 #: report/templates/report/inventree_build_order_base.html:122 msgid "Issued" msgstr "" -#: order/templates/order/order_base.html:203 +#: order/templates/order/order_base.html:207 msgid "Edit Purchase Order" msgstr "" @@ -3421,7 +3453,7 @@ msgid "Select existing purchase orders, or create new orders." msgstr "" #: order/templates/order/order_wizard/select_pos.html:31 -#: templates/js/translated/order.js:695 templates/js/translated/order.js:1119 +#: templates/js/translated/order.js:694 templates/js/translated/order.js:1118 msgid "Items" msgstr "" @@ -3465,10 +3497,6 @@ msgstr "" msgid "Receive selected items" msgstr "" -#: order/templates/order/purchase_order_detail.html:31 -msgid "Receive Items" -msgstr "" - #: order/templates/order/purchase_order_detail.html:50 msgid "Received Items" msgstr "" @@ -3496,16 +3524,16 @@ msgstr "" msgid "Ship Order" msgstr "" -#: order/templates/order/sales_order_base.html:86 +#: order/templates/order/sales_order_base.html:102 msgid "This Sales Order has not been fully allocated" msgstr "" -#: order/templates/order/sales_order_base.html:121 -#: templates/js/translated/order.js:1086 +#: order/templates/order/sales_order_base.html:122 +#: templates/js/translated/order.js:1085 msgid "Customer Reference" msgstr "" -#: order/templates/order/sales_order_base.html:194 +#: order/templates/order/sales_order_base.html:195 msgid "Edit Sales Order" msgstr "" @@ -3576,10 +3604,6 @@ msgstr "" msgid "Purchase order issued" msgstr "" -#: order/views.py:185 -msgid "Complete Order" -msgstr "" - #: order/views.py:201 msgid "Confirm order completion" msgstr "" @@ -3672,11 +3696,11 @@ msgid "This field is required" msgstr "" #: part/bom.py:125 part/models.py:81 part/models.py:816 -#: part/templates/part/category.html:90 part/templates/part/detail.html:104 +#: part/templates/part/category.html:104 part/templates/part/part_base.html:338 msgid "Default Location" msgstr "" -#: part/bom.py:126 part/templates/part/part_base.html:167 +#: part/bom.py:126 part/templates/part/part_base.html:185 msgid "Available Stock" msgstr "" @@ -3793,19 +3817,19 @@ msgstr "" msgid "Part Category" msgstr "" -#: part/models.py:96 part/templates/part/category.html:117 +#: part/models.py:96 part/templates/part/category.html:124 #: templates/InvenTree/search.html:101 templates/stats.html:84 #: users/models.py:40 msgid "Part Categories" msgstr "" #: part/models.py:358 part/templates/part/cat_link.html:3 -#: part/templates/part/category.html:13 part/templates/part/category.html:122 -#: part/templates/part/category.html:142 +#: part/templates/part/category.html:13 part/templates/part/category.html:129 +#: part/templates/part/category.html:149 #: part/templates/part/category_sidebar.html:9 #: templates/InvenTree/index.html:85 templates/InvenTree/search.html:88 #: templates/InvenTree/settings/sidebar.html:36 -#: templates/js/translated/part.js:1416 templates/navbar.html:19 +#: templates/js/translated/part.js:1597 templates/navbar.html:19 #: templates/stats.html:80 templates/stats.html:89 users/models.py:41 msgid "Parts" msgstr "" @@ -3859,8 +3883,8 @@ msgstr "" msgid "Part description" msgstr "" -#: part/models.py:770 part/templates/part/category.html:97 -#: part/templates/part/detail.html:73 +#: part/models.py:770 part/templates/part/category.html:82 +#: part/templates/part/part_base.html:302 msgid "Keywords" msgstr "" @@ -3869,9 +3893,10 @@ msgid "Part keywords to improve visibility in search results" msgstr "" #: part/models.py:778 part/models.py:2223 part/models.py:2472 -#: part/templates/part/detail.html:36 part/templates/part/set_category.html:15 +#: part/templates/part/part_base.html:265 +#: part/templates/part/set_category.html:15 #: templates/InvenTree/settings/settings.html:163 -#: templates/js/translated/part.js:1021 +#: templates/js/translated/part.js:1202 msgid "Category" msgstr "" @@ -3879,9 +3904,9 @@ msgstr "" msgid "Part category" msgstr "" -#: part/models.py:784 part/templates/part/detail.html:45 -#: templates/js/translated/part.js:550 templates/js/translated/part.js:974 -#: templates/js/translated/stock.js:1134 +#: part/models.py:784 part/templates/part/part_base.html:274 +#: templates/js/translated/part.js:557 templates/js/translated/part.js:1155 +#: templates/js/translated/stock.js:1216 msgid "IPN" msgstr "" @@ -3893,8 +3918,8 @@ msgstr "" msgid "Part revision or version number" msgstr "" -#: part/models.py:792 part/templates/part/detail.html:52 report/models.py:200 -#: templates/js/translated/part.js:554 +#: part/models.py:792 part/templates/part/part_base.html:281 +#: report/models.py:200 templates/js/translated/part.js:561 msgid "Revision" msgstr "" @@ -3902,7 +3927,7 @@ msgstr "" msgid "Where is this item normally stored?" msgstr "" -#: part/models.py:861 part/templates/part/detail.html:113 +#: part/models.py:861 part/templates/part/part_base.html:347 msgid "Default Supplier" msgstr "" @@ -3918,7 +3943,7 @@ msgstr "" msgid "Expiry time (in days) for stock items of this part" msgstr "" -#: part/models.py:875 part/templates/part/part_base.html:178 +#: part/models.py:875 part/templates/part/part_base.html:196 msgid "Minimum Stock" msgstr "" @@ -4001,8 +4026,8 @@ msgstr "" msgid "Test with this name already exists for this part" msgstr "" -#: part/models.py:2310 templates/js/translated/part.js:1467 -#: templates/js/translated/stock.js:858 +#: part/models.py:2310 templates/js/translated/part.js:1648 +#: templates/js/translated/stock.js:940 msgid "Test Name" msgstr "" @@ -4018,7 +4043,7 @@ msgstr "" msgid "Enter description for this test" msgstr "" -#: part/models.py:2322 templates/js/translated/part.js:1476 +#: part/models.py:2322 templates/js/translated/part.js:1657 #: templates/js/translated/table_filters.js:276 msgid "Required" msgstr "" @@ -4027,7 +4052,7 @@ msgstr "" msgid "Is this test required to pass?" msgstr "" -#: part/models.py:2328 templates/js/translated/part.js:1484 +#: part/models.py:2328 templates/js/translated/part.js:1665 msgid "Requires Value" msgstr "" @@ -4035,7 +4060,7 @@ msgstr "" msgid "Does this test require a value when adding a test result?" msgstr "" -#: part/models.py:2334 templates/js/translated/part.js:1491 +#: part/models.py:2334 templates/js/translated/part.js:1672 msgid "Requires Attachment" msgstr "" @@ -4150,7 +4175,7 @@ msgstr "" msgid "Stock items for variant parts can be used for this BOM item" msgstr "" -#: part/models.py:2686 stock/models.py:371 +#: part/models.py:2686 stock/models.py:361 msgid "Quantity must be integer value for trackable parts" msgstr "" @@ -4213,7 +4238,7 @@ msgstr "" msgid "The BOM for %(part)s has not been validated." msgstr "" -#: part/templates/part/bom.html:30 part/templates/part/detail.html:357 +#: part/templates/part/bom.html:30 part/templates/part/detail.html:250 msgid "BOM actions" msgstr "" @@ -4298,68 +4323,64 @@ msgstr "" msgid "New Category" msgstr "" -#: part/templates/part/category.html:67 -msgid "Top level part category" -msgstr "" - -#: part/templates/part/category.html:79 +#: part/templates/part/category.html:76 part/templates/part/category.html:89 msgid "Category Path" msgstr "" -#: part/templates/part/category.html:84 -msgid "Category Description" +#: part/templates/part/category.html:90 +msgid "Top level part category" msgstr "" -#: part/templates/part/category.html:103 part/templates/part/category.html:194 +#: part/templates/part/category.html:110 part/templates/part/category.html:201 #: part/templates/part/category_sidebar.html:7 msgid "Subcategories" msgstr "" -#: part/templates/part/category.html:108 +#: part/templates/part/category.html:115 msgid "Parts (Including subcategories)" msgstr "" -#: part/templates/part/category.html:145 +#: part/templates/part/category.html:152 msgid "Export Part Data" msgstr "" -#: part/templates/part/category.html:146 part/templates/part/category.html:170 +#: part/templates/part/category.html:153 part/templates/part/category.html:177 msgid "Export" msgstr "" -#: part/templates/part/category.html:149 +#: part/templates/part/category.html:156 msgid "Create new part" msgstr "" -#: part/templates/part/category.html:150 templates/js/translated/bom.js:40 +#: part/templates/part/category.html:157 templates/js/translated/bom.js:40 msgid "New Part" msgstr "" -#: part/templates/part/category.html:164 +#: part/templates/part/category.html:171 msgid "Set category" msgstr "" -#: part/templates/part/category.html:164 +#: part/templates/part/category.html:171 msgid "Set Category" msgstr "" -#: part/templates/part/category.html:168 +#: part/templates/part/category.html:175 msgid "Print Labels" msgstr "" -#: part/templates/part/category.html:170 +#: part/templates/part/category.html:177 msgid "Export Data" msgstr "" -#: part/templates/part/category.html:184 +#: part/templates/part/category.html:191 msgid "Part Parameters" msgstr "" -#: part/templates/part/category.html:261 +#: part/templates/part/category.html:268 msgid "Create Part Category" msgstr "" -#: part/templates/part/category.html:288 +#: part/templates/part/category.html:295 msgid "Create Part" msgstr "" @@ -4402,7 +4423,7 @@ msgstr "" msgid "Import Parts" msgstr "" -#: part/templates/part/copy_part.html:9 templates/js/translated/part.js:366 +#: part/templates/part/copy_part.html:9 templates/js/translated/part.js:373 msgid "Duplicate Part" msgstr "" @@ -4426,167 +4447,155 @@ msgstr "" msgid "%(full_name)s - %(desc)s (%(match_per)s%% match)" msgstr "" -#: part/templates/part/detail.html:16 -msgid "Part Details" -msgstr "" - -#: part/templates/part/detail.html:66 -msgid "Minimum stock level" -msgstr "" - -#: part/templates/part/detail.html:97 -msgid "Latest Serial Number" -msgstr "" - -#: part/templates/part/detail.html:124 +#: part/templates/part/detail.html:17 msgid "Part Stock" msgstr "" -#: part/templates/part/detail.html:136 +#: part/templates/part/detail.html:29 #, python-format msgid "Showing stock for all variants of %(full_name)s" msgstr "" -#: part/templates/part/detail.html:146 +#: part/templates/part/detail.html:39 msgid "Part Test Templates" msgstr "" -#: part/templates/part/detail.html:151 +#: part/templates/part/detail.html:44 msgid "Add Test Template" msgstr "" -#: part/templates/part/detail.html:208 +#: part/templates/part/detail.html:101 msgid "Sales Order Allocations" msgstr "" -#: part/templates/part/detail.html:249 +#: part/templates/part/detail.html:142 msgid "Part Variants" msgstr "" -#: part/templates/part/detail.html:253 +#: part/templates/part/detail.html:146 msgid "Create new variant" msgstr "" -#: part/templates/part/detail.html:254 +#: part/templates/part/detail.html:147 msgid "New Variant" msgstr "" -#: part/templates/part/detail.html:281 +#: part/templates/part/detail.html:174 msgid "Add new parameter" msgstr "" -#: part/templates/part/detail.html:315 part/templates/part/part_sidebar.html:47 +#: part/templates/part/detail.html:208 part/templates/part/part_sidebar.html:45 msgid "Related Parts" msgstr "" -#: part/templates/part/detail.html:319 part/templates/part/detail.html:320 +#: part/templates/part/detail.html:212 part/templates/part/detail.html:213 msgid "Add Related" msgstr "" -#: part/templates/part/detail.html:340 part/templates/part/part_sidebar.html:19 +#: part/templates/part/detail.html:233 part/templates/part/part_sidebar.html:17 msgid "Bill of Materials" msgstr "" -#: part/templates/part/detail.html:345 +#: part/templates/part/detail.html:238 msgid "Export actions" msgstr "" -#: part/templates/part/detail.html:349 +#: part/templates/part/detail.html:242 msgid "Export BOM" msgstr "" -#: part/templates/part/detail.html:351 +#: part/templates/part/detail.html:244 msgid "Print BOM Report" msgstr "" -#: part/templates/part/detail.html:361 +#: part/templates/part/detail.html:254 msgid "Upload BOM" msgstr "" -#: part/templates/part/detail.html:363 templates/js/translated/part.js:267 +#: part/templates/part/detail.html:256 templates/js/translated/part.js:270 msgid "Copy BOM" msgstr "" -#: part/templates/part/detail.html:365 part/views.py:755 +#: part/templates/part/detail.html:258 part/views.py:755 msgid "Validate BOM" msgstr "" -#: part/templates/part/detail.html:370 +#: part/templates/part/detail.html:263 msgid "New BOM Item" msgstr "" -#: part/templates/part/detail.html:371 +#: part/templates/part/detail.html:264 msgid "Add BOM Item" msgstr "" -#: part/templates/part/detail.html:384 +#: part/templates/part/detail.html:277 msgid "Assemblies" msgstr "" -#: part/templates/part/detail.html:401 +#: part/templates/part/detail.html:294 msgid "Part Builds" msgstr "" -#: part/templates/part/detail.html:426 +#: part/templates/part/detail.html:319 msgid "Build Order Allocations" msgstr "" -#: part/templates/part/detail.html:436 +#: part/templates/part/detail.html:329 msgid "Part Suppliers" msgstr "" -#: part/templates/part/detail.html:463 +#: part/templates/part/detail.html:356 msgid "Part Manufacturers" msgstr "" -#: part/templates/part/detail.html:479 +#: part/templates/part/detail.html:372 msgid "Delete manufacturer parts" msgstr "" -#: part/templates/part/detail.html:660 +#: part/templates/part/detail.html:553 msgid "Delete selected BOM items?" msgstr "" -#: part/templates/part/detail.html:661 +#: part/templates/part/detail.html:554 msgid "All selected BOM items will be deleted" msgstr "" -#: part/templates/part/detail.html:712 +#: part/templates/part/detail.html:605 msgid "Create BOM Item" msgstr "" -#: part/templates/part/detail.html:764 +#: part/templates/part/detail.html:657 msgid "Related Part" msgstr "" -#: part/templates/part/detail.html:772 +#: part/templates/part/detail.html:665 msgid "Add Related Part" msgstr "" -#: part/templates/part/detail.html:869 +#: part/templates/part/detail.html:760 msgid "Add Test Result Template" msgstr "" -#: part/templates/part/detail.html:926 +#: part/templates/part/detail.html:817 msgid "Edit Part Notes" msgstr "" -#: part/templates/part/detail.html:1039 +#: part/templates/part/detail.html:930 #, python-format msgid "Purchase Unit Price - %(currency)s" msgstr "" -#: part/templates/part/detail.html:1051 +#: part/templates/part/detail.html:942 #, python-format msgid "Unit Price-Cost Difference - %(currency)s" msgstr "" -#: part/templates/part/detail.html:1063 +#: part/templates/part/detail.html:954 #, python-format msgid "Supplier Unit Cost - %(currency)s" msgstr "" -#: part/templates/part/detail.html:1152 +#: part/templates/part/detail.html:1043 #, python-format msgid "Unit Price - %(currency)s" msgstr "" @@ -4668,86 +4677,108 @@ msgstr "" msgid "Delete part" msgstr "" -#: part/templates/part/part_base.html:109 +#: part/templates/part/part_base.html:112 msgid "Part is a template part (variants can be made from this part)" msgstr "" -#: part/templates/part/part_base.html:113 +#: part/templates/part/part_base.html:116 msgid "Part can be assembled from other parts" msgstr "" -#: part/templates/part/part_base.html:117 +#: part/templates/part/part_base.html:120 msgid "Part can be used in assemblies" msgstr "" -#: part/templates/part/part_base.html:121 +#: part/templates/part/part_base.html:124 msgid "Part stock is tracked by serial number" msgstr "" -#: part/templates/part/part_base.html:125 +#: part/templates/part/part_base.html:128 msgid "Part can be purchased from external suppliers" msgstr "" -#: part/templates/part/part_base.html:129 +#: part/templates/part/part_base.html:132 msgid "Part can be sold to customers" msgstr "" -#: part/templates/part/part_base.html:135 -#: part/templates/part/part_base.html:143 +#: part/templates/part/part_base.html:138 +#: part/templates/part/part_base.html:146 msgid "Part is virtual (not a physical part)" msgstr "" -#: part/templates/part/part_base.html:136 +#: part/templates/part/part_base.html:139 #: templates/js/translated/company.js:505 #: templates/js/translated/company.js:762 #: templates/js/translated/model_renderers.js:175 -#: templates/js/translated/part.js:465 templates/js/translated/part.js:542 +#: templates/js/translated/part.js:472 templates/js/translated/part.js:549 msgid "Inactive" msgstr "" -#: part/templates/part/part_base.html:155 +#: part/templates/part/part_base.html:156 +#: part/templates/part/part_base.html:579 +msgid "Show Part Details" +msgstr "" + +#: part/templates/part/part_base.html:173 #, python-format msgid "This part is a variant of %(link)s" msgstr "" -#: part/templates/part/part_base.html:172 templates/js/translated/order.js:1546 +#: part/templates/part/part_base.html:190 templates/js/translated/order.js:1545 #: templates/js/translated/table_filters.js:188 msgid "In Stock" msgstr "" -#: part/templates/part/part_base.html:185 templates/js/translated/part.js:1054 +#: part/templates/part/part_base.html:203 templates/js/translated/part.js:1235 msgid "On Order" msgstr "" -#: part/templates/part/part_base.html:192 templates/InvenTree/index.html:178 +#: part/templates/part/part_base.html:210 templates/InvenTree/index.html:178 msgid "Required for Build Orders" msgstr "" -#: part/templates/part/part_base.html:199 +#: part/templates/part/part_base.html:217 msgid "Required for Sales Orders" msgstr "" -#: part/templates/part/part_base.html:206 +#: part/templates/part/part_base.html:224 msgid "Allocated to Orders" msgstr "" -#: part/templates/part/part_base.html:221 templates/js/translated/bom.js:566 +#: part/templates/part/part_base.html:239 templates/js/translated/bom.js:566 msgid "Can Build" msgstr "" -#: part/templates/part/part_base.html:227 templates/js/translated/part.js:885 -#: templates/js/translated/part.js:1058 +#: part/templates/part/part_base.html:245 templates/js/translated/part.js:1066 +#: templates/js/translated/part.js:1239 msgid "Building" msgstr "" -#: part/templates/part/part_base.html:320 part/templates/part/prices.html:144 +#: part/templates/part/part_base.html:295 +msgid "Minimum stock level" +msgstr "" + +#: part/templates/part/part_base.html:324 +msgid "Latest Serial Number" +msgstr "" + +#: part/templates/part/part_base.html:328 +#: stock/templates/stock/item_base.html:159 +msgid "Search for serial number" +msgstr "" + +#: part/templates/part/part_base.html:449 part/templates/part/prices.html:144 msgid "Calculate" msgstr "" -#: part/templates/part/part_base.html:363 +#: part/templates/part/part_base.html:492 msgid "No matching images found" msgstr "" +#: part/templates/part/part_base.html:573 +msgid "Hide Part Details" +msgstr "" + #: part/templates/part/part_pricing.html:22 part/templates/part/prices.html:21 msgid "Supplier Pricing" msgstr "" @@ -4805,20 +4836,15 @@ msgstr "" msgid "No pricing information is available for this part." msgstr "" -#: part/templates/part/part_sidebar.html:8 -#: templates/js/translated/stock.js:1949 -msgid "Details" -msgstr "" - -#: part/templates/part/part_sidebar.html:13 +#: part/templates/part/part_sidebar.html:11 msgid "Variants" msgstr "" -#: part/templates/part/part_sidebar.html:27 +#: part/templates/part/part_sidebar.html:25 msgid "Used In" msgstr "" -#: part/templates/part/part_sidebar.html:43 +#: part/templates/part/part_sidebar.html:41 msgid "Test Templates" msgstr "" @@ -4934,8 +4960,8 @@ msgid "Set category for the following parts" msgstr "" #: part/templates/part/stock_count.html:7 templates/js/translated/bom.js:476 -#: templates/js/translated/part.js:429 templates/js/translated/part.js:875 -#: templates/js/translated/part.js:1062 +#: templates/js/translated/part.js:436 templates/js/translated/part.js:1056 +#: templates/js/translated/part.js:1243 msgid "No Stock" msgstr "" @@ -5037,7 +5063,7 @@ msgstr "" msgid "Delete Part Parameter Template" msgstr "" -#: part/views.py:1489 templates/js/translated/part.js:310 +#: part/views.py:1489 templates/js/translated/part.js:313 msgid "Edit Part Category" msgstr "" @@ -5171,11 +5197,12 @@ msgid "Stock Item Test Report" msgstr "" #: report/templates/report/inventree_test_report_base.html:79 -#: stock/models.py:530 stock/templates/stock/item_base.html:238 +#: stock/models.py:520 stock/templates/stock/item_base.html:149 #: templates/js/translated/build.js:233 templates/js/translated/build.js:637 #: templates/js/translated/build.js:1013 #: templates/js/translated/model_renderers.js:95 -#: templates/js/translated/order.js:1288 templates/js/translated/order.js:1377 +#: templates/js/translated/order.js:1287 templates/js/translated/order.js:1376 +#: templates/js/translated/stock.js:410 msgid "Serial Number" msgstr "" @@ -5184,17 +5211,17 @@ msgid "Test Results" msgstr "" #: report/templates/report/inventree_test_report_base.html:93 -#: stock/models.py:1855 +#: stock/models.py:1845 msgid "Test" msgstr "" #: report/templates/report/inventree_test_report_base.html:94 -#: stock/models.py:1861 +#: stock/models.py:1851 msgid "Result" msgstr "" #: report/templates/report/inventree_test_report_base.html:97 -#: templates/js/translated/order.js:685 templates/js/translated/stock.js:1917 +#: templates/js/translated/order.js:684 templates/js/translated/stock.js:1999 msgid "Date" msgstr "" @@ -5212,7 +5239,7 @@ msgid "Installed Items" msgstr "" #: report/templates/report/inventree_test_report_base.html:137 -#: templates/js/translated/stock.js:2177 +#: templates/js/translated/stock.js:2259 msgid "Serial" msgstr "" @@ -5220,9 +5247,9 @@ msgstr "" msgid "Quantity is required" msgstr "" -#: stock/forms.py:91 stock/forms.py:265 stock/models.py:587 -#: stock/templates/stock/item_base.html:382 -#: templates/js/translated/stock.js:1276 +#: stock/forms.py:91 stock/forms.py:265 stock/models.py:577 +#: stock/templates/stock/item_base.html:186 +#: templates/js/translated/stock.js:1358 msgid "Expiry Date" msgstr "" @@ -5270,241 +5297,241 @@ msgstr "" msgid "Confirm removal of installed stock items" msgstr "" -#: stock/models.py:60 stock/models.py:624 -#: stock/templates/stock/item_base.html:422 +#: stock/models.py:60 stock/models.py:614 +#: stock/templates/stock/item_base.html:417 msgid "Owner" msgstr "" -#: stock/models.py:61 stock/models.py:625 +#: stock/models.py:61 stock/models.py:615 msgid "Select Owner" msgstr "" -#: stock/models.py:352 +#: stock/models.py:342 msgid "StockItem with this serial number already exists" msgstr "" -#: stock/models.py:388 +#: stock/models.py:378 #, python-brace-format msgid "Part type ('{pf}') must be {pe}" msgstr "" -#: stock/models.py:398 stock/models.py:407 +#: stock/models.py:388 stock/models.py:397 msgid "Quantity must be 1 for item with a serial number" msgstr "" -#: stock/models.py:399 +#: stock/models.py:389 msgid "Serial number cannot be set if quantity greater than 1" msgstr "" -#: stock/models.py:421 +#: stock/models.py:411 msgid "Item cannot belong to itself" msgstr "" -#: stock/models.py:427 +#: stock/models.py:417 msgid "Item must have a build reference if is_building=True" msgstr "" -#: stock/models.py:434 +#: stock/models.py:424 msgid "Build reference does not point to the same part object" msgstr "" -#: stock/models.py:476 +#: stock/models.py:466 msgid "Parent Stock Item" msgstr "" -#: stock/models.py:485 +#: stock/models.py:475 msgid "Base part" msgstr "" -#: stock/models.py:493 +#: stock/models.py:483 msgid "Select a matching supplier part for this stock item" msgstr "" -#: stock/models.py:498 stock/templates/stock/location.html:12 +#: stock/models.py:488 stock/templates/stock/location.html:12 #: stock/templates/stock/stock_app_base.html:8 msgid "Stock Location" msgstr "" -#: stock/models.py:501 +#: stock/models.py:491 msgid "Where is this stock item located?" msgstr "" -#: stock/models.py:508 +#: stock/models.py:498 msgid "Packaging this stock item is stored in" msgstr "" -#: stock/models.py:513 stock/templates/stock/item_base.html:271 +#: stock/models.py:503 stock/templates/stock/item_base.html:299 msgid "Installed In" msgstr "" -#: stock/models.py:516 +#: stock/models.py:506 msgid "Is this item installed in another item?" msgstr "" -#: stock/models.py:532 +#: stock/models.py:522 msgid "Serial number for this item" msgstr "" -#: stock/models.py:546 +#: stock/models.py:536 msgid "Batch code for this stock item" msgstr "" -#: stock/models.py:550 +#: stock/models.py:540 msgid "Stock Quantity" msgstr "" -#: stock/models.py:559 +#: stock/models.py:549 msgid "Source Build" msgstr "" -#: stock/models.py:561 +#: stock/models.py:551 msgid "Build for this stock item" msgstr "" -#: stock/models.py:572 +#: stock/models.py:562 msgid "Source Purchase Order" msgstr "" -#: stock/models.py:575 +#: stock/models.py:565 msgid "Purchase order for this stock item" msgstr "" -#: stock/models.py:581 +#: stock/models.py:571 msgid "Destination Sales Order" msgstr "" -#: stock/models.py:588 +#: stock/models.py:578 msgid "Expiry date for stock item. Stock will be considered expired after this date" msgstr "" -#: stock/models.py:601 +#: stock/models.py:591 msgid "Delete on deplete" msgstr "" -#: stock/models.py:601 +#: stock/models.py:591 msgid "Delete this Stock Item when stock is depleted" msgstr "" -#: stock/models.py:611 stock/templates/stock/item.html:111 +#: stock/models.py:601 stock/templates/stock/item.html:111 msgid "Stock Item Notes" msgstr "" -#: stock/models.py:620 +#: stock/models.py:610 msgid "Single unit purchase price at time of purchase" msgstr "" -#: stock/models.py:630 +#: stock/models.py:620 msgid "Scheduled for deletion" msgstr "" -#: stock/models.py:631 +#: stock/models.py:621 msgid "This StockItem will be deleted by the background worker" msgstr "" -#: stock/models.py:1094 +#: stock/models.py:1084 msgid "Part is not set as trackable" msgstr "" -#: stock/models.py:1100 +#: stock/models.py:1090 msgid "Quantity must be integer" msgstr "" -#: stock/models.py:1106 +#: stock/models.py:1096 #, python-brace-format msgid "Quantity must not exceed available stock quantity ({n})" msgstr "" -#: stock/models.py:1109 +#: stock/models.py:1099 msgid "Serial numbers must be a list of integers" msgstr "" -#: stock/models.py:1112 +#: stock/models.py:1102 msgid "Quantity does not match serial numbers" msgstr "" -#: stock/models.py:1119 +#: stock/models.py:1109 #, python-brace-format msgid "Serial numbers already exist: {exists}" msgstr "" -#: stock/models.py:1277 +#: stock/models.py:1267 msgid "StockItem cannot be moved as it is not in stock" msgstr "" -#: stock/models.py:1775 +#: stock/models.py:1765 msgid "Entry notes" msgstr "" -#: stock/models.py:1832 +#: stock/models.py:1822 msgid "Value must be provided for this test" msgstr "" -#: stock/models.py:1838 +#: stock/models.py:1828 msgid "Attachment must be uploaded for this test" msgstr "" -#: stock/models.py:1856 +#: stock/models.py:1846 msgid "Test name" msgstr "" -#: stock/models.py:1862 templates/js/translated/table_filters.js:266 +#: stock/models.py:1852 templates/js/translated/table_filters.js:266 msgid "Test result" msgstr "" -#: stock/models.py:1868 +#: stock/models.py:1858 msgid "Test output value" msgstr "" -#: stock/models.py:1875 +#: stock/models.py:1865 msgid "Test result attachment" msgstr "" -#: stock/models.py:1881 +#: stock/models.py:1871 msgid "Test notes" msgstr "" -#: stock/serializers.py:166 +#: stock/serializers.py:171 msgid "Purchase price of this stock item" msgstr "" -#: stock/serializers.py:173 +#: stock/serializers.py:178 msgid "Purchase currency of this stock item" msgstr "" -#: stock/serializers.py:287 +#: stock/serializers.py:292 msgid "Enter number of stock items to serialize" msgstr "" -#: stock/serializers.py:302 +#: stock/serializers.py:307 #, python-brace-format msgid "Quantity must not exceed available stock quantity ({q})" msgstr "" -#: stock/serializers.py:308 +#: stock/serializers.py:313 msgid "Enter serial numbers for new items" msgstr "" -#: stock/serializers.py:319 stock/serializers.py:686 +#: stock/serializers.py:324 stock/serializers.py:691 msgid "Destination stock location" msgstr "" -#: stock/serializers.py:326 +#: stock/serializers.py:331 msgid "Optional note field" msgstr "" -#: stock/serializers.py:339 +#: stock/serializers.py:344 msgid "Serial numbers cannot be assigned to this part" msgstr "" -#: stock/serializers.py:556 +#: stock/serializers.py:561 msgid "StockItem primary key value" msgstr "" -#: stock/serializers.py:584 +#: stock/serializers.py:589 msgid "Stock transaction notes" msgstr "" -#: stock/serializers.py:594 +#: stock/serializers.py:599 msgid "A list of stock items must be provided" msgstr "" @@ -5629,125 +5656,131 @@ msgstr "" msgid "Install" msgstr "" -#: stock/templates/stock/item_base.html:106 +#: stock/templates/stock/item_base.html:108 msgid "Convert to variant" msgstr "" -#: stock/templates/stock/item_base.html:109 +#: stock/templates/stock/item_base.html:111 msgid "Duplicate stock item" msgstr "" -#: stock/templates/stock/item_base.html:111 +#: stock/templates/stock/item_base.html:113 msgid "Edit stock item" msgstr "" -#: stock/templates/stock/item_base.html:114 +#: stock/templates/stock/item_base.html:116 msgid "Delete stock item" msgstr "" -#: stock/templates/stock/item_base.html:136 -#: stock/templates/stock/item_base.html:386 -#: templates/js/translated/table_filters.js:247 -msgid "Expired" +#: stock/templates/stock/item_base.html:154 +msgid "previous page" msgstr "" -#: stock/templates/stock/item_base.html:146 -#: stock/templates/stock/item_base.html:388 -#: templates/js/translated/table_filters.js:253 -msgid "Stale" +#: stock/templates/stock/item_base.html:154 +msgid "Navigate to previous serial number" msgstr "" -#: stock/templates/stock/item_base.html:161 -msgid "You are not in the list of owners of this item. This stock item cannot be edited." +#: stock/templates/stock/item_base.html:163 +msgid "next page" msgstr "" -#: stock/templates/stock/item_base.html:168 -msgid "This stock item is in production and cannot be edited." -msgstr "" - -#: stock/templates/stock/item_base.html:169 -msgid "Edit the stock item from the build view." -msgstr "" - -#: stock/templates/stock/item_base.html:182 -msgid "This stock item has not passed all required tests" +#: stock/templates/stock/item_base.html:163 +msgid "Navigate to next serial number" msgstr "" #: stock/templates/stock/item_base.html:190 #, python-format -msgid "This stock item is allocated to Sales Order %(link)s (Quantity: %(qty)s)" -msgstr "" - -#: stock/templates/stock/item_base.html:198 -#, python-format -msgid "This stock item is allocated to Build %(link)s (Quantity: %(qty)s)" -msgstr "" - -#: stock/templates/stock/item_base.html:204 -msgid "This stock item is serialized - it has a unique serial number and the quantity cannot be adjusted." -msgstr "" - -#: stock/templates/stock/item_base.html:208 -msgid "This stock item cannot be deleted as it has child items" -msgstr "" - -#: stock/templates/stock/item_base.html:212 -msgid "This stock item will be automatically deleted when all stock is depleted." -msgstr "" - -#: stock/templates/stock/item_base.html:241 -msgid "previous page" -msgstr "" - -#: stock/templates/stock/item_base.html:247 -msgid "next page" -msgstr "" - -#: stock/templates/stock/item_base.html:290 -#: templates/js/translated/build.js:1035 -msgid "No location set" -msgstr "" - -#: stock/templates/stock/item_base.html:297 -msgid "Barcode Identifier" -msgstr "" - -#: stock/templates/stock/item_base.html:339 -msgid "Parent Item" -msgstr "" - -#: stock/templates/stock/item_base.html:357 -msgid "No manufacturer set" -msgstr "" - -#: stock/templates/stock/item_base.html:386 -#, python-format msgid "This StockItem expired on %(item.expiry_date)s" msgstr "" -#: stock/templates/stock/item_base.html:388 +#: stock/templates/stock/item_base.html:190 +#: templates/js/translated/table_filters.js:247 +msgid "Expired" +msgstr "" + +#: stock/templates/stock/item_base.html:192 #, python-format msgid "This StockItem expires on %(item.expiry_date)s" msgstr "" -#: stock/templates/stock/item_base.html:395 -#: templates/js/translated/stock.js:1289 +#: stock/templates/stock/item_base.html:192 +#: templates/js/translated/table_filters.js:253 +msgid "Stale" +msgstr "" + +#: stock/templates/stock/item_base.html:199 +#: templates/js/translated/stock.js:1371 msgid "Last Updated" msgstr "" -#: stock/templates/stock/item_base.html:400 +#: stock/templates/stock/item_base.html:204 msgid "Last Stocktake" msgstr "" -#: stock/templates/stock/item_base.html:404 +#: stock/templates/stock/item_base.html:208 msgid "No stocktake performed" msgstr "" -#: stock/templates/stock/item_base.html:415 +#: stock/templates/stock/item_base.html:226 +msgid "You are not in the list of owners of this item. This stock item cannot be edited." +msgstr "" + +#: stock/templates/stock/item_base.html:233 +msgid "This stock item is in production and cannot be edited." +msgstr "" + +#: stock/templates/stock/item_base.html:234 +msgid "Edit the stock item from the build view." +msgstr "" + +#: stock/templates/stock/item_base.html:247 +msgid "This stock item has not passed all required tests" +msgstr "" + +#: stock/templates/stock/item_base.html:255 +#, python-format +msgid "This stock item is allocated to Sales Order %(link)s (Quantity: %(qty)s)" +msgstr "" + +#: stock/templates/stock/item_base.html:263 +#, python-format +msgid "This stock item is allocated to Build %(link)s (Quantity: %(qty)s)" +msgstr "" + +#: stock/templates/stock/item_base.html:269 +msgid "This stock item is serialized - it has a unique serial number and the quantity cannot be adjusted." +msgstr "" + +#: stock/templates/stock/item_base.html:273 +msgid "This stock item cannot be deleted as it has child items" +msgstr "" + +#: stock/templates/stock/item_base.html:277 +msgid "This stock item will be automatically deleted when all stock is depleted." +msgstr "" + +#: stock/templates/stock/item_base.html:318 +#: templates/js/translated/build.js:1035 +msgid "No location set" +msgstr "" + +#: stock/templates/stock/item_base.html:325 +msgid "Barcode Identifier" +msgstr "" + +#: stock/templates/stock/item_base.html:367 +msgid "Parent Item" +msgstr "" + +#: stock/templates/stock/item_base.html:385 +msgid "No manufacturer set" +msgstr "" + +#: stock/templates/stock/item_base.html:410 msgid "Tests" msgstr "" -#: stock/templates/stock/item_base.html:505 +#: stock/templates/stock/item_base.html:500 msgid "Edit Stock Status" msgstr "" @@ -5825,30 +5858,35 @@ msgstr "" msgid "New Location" msgstr "" -#: stock/templates/stock/location.html:86 +#: stock/templates/stock/location.html:95 +#: stock/templates/stock/location.html:101 +msgid "Location Path" +msgstr "" + +#: stock/templates/stock/location.html:102 msgid "Top level stock location" msgstr "" -#: stock/templates/stock/location.html:95 +#: stock/templates/stock/location.html:115 msgid "You are not in the list of owners of this location. This stock location cannot be edited." msgstr "" -#: stock/templates/stock/location.html:113 -#: stock/templates/stock/location.html:160 +#: stock/templates/stock/location.html:128 +#: stock/templates/stock/location.html:175 #: stock/templates/stock/location_sidebar.html:5 msgid "Sublocations" msgstr "" -#: stock/templates/stock/location.html:127 templates/InvenTree/search.html:170 +#: stock/templates/stock/location.html:142 templates/InvenTree/search.html:170 #: templates/stats.html:97 users/models.py:42 msgid "Stock Locations" msgstr "" -#: stock/templates/stock/location.html:167 templates/stock_table.html:30 +#: stock/templates/stock/location.html:182 templates/stock_table.html:30 msgid "Printing Actions" msgstr "" -#: stock/templates/stock/location.html:171 templates/stock_table.html:34 +#: stock/templates/stock/location.html:186 templates/stock_table.html:34 msgid "Print labels" msgstr "" @@ -5942,7 +5980,7 @@ msgstr "" msgid "Uninstall Stock Items" msgstr "" -#: stock/views.py:760 templates/js/translated/stock.js:648 +#: stock/views.py:760 templates/js/translated/stock.js:730 msgid "Confirm stock adjustment" msgstr "" @@ -5950,7 +5988,7 @@ msgstr "" msgid "Uninstalled stock items" msgstr "" -#: stock/views.py:793 templates/js/translated/stock.js:318 +#: stock/views.py:793 templates/js/translated/stock.js:319 msgid "Edit Stock Item" msgstr "" @@ -5962,7 +6000,7 @@ msgstr "" msgid "Create new Stock Item" msgstr "" -#: stock/views.py:1186 templates/js/translated/stock.js:298 +#: stock/views.py:1186 templates/js/translated/stock.js:299 msgid "Duplicate Stock Item" msgstr "" @@ -6868,7 +6906,7 @@ msgstr "" msgid "Unlink" msgstr "" -#: templates/js/translated/barcode.js:397 templates/js/translated/stock.js:600 +#: templates/js/translated/barcode.js:397 templates/js/translated/stock.js:682 msgid "Remove stock item" msgstr "" @@ -6963,7 +7001,7 @@ msgid "View BOM" msgstr "" #: templates/js/translated/bom.js:608 templates/js/translated/build.js:1183 -#: templates/js/translated/order.js:1320 +#: templates/js/translated/order.js:1319 msgid "Actions" msgstr "" @@ -7055,7 +7093,7 @@ msgstr "" msgid "No build order allocations found" msgstr "" -#: templates/js/translated/build.js:424 templates/js/translated/order.js:1194 +#: templates/js/translated/build.js:424 templates/js/translated/order.js:1193 msgid "Location not specified" msgstr "" @@ -7064,12 +7102,12 @@ msgid "No active build outputs found" msgstr "" #: templates/js/translated/build.js:1052 templates/js/translated/build.js:1760 -#: templates/js/translated/order.js:1327 +#: templates/js/translated/order.js:1326 msgid "Edit stock allocation" msgstr "" #: templates/js/translated/build.js:1054 templates/js/translated/build.js:1761 -#: templates/js/translated/order.js:1328 +#: templates/js/translated/order.js:1327 msgid "Delete stock allocation" msgstr "" @@ -7090,11 +7128,11 @@ msgid "Quantity Per" msgstr "" #: templates/js/translated/build.js:1134 templates/js/translated/build.js:1360 -#: templates/js/translated/build.js:1756 templates/js/translated/order.js:1557 +#: templates/js/translated/build.js:1756 templates/js/translated/order.js:1556 msgid "Allocated" msgstr "" -#: templates/js/translated/build.js:1190 templates/js/translated/order.js:1611 +#: templates/js/translated/build.js:1190 templates/js/translated/order.js:1610 msgid "Build stock" msgstr "" @@ -7102,7 +7140,7 @@ msgstr "" msgid "Order stock" msgstr "" -#: templates/js/translated/build.js:1197 templates/js/translated/order.js:1604 +#: templates/js/translated/build.js:1197 templates/js/translated/order.js:1603 msgid "Allocate stock" msgstr "" @@ -7143,9 +7181,9 @@ msgstr "" msgid "No builds matching query" msgstr "" -#: templates/js/translated/build.js:1593 templates/js/translated/part.js:966 -#: templates/js/translated/part.js:1377 templates/js/translated/stock.js:1094 -#: templates/js/translated/stock.js:1871 +#: templates/js/translated/build.js:1593 templates/js/translated/part.js:1147 +#: templates/js/translated/part.js:1558 templates/js/translated/stock.js:1176 +#: templates/js/translated/stock.js:1953 msgid "Select" msgstr "" @@ -7153,7 +7191,7 @@ msgstr "" msgid "Build order is overdue" msgstr "" -#: templates/js/translated/build.js:1674 templates/js/translated/stock.js:2090 +#: templates/js/translated/build.js:1674 templates/js/translated/stock.js:2172 msgid "No user information" msgstr "" @@ -7197,10 +7235,6 @@ msgstr "" msgid "Delete Supplier Part" msgstr "" -#: templates/js/translated/company.js:265 -msgid "Edit Company" -msgstr "" - #: templates/js/translated/company.js:286 msgid "Add new Company" msgstr "" @@ -7230,34 +7264,34 @@ msgid "No manufacturer parts found" msgstr "" #: templates/js/translated/company.js:497 -#: templates/js/translated/company.js:754 templates/js/translated/part.js:449 -#: templates/js/translated/part.js:534 +#: templates/js/translated/company.js:754 templates/js/translated/part.js:456 +#: templates/js/translated/part.js:541 msgid "Template part" msgstr "" #: templates/js/translated/company.js:501 -#: templates/js/translated/company.js:758 templates/js/translated/part.js:453 -#: templates/js/translated/part.js:538 +#: templates/js/translated/company.js:758 templates/js/translated/part.js:460 +#: templates/js/translated/part.js:545 msgid "Assembled part" msgstr "" -#: templates/js/translated/company.js:628 templates/js/translated/part.js:626 +#: templates/js/translated/company.js:628 templates/js/translated/part.js:633 msgid "No parameters found" msgstr "" -#: templates/js/translated/company.js:665 templates/js/translated/part.js:668 +#: templates/js/translated/company.js:665 templates/js/translated/part.js:675 msgid "Edit parameter" msgstr "" -#: templates/js/translated/company.js:666 templates/js/translated/part.js:669 +#: templates/js/translated/company.js:666 templates/js/translated/part.js:676 msgid "Delete parameter" msgstr "" -#: templates/js/translated/company.js:685 templates/js/translated/part.js:686 +#: templates/js/translated/company.js:685 templates/js/translated/part.js:693 msgid "Edit Parameter" msgstr "" -#: templates/js/translated/company.js:696 templates/js/translated/part.js:698 +#: templates/js/translated/company.js:696 templates/js/translated/part.js:705 msgid "Delete Parameter" msgstr "" @@ -7346,7 +7380,7 @@ msgid "NO" msgstr "" #: templates/js/translated/label.js:29 templates/js/translated/report.js:118 -#: templates/js/translated/stock.js:624 +#: templates/js/translated/stock.js:706 msgid "Select Stock Items" msgstr "" @@ -7502,11 +7536,11 @@ msgstr "" msgid "Export Order" msgstr "" -#: templates/js/translated/order.js:211 templates/js/translated/stock.js:423 +#: templates/js/translated/order.js:211 templates/js/translated/stock.js:505 msgid "Format" msgstr "" -#: templates/js/translated/order.js:212 templates/js/translated/stock.js:424 +#: templates/js/translated/order.js:212 templates/js/translated/stock.js:506 msgid "Select file format" msgstr "" @@ -7522,7 +7556,7 @@ msgstr "" msgid "Quantity to receive" msgstr "" -#: templates/js/translated/order.js:360 templates/js/translated/stock.js:1673 +#: templates/js/translated/order.js:360 templates/js/translated/stock.js:1755 msgid "Stock Status" msgstr "" @@ -7546,321 +7580,321 @@ msgstr "" msgid "Receive Purchase Order Items" msgstr "" -#: templates/js/translated/order.js:627 +#: templates/js/translated/order.js:627 templates/js/translated/part.js:746 msgid "No purchase orders found" msgstr "" -#: templates/js/translated/order.js:652 templates/js/translated/order.js:1063 +#: templates/js/translated/order.js:659 templates/js/translated/order.js:1062 msgid "Order is overdue" msgstr "" -#: templates/js/translated/order.js:772 templates/js/translated/order.js:1646 +#: templates/js/translated/order.js:771 templates/js/translated/order.js:1645 msgid "Edit Line Item" msgstr "" -#: templates/js/translated/order.js:784 templates/js/translated/order.js:1657 +#: templates/js/translated/order.js:783 templates/js/translated/order.js:1656 msgid "Delete Line Item" msgstr "" -#: templates/js/translated/order.js:823 +#: templates/js/translated/order.js:822 msgid "No line items found" msgstr "" -#: templates/js/translated/order.js:850 templates/js/translated/order.js:1467 +#: templates/js/translated/order.js:849 templates/js/translated/order.js:1466 msgid "Total" msgstr "" -#: templates/js/translated/order.js:904 templates/js/translated/order.js:1492 -#: templates/js/translated/part.js:1594 templates/js/translated/part.js:1805 +#: templates/js/translated/order.js:903 templates/js/translated/order.js:1491 +#: templates/js/translated/part.js:1775 templates/js/translated/part.js:1986 msgid "Unit Price" msgstr "" -#: templates/js/translated/order.js:919 templates/js/translated/order.js:1508 +#: templates/js/translated/order.js:918 templates/js/translated/order.js:1507 msgid "Total Price" msgstr "" -#: templates/js/translated/order.js:997 templates/js/translated/order.js:1617 +#: templates/js/translated/order.js:996 templates/js/translated/order.js:1616 msgid "Edit line item" msgstr "" -#: templates/js/translated/order.js:998 +#: templates/js/translated/order.js:997 msgid "Delete line item" msgstr "" -#: templates/js/translated/order.js:1002 +#: templates/js/translated/order.js:1001 templates/js/translated/part.js:878 msgid "Receive line item" msgstr "" -#: templates/js/translated/order.js:1039 +#: templates/js/translated/order.js:1038 msgid "No sales orders found" msgstr "" -#: templates/js/translated/order.js:1077 +#: templates/js/translated/order.js:1076 msgid "Invalid Customer" msgstr "" -#: templates/js/translated/order.js:1155 +#: templates/js/translated/order.js:1154 msgid "No sales order allocations found" msgstr "" -#: templates/js/translated/order.js:1248 +#: templates/js/translated/order.js:1247 msgid "Edit Stock Allocation" msgstr "" -#: templates/js/translated/order.js:1265 +#: templates/js/translated/order.js:1264 msgid "Confirm Delete Operation" msgstr "" -#: templates/js/translated/order.js:1266 +#: templates/js/translated/order.js:1265 msgid "Delete Stock Allocation" msgstr "" -#: templates/js/translated/order.js:1308 +#: templates/js/translated/order.js:1307 msgid "Stock location not specified" msgstr "" -#: templates/js/translated/order.js:1557 +#: templates/js/translated/order.js:1556 msgid "Fulfilled" msgstr "" -#: templates/js/translated/order.js:1601 +#: templates/js/translated/order.js:1600 msgid "Allocate serial numbers" msgstr "" -#: templates/js/translated/order.js:1607 +#: templates/js/translated/order.js:1606 msgid "Purchase stock" msgstr "" -#: templates/js/translated/order.js:1614 templates/js/translated/order.js:1793 +#: templates/js/translated/order.js:1613 templates/js/translated/order.js:1792 msgid "Calculate price" msgstr "" -#: templates/js/translated/order.js:1618 +#: templates/js/translated/order.js:1617 msgid "Delete line item " msgstr "" -#: templates/js/translated/order.js:1741 +#: templates/js/translated/order.js:1740 msgid "Allocate Stock Item" msgstr "" -#: templates/js/translated/order.js:1801 +#: templates/js/translated/order.js:1800 msgid "Update Unit Price" msgstr "" -#: templates/js/translated/order.js:1815 +#: templates/js/translated/order.js:1814 msgid "No matching line items" msgstr "" -#: templates/js/translated/part.js:51 +#: templates/js/translated/part.js:52 msgid "Part Attributes" msgstr "" -#: templates/js/translated/part.js:55 +#: templates/js/translated/part.js:56 msgid "Part Creation Options" msgstr "" -#: templates/js/translated/part.js:59 +#: templates/js/translated/part.js:60 msgid "Part Duplication Options" msgstr "" -#: templates/js/translated/part.js:63 +#: templates/js/translated/part.js:64 msgid "Supplier Options" msgstr "" -#: templates/js/translated/part.js:77 +#: templates/js/translated/part.js:78 msgid "Add Part Category" msgstr "" -#: templates/js/translated/part.js:166 +#: templates/js/translated/part.js:162 msgid "Create Initial Stock" msgstr "" -#: templates/js/translated/part.js:167 +#: templates/js/translated/part.js:163 msgid "Create an initial stock item for this part" msgstr "" -#: templates/js/translated/part.js:174 +#: templates/js/translated/part.js:170 msgid "Initial Stock Quantity" msgstr "" -#: templates/js/translated/part.js:175 +#: templates/js/translated/part.js:171 msgid "Specify initial stock quantity for this part" msgstr "" -#: templates/js/translated/part.js:182 +#: templates/js/translated/part.js:178 msgid "Select destination stock location" msgstr "" -#: templates/js/translated/part.js:193 +#: templates/js/translated/part.js:196 msgid "Copy Category Parameters" msgstr "" -#: templates/js/translated/part.js:194 +#: templates/js/translated/part.js:197 msgid "Copy parameter templates from selected part category" msgstr "" -#: templates/js/translated/part.js:202 +#: templates/js/translated/part.js:205 msgid "Add Supplier Data" msgstr "" -#: templates/js/translated/part.js:203 +#: templates/js/translated/part.js:206 msgid "Create initial supplier data for this part" msgstr "" -#: templates/js/translated/part.js:259 +#: templates/js/translated/part.js:262 msgid "Copy Image" msgstr "" -#: templates/js/translated/part.js:260 +#: templates/js/translated/part.js:263 msgid "Copy image from original part" msgstr "" -#: templates/js/translated/part.js:268 +#: templates/js/translated/part.js:271 msgid "Copy bill of materials from original part" msgstr "" -#: templates/js/translated/part.js:275 +#: templates/js/translated/part.js:278 msgid "Copy Parameters" msgstr "" -#: templates/js/translated/part.js:276 +#: templates/js/translated/part.js:279 msgid "Copy parameter data from original part" msgstr "" -#: templates/js/translated/part.js:289 +#: templates/js/translated/part.js:292 msgid "Parent part category" msgstr "" -#: templates/js/translated/part.js:333 +#: templates/js/translated/part.js:336 msgid "Edit Part" msgstr "" -#: templates/js/translated/part.js:335 +#: templates/js/translated/part.js:338 msgid "Part edited" msgstr "" -#: templates/js/translated/part.js:403 +#: templates/js/translated/part.js:410 msgid "You are subscribed to notifications for this item" msgstr "" -#: templates/js/translated/part.js:405 +#: templates/js/translated/part.js:412 msgid "You have subscribed to notifications for this item" msgstr "" -#: templates/js/translated/part.js:410 +#: templates/js/translated/part.js:417 msgid "Subscribe to notifications for this item" msgstr "" -#: templates/js/translated/part.js:412 +#: templates/js/translated/part.js:419 msgid "You have unsubscribed to notifications for this item" msgstr "" -#: templates/js/translated/part.js:441 templates/js/translated/part.js:526 +#: templates/js/translated/part.js:448 templates/js/translated/part.js:533 msgid "Trackable part" msgstr "" -#: templates/js/translated/part.js:445 templates/js/translated/part.js:530 +#: templates/js/translated/part.js:452 templates/js/translated/part.js:537 msgid "Virtual part" msgstr "" -#: templates/js/translated/part.js:457 +#: templates/js/translated/part.js:464 msgid "Subscribed part" msgstr "" -#: templates/js/translated/part.js:461 +#: templates/js/translated/part.js:468 msgid "Salable part" msgstr "" -#: templates/js/translated/part.js:576 +#: templates/js/translated/part.js:583 msgid "No variants found" msgstr "" -#: templates/js/translated/part.js:765 +#: templates/js/translated/part.js:946 msgid "Delete part relationship" msgstr "" -#: templates/js/translated/part.js:789 +#: templates/js/translated/part.js:970 msgid "Delete Part Relationship" msgstr "" -#: templates/js/translated/part.js:856 templates/js/translated/part.js:1116 +#: templates/js/translated/part.js:1037 templates/js/translated/part.js:1297 msgid "No parts found" msgstr "" -#: templates/js/translated/part.js:1026 +#: templates/js/translated/part.js:1207 msgid "No category" msgstr "" -#: templates/js/translated/part.js:1049 +#: templates/js/translated/part.js:1230 #: templates/js/translated/table_filters.js:381 msgid "Low stock" msgstr "" -#: templates/js/translated/part.js:1140 templates/js/translated/part.js:1312 -#: templates/js/translated/stock.js:1832 +#: templates/js/translated/part.js:1321 templates/js/translated/part.js:1493 +#: templates/js/translated/stock.js:1914 msgid "Display as list" msgstr "" -#: templates/js/translated/part.js:1156 +#: templates/js/translated/part.js:1337 msgid "Display as grid" msgstr "" -#: templates/js/translated/part.js:1331 templates/js/translated/stock.js:1851 +#: templates/js/translated/part.js:1512 templates/js/translated/stock.js:1933 msgid "Display as tree" msgstr "" -#: templates/js/translated/part.js:1395 +#: templates/js/translated/part.js:1576 msgid "Subscribed category" msgstr "" -#: templates/js/translated/part.js:1409 templates/js/translated/stock.js:1895 +#: templates/js/translated/part.js:1590 templates/js/translated/stock.js:1977 msgid "Path" msgstr "" -#: templates/js/translated/part.js:1453 +#: templates/js/translated/part.js:1634 msgid "No test templates matching query" msgstr "" -#: templates/js/translated/part.js:1504 templates/js/translated/stock.js:816 +#: templates/js/translated/part.js:1685 templates/js/translated/stock.js:898 msgid "Edit test result" msgstr "" -#: templates/js/translated/part.js:1505 templates/js/translated/stock.js:817 +#: templates/js/translated/part.js:1686 templates/js/translated/stock.js:899 msgid "Delete test result" msgstr "" -#: templates/js/translated/part.js:1511 +#: templates/js/translated/part.js:1692 msgid "This test is defined for a parent part" msgstr "" -#: templates/js/translated/part.js:1533 +#: templates/js/translated/part.js:1714 msgid "Edit Test Result Template" msgstr "" -#: templates/js/translated/part.js:1547 +#: templates/js/translated/part.js:1728 msgid "Delete Test Result Template" msgstr "" -#: templates/js/translated/part.js:1572 +#: templates/js/translated/part.js:1753 #, python-brace-format msgid "No ${human_name} information found" msgstr "" -#: templates/js/translated/part.js:1627 +#: templates/js/translated/part.js:1808 #, python-brace-format msgid "Edit ${human_name}" msgstr "" -#: templates/js/translated/part.js:1628 +#: templates/js/translated/part.js:1809 #, python-brace-format msgid "Delete ${human_name}" msgstr "" -#: templates/js/translated/part.js:1729 +#: templates/js/translated/part.js:1910 msgid "Single Price" msgstr "" -#: templates/js/translated/part.js:1748 +#: templates/js/translated/part.js:1929 msgid "Single Price Difference" msgstr "" @@ -7930,276 +7964,300 @@ msgstr "" msgid "Sales Order(s) must be selected before printing report" msgstr "" -#: templates/js/translated/stock.js:70 +#: templates/js/translated/stock.js:71 msgid "Serialize Stock Item" msgstr "" -#: templates/js/translated/stock.js:88 templates/js/translated/stock.js:167 +#: templates/js/translated/stock.js:89 templates/js/translated/stock.js:168 msgid "Next available serial number" msgstr "" -#: templates/js/translated/stock.js:90 templates/js/translated/stock.js:169 +#: templates/js/translated/stock.js:91 templates/js/translated/stock.js:170 msgid "Latest serial number" msgstr "" -#: templates/js/translated/stock.js:104 +#: templates/js/translated/stock.js:105 msgid "Parent stock location" msgstr "" -#: templates/js/translated/stock.js:140 +#: templates/js/translated/stock.js:141 msgid "New Stock Location" msgstr "" -#: templates/js/translated/stock.js:180 +#: templates/js/translated/stock.js:181 msgid "This part cannot be serialized" msgstr "" -#: templates/js/translated/stock.js:219 +#: templates/js/translated/stock.js:220 msgid "Enter initial quantity for this stock item" msgstr "" -#: templates/js/translated/stock.js:225 +#: templates/js/translated/stock.js:226 msgid "Enter serial numbers for new stock (or leave blank)" msgstr "" -#: templates/js/translated/stock.js:368 +#: templates/js/translated/stock.js:369 msgid "Created new stock item" msgstr "" -#: templates/js/translated/stock.js:381 +#: templates/js/translated/stock.js:382 msgid "Created multiple stock items" msgstr "" -#: templates/js/translated/stock.js:420 +#: templates/js/translated/stock.js:407 +msgid "Find Serial Number" +msgstr "" + +#: templates/js/translated/stock.js:411 templates/js/translated/stock.js:412 +msgid "Enter serial number" +msgstr "" + +#: templates/js/translated/stock.js:428 +msgid "Enter a serial number" +msgstr "" + +#: templates/js/translated/stock.js:448 +msgid "No matching serial number" +msgstr "" + +#: templates/js/translated/stock.js:457 +msgid "More than one matching result found" +msgstr "" + +#: templates/js/translated/stock.js:502 msgid "Export Stock" msgstr "" -#: templates/js/translated/stock.js:431 +#: templates/js/translated/stock.js:513 msgid "Include Sublocations" msgstr "" -#: templates/js/translated/stock.js:432 +#: templates/js/translated/stock.js:514 msgid "Include stock items in sublocations" msgstr "" -#: templates/js/translated/stock.js:474 +#: templates/js/translated/stock.js:556 msgid "Transfer Stock" msgstr "" -#: templates/js/translated/stock.js:475 +#: templates/js/translated/stock.js:557 msgid "Move" msgstr "" -#: templates/js/translated/stock.js:481 +#: templates/js/translated/stock.js:563 msgid "Count Stock" msgstr "" -#: templates/js/translated/stock.js:482 +#: templates/js/translated/stock.js:564 msgid "Count" msgstr "" -#: templates/js/translated/stock.js:486 +#: templates/js/translated/stock.js:568 msgid "Remove Stock" msgstr "" -#: templates/js/translated/stock.js:487 +#: templates/js/translated/stock.js:569 msgid "Take" msgstr "" -#: templates/js/translated/stock.js:491 +#: templates/js/translated/stock.js:573 msgid "Add Stock" msgstr "" -#: templates/js/translated/stock.js:492 users/models.py:200 +#: templates/js/translated/stock.js:574 users/models.py:200 msgid "Add" msgstr "" -#: templates/js/translated/stock.js:496 templates/stock_table.html:56 +#: templates/js/translated/stock.js:578 templates/stock_table.html:56 msgid "Delete Stock" msgstr "" -#: templates/js/translated/stock.js:585 +#: templates/js/translated/stock.js:667 msgid "Quantity cannot be adjusted for serialized stock" msgstr "" -#: templates/js/translated/stock.js:585 +#: templates/js/translated/stock.js:667 msgid "Specify stock quantity" msgstr "" -#: templates/js/translated/stock.js:625 +#: templates/js/translated/stock.js:707 msgid "You must select at least one available stock item" msgstr "" -#: templates/js/translated/stock.js:783 +#: templates/js/translated/stock.js:865 msgid "PASS" msgstr "" -#: templates/js/translated/stock.js:785 +#: templates/js/translated/stock.js:867 msgid "FAIL" msgstr "" -#: templates/js/translated/stock.js:790 +#: templates/js/translated/stock.js:872 msgid "NO RESULT" msgstr "" -#: templates/js/translated/stock.js:812 +#: templates/js/translated/stock.js:894 msgid "Add test result" msgstr "" -#: templates/js/translated/stock.js:838 +#: templates/js/translated/stock.js:920 msgid "No test results found" msgstr "" -#: templates/js/translated/stock.js:895 +#: templates/js/translated/stock.js:977 msgid "Test Date" msgstr "" -#: templates/js/translated/stock.js:1002 +#: templates/js/translated/stock.js:1084 msgid "In production" msgstr "" -#: templates/js/translated/stock.js:1006 +#: templates/js/translated/stock.js:1088 msgid "Installed in Stock Item" msgstr "" -#: templates/js/translated/stock.js:1010 +#: templates/js/translated/stock.js:1092 msgid "Shipped to customer" msgstr "" -#: templates/js/translated/stock.js:1014 +#: templates/js/translated/stock.js:1096 msgid "Assigned to Sales Order" msgstr "" -#: templates/js/translated/stock.js:1020 +#: templates/js/translated/stock.js:1102 msgid "No stock location set" msgstr "" -#: templates/js/translated/stock.js:1178 +#: templates/js/translated/stock.js:1260 msgid "Stock item is in production" msgstr "" -#: templates/js/translated/stock.js:1183 +#: templates/js/translated/stock.js:1265 msgid "Stock item assigned to sales order" msgstr "" -#: templates/js/translated/stock.js:1186 +#: templates/js/translated/stock.js:1268 msgid "Stock item assigned to customer" msgstr "" -#: templates/js/translated/stock.js:1190 +#: templates/js/translated/stock.js:1272 msgid "Stock item has expired" msgstr "" -#: templates/js/translated/stock.js:1192 +#: templates/js/translated/stock.js:1274 msgid "Stock item will expire soon" msgstr "" -#: templates/js/translated/stock.js:1196 +#: templates/js/translated/stock.js:1278 msgid "Stock item has been allocated" msgstr "" -#: templates/js/translated/stock.js:1200 +#: templates/js/translated/stock.js:1282 msgid "Stock item has been installed in another item" msgstr "" -#: templates/js/translated/stock.js:1207 +#: templates/js/translated/stock.js:1289 msgid "Stock item has been rejected" msgstr "" -#: templates/js/translated/stock.js:1209 +#: templates/js/translated/stock.js:1291 msgid "Stock item is lost" msgstr "" -#: templates/js/translated/stock.js:1211 +#: templates/js/translated/stock.js:1293 msgid "Stock item is destroyed" msgstr "" -#: templates/js/translated/stock.js:1215 +#: templates/js/translated/stock.js:1297 #: templates/js/translated/table_filters.js:183 msgid "Depleted" msgstr "" -#: templates/js/translated/stock.js:1265 +#: templates/js/translated/stock.js:1347 msgid "Stocktake" msgstr "" -#: templates/js/translated/stock.js:1338 +#: templates/js/translated/stock.js:1420 msgid "Supplier part not specified" msgstr "" -#: templates/js/translated/stock.js:1376 +#: templates/js/translated/stock.js:1458 msgid "No stock items matching query" msgstr "" -#: templates/js/translated/stock.js:1397 templates/js/translated/stock.js:1445 +#: templates/js/translated/stock.js:1479 templates/js/translated/stock.js:1527 msgid "items" msgstr "" -#: templates/js/translated/stock.js:1485 +#: templates/js/translated/stock.js:1567 msgid "batches" msgstr "" -#: templates/js/translated/stock.js:1512 +#: templates/js/translated/stock.js:1594 msgid "locations" msgstr "" -#: templates/js/translated/stock.js:1514 +#: templates/js/translated/stock.js:1596 msgid "Undefined location" msgstr "" -#: templates/js/translated/stock.js:1688 +#: templates/js/translated/stock.js:1770 msgid "Set Stock Status" msgstr "" -#: templates/js/translated/stock.js:1702 +#: templates/js/translated/stock.js:1784 msgid "Select Status Code" msgstr "" -#: templates/js/translated/stock.js:1703 +#: templates/js/translated/stock.js:1785 msgid "Status code must be selected" msgstr "" -#: templates/js/translated/stock.js:1927 +#: templates/js/translated/stock.js:2009 msgid "Invalid date" msgstr "" -#: templates/js/translated/stock.js:1974 +#: templates/js/translated/stock.js:2031 +msgid "Details" +msgstr "" + +#: templates/js/translated/stock.js:2056 msgid "Location no longer exists" msgstr "" -#: templates/js/translated/stock.js:1993 +#: templates/js/translated/stock.js:2075 msgid "Purchase order no longer exists" msgstr "" -#: templates/js/translated/stock.js:2012 +#: templates/js/translated/stock.js:2094 msgid "Customer no longer exists" msgstr "" -#: templates/js/translated/stock.js:2030 +#: templates/js/translated/stock.js:2112 msgid "Stock item no longer exists" msgstr "" -#: templates/js/translated/stock.js:2053 +#: templates/js/translated/stock.js:2135 msgid "Added" msgstr "" -#: templates/js/translated/stock.js:2061 +#: templates/js/translated/stock.js:2143 msgid "Removed" msgstr "" -#: templates/js/translated/stock.js:2102 +#: templates/js/translated/stock.js:2184 msgid "Edit tracking entry" msgstr "" -#: templates/js/translated/stock.js:2103 +#: templates/js/translated/stock.js:2185 msgid "Delete tracking entry" msgstr "" -#: templates/js/translated/stock.js:2154 +#: templates/js/translated/stock.js:2236 msgid "No installed items" msgstr "" -#: templates/js/translated/stock.js:2205 +#: templates/js/translated/stock.js:2287 msgid "Uninstall Stock Item" msgstr "" diff --git a/InvenTree/locale/id/LC_MESSAGES/django.po b/InvenTree/locale/id/LC_MESSAGES/django.po index 69f7ad51fe..cfcf2e1d88 100644 --- a/InvenTree/locale/id/LC_MESSAGES/django.po +++ b/InvenTree/locale/id/LC_MESSAGES/django.po @@ -2,8 +2,8 @@ msgid "" msgstr "" "Project-Id-Version: inventree\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2021-11-30 21:49+0000\n" -"PO-Revision-Date: 2021-11-30 21:51\n" +"POT-Creation-Date: 2021-12-03 10:37+0000\n" +"PO-Revision-Date: 2021-12-03 11:25\n" "Last-Translator: \n" "Language-Team: Indonesian\n" "Language: id_ID\n" @@ -114,129 +114,130 @@ msgstr "" msgid "Number of unique serial number ({s}) must match quantity ({q})" msgstr "" -#: InvenTree/models.py:114 +#: InvenTree/models.py:120 msgid "Missing file" msgstr "" -#: InvenTree/models.py:115 +#: InvenTree/models.py:121 msgid "Missing external link" msgstr "" -#: InvenTree/models.py:126 stock/models.py:1874 +#: InvenTree/models.py:132 stock/models.py:1864 #: templates/js/translated/attachment.js:117 msgid "Attachment" msgstr "" -#: InvenTree/models.py:127 +#: InvenTree/models.py:133 msgid "Select file to attach" msgstr "" -#: InvenTree/models.py:133 company/models.py:131 company/models.py:348 +#: InvenTree/models.py:139 company/models.py:131 company/models.py:348 #: company/models.py:564 order/models.py:163 part/models.py:797 #: report/templates/report/inventree_build_order_base.html:165 #: templates/js/translated/company.js:537 -#: templates/js/translated/company.js:826 templates/js/translated/part.js:1077 +#: templates/js/translated/company.js:826 templates/js/translated/part.js:1258 msgid "Link" msgstr "" -#: InvenTree/models.py:134 build/models.py:330 part/models.py:798 -#: stock/models.py:540 +#: InvenTree/models.py:140 build/models.py:330 part/models.py:798 +#: stock/models.py:530 msgid "Link to external URL" msgstr "" -#: InvenTree/models.py:137 templates/js/translated/attachment.js:161 +#: InvenTree/models.py:143 templates/js/translated/attachment.js:161 msgid "Comment" msgstr "" -#: InvenTree/models.py:137 +#: InvenTree/models.py:143 msgid "File comment" msgstr "" -#: InvenTree/models.py:143 InvenTree/models.py:144 common/models.py:1185 +#: InvenTree/models.py:149 InvenTree/models.py:150 common/models.py:1185 #: common/models.py:1186 part/models.py:2205 part/models.py:2225 #: report/templates/report/inventree_test_report_base.html:96 -#: templates/js/translated/stock.js:2084 +#: templates/js/translated/stock.js:2166 msgid "User" msgstr "" -#: InvenTree/models.py:147 +#: InvenTree/models.py:153 msgid "upload date" msgstr "" -#: InvenTree/models.py:170 +#: InvenTree/models.py:176 msgid "Filename must not be empty" msgstr "" -#: InvenTree/models.py:193 +#: InvenTree/models.py:199 msgid "Invalid attachment directory" msgstr "" -#: InvenTree/models.py:203 +#: InvenTree/models.py:209 #, python-brace-format msgid "Filename contains illegal character '{c}'" msgstr "" -#: InvenTree/models.py:206 +#: InvenTree/models.py:212 msgid "Filename missing extension" msgstr "" -#: InvenTree/models.py:213 +#: InvenTree/models.py:219 msgid "Attachment with this filename already exists" msgstr "" -#: InvenTree/models.py:220 +#: InvenTree/models.py:226 msgid "Error renaming file" msgstr "" -#: InvenTree/models.py:255 +#: InvenTree/models.py:261 msgid "Invalid choice" msgstr "" -#: InvenTree/models.py:271 InvenTree/models.py:272 company/models.py:415 +#: InvenTree/models.py:277 InvenTree/models.py:278 company/models.py:415 #: label/models.py:112 part/models.py:741 part/models.py:2389 -#: part/templates/part/detail.html:25 report/models.py:181 -#: templates/InvenTree/settings/settings.html:259 -#: templates/js/translated/company.js:638 templates/js/translated/part.js:499 -#: templates/js/translated/part.js:636 templates/js/translated/part.js:1384 -#: templates/js/translated/stock.js:1877 +#: report/models.py:181 templates/InvenTree/settings/settings.html:259 +#: templates/js/translated/company.js:638 templates/js/translated/part.js:506 +#: templates/js/translated/part.js:643 templates/js/translated/part.js:1565 +#: templates/js/translated/stock.js:1959 msgid "Name" msgstr "" -#: InvenTree/models.py:278 build/models.py:207 +#: InvenTree/models.py:284 build/models.py:207 #: build/templates/build/detail.html:25 company/models.py:354 -#: company/models.py:570 company/templates/company/manufacturer_part.html:80 -#: company/templates/company/supplier_part.html:81 label/models.py:119 -#: order/models.py:161 part/models.py:764 part/templates/part/detail.html:30 +#: company/models.py:570 company/templates/company/company_base.html:68 +#: company/templates/company/manufacturer_part.html:76 +#: company/templates/company/supplier_part.html:73 label/models.py:119 +#: order/models.py:161 part/models.py:764 part/templates/part/category.html:70 +#: part/templates/part/part_base.html:163 #: part/templates/part/set_category.html:14 report/models.py:194 #: report/models.py:553 report/models.py:592 #: report/templates/report/inventree_build_order_base.html:118 -#: stock/templates/stock/location.html:108 templates/js/translated/bom.js:215 +#: stock/templates/stock/location.html:89 templates/js/translated/bom.js:215 #: templates/js/translated/bom.js:428 templates/js/translated/build.js:1621 #: templates/js/translated/company.js:345 #: templates/js/translated/company.js:548 -#: templates/js/translated/company.js:837 templates/js/translated/order.js:673 -#: templates/js/translated/order.js:855 templates/js/translated/order.js:1091 -#: templates/js/translated/part.js:558 templates/js/translated/part.js:752 -#: templates/js/translated/part.js:837 templates/js/translated/part.js:1007 -#: templates/js/translated/part.js:1403 templates/js/translated/part.js:1472 -#: templates/js/translated/stock.js:1151 templates/js/translated/stock.js:1889 -#: templates/js/translated/stock.js:1934 +#: templates/js/translated/company.js:837 templates/js/translated/order.js:680 +#: templates/js/translated/order.js:854 templates/js/translated/order.js:1090 +#: templates/js/translated/part.js:565 templates/js/translated/part.js:933 +#: templates/js/translated/part.js:1018 templates/js/translated/part.js:1188 +#: templates/js/translated/part.js:1584 templates/js/translated/part.js:1653 +#: templates/js/translated/stock.js:1233 templates/js/translated/stock.js:1971 +#: templates/js/translated/stock.js:2016 msgid "Description" msgstr "" -#: InvenTree/models.py:279 +#: InvenTree/models.py:285 msgid "Description (optional)" msgstr "" -#: InvenTree/models.py:287 +#: InvenTree/models.py:293 msgid "parent" msgstr "" -#: InvenTree/serializers.py:62 part/models.py:2674 +#: InvenTree/serializers.py:65 part/models.py:2674 msgid "Must be a valid number" msgstr "" -#: InvenTree/serializers.py:285 +#: InvenTree/serializers.py:299 msgid "Filename" msgstr "" @@ -361,7 +362,7 @@ msgid "Returned" msgstr "" #: InvenTree/status_codes.py:143 -#: order/templates/order/sales_order_base.html:147 +#: order/templates/order/sales_order_base.html:148 msgid "Shipped" msgstr "" @@ -566,7 +567,7 @@ msgid "Barcode associated with StockItem" msgstr "" #: build/forms.py:36 build/models.py:1283 -#: build/templates/build/build_base.html:124 +#: build/templates/build/build_base.html:132 #: build/templates/build/detail.html:35 common/models.py:1225 #: company/forms.py:42 company/templates/company/supplier_part.html:251 #: order/forms.py:102 order/models.py:729 order/models.py:991 @@ -574,26 +575,27 @@ msgstr "" #: order/templates/order/order_wizard/select_parts.html:34 part/forms.py:223 #: part/forms.py:239 part/forms.py:255 part/models.py:2576 #: part/templates/part/bom_upload/match_parts.html:31 -#: part/templates/part/detail.html:1076 part/templates/part/detail.html:1162 +#: part/templates/part/detail.html:967 part/templates/part/detail.html:1053 #: part/templates/part/part_pricing.html:16 #: report/templates/report/inventree_build_order_base.html:114 #: report/templates/report/inventree_po_report.html:91 #: report/templates/report/inventree_so_report.html:91 #: report/templates/report/inventree_test_report_base.html:81 #: report/templates/report/inventree_test_report_base.html:139 -#: stock/forms.py:156 stock/serializers.py:286 -#: stock/templates/stock/item_base.html:256 +#: stock/forms.py:156 stock/serializers.py:291 +#: stock/templates/stock/item_base.html:174 #: templates/js/translated/barcode.js:385 templates/js/translated/bom.js:443 #: templates/js/translated/build.js:235 templates/js/translated/build.js:435 #: templates/js/translated/build.js:629 templates/js/translated/build.js:639 #: templates/js/translated/build.js:1015 templates/js/translated/build.js:1362 #: templates/js/translated/model_renderers.js:99 -#: templates/js/translated/order.js:892 templates/js/translated/order.js:1205 -#: templates/js/translated/order.js:1283 templates/js/translated/order.js:1290 -#: templates/js/translated/order.js:1379 templates/js/translated/order.js:1479 -#: templates/js/translated/part.js:1615 templates/js/translated/part.js:1738 -#: templates/js/translated/part.js:1816 templates/js/translated/stock.js:377 -#: templates/js/translated/stock.js:2069 templates/js/translated/stock.js:2171 +#: templates/js/translated/order.js:891 templates/js/translated/order.js:1204 +#: templates/js/translated/order.js:1282 templates/js/translated/order.js:1289 +#: templates/js/translated/order.js:1378 templates/js/translated/order.js:1478 +#: templates/js/translated/part.js:843 templates/js/translated/part.js:1796 +#: templates/js/translated/part.js:1919 templates/js/translated/part.js:1997 +#: templates/js/translated/stock.js:378 templates/js/translated/stock.js:2151 +#: templates/js/translated/stock.js:2253 msgid "Quantity" msgstr "" @@ -602,8 +604,8 @@ msgid "Enter quantity for build output" msgstr "" #: build/forms.py:41 order/forms.py:96 stock/forms.py:95 -#: stock/serializers.py:307 templates/js/translated/stock.js:224 -#: templates/js/translated/stock.js:378 +#: stock/serializers.py:312 templates/js/translated/stock.js:225 +#: templates/js/translated/stock.js:379 msgid "Serial Numbers" msgstr "" @@ -646,7 +648,7 @@ msgstr "" #: build/templates/build/index.html:8 build/templates/build/index.html:12 #: order/templates/order/sales_order_detail.html:42 #: order/templates/order/so_sidebar.html:7 -#: part/templates/part/part_sidebar.html:22 templates/InvenTree/index.html:221 +#: part/templates/part/part_sidebar.html:20 templates/InvenTree/index.html:221 #: templates/InvenTree/search.html:145 #: templates/InvenTree/settings/sidebar.html:42 users/models.py:44 msgid "Build Orders" @@ -662,7 +664,7 @@ msgstr "" #: report/templates/report/inventree_po_report.html:92 #: report/templates/report/inventree_so_report.html:92 #: templates/js/translated/bom.js:435 templates/js/translated/build.js:1119 -#: templates/js/translated/order.js:886 templates/js/translated/order.js:1473 +#: templates/js/translated/order.js:885 templates/js/translated/order.js:1472 msgid "Reference" msgstr "" @@ -670,7 +672,7 @@ msgstr "" msgid "Brief description of the build" msgstr "" -#: build/models.py:219 build/templates/build/build_base.html:156 +#: build/models.py:219 build/templates/build/build_base.html:164 #: build/templates/build/detail.html:88 msgid "Parent Build" msgstr "" @@ -679,7 +681,7 @@ msgstr "" msgid "BuildOrder to which this build is allocated" msgstr "" -#: build/models.py:225 build/templates/build/build_base.html:119 +#: build/models.py:225 build/templates/build/build_base.html:77 #: build/templates/build/detail.html:30 company/models.py:705 #: order/models.py:789 order/models.py:860 #: order/templates/order/order_wizard/select_parts.html:32 part/models.py:357 @@ -700,10 +702,10 @@ msgstr "" #: templates/js/translated/build.js:988 templates/js/translated/build.js:1359 #: templates/js/translated/build.js:1626 templates/js/translated/company.js:489 #: templates/js/translated/company.js:746 templates/js/translated/order.js:426 -#: templates/js/translated/order.js:840 templates/js/translated/order.js:1457 -#: templates/js/translated/part.js:737 templates/js/translated/part.js:818 -#: templates/js/translated/part.js:985 templates/js/translated/stock.js:508 -#: templates/js/translated/stock.js:1108 templates/js/translated/stock.js:2159 +#: templates/js/translated/order.js:839 templates/js/translated/order.js:1456 +#: templates/js/translated/part.js:918 templates/js/translated/part.js:999 +#: templates/js/translated/part.js:1166 templates/js/translated/stock.js:590 +#: templates/js/translated/stock.js:1190 templates/js/translated/stock.js:2241 msgid "Part" msgstr "" @@ -751,7 +753,7 @@ msgstr "" msgid "Number of stock items which have been completed" msgstr "" -#: build/models.py:277 part/templates/part/part_base.html:216 +#: build/models.py:277 part/templates/part/part_base.html:234 msgid "Build Status" msgstr "" @@ -759,7 +761,7 @@ msgstr "" msgid "Build status code" msgstr "" -#: build/models.py:285 stock/models.py:544 +#: build/models.py:285 stock/models.py:534 msgid "Batch Code" msgstr "" @@ -768,7 +770,7 @@ msgid "Batch code for this build output" msgstr "" #: build/models.py:292 order/models.py:165 part/models.py:936 -#: part/templates/part/detail.html:86 templates/js/translated/order.js:1104 +#: part/templates/part/part_base.html:313 templates/js/translated/order.js:1103 msgid "Creation Date" msgstr "" @@ -797,12 +799,12 @@ msgstr "" msgid "User who issued this build order" msgstr "" -#: build/models.py:323 build/templates/build/build_base.html:177 +#: build/models.py:323 build/templates/build/build_base.html:185 #: build/templates/build/detail.html:116 order/models.py:179 -#: order/templates/order/order_base.html:154 -#: order/templates/order/sales_order_base.html:161 part/models.py:940 +#: order/templates/order/order_base.html:158 +#: order/templates/order/sales_order_base.html:162 part/models.py:940 #: report/templates/report/inventree_build_order_base.html:159 -#: templates/js/translated/build.js:1680 templates/js/translated/order.js:700 +#: templates/js/translated/build.js:1680 templates/js/translated/order.js:699 msgid "Responsible" msgstr "" @@ -811,10 +813,10 @@ msgid "User responsible for this build order" msgstr "" #: build/models.py:329 build/templates/build/detail.html:102 -#: company/templates/company/manufacturer_part.html:87 -#: company/templates/company/supplier_part.html:88 -#: part/templates/part/detail.html:80 stock/models.py:538 -#: stock/templates/stock/item_base.html:346 +#: company/templates/company/manufacturer_part.html:102 +#: company/templates/company/supplier_part.html:126 +#: part/templates/part/part_base.html:354 stock/models.py:528 +#: stock/templates/stock/item_base.html:374 msgid "External Link" msgstr "" @@ -824,15 +826,15 @@ msgstr "" #: order/models.py:183 order/models.py:738 #: order/templates/order/po_sidebar.html:11 #: order/templates/order/so_sidebar.html:11 part/models.py:925 -#: part/templates/part/detail.html:223 part/templates/part/part_sidebar.html:52 +#: part/templates/part/detail.html:116 part/templates/part/part_sidebar.html:50 #: report/templates/report/inventree_build_order_base.html:173 -#: stock/forms.py:154 stock/forms.py:204 stock/forms.py:238 stock/models.py:610 -#: stock/models.py:1774 stock/models.py:1880 stock/serializers.py:325 -#: stock/serializers.py:583 stock/templates/stock/stock_sidebar.html:21 +#: stock/forms.py:154 stock/forms.py:204 stock/forms.py:238 stock/models.py:600 +#: stock/models.py:1764 stock/models.py:1870 stock/serializers.py:330 +#: stock/serializers.py:588 stock/templates/stock/stock_sidebar.html:21 #: templates/js/translated/barcode.js:58 templates/js/translated/bom.js:599 -#: templates/js/translated/company.js:842 templates/js/translated/order.js:985 -#: templates/js/translated/order.js:1583 templates/js/translated/stock.js:891 -#: templates/js/translated/stock.js:1370 +#: templates/js/translated/company.js:842 templates/js/translated/order.js:984 +#: templates/js/translated/order.js:1582 templates/js/translated/stock.js:973 +#: templates/js/translated/stock.js:1452 msgid "Notes" msgstr "" @@ -877,7 +879,7 @@ msgstr "" msgid "Selected stock item not found in BOM" msgstr "" -#: build/models.py:1253 stock/templates/stock/item_base.html:318 +#: build/models.py:1253 stock/templates/stock/item_base.html:346 #: templates/InvenTree/search.html:143 templates/js/translated/build.js:1599 #: templates/navbar.html:33 msgid "Build" @@ -890,11 +892,11 @@ msgstr "" #: build/models.py:1270 build/serializers.py:328 #: stock/templates/stock/item_base.html:8 #: stock/templates/stock/item_base.html:16 -#: stock/templates/stock/item_base.html:340 +#: stock/templates/stock/item_base.html:368 #: templates/js/translated/build.js:408 templates/js/translated/build.js:413 #: templates/js/translated/build.js:1361 templates/js/translated/build.js:1742 -#: templates/js/translated/order.js:1178 templates/js/translated/order.js:1183 -#: templates/js/translated/stock.js:2020 +#: templates/js/translated/order.js:1177 templates/js/translated/order.js:1182 +#: templates/js/translated/stock.js:2102 msgid "Stock Item" msgstr "" @@ -934,16 +936,16 @@ msgstr "" msgid "This build output is not fully allocated" msgstr "" -#: build/serializers.py:190 order/serializers.py:219 order/serializers.py:287 -#: stock/forms.py:236 stock/serializers.py:318 stock/serializers.py:685 -#: stock/templates/stock/item_base.html:286 +#: build/serializers.py:190 order/serializers.py:228 order/serializers.py:296 +#: stock/forms.py:236 stock/serializers.py:323 stock/serializers.py:690 +#: stock/templates/stock/item_base.html:314 #: templates/js/translated/barcode.js:384 #: templates/js/translated/barcode.js:557 templates/js/translated/build.js:420 #: templates/js/translated/build.js:1027 templates/js/translated/order.js:348 -#: templates/js/translated/order.js:1190 templates/js/translated/order.js:1298 -#: templates/js/translated/order.js:1304 templates/js/translated/part.js:181 -#: templates/js/translated/stock.js:510 templates/js/translated/stock.js:1251 -#: templates/js/translated/stock.js:1961 +#: templates/js/translated/order.js:1189 templates/js/translated/order.js:1297 +#: templates/js/translated/order.js:1303 templates/js/translated/part.js:177 +#: templates/js/translated/stock.js:592 templates/js/translated/stock.js:1333 +#: templates/js/translated/stock.js:2043 msgid "Location" msgstr "" @@ -951,13 +953,13 @@ msgstr "" msgid "Location for completed build outputs" msgstr "" -#: build/serializers.py:197 build/templates/build/build_base.html:129 +#: build/serializers.py:197 build/templates/build/build_base.html:137 #: build/templates/build/detail.html:63 order/models.py:572 -#: order/serializers.py:240 stock/templates/stock/item_base.html:409 +#: order/serializers.py:249 stock/templates/stock/item_base.html:180 #: templates/js/translated/barcode.js:140 templates/js/translated/build.js:1655 -#: templates/js/translated/order.js:431 templates/js/translated/order.js:677 -#: templates/js/translated/order.js:1096 templates/js/translated/stock.js:1226 -#: templates/js/translated/stock.js:2038 templates/js/translated/stock.js:2187 +#: templates/js/translated/order.js:431 templates/js/translated/order.js:1095 +#: templates/js/translated/stock.js:1308 templates/js/translated/stock.js:2120 +#: templates/js/translated/stock.js:2269 msgid "Status" msgstr "" @@ -986,8 +988,8 @@ msgstr "" msgid "Item must be in stock" msgstr "" -#: build/serializers.py:348 order/models.py:316 order/serializers.py:233 -#: stock/models.py:381 stock/models.py:1103 stock/serializers.py:298 +#: build/serializers.py:348 order/models.py:316 order/serializers.py:242 +#: stock/models.py:371 stock/models.py:1093 stock/serializers.py:303 msgid "Quantity must be greater than zero" msgstr "" @@ -1031,7 +1033,7 @@ msgid "Edit Build" msgstr "" #: build/templates/build/build_base.html:56 -#: build/templates/build/build_base.html:207 build/views.py:56 +#: build/templates/build/build_base.html:215 build/views.py:56 msgid "Cancel Build" msgstr "" @@ -1041,93 +1043,95 @@ msgstr "" #: build/templates/build/build_base.html:64 #: build/templates/build/build_base.html:65 -#: build/templates/build/build_base.html:223 +#: build/templates/build/build_base.html:231 msgid "Complete Build" msgstr "" -#: build/templates/build/build_base.html:79 +#: build/templates/build/build_base.html:82 +msgid "Build Description" +msgstr "" + +#: build/templates/build/build_base.html:91 #, python-format msgid "This Build Order is allocated to Sales Order %(link)s" msgstr "" -#: build/templates/build/build_base.html:86 +#: build/templates/build/build_base.html:98 #, python-format msgid "This Build Order is a child of Build Order %(link)s" msgstr "" -#: build/templates/build/build_base.html:93 +#: build/templates/build/build_base.html:105 msgid "Build Order is ready to mark as completed" msgstr "" -#: build/templates/build/build_base.html:98 +#: build/templates/build/build_base.html:110 msgid "Build Order cannot be completed as outstanding outputs remain" msgstr "" -#: build/templates/build/build_base.html:103 +#: build/templates/build/build_base.html:115 msgid "Required build quantity has not yet been completed" msgstr "" -#: build/templates/build/build_base.html:108 +#: build/templates/build/build_base.html:120 msgid "Stock has not been fully allocated to this Build Order" msgstr "" -#: build/templates/build/build_base.html:138 +#: build/templates/build/build_base.html:146 #: build/templates/build/detail.html:132 -#: order/templates/order/order_base.html:140 -#: order/templates/order/sales_order_base.html:140 +#: order/templates/order/order_base.html:144 +#: order/templates/order/sales_order_base.html:141 #: report/templates/report/inventree_build_order_base.html:126 -#: templates/js/translated/build.js:1692 templates/js/translated/order.js:690 -#: templates/js/translated/order.js:1109 +#: templates/js/translated/build.js:1692 templates/js/translated/order.js:689 +#: templates/js/translated/order.js:1108 msgid "Target Date" msgstr "" -#: build/templates/build/build_base.html:143 +#: build/templates/build/build_base.html:151 #, python-format msgid "This build was due on %(target)s" msgstr "" -#: build/templates/build/build_base.html:143 -#: build/templates/build/build_base.html:188 -#: order/templates/order/order_base.html:81 -#: order/templates/order/order_base.html:102 -#: order/templates/order/sales_order_base.html:78 -#: order/templates/order/sales_order_base.html:107 +#: build/templates/build/build_base.html:151 +#: build/templates/build/build_base.html:196 +#: order/templates/order/order_base.html:98 +#: order/templates/order/sales_order_base.html:93 #: templates/js/translated/table_filters.js:294 #: templates/js/translated/table_filters.js:322 #: templates/js/translated/table_filters.js:339 msgid "Overdue" msgstr "" -#: build/templates/build/build_base.html:150 +#: build/templates/build/build_base.html:158 #: build/templates/build/detail.html:68 build/templates/build/detail.html:143 #: templates/js/translated/build.js:1641 #: templates/js/translated/table_filters.js:304 msgid "Completed" msgstr "" -#: build/templates/build/build_base.html:163 +#: build/templates/build/build_base.html:171 #: build/templates/build/detail.html:95 order/models.py:857 #: order/templates/order/sales_order_base.html:9 #: order/templates/order/sales_order_base.html:28 #: order/templates/order/sales_order_ship.html:25 #: report/templates/report/inventree_build_order_base.html:136 #: report/templates/report/inventree_so_report.html:77 -#: stock/templates/stock/item_base.html:280 -#: templates/js/translated/order.js:1051 +#: stock/templates/stock/item_base.html:308 +#: templates/js/translated/order.js:1050 msgid "Sales Order" msgstr "" -#: build/templates/build/build_base.html:170 +#: build/templates/build/build_base.html:178 #: build/templates/build/detail.html:109 #: report/templates/report/inventree_build_order_base.html:153 msgid "Issued By" msgstr "" -#: build/templates/build/build_base.html:215 +#: build/templates/build/build_base.html:223 msgid "Incomplete Outputs" msgstr "" -#: build/templates/build/build_base.html:216 +#: build/templates/build/build_base.html:224 msgid "Build Order cannot be completed as incomplete build outputs remain" msgstr "" @@ -1188,7 +1192,7 @@ msgid "Stock can be taken from any available location." msgstr "" #: build/templates/build/detail.html:50 order/models.py:811 stock/forms.py:150 -#: templates/js/translated/order.js:432 templates/js/translated/order.js:974 +#: templates/js/translated/order.js:432 templates/js/translated/order.js:973 msgid "Destination" msgstr "" @@ -1201,16 +1205,16 @@ msgid "Allocated Parts" msgstr "" #: build/templates/build/detail.html:81 -#: stock/templates/stock/item_base.html:304 -#: templates/js/translated/stock.js:1240 templates/js/translated/stock.js:2194 +#: stock/templates/stock/item_base.html:332 +#: templates/js/translated/stock.js:1322 templates/js/translated/stock.js:2276 #: templates/js/translated/table_filters.js:151 #: templates/js/translated/table_filters.js:233 msgid "Batch" msgstr "" #: build/templates/build/detail.html:127 -#: order/templates/order/order_base.html:127 -#: order/templates/order/sales_order_base.html:134 +#: order/templates/order/order_base.html:131 +#: order/templates/order/sales_order_base.html:135 #: templates/js/translated/build.js:1663 msgid "Created" msgstr "" @@ -1254,7 +1258,7 @@ msgstr "" #: build/templates/build/detail.html:185 #: company/templates/company/detail.html:38 #: company/templates/company/detail.html:85 order/views.py:509 -#: part/templates/part/category.html:166 +#: part/templates/part/category.html:173 msgid "Order Parts" msgstr "" @@ -1306,8 +1310,8 @@ msgstr "" #: order/templates/order/po_sidebar.html:9 #: order/templates/order/purchase_order_detail.html:60 #: order/templates/order/sales_order_detail.html:52 -#: order/templates/order/so_sidebar.html:9 part/templates/part/detail.html:300 -#: part/templates/part/part_sidebar.html:50 stock/templates/stock/item.html:95 +#: order/templates/order/so_sidebar.html:9 part/templates/part/detail.html:193 +#: part/templates/part/part_sidebar.html:48 stock/templates/stock/item.html:95 #: stock/templates/stock/stock_sidebar.html:19 msgid "Attachments" msgstr "" @@ -1323,7 +1327,7 @@ msgstr "" #: order/templates/order/purchase_order_detail.html:108 #: order/templates/order/sales_order_detail.html:72 #: order/templates/order/sales_order_detail.html:99 -#: part/templates/part/detail.html:227 stock/templates/stock/item.html:115 +#: part/templates/part/detail.html:120 stock/templates/stock/item.html:115 #: stock/templates/stock/item.html:205 msgid "Edit Notes" msgstr "" @@ -1336,7 +1340,7 @@ msgstr "" msgid "All untracked stock items have been allocated" msgstr "" -#: build/templates/build/index.html:18 part/templates/part/detail.html:407 +#: build/templates/build/index.html:18 part/templates/part/detail.html:300 msgid "New Build Order" msgstr "" @@ -1380,7 +1384,7 @@ msgstr "" msgid "Maximum output quantity is " msgstr "" -#: build/views.py:122 stock/serializers.py:356 stock/views.py:1290 +#: build/views.py:122 stock/serializers.py:361 stock/views.py:1290 msgid "Serial numbers already exist" msgstr "" @@ -1675,7 +1679,7 @@ msgid "Parts are trackable by default" msgstr "" #: common/models.py:745 part/models.py:920 -#: part/templates/part/part_base.html:144 +#: part/templates/part/part_base.html:147 #: templates/js/translated/table_filters.js:42 msgid "Virtual" msgstr "" @@ -2142,7 +2146,7 @@ msgstr "" #: common/models.py:1233 company/serializers.py:264 #: company/templates/company/supplier_part.html:256 -#: templates/js/translated/part.js:1620 +#: templates/js/translated/part.js:852 templates/js/translated/part.js:1801 msgid "Price" msgstr "" @@ -2206,7 +2210,7 @@ msgstr "" msgid "Description of the company" msgstr "" -#: company/models.py:112 company/templates/company/company_base.html:70 +#: company/models.py:112 company/templates/company/company_base.html:97 #: templates/js/translated/company.js:349 msgid "Website" msgstr "" @@ -2215,7 +2219,7 @@ msgstr "" msgid "Company website URL" msgstr "" -#: company/models.py:117 company/templates/company/company_base.html:88 +#: company/models.py:117 company/templates/company/company_base.html:115 msgid "Address" msgstr "" @@ -2231,7 +2235,7 @@ msgstr "" msgid "Contact phone number" msgstr "" -#: company/models.py:125 company/templates/company/company_base.html:102 +#: company/models.py:125 company/templates/company/company_base.html:129 #: templates/InvenTree/settings/user.html:47 msgid "Email" msgstr "" @@ -2240,7 +2244,7 @@ msgstr "" msgid "Contact email address" msgstr "" -#: company/models.py:128 company/templates/company/company_base.html:109 +#: company/models.py:128 company/templates/company/company_base.html:136 msgid "Contact" msgstr "" @@ -2281,7 +2285,7 @@ msgid "Does this company manufacture parts?" msgstr "" #: company/models.py:152 company/serializers.py:270 -#: company/templates/company/company_base.html:76 stock/serializers.py:172 +#: company/templates/company/company_base.html:103 stock/serializers.py:177 msgid "Currency" msgstr "" @@ -2289,8 +2293,8 @@ msgstr "" msgid "Default currency used for this company" msgstr "" -#: company/models.py:320 company/models.py:535 stock/models.py:484 -#: stock/templates/stock/item_base.html:224 +#: company/models.py:320 company/models.py:535 stock/models.py:474 +#: stock/templates/stock/item_base.html:135 msgid "Base Part" msgstr "" @@ -2298,29 +2302,29 @@ msgstr "" msgid "Select part" msgstr "" -#: company/models.py:335 company/templates/company/company_base.html:116 -#: company/templates/company/manufacturer_part.html:93 -#: company/templates/company/supplier_part.html:104 -#: stock/templates/stock/item_base.html:353 +#: company/models.py:335 company/templates/company/company_base.html:73 +#: company/templates/company/manufacturer_part.html:91 +#: company/templates/company/supplier_part.html:97 +#: stock/templates/stock/item_base.html:381 #: templates/js/translated/company.js:333 #: templates/js/translated/company.js:514 -#: templates/js/translated/company.js:797 templates/js/translated/part.js:229 +#: templates/js/translated/company.js:797 templates/js/translated/part.js:232 msgid "Manufacturer" msgstr "" -#: company/models.py:336 templates/js/translated/part.js:230 +#: company/models.py:336 templates/js/translated/part.js:233 msgid "Select manufacturer" msgstr "" -#: company/models.py:342 company/templates/company/manufacturer_part.html:97 -#: company/templates/company/supplier_part.html:112 +#: company/models.py:342 company/templates/company/manufacturer_part.html:96 +#: company/templates/company/supplier_part.html:105 #: templates/js/translated/company.js:530 -#: templates/js/translated/company.js:815 templates/js/translated/order.js:874 -#: templates/js/translated/part.js:240 +#: templates/js/translated/company.js:815 templates/js/translated/order.js:873 +#: templates/js/translated/part.js:243 templates/js/translated/part.js:832 msgid "MPN" msgstr "" -#: company/models.py:343 templates/js/translated/part.js:241 +#: company/models.py:343 templates/js/translated/part.js:244 msgid "Manufacturer Part Number" msgstr "" @@ -2335,7 +2339,7 @@ msgstr "" #: company/models.py:409 company/models.py:558 #: company/templates/company/manufacturer_part.html:6 #: company/templates/company/manufacturer_part.html:23 -#: stock/templates/stock/item_base.html:363 +#: stock/templates/stock/item_base.html:391 msgid "Manufacturer Part" msgstr "" @@ -2345,8 +2349,8 @@ msgstr "" #: company/models.py:422 #: report/templates/report/inventree_test_report_base.html:95 -#: stock/models.py:1867 templates/js/translated/company.js:644 -#: templates/js/translated/part.js:645 templates/js/translated/stock.js:878 +#: stock/models.py:1857 templates/js/translated/company.js:644 +#: templates/js/translated/part.js:652 templates/js/translated/stock.js:960 msgid "Value" msgstr "" @@ -2355,9 +2359,9 @@ msgid "Parameter value" msgstr "" #: company/models.py:429 part/models.py:882 part/models.py:2397 -#: part/templates/part/detail.html:59 +#: part/templates/part/part_base.html:288 #: templates/InvenTree/settings/settings.html:264 -#: templates/js/translated/company.js:650 templates/js/translated/part.js:651 +#: templates/js/translated/company.js:650 templates/js/translated/part.js:658 msgid "Units" msgstr "" @@ -2369,28 +2373,28 @@ msgstr "" msgid "Linked manufacturer part must reference the same base part" msgstr "" -#: company/models.py:545 company/templates/company/company_base.html:121 -#: company/templates/company/supplier_part.html:94 order/models.py:263 -#: order/templates/order/order_base.html:108 +#: company/models.py:545 company/templates/company/company_base.html:78 +#: company/templates/company/supplier_part.html:87 order/models.py:263 +#: order/templates/order/order_base.html:112 #: order/templates/order/order_wizard/select_pos.html:30 part/bom.py:219 -#: part/bom.py:247 stock/templates/stock/item_base.html:370 +#: part/bom.py:247 stock/templates/stock/item_base.html:398 #: templates/js/translated/company.js:337 -#: templates/js/translated/company.js:771 templates/js/translated/order.js:660 -#: templates/js/translated/part.js:210 +#: templates/js/translated/company.js:771 templates/js/translated/order.js:667 +#: templates/js/translated/part.js:213 templates/js/translated/part.js:800 msgid "Supplier" msgstr "" -#: company/models.py:546 templates/js/translated/part.js:211 +#: company/models.py:546 templates/js/translated/part.js:214 msgid "Select supplier" msgstr "" -#: company/models.py:551 company/templates/company/supplier_part.html:98 -#: part/bom.py:220 part/bom.py:248 templates/js/translated/order.js:861 -#: templates/js/translated/part.js:221 +#: company/models.py:551 company/templates/company/supplier_part.html:91 +#: part/bom.py:220 part/bom.py:248 templates/js/translated/order.js:860 +#: templates/js/translated/part.js:224 templates/js/translated/part.js:818 msgid "SKU" msgstr "" -#: company/models.py:552 templates/js/translated/part.js:222 +#: company/models.py:552 templates/js/translated/part.js:225 msgid "Supplier stock keeping unit" msgstr "" @@ -2406,7 +2410,7 @@ msgstr "" msgid "Supplier part description" msgstr "" -#: company/models.py:576 company/templates/company/supplier_part.html:126 +#: company/models.py:576 company/templates/company/supplier_part.html:119 #: part/models.py:2588 report/templates/report/inventree_po_report.html:93 #: report/templates/report/inventree_so_report.html:93 msgid "Note" @@ -2420,9 +2424,9 @@ msgstr "" msgid "Minimum charge (e.g. stocking fee)" msgstr "" -#: company/models.py:582 company/templates/company/supplier_part.html:119 -#: stock/models.py:507 stock/templates/stock/item_base.html:311 -#: templates/js/translated/company.js:847 templates/js/translated/stock.js:1366 +#: company/models.py:582 company/templates/company/supplier_part.html:112 +#: stock/models.py:497 stock/templates/stock/item_base.html:339 +#: templates/js/translated/company.js:847 templates/js/translated/stock.js:1448 msgid "Packaging" msgstr "" @@ -2457,43 +2461,56 @@ msgstr "" msgid "Create Purchase Order" msgstr "" -#: company/templates/company/company_base.html:27 +#: company/templates/company/company_base.html:26 +msgid "Company actions" +msgstr "" + +#: company/templates/company/company_base.html:31 msgid "Edit company information" msgstr "" #: company/templates/company/company_base.html:32 -#: company/templates/company/company_base.html:148 +#: templates/js/translated/company.js:265 +msgid "Edit Company" +msgstr "" + +#: company/templates/company/company_base.html:36 +msgid "Delete company" +msgstr "" + +#: company/templates/company/company_base.html:37 +#: company/templates/company/company_base.html:159 msgid "Delete Company" msgstr "" -#: company/templates/company/company_base.html:48 +#: company/templates/company/company_base.html:53 #: part/templates/part/part_thumb.html:12 msgid "Upload new image" msgstr "" -#: company/templates/company/company_base.html:51 +#: company/templates/company/company_base.html:56 #: part/templates/part/part_thumb.html:14 msgid "Download image from URL" msgstr "" -#: company/templates/company/company_base.html:81 -msgid "Uses default currency" -msgstr "" - -#: company/templates/company/company_base.html:95 -msgid "Phone" -msgstr "" - -#: company/templates/company/company_base.html:126 order/models.py:567 -#: order/templates/order/sales_order_base.html:114 stock/models.py:525 -#: stock/models.py:526 stock/templates/stock/item_base.html:263 -#: templates/js/translated/company.js:329 templates/js/translated/order.js:1073 -#: templates/js/translated/stock.js:2002 +#: company/templates/company/company_base.html:83 order/models.py:567 +#: order/templates/order/sales_order_base.html:115 stock/models.py:515 +#: stock/models.py:516 stock/templates/stock/item_base.html:291 +#: templates/js/translated/company.js:329 templates/js/translated/order.js:1072 +#: templates/js/translated/stock.js:2084 msgid "Customer" msgstr "" -#: company/templates/company/company_base.html:194 -#: part/templates/part/part_base.html:342 +#: company/templates/company/company_base.html:108 +msgid "Uses default currency" +msgstr "" + +#: company/templates/company/company_base.html:122 +msgid "Phone" +msgstr "" + +#: company/templates/company/company_base.html:205 +#: part/templates/part/part_base.html:471 msgid "Upload Image" msgstr "" @@ -2509,23 +2526,23 @@ msgid "Create new supplier part" msgstr "" #: company/templates/company/detail.html:20 -#: company/templates/company/manufacturer_part.html:112 -#: part/templates/part/detail.html:440 +#: company/templates/company/manufacturer_part.html:118 +#: part/templates/part/detail.html:333 msgid "New Supplier Part" msgstr "" #: company/templates/company/detail.html:32 #: company/templates/company/detail.html:79 -#: company/templates/company/manufacturer_part.html:121 -#: company/templates/company/manufacturer_part.html:150 -#: part/templates/part/category.html:160 part/templates/part/detail.html:449 -#: part/templates/part/detail.html:477 +#: company/templates/company/manufacturer_part.html:127 +#: company/templates/company/manufacturer_part.html:156 +#: part/templates/part/category.html:167 part/templates/part/detail.html:342 +#: part/templates/part/detail.html:370 msgid "Options" msgstr "" #: company/templates/company/detail.html:37 #: company/templates/company/detail.html:84 -#: part/templates/part/category.html:166 +#: part/templates/part/category.html:173 msgid "Order parts" msgstr "" @@ -2547,7 +2564,7 @@ msgstr "" msgid "Create new manufacturer part" msgstr "" -#: company/templates/company/detail.html:67 part/templates/part/detail.html:467 +#: company/templates/company/detail.html:67 part/templates/part/detail.html:360 msgid "New Manufacturer Part" msgstr "" @@ -2561,7 +2578,7 @@ msgstr "" #: order/templates/order/order_base.html:13 #: order/templates/order/purchase_orders.html:8 #: order/templates/order/purchase_orders.html:12 -#: part/templates/part/detail.html:171 part/templates/part/part_sidebar.html:35 +#: part/templates/part/detail.html:64 part/templates/part/part_sidebar.html:33 #: templates/InvenTree/index.html:252 templates/InvenTree/search.html:203 #: templates/InvenTree/settings/sidebar.html:44 templates/navbar.html:45 #: users/models.py:45 @@ -2583,7 +2600,7 @@ msgstr "" #: order/templates/order/sales_order_base.html:13 #: order/templates/order/sales_orders.html:8 #: order/templates/order/sales_orders.html:15 -#: part/templates/part/detail.html:194 part/templates/part/part_sidebar.html:39 +#: part/templates/part/detail.html:87 part/templates/part/part_sidebar.html:37 #: templates/InvenTree/index.html:283 templates/InvenTree/search.html:223 #: templates/InvenTree/settings/sidebar.html:46 templates/navbar.html:56 #: users/models.py:46 @@ -2610,14 +2627,14 @@ msgid "Company Notes" msgstr "" #: company/templates/company/detail.html:383 -#: company/templates/company/manufacturer_part.html:209 -#: part/templates/part/detail.html:520 +#: company/templates/company/manufacturer_part.html:215 +#: part/templates/part/detail.html:413 msgid "Delete Supplier Parts?" msgstr "" #: company/templates/company/detail.html:384 -#: company/templates/company/manufacturer_part.html:210 -#: part/templates/part/detail.html:521 +#: company/templates/company/manufacturer_part.html:216 +#: part/templates/part/detail.html:414 msgid "All selected supplier parts will be deleted" msgstr "" @@ -2634,7 +2651,7 @@ msgstr "" #: company/templates/company/manufacturer_part.html:35 #: company/templates/company/supplier_part.html:34 #: company/templates/company/supplier_part.html:159 -#: part/templates/part/detail.html:174 part/templates/part/part_base.html:76 +#: part/templates/part/detail.html:67 part/templates/part/part_base.html:76 msgid "Order part" msgstr "" @@ -2648,60 +2665,60 @@ msgstr "" msgid "Delete manufacturer part" msgstr "" -#: company/templates/company/manufacturer_part.html:70 -#: company/templates/company/supplier_part.html:71 +#: company/templates/company/manufacturer_part.html:66 +#: company/templates/company/supplier_part.html:63 msgid "Internal Part" msgstr "" -#: company/templates/company/manufacturer_part.html:108 +#: company/templates/company/manufacturer_part.html:114 #: company/templates/company/supplier_part.html:15 company/views.py:49 -#: part/templates/part/part_sidebar.html:33 part/templates/part/prices.html:163 +#: part/templates/part/part_sidebar.html:31 part/templates/part/prices.html:163 #: templates/InvenTree/search.html:194 templates/navbar.html:43 msgid "Suppliers" msgstr "" -#: company/templates/company/manufacturer_part.html:123 -#: part/templates/part/detail.html:451 +#: company/templates/company/manufacturer_part.html:129 +#: part/templates/part/detail.html:344 msgid "Delete supplier parts" msgstr "" -#: company/templates/company/manufacturer_part.html:123 -#: company/templates/company/manufacturer_part.html:152 -#: company/templates/company/manufacturer_part.html:248 -#: part/templates/part/detail.html:451 part/templates/part/detail.html:479 +#: company/templates/company/manufacturer_part.html:129 +#: company/templates/company/manufacturer_part.html:158 +#: company/templates/company/manufacturer_part.html:254 +#: part/templates/part/detail.html:344 part/templates/part/detail.html:372 #: templates/js/translated/company.js:425 templates/js/translated/helpers.js:31 #: users/models.py:204 msgid "Delete" msgstr "" -#: company/templates/company/manufacturer_part.html:137 +#: company/templates/company/manufacturer_part.html:143 #: company/templates/company/manufacturer_part_sidebar.html:5 #: part/templates/part/category_sidebar.html:17 -#: part/templates/part/detail.html:277 part/templates/part/part_sidebar.html:10 +#: part/templates/part/detail.html:170 part/templates/part/part_sidebar.html:8 msgid "Parameters" msgstr "" -#: company/templates/company/manufacturer_part.html:141 -#: part/templates/part/detail.html:282 +#: company/templates/company/manufacturer_part.html:147 +#: part/templates/part/detail.html:175 #: templates/InvenTree/settings/category.html:12 #: templates/InvenTree/settings/part.html:65 msgid "New Parameter" msgstr "" -#: company/templates/company/manufacturer_part.html:152 +#: company/templates/company/manufacturer_part.html:158 msgid "Delete parameters" msgstr "" -#: company/templates/company/manufacturer_part.html:185 -#: part/templates/part/detail.html:976 +#: company/templates/company/manufacturer_part.html:191 +#: part/templates/part/detail.html:867 msgid "Add Parameter" msgstr "" -#: company/templates/company/manufacturer_part.html:233 +#: company/templates/company/manufacturer_part.html:239 msgid "Selected parameters will be deleted" msgstr "" -#: company/templates/company/manufacturer_part.html:245 +#: company/templates/company/manufacturer_part.html:251 msgid "Delete Parameters" msgstr "" @@ -2722,9 +2739,9 @@ msgid "Assigned Stock Items" msgstr "" #: company/templates/company/supplier_part.html:7 -#: company/templates/company/supplier_part.html:24 stock/models.py:492 -#: stock/templates/stock/item_base.html:375 -#: templates/js/translated/company.js:787 templates/js/translated/stock.js:1323 +#: company/templates/company/supplier_part.html:24 stock/models.py:482 +#: stock/templates/stock/item_base.html:403 +#: templates/js/translated/company.js:787 templates/js/translated/stock.js:1405 msgid "Supplier Part" msgstr "" @@ -2744,13 +2761,13 @@ msgid "Supplier Part Stock" msgstr "" #: company/templates/company/supplier_part.html:141 -#: part/templates/part/detail.html:127 stock/templates/stock/location.html:147 +#: part/templates/part/detail.html:20 stock/templates/stock/location.html:162 msgid "Create new stock item" msgstr "" #: company/templates/company/supplier_part.html:142 -#: part/templates/part/detail.html:128 stock/templates/stock/location.html:148 -#: templates/js/translated/stock.js:354 +#: part/templates/part/detail.html:21 stock/templates/stock/location.html:163 +#: templates/js/translated/stock.js:355 msgid "New Stock Item" msgstr "" @@ -2760,7 +2777,7 @@ msgid "Supplier Part Orders" msgstr "" #: company/templates/company/supplier_part.html:160 -#: part/templates/part/detail.html:175 +#: part/templates/part/detail.html:68 msgid "Order Part" msgstr "" @@ -2796,15 +2813,15 @@ msgid "Delete price break" msgstr "" #: company/templates/company/supplier_part_navbar.html:15 -#: part/templates/part/part_sidebar.html:16 +#: part/templates/part/part_sidebar.html:14 #: stock/templates/stock/loc_link.html:3 stock/templates/stock/location.html:14 #: stock/templates/stock/stock_app_base.html:10 #: templates/InvenTree/search.html:156 #: templates/InvenTree/settings/sidebar.html:40 -#: templates/js/translated/bom.js:216 templates/js/translated/part.js:427 -#: templates/js/translated/part.js:562 templates/js/translated/part.js:878 -#: templates/js/translated/part.js:1039 templates/js/translated/stock.js:509 -#: templates/js/translated/stock.js:1162 templates/navbar.html:26 +#: templates/js/translated/bom.js:216 templates/js/translated/part.js:434 +#: templates/js/translated/part.js:569 templates/js/translated/part.js:1059 +#: templates/js/translated/part.js:1220 templates/js/translated/stock.js:591 +#: templates/js/translated/stock.js:1244 templates/navbar.html:26 msgid "Stock" msgstr "" @@ -2818,16 +2835,16 @@ msgid "Supplier Part Pricing" msgstr "" #: company/templates/company/supplier_part_navbar.html:29 -#: part/templates/part/part_sidebar.html:30 +#: part/templates/part/part_sidebar.html:28 msgid "Pricing" msgstr "" #: company/templates/company/supplier_part_sidebar.html:5 -#: stock/templates/stock/location.html:118 -#: stock/templates/stock/location.html:132 -#: stock/templates/stock/location.html:144 +#: stock/templates/stock/location.html:133 +#: stock/templates/stock/location.html:147 +#: stock/templates/stock/location.html:159 #: stock/templates/stock/location_sidebar.html:7 -#: templates/InvenTree/search.html:158 templates/js/translated/stock.js:1901 +#: templates/InvenTree/search.html:158 templates/js/translated/stock.js:1983 #: templates/stats.html:93 templates/stats.html:102 users/models.py:43 msgid "Stock Items" msgstr "" @@ -2947,7 +2964,7 @@ msgstr "" msgid "Place order" msgstr "" -#: order/forms.py:37 order/templates/order/order_base.html:59 +#: order/forms.py:37 order/templates/order/order_base.html:60 msgid "Mark order as complete" msgstr "" @@ -3000,8 +3017,8 @@ msgstr "" msgid "Company from which the items are being ordered" msgstr "" -#: order/models.py:267 order/templates/order/order_base.html:114 -#: templates/js/translated/order.js:669 +#: order/models.py:267 order/templates/order/order_base.html:118 +#: templates/js/translated/order.js:676 msgid "Supplier Reference" msgstr "" @@ -3061,7 +3078,7 @@ msgstr "" msgid "Target date for order completion. Order will be overdue after this date." msgstr "" -#: order/models.py:582 templates/js/translated/order.js:1114 +#: order/models.py:582 templates/js/translated/order.js:1113 msgid "Shipment Date" msgstr "" @@ -3086,16 +3103,16 @@ msgid "Line item notes" msgstr "" #: order/models.py:768 order/models.py:856 -#: templates/js/translated/order.js:1166 +#: templates/js/translated/order.js:1165 msgid "Order" msgstr "" #: order/models.py:769 order/templates/order/order_base.html:9 #: order/templates/order/order_base.html:18 #: report/templates/report/inventree_po_report.html:77 -#: stock/templates/stock/item_base.html:325 -#: templates/js/translated/order.js:638 templates/js/translated/stock.js:1300 -#: templates/js/translated/stock.js:1983 +#: stock/templates/stock/item_base.html:353 +#: templates/js/translated/order.js:638 templates/js/translated/part.js:775 +#: templates/js/translated/stock.js:1382 templates/js/translated/stock.js:2065 msgid "Purchase Order" msgstr "" @@ -3103,9 +3120,10 @@ msgstr "" msgid "Supplier part" msgstr "" -#: order/models.py:797 order/templates/order/order_base.html:147 -#: order/templates/order/sales_order_base.html:154 -#: templates/js/translated/order.js:429 templates/js/translated/order.js:954 +#: order/models.py:797 order/templates/order/order_base.html:151 +#: order/templates/order/sales_order_base.html:155 +#: templates/js/translated/order.js:429 templates/js/translated/order.js:953 +#: templates/js/translated/part.js:847 templates/js/translated/part.js:873 msgid "Received" msgstr "" @@ -3113,9 +3131,9 @@ msgstr "" msgid "Number of items received" msgstr "" -#: order/models.py:805 part/templates/part/prices.html:176 stock/models.py:619 -#: stock/serializers.py:163 stock/templates/stock/item_base.html:332 -#: templates/js/translated/stock.js:1354 +#: order/models.py:805 part/templates/part/prices.html:176 stock/models.py:609 +#: stock/serializers.py:168 stock/templates/stock/item_base.html:360 +#: templates/js/translated/stock.js:1436 msgid "Purchase Price" msgstr "" @@ -3176,47 +3194,47 @@ msgstr "" msgid "Enter stock allocation quantity" msgstr "" -#: order/serializers.py:169 +#: order/serializers.py:175 msgid "Purchase price currency" msgstr "" -#: order/serializers.py:204 +#: order/serializers.py:213 msgid "Line Item" msgstr "" -#: order/serializers.py:210 +#: order/serializers.py:219 msgid "Line item does not match purchase order" msgstr "" -#: order/serializers.py:220 order/serializers.py:288 +#: order/serializers.py:229 order/serializers.py:297 msgid "Select destination location for received items" msgstr "" -#: order/serializers.py:244 +#: order/serializers.py:253 msgid "Barcode Hash" msgstr "" -#: order/serializers.py:245 +#: order/serializers.py:254 msgid "Unique identifier field" msgstr "" -#: order/serializers.py:262 +#: order/serializers.py:271 msgid "Barcode is already in use" msgstr "" -#: order/serializers.py:300 +#: order/serializers.py:309 msgid "Line items must be provided" msgstr "" -#: order/serializers.py:317 +#: order/serializers.py:326 msgid "Destination location must be specified" msgstr "" -#: order/serializers.py:328 +#: order/serializers.py:337 msgid "Supplied barcode values must be unique" msgstr "" -#: order/serializers.py:569 +#: order/serializers.py:578 msgid "Sale price currency" msgstr "" @@ -3248,22 +3266,36 @@ msgstr "" msgid "Receive items" msgstr "" -#: order/templates/order/order_base.html:93 -#: order/templates/order/sales_order_base.html:98 +#: order/templates/order/order_base.html:58 +#: order/templates/order/purchase_order_detail.html:31 +msgid "Receive Items" +msgstr "" + +#: order/templates/order/order_base.html:62 order/views.py:185 +msgid "Complete Order" +msgstr "" + +#: order/templates/order/order_base.html:84 +#: order/templates/order/sales_order_base.html:79 msgid "Order Reference" msgstr "" -#: order/templates/order/order_base.html:98 -#: order/templates/order/sales_order_base.html:103 +#: order/templates/order/order_base.html:89 +#: order/templates/order/sales_order_base.html:84 +msgid "Order Description" +msgstr "" + +#: order/templates/order/order_base.html:94 +#: order/templates/order/sales_order_base.html:89 msgid "Order Status" msgstr "" -#: order/templates/order/order_base.html:133 +#: order/templates/order/order_base.html:137 #: report/templates/report/inventree_build_order_base.html:122 msgid "Issued" msgstr "" -#: order/templates/order/order_base.html:203 +#: order/templates/order/order_base.html:207 msgid "Edit Purchase Order" msgstr "" @@ -3421,7 +3453,7 @@ msgid "Select existing purchase orders, or create new orders." msgstr "" #: order/templates/order/order_wizard/select_pos.html:31 -#: templates/js/translated/order.js:695 templates/js/translated/order.js:1119 +#: templates/js/translated/order.js:694 templates/js/translated/order.js:1118 msgid "Items" msgstr "" @@ -3465,10 +3497,6 @@ msgstr "" msgid "Receive selected items" msgstr "" -#: order/templates/order/purchase_order_detail.html:31 -msgid "Receive Items" -msgstr "" - #: order/templates/order/purchase_order_detail.html:50 msgid "Received Items" msgstr "" @@ -3496,16 +3524,16 @@ msgstr "" msgid "Ship Order" msgstr "" -#: order/templates/order/sales_order_base.html:86 +#: order/templates/order/sales_order_base.html:102 msgid "This Sales Order has not been fully allocated" msgstr "" -#: order/templates/order/sales_order_base.html:121 -#: templates/js/translated/order.js:1086 +#: order/templates/order/sales_order_base.html:122 +#: templates/js/translated/order.js:1085 msgid "Customer Reference" msgstr "" -#: order/templates/order/sales_order_base.html:194 +#: order/templates/order/sales_order_base.html:195 msgid "Edit Sales Order" msgstr "" @@ -3576,10 +3604,6 @@ msgstr "" msgid "Purchase order issued" msgstr "" -#: order/views.py:185 -msgid "Complete Order" -msgstr "" - #: order/views.py:201 msgid "Confirm order completion" msgstr "" @@ -3672,11 +3696,11 @@ msgid "This field is required" msgstr "" #: part/bom.py:125 part/models.py:81 part/models.py:816 -#: part/templates/part/category.html:90 part/templates/part/detail.html:104 +#: part/templates/part/category.html:104 part/templates/part/part_base.html:338 msgid "Default Location" msgstr "" -#: part/bom.py:126 part/templates/part/part_base.html:167 +#: part/bom.py:126 part/templates/part/part_base.html:185 msgid "Available Stock" msgstr "" @@ -3793,19 +3817,19 @@ msgstr "" msgid "Part Category" msgstr "" -#: part/models.py:96 part/templates/part/category.html:117 +#: part/models.py:96 part/templates/part/category.html:124 #: templates/InvenTree/search.html:101 templates/stats.html:84 #: users/models.py:40 msgid "Part Categories" msgstr "" #: part/models.py:358 part/templates/part/cat_link.html:3 -#: part/templates/part/category.html:13 part/templates/part/category.html:122 -#: part/templates/part/category.html:142 +#: part/templates/part/category.html:13 part/templates/part/category.html:129 +#: part/templates/part/category.html:149 #: part/templates/part/category_sidebar.html:9 #: templates/InvenTree/index.html:85 templates/InvenTree/search.html:88 #: templates/InvenTree/settings/sidebar.html:36 -#: templates/js/translated/part.js:1416 templates/navbar.html:19 +#: templates/js/translated/part.js:1597 templates/navbar.html:19 #: templates/stats.html:80 templates/stats.html:89 users/models.py:41 msgid "Parts" msgstr "" @@ -3859,8 +3883,8 @@ msgstr "" msgid "Part description" msgstr "" -#: part/models.py:770 part/templates/part/category.html:97 -#: part/templates/part/detail.html:73 +#: part/models.py:770 part/templates/part/category.html:82 +#: part/templates/part/part_base.html:302 msgid "Keywords" msgstr "" @@ -3869,9 +3893,10 @@ msgid "Part keywords to improve visibility in search results" msgstr "" #: part/models.py:778 part/models.py:2223 part/models.py:2472 -#: part/templates/part/detail.html:36 part/templates/part/set_category.html:15 +#: part/templates/part/part_base.html:265 +#: part/templates/part/set_category.html:15 #: templates/InvenTree/settings/settings.html:163 -#: templates/js/translated/part.js:1021 +#: templates/js/translated/part.js:1202 msgid "Category" msgstr "" @@ -3879,9 +3904,9 @@ msgstr "" msgid "Part category" msgstr "" -#: part/models.py:784 part/templates/part/detail.html:45 -#: templates/js/translated/part.js:550 templates/js/translated/part.js:974 -#: templates/js/translated/stock.js:1134 +#: part/models.py:784 part/templates/part/part_base.html:274 +#: templates/js/translated/part.js:557 templates/js/translated/part.js:1155 +#: templates/js/translated/stock.js:1216 msgid "IPN" msgstr "" @@ -3893,8 +3918,8 @@ msgstr "" msgid "Part revision or version number" msgstr "" -#: part/models.py:792 part/templates/part/detail.html:52 report/models.py:200 -#: templates/js/translated/part.js:554 +#: part/models.py:792 part/templates/part/part_base.html:281 +#: report/models.py:200 templates/js/translated/part.js:561 msgid "Revision" msgstr "" @@ -3902,7 +3927,7 @@ msgstr "" msgid "Where is this item normally stored?" msgstr "" -#: part/models.py:861 part/templates/part/detail.html:113 +#: part/models.py:861 part/templates/part/part_base.html:347 msgid "Default Supplier" msgstr "" @@ -3918,7 +3943,7 @@ msgstr "" msgid "Expiry time (in days) for stock items of this part" msgstr "" -#: part/models.py:875 part/templates/part/part_base.html:178 +#: part/models.py:875 part/templates/part/part_base.html:196 msgid "Minimum Stock" msgstr "" @@ -4001,8 +4026,8 @@ msgstr "" msgid "Test with this name already exists for this part" msgstr "" -#: part/models.py:2310 templates/js/translated/part.js:1467 -#: templates/js/translated/stock.js:858 +#: part/models.py:2310 templates/js/translated/part.js:1648 +#: templates/js/translated/stock.js:940 msgid "Test Name" msgstr "" @@ -4018,7 +4043,7 @@ msgstr "" msgid "Enter description for this test" msgstr "" -#: part/models.py:2322 templates/js/translated/part.js:1476 +#: part/models.py:2322 templates/js/translated/part.js:1657 #: templates/js/translated/table_filters.js:276 msgid "Required" msgstr "" @@ -4027,7 +4052,7 @@ msgstr "" msgid "Is this test required to pass?" msgstr "" -#: part/models.py:2328 templates/js/translated/part.js:1484 +#: part/models.py:2328 templates/js/translated/part.js:1665 msgid "Requires Value" msgstr "" @@ -4035,7 +4060,7 @@ msgstr "" msgid "Does this test require a value when adding a test result?" msgstr "" -#: part/models.py:2334 templates/js/translated/part.js:1491 +#: part/models.py:2334 templates/js/translated/part.js:1672 msgid "Requires Attachment" msgstr "" @@ -4150,7 +4175,7 @@ msgstr "" msgid "Stock items for variant parts can be used for this BOM item" msgstr "" -#: part/models.py:2686 stock/models.py:371 +#: part/models.py:2686 stock/models.py:361 msgid "Quantity must be integer value for trackable parts" msgstr "" @@ -4213,7 +4238,7 @@ msgstr "" msgid "The BOM for %(part)s has not been validated." msgstr "" -#: part/templates/part/bom.html:30 part/templates/part/detail.html:357 +#: part/templates/part/bom.html:30 part/templates/part/detail.html:250 msgid "BOM actions" msgstr "" @@ -4298,68 +4323,64 @@ msgstr "" msgid "New Category" msgstr "" -#: part/templates/part/category.html:67 -msgid "Top level part category" -msgstr "" - -#: part/templates/part/category.html:79 +#: part/templates/part/category.html:76 part/templates/part/category.html:89 msgid "Category Path" msgstr "" -#: part/templates/part/category.html:84 -msgid "Category Description" +#: part/templates/part/category.html:90 +msgid "Top level part category" msgstr "" -#: part/templates/part/category.html:103 part/templates/part/category.html:194 +#: part/templates/part/category.html:110 part/templates/part/category.html:201 #: part/templates/part/category_sidebar.html:7 msgid "Subcategories" msgstr "" -#: part/templates/part/category.html:108 +#: part/templates/part/category.html:115 msgid "Parts (Including subcategories)" msgstr "" -#: part/templates/part/category.html:145 +#: part/templates/part/category.html:152 msgid "Export Part Data" msgstr "" -#: part/templates/part/category.html:146 part/templates/part/category.html:170 +#: part/templates/part/category.html:153 part/templates/part/category.html:177 msgid "Export" msgstr "" -#: part/templates/part/category.html:149 +#: part/templates/part/category.html:156 msgid "Create new part" msgstr "" -#: part/templates/part/category.html:150 templates/js/translated/bom.js:40 +#: part/templates/part/category.html:157 templates/js/translated/bom.js:40 msgid "New Part" msgstr "" -#: part/templates/part/category.html:164 +#: part/templates/part/category.html:171 msgid "Set category" msgstr "" -#: part/templates/part/category.html:164 +#: part/templates/part/category.html:171 msgid "Set Category" msgstr "" -#: part/templates/part/category.html:168 +#: part/templates/part/category.html:175 msgid "Print Labels" msgstr "" -#: part/templates/part/category.html:170 +#: part/templates/part/category.html:177 msgid "Export Data" msgstr "" -#: part/templates/part/category.html:184 +#: part/templates/part/category.html:191 msgid "Part Parameters" msgstr "" -#: part/templates/part/category.html:261 +#: part/templates/part/category.html:268 msgid "Create Part Category" msgstr "" -#: part/templates/part/category.html:288 +#: part/templates/part/category.html:295 msgid "Create Part" msgstr "" @@ -4402,7 +4423,7 @@ msgstr "" msgid "Import Parts" msgstr "" -#: part/templates/part/copy_part.html:9 templates/js/translated/part.js:366 +#: part/templates/part/copy_part.html:9 templates/js/translated/part.js:373 msgid "Duplicate Part" msgstr "" @@ -4426,167 +4447,155 @@ msgstr "" msgid "%(full_name)s - %(desc)s (%(match_per)s%% match)" msgstr "" -#: part/templates/part/detail.html:16 -msgid "Part Details" -msgstr "" - -#: part/templates/part/detail.html:66 -msgid "Minimum stock level" -msgstr "" - -#: part/templates/part/detail.html:97 -msgid "Latest Serial Number" -msgstr "" - -#: part/templates/part/detail.html:124 +#: part/templates/part/detail.html:17 msgid "Part Stock" msgstr "" -#: part/templates/part/detail.html:136 +#: part/templates/part/detail.html:29 #, python-format msgid "Showing stock for all variants of %(full_name)s" msgstr "" -#: part/templates/part/detail.html:146 +#: part/templates/part/detail.html:39 msgid "Part Test Templates" msgstr "" -#: part/templates/part/detail.html:151 +#: part/templates/part/detail.html:44 msgid "Add Test Template" msgstr "" -#: part/templates/part/detail.html:208 +#: part/templates/part/detail.html:101 msgid "Sales Order Allocations" msgstr "" -#: part/templates/part/detail.html:249 +#: part/templates/part/detail.html:142 msgid "Part Variants" msgstr "" -#: part/templates/part/detail.html:253 +#: part/templates/part/detail.html:146 msgid "Create new variant" msgstr "" -#: part/templates/part/detail.html:254 +#: part/templates/part/detail.html:147 msgid "New Variant" msgstr "" -#: part/templates/part/detail.html:281 +#: part/templates/part/detail.html:174 msgid "Add new parameter" msgstr "" -#: part/templates/part/detail.html:315 part/templates/part/part_sidebar.html:47 +#: part/templates/part/detail.html:208 part/templates/part/part_sidebar.html:45 msgid "Related Parts" msgstr "" -#: part/templates/part/detail.html:319 part/templates/part/detail.html:320 +#: part/templates/part/detail.html:212 part/templates/part/detail.html:213 msgid "Add Related" msgstr "" -#: part/templates/part/detail.html:340 part/templates/part/part_sidebar.html:19 +#: part/templates/part/detail.html:233 part/templates/part/part_sidebar.html:17 msgid "Bill of Materials" msgstr "" -#: part/templates/part/detail.html:345 +#: part/templates/part/detail.html:238 msgid "Export actions" msgstr "" -#: part/templates/part/detail.html:349 +#: part/templates/part/detail.html:242 msgid "Export BOM" msgstr "" -#: part/templates/part/detail.html:351 +#: part/templates/part/detail.html:244 msgid "Print BOM Report" msgstr "" -#: part/templates/part/detail.html:361 +#: part/templates/part/detail.html:254 msgid "Upload BOM" msgstr "" -#: part/templates/part/detail.html:363 templates/js/translated/part.js:267 +#: part/templates/part/detail.html:256 templates/js/translated/part.js:270 msgid "Copy BOM" msgstr "" -#: part/templates/part/detail.html:365 part/views.py:755 +#: part/templates/part/detail.html:258 part/views.py:755 msgid "Validate BOM" msgstr "" -#: part/templates/part/detail.html:370 +#: part/templates/part/detail.html:263 msgid "New BOM Item" msgstr "" -#: part/templates/part/detail.html:371 +#: part/templates/part/detail.html:264 msgid "Add BOM Item" msgstr "" -#: part/templates/part/detail.html:384 +#: part/templates/part/detail.html:277 msgid "Assemblies" msgstr "" -#: part/templates/part/detail.html:401 +#: part/templates/part/detail.html:294 msgid "Part Builds" msgstr "" -#: part/templates/part/detail.html:426 +#: part/templates/part/detail.html:319 msgid "Build Order Allocations" msgstr "" -#: part/templates/part/detail.html:436 +#: part/templates/part/detail.html:329 msgid "Part Suppliers" msgstr "" -#: part/templates/part/detail.html:463 +#: part/templates/part/detail.html:356 msgid "Part Manufacturers" msgstr "" -#: part/templates/part/detail.html:479 +#: part/templates/part/detail.html:372 msgid "Delete manufacturer parts" msgstr "" -#: part/templates/part/detail.html:660 +#: part/templates/part/detail.html:553 msgid "Delete selected BOM items?" msgstr "" -#: part/templates/part/detail.html:661 +#: part/templates/part/detail.html:554 msgid "All selected BOM items will be deleted" msgstr "" -#: part/templates/part/detail.html:712 +#: part/templates/part/detail.html:605 msgid "Create BOM Item" msgstr "" -#: part/templates/part/detail.html:764 +#: part/templates/part/detail.html:657 msgid "Related Part" msgstr "" -#: part/templates/part/detail.html:772 +#: part/templates/part/detail.html:665 msgid "Add Related Part" msgstr "" -#: part/templates/part/detail.html:869 +#: part/templates/part/detail.html:760 msgid "Add Test Result Template" msgstr "" -#: part/templates/part/detail.html:926 +#: part/templates/part/detail.html:817 msgid "Edit Part Notes" msgstr "" -#: part/templates/part/detail.html:1039 +#: part/templates/part/detail.html:930 #, python-format msgid "Purchase Unit Price - %(currency)s" msgstr "" -#: part/templates/part/detail.html:1051 +#: part/templates/part/detail.html:942 #, python-format msgid "Unit Price-Cost Difference - %(currency)s" msgstr "" -#: part/templates/part/detail.html:1063 +#: part/templates/part/detail.html:954 #, python-format msgid "Supplier Unit Cost - %(currency)s" msgstr "" -#: part/templates/part/detail.html:1152 +#: part/templates/part/detail.html:1043 #, python-format msgid "Unit Price - %(currency)s" msgstr "" @@ -4668,86 +4677,108 @@ msgstr "" msgid "Delete part" msgstr "" -#: part/templates/part/part_base.html:109 +#: part/templates/part/part_base.html:112 msgid "Part is a template part (variants can be made from this part)" msgstr "" -#: part/templates/part/part_base.html:113 +#: part/templates/part/part_base.html:116 msgid "Part can be assembled from other parts" msgstr "" -#: part/templates/part/part_base.html:117 +#: part/templates/part/part_base.html:120 msgid "Part can be used in assemblies" msgstr "" -#: part/templates/part/part_base.html:121 +#: part/templates/part/part_base.html:124 msgid "Part stock is tracked by serial number" msgstr "" -#: part/templates/part/part_base.html:125 +#: part/templates/part/part_base.html:128 msgid "Part can be purchased from external suppliers" msgstr "" -#: part/templates/part/part_base.html:129 +#: part/templates/part/part_base.html:132 msgid "Part can be sold to customers" msgstr "" -#: part/templates/part/part_base.html:135 -#: part/templates/part/part_base.html:143 +#: part/templates/part/part_base.html:138 +#: part/templates/part/part_base.html:146 msgid "Part is virtual (not a physical part)" msgstr "" -#: part/templates/part/part_base.html:136 +#: part/templates/part/part_base.html:139 #: templates/js/translated/company.js:505 #: templates/js/translated/company.js:762 #: templates/js/translated/model_renderers.js:175 -#: templates/js/translated/part.js:465 templates/js/translated/part.js:542 +#: templates/js/translated/part.js:472 templates/js/translated/part.js:549 msgid "Inactive" msgstr "" -#: part/templates/part/part_base.html:155 +#: part/templates/part/part_base.html:156 +#: part/templates/part/part_base.html:579 +msgid "Show Part Details" +msgstr "" + +#: part/templates/part/part_base.html:173 #, python-format msgid "This part is a variant of %(link)s" msgstr "" -#: part/templates/part/part_base.html:172 templates/js/translated/order.js:1546 +#: part/templates/part/part_base.html:190 templates/js/translated/order.js:1545 #: templates/js/translated/table_filters.js:188 msgid "In Stock" msgstr "" -#: part/templates/part/part_base.html:185 templates/js/translated/part.js:1054 +#: part/templates/part/part_base.html:203 templates/js/translated/part.js:1235 msgid "On Order" msgstr "" -#: part/templates/part/part_base.html:192 templates/InvenTree/index.html:178 +#: part/templates/part/part_base.html:210 templates/InvenTree/index.html:178 msgid "Required for Build Orders" msgstr "" -#: part/templates/part/part_base.html:199 +#: part/templates/part/part_base.html:217 msgid "Required for Sales Orders" msgstr "" -#: part/templates/part/part_base.html:206 +#: part/templates/part/part_base.html:224 msgid "Allocated to Orders" msgstr "" -#: part/templates/part/part_base.html:221 templates/js/translated/bom.js:566 +#: part/templates/part/part_base.html:239 templates/js/translated/bom.js:566 msgid "Can Build" msgstr "" -#: part/templates/part/part_base.html:227 templates/js/translated/part.js:885 -#: templates/js/translated/part.js:1058 +#: part/templates/part/part_base.html:245 templates/js/translated/part.js:1066 +#: templates/js/translated/part.js:1239 msgid "Building" msgstr "" -#: part/templates/part/part_base.html:320 part/templates/part/prices.html:144 +#: part/templates/part/part_base.html:295 +msgid "Minimum stock level" +msgstr "" + +#: part/templates/part/part_base.html:324 +msgid "Latest Serial Number" +msgstr "" + +#: part/templates/part/part_base.html:328 +#: stock/templates/stock/item_base.html:159 +msgid "Search for serial number" +msgstr "" + +#: part/templates/part/part_base.html:449 part/templates/part/prices.html:144 msgid "Calculate" msgstr "" -#: part/templates/part/part_base.html:363 +#: part/templates/part/part_base.html:492 msgid "No matching images found" msgstr "" +#: part/templates/part/part_base.html:573 +msgid "Hide Part Details" +msgstr "" + #: part/templates/part/part_pricing.html:22 part/templates/part/prices.html:21 msgid "Supplier Pricing" msgstr "" @@ -4805,20 +4836,15 @@ msgstr "" msgid "No pricing information is available for this part." msgstr "" -#: part/templates/part/part_sidebar.html:8 -#: templates/js/translated/stock.js:1949 -msgid "Details" -msgstr "" - -#: part/templates/part/part_sidebar.html:13 +#: part/templates/part/part_sidebar.html:11 msgid "Variants" msgstr "" -#: part/templates/part/part_sidebar.html:27 +#: part/templates/part/part_sidebar.html:25 msgid "Used In" msgstr "" -#: part/templates/part/part_sidebar.html:43 +#: part/templates/part/part_sidebar.html:41 msgid "Test Templates" msgstr "" @@ -4934,8 +4960,8 @@ msgid "Set category for the following parts" msgstr "" #: part/templates/part/stock_count.html:7 templates/js/translated/bom.js:476 -#: templates/js/translated/part.js:429 templates/js/translated/part.js:875 -#: templates/js/translated/part.js:1062 +#: templates/js/translated/part.js:436 templates/js/translated/part.js:1056 +#: templates/js/translated/part.js:1243 msgid "No Stock" msgstr "" @@ -5037,7 +5063,7 @@ msgstr "" msgid "Delete Part Parameter Template" msgstr "" -#: part/views.py:1489 templates/js/translated/part.js:310 +#: part/views.py:1489 templates/js/translated/part.js:313 msgid "Edit Part Category" msgstr "" @@ -5171,11 +5197,12 @@ msgid "Stock Item Test Report" msgstr "" #: report/templates/report/inventree_test_report_base.html:79 -#: stock/models.py:530 stock/templates/stock/item_base.html:238 +#: stock/models.py:520 stock/templates/stock/item_base.html:149 #: templates/js/translated/build.js:233 templates/js/translated/build.js:637 #: templates/js/translated/build.js:1013 #: templates/js/translated/model_renderers.js:95 -#: templates/js/translated/order.js:1288 templates/js/translated/order.js:1377 +#: templates/js/translated/order.js:1287 templates/js/translated/order.js:1376 +#: templates/js/translated/stock.js:410 msgid "Serial Number" msgstr "" @@ -5184,17 +5211,17 @@ msgid "Test Results" msgstr "" #: report/templates/report/inventree_test_report_base.html:93 -#: stock/models.py:1855 +#: stock/models.py:1845 msgid "Test" msgstr "" #: report/templates/report/inventree_test_report_base.html:94 -#: stock/models.py:1861 +#: stock/models.py:1851 msgid "Result" msgstr "" #: report/templates/report/inventree_test_report_base.html:97 -#: templates/js/translated/order.js:685 templates/js/translated/stock.js:1917 +#: templates/js/translated/order.js:684 templates/js/translated/stock.js:1999 msgid "Date" msgstr "" @@ -5212,7 +5239,7 @@ msgid "Installed Items" msgstr "" #: report/templates/report/inventree_test_report_base.html:137 -#: templates/js/translated/stock.js:2177 +#: templates/js/translated/stock.js:2259 msgid "Serial" msgstr "" @@ -5220,9 +5247,9 @@ msgstr "" msgid "Quantity is required" msgstr "" -#: stock/forms.py:91 stock/forms.py:265 stock/models.py:587 -#: stock/templates/stock/item_base.html:382 -#: templates/js/translated/stock.js:1276 +#: stock/forms.py:91 stock/forms.py:265 stock/models.py:577 +#: stock/templates/stock/item_base.html:186 +#: templates/js/translated/stock.js:1358 msgid "Expiry Date" msgstr "" @@ -5270,241 +5297,241 @@ msgstr "" msgid "Confirm removal of installed stock items" msgstr "" -#: stock/models.py:60 stock/models.py:624 -#: stock/templates/stock/item_base.html:422 +#: stock/models.py:60 stock/models.py:614 +#: stock/templates/stock/item_base.html:417 msgid "Owner" msgstr "" -#: stock/models.py:61 stock/models.py:625 +#: stock/models.py:61 stock/models.py:615 msgid "Select Owner" msgstr "" -#: stock/models.py:352 +#: stock/models.py:342 msgid "StockItem with this serial number already exists" msgstr "" -#: stock/models.py:388 +#: stock/models.py:378 #, python-brace-format msgid "Part type ('{pf}') must be {pe}" msgstr "" -#: stock/models.py:398 stock/models.py:407 +#: stock/models.py:388 stock/models.py:397 msgid "Quantity must be 1 for item with a serial number" msgstr "" -#: stock/models.py:399 +#: stock/models.py:389 msgid "Serial number cannot be set if quantity greater than 1" msgstr "" -#: stock/models.py:421 +#: stock/models.py:411 msgid "Item cannot belong to itself" msgstr "" -#: stock/models.py:427 +#: stock/models.py:417 msgid "Item must have a build reference if is_building=True" msgstr "" -#: stock/models.py:434 +#: stock/models.py:424 msgid "Build reference does not point to the same part object" msgstr "" -#: stock/models.py:476 +#: stock/models.py:466 msgid "Parent Stock Item" msgstr "" -#: stock/models.py:485 +#: stock/models.py:475 msgid "Base part" msgstr "" -#: stock/models.py:493 +#: stock/models.py:483 msgid "Select a matching supplier part for this stock item" msgstr "" -#: stock/models.py:498 stock/templates/stock/location.html:12 +#: stock/models.py:488 stock/templates/stock/location.html:12 #: stock/templates/stock/stock_app_base.html:8 msgid "Stock Location" msgstr "" -#: stock/models.py:501 +#: stock/models.py:491 msgid "Where is this stock item located?" msgstr "" -#: stock/models.py:508 +#: stock/models.py:498 msgid "Packaging this stock item is stored in" msgstr "" -#: stock/models.py:513 stock/templates/stock/item_base.html:271 +#: stock/models.py:503 stock/templates/stock/item_base.html:299 msgid "Installed In" msgstr "" -#: stock/models.py:516 +#: stock/models.py:506 msgid "Is this item installed in another item?" msgstr "" -#: stock/models.py:532 +#: stock/models.py:522 msgid "Serial number for this item" msgstr "" -#: stock/models.py:546 +#: stock/models.py:536 msgid "Batch code for this stock item" msgstr "" -#: stock/models.py:550 +#: stock/models.py:540 msgid "Stock Quantity" msgstr "" -#: stock/models.py:559 +#: stock/models.py:549 msgid "Source Build" msgstr "" -#: stock/models.py:561 +#: stock/models.py:551 msgid "Build for this stock item" msgstr "" -#: stock/models.py:572 +#: stock/models.py:562 msgid "Source Purchase Order" msgstr "" -#: stock/models.py:575 +#: stock/models.py:565 msgid "Purchase order for this stock item" msgstr "" -#: stock/models.py:581 +#: stock/models.py:571 msgid "Destination Sales Order" msgstr "" -#: stock/models.py:588 +#: stock/models.py:578 msgid "Expiry date for stock item. Stock will be considered expired after this date" msgstr "" -#: stock/models.py:601 +#: stock/models.py:591 msgid "Delete on deplete" msgstr "" -#: stock/models.py:601 +#: stock/models.py:591 msgid "Delete this Stock Item when stock is depleted" msgstr "" -#: stock/models.py:611 stock/templates/stock/item.html:111 +#: stock/models.py:601 stock/templates/stock/item.html:111 msgid "Stock Item Notes" msgstr "" -#: stock/models.py:620 +#: stock/models.py:610 msgid "Single unit purchase price at time of purchase" msgstr "" -#: stock/models.py:630 +#: stock/models.py:620 msgid "Scheduled for deletion" msgstr "" -#: stock/models.py:631 +#: stock/models.py:621 msgid "This StockItem will be deleted by the background worker" msgstr "" -#: stock/models.py:1094 +#: stock/models.py:1084 msgid "Part is not set as trackable" msgstr "" -#: stock/models.py:1100 +#: stock/models.py:1090 msgid "Quantity must be integer" msgstr "" -#: stock/models.py:1106 +#: stock/models.py:1096 #, python-brace-format msgid "Quantity must not exceed available stock quantity ({n})" msgstr "" -#: stock/models.py:1109 +#: stock/models.py:1099 msgid "Serial numbers must be a list of integers" msgstr "" -#: stock/models.py:1112 +#: stock/models.py:1102 msgid "Quantity does not match serial numbers" msgstr "" -#: stock/models.py:1119 +#: stock/models.py:1109 #, python-brace-format msgid "Serial numbers already exist: {exists}" msgstr "" -#: stock/models.py:1277 +#: stock/models.py:1267 msgid "StockItem cannot be moved as it is not in stock" msgstr "" -#: stock/models.py:1775 +#: stock/models.py:1765 msgid "Entry notes" msgstr "" -#: stock/models.py:1832 +#: stock/models.py:1822 msgid "Value must be provided for this test" msgstr "" -#: stock/models.py:1838 +#: stock/models.py:1828 msgid "Attachment must be uploaded for this test" msgstr "" -#: stock/models.py:1856 +#: stock/models.py:1846 msgid "Test name" msgstr "" -#: stock/models.py:1862 templates/js/translated/table_filters.js:266 +#: stock/models.py:1852 templates/js/translated/table_filters.js:266 msgid "Test result" msgstr "" -#: stock/models.py:1868 +#: stock/models.py:1858 msgid "Test output value" msgstr "" -#: stock/models.py:1875 +#: stock/models.py:1865 msgid "Test result attachment" msgstr "" -#: stock/models.py:1881 +#: stock/models.py:1871 msgid "Test notes" msgstr "" -#: stock/serializers.py:166 +#: stock/serializers.py:171 msgid "Purchase price of this stock item" msgstr "" -#: stock/serializers.py:173 +#: stock/serializers.py:178 msgid "Purchase currency of this stock item" msgstr "" -#: stock/serializers.py:287 +#: stock/serializers.py:292 msgid "Enter number of stock items to serialize" msgstr "" -#: stock/serializers.py:302 +#: stock/serializers.py:307 #, python-brace-format msgid "Quantity must not exceed available stock quantity ({q})" msgstr "" -#: stock/serializers.py:308 +#: stock/serializers.py:313 msgid "Enter serial numbers for new items" msgstr "" -#: stock/serializers.py:319 stock/serializers.py:686 +#: stock/serializers.py:324 stock/serializers.py:691 msgid "Destination stock location" msgstr "" -#: stock/serializers.py:326 +#: stock/serializers.py:331 msgid "Optional note field" msgstr "" -#: stock/serializers.py:339 +#: stock/serializers.py:344 msgid "Serial numbers cannot be assigned to this part" msgstr "" -#: stock/serializers.py:556 +#: stock/serializers.py:561 msgid "StockItem primary key value" msgstr "" -#: stock/serializers.py:584 +#: stock/serializers.py:589 msgid "Stock transaction notes" msgstr "" -#: stock/serializers.py:594 +#: stock/serializers.py:599 msgid "A list of stock items must be provided" msgstr "" @@ -5629,125 +5656,131 @@ msgstr "" msgid "Install" msgstr "" -#: stock/templates/stock/item_base.html:106 +#: stock/templates/stock/item_base.html:108 msgid "Convert to variant" msgstr "" -#: stock/templates/stock/item_base.html:109 +#: stock/templates/stock/item_base.html:111 msgid "Duplicate stock item" msgstr "" -#: stock/templates/stock/item_base.html:111 +#: stock/templates/stock/item_base.html:113 msgid "Edit stock item" msgstr "" -#: stock/templates/stock/item_base.html:114 +#: stock/templates/stock/item_base.html:116 msgid "Delete stock item" msgstr "" -#: stock/templates/stock/item_base.html:136 -#: stock/templates/stock/item_base.html:386 -#: templates/js/translated/table_filters.js:247 -msgid "Expired" +#: stock/templates/stock/item_base.html:154 +msgid "previous page" msgstr "" -#: stock/templates/stock/item_base.html:146 -#: stock/templates/stock/item_base.html:388 -#: templates/js/translated/table_filters.js:253 -msgid "Stale" +#: stock/templates/stock/item_base.html:154 +msgid "Navigate to previous serial number" msgstr "" -#: stock/templates/stock/item_base.html:161 -msgid "You are not in the list of owners of this item. This stock item cannot be edited." +#: stock/templates/stock/item_base.html:163 +msgid "next page" msgstr "" -#: stock/templates/stock/item_base.html:168 -msgid "This stock item is in production and cannot be edited." -msgstr "" - -#: stock/templates/stock/item_base.html:169 -msgid "Edit the stock item from the build view." -msgstr "" - -#: stock/templates/stock/item_base.html:182 -msgid "This stock item has not passed all required tests" +#: stock/templates/stock/item_base.html:163 +msgid "Navigate to next serial number" msgstr "" #: stock/templates/stock/item_base.html:190 #, python-format -msgid "This stock item is allocated to Sales Order %(link)s (Quantity: %(qty)s)" -msgstr "" - -#: stock/templates/stock/item_base.html:198 -#, python-format -msgid "This stock item is allocated to Build %(link)s (Quantity: %(qty)s)" -msgstr "" - -#: stock/templates/stock/item_base.html:204 -msgid "This stock item is serialized - it has a unique serial number and the quantity cannot be adjusted." -msgstr "" - -#: stock/templates/stock/item_base.html:208 -msgid "This stock item cannot be deleted as it has child items" -msgstr "" - -#: stock/templates/stock/item_base.html:212 -msgid "This stock item will be automatically deleted when all stock is depleted." -msgstr "" - -#: stock/templates/stock/item_base.html:241 -msgid "previous page" -msgstr "" - -#: stock/templates/stock/item_base.html:247 -msgid "next page" -msgstr "" - -#: stock/templates/stock/item_base.html:290 -#: templates/js/translated/build.js:1035 -msgid "No location set" -msgstr "" - -#: stock/templates/stock/item_base.html:297 -msgid "Barcode Identifier" -msgstr "" - -#: stock/templates/stock/item_base.html:339 -msgid "Parent Item" -msgstr "" - -#: stock/templates/stock/item_base.html:357 -msgid "No manufacturer set" -msgstr "" - -#: stock/templates/stock/item_base.html:386 -#, python-format msgid "This StockItem expired on %(item.expiry_date)s" msgstr "" -#: stock/templates/stock/item_base.html:388 +#: stock/templates/stock/item_base.html:190 +#: templates/js/translated/table_filters.js:247 +msgid "Expired" +msgstr "" + +#: stock/templates/stock/item_base.html:192 #, python-format msgid "This StockItem expires on %(item.expiry_date)s" msgstr "" -#: stock/templates/stock/item_base.html:395 -#: templates/js/translated/stock.js:1289 +#: stock/templates/stock/item_base.html:192 +#: templates/js/translated/table_filters.js:253 +msgid "Stale" +msgstr "" + +#: stock/templates/stock/item_base.html:199 +#: templates/js/translated/stock.js:1371 msgid "Last Updated" msgstr "" -#: stock/templates/stock/item_base.html:400 +#: stock/templates/stock/item_base.html:204 msgid "Last Stocktake" msgstr "" -#: stock/templates/stock/item_base.html:404 +#: stock/templates/stock/item_base.html:208 msgid "No stocktake performed" msgstr "" -#: stock/templates/stock/item_base.html:415 +#: stock/templates/stock/item_base.html:226 +msgid "You are not in the list of owners of this item. This stock item cannot be edited." +msgstr "" + +#: stock/templates/stock/item_base.html:233 +msgid "This stock item is in production and cannot be edited." +msgstr "" + +#: stock/templates/stock/item_base.html:234 +msgid "Edit the stock item from the build view." +msgstr "" + +#: stock/templates/stock/item_base.html:247 +msgid "This stock item has not passed all required tests" +msgstr "" + +#: stock/templates/stock/item_base.html:255 +#, python-format +msgid "This stock item is allocated to Sales Order %(link)s (Quantity: %(qty)s)" +msgstr "" + +#: stock/templates/stock/item_base.html:263 +#, python-format +msgid "This stock item is allocated to Build %(link)s (Quantity: %(qty)s)" +msgstr "" + +#: stock/templates/stock/item_base.html:269 +msgid "This stock item is serialized - it has a unique serial number and the quantity cannot be adjusted." +msgstr "" + +#: stock/templates/stock/item_base.html:273 +msgid "This stock item cannot be deleted as it has child items" +msgstr "" + +#: stock/templates/stock/item_base.html:277 +msgid "This stock item will be automatically deleted when all stock is depleted." +msgstr "" + +#: stock/templates/stock/item_base.html:318 +#: templates/js/translated/build.js:1035 +msgid "No location set" +msgstr "" + +#: stock/templates/stock/item_base.html:325 +msgid "Barcode Identifier" +msgstr "" + +#: stock/templates/stock/item_base.html:367 +msgid "Parent Item" +msgstr "" + +#: stock/templates/stock/item_base.html:385 +msgid "No manufacturer set" +msgstr "" + +#: stock/templates/stock/item_base.html:410 msgid "Tests" msgstr "" -#: stock/templates/stock/item_base.html:505 +#: stock/templates/stock/item_base.html:500 msgid "Edit Stock Status" msgstr "" @@ -5825,30 +5858,35 @@ msgstr "" msgid "New Location" msgstr "" -#: stock/templates/stock/location.html:86 +#: stock/templates/stock/location.html:95 +#: stock/templates/stock/location.html:101 +msgid "Location Path" +msgstr "" + +#: stock/templates/stock/location.html:102 msgid "Top level stock location" msgstr "" -#: stock/templates/stock/location.html:95 +#: stock/templates/stock/location.html:115 msgid "You are not in the list of owners of this location. This stock location cannot be edited." msgstr "" -#: stock/templates/stock/location.html:113 -#: stock/templates/stock/location.html:160 +#: stock/templates/stock/location.html:128 +#: stock/templates/stock/location.html:175 #: stock/templates/stock/location_sidebar.html:5 msgid "Sublocations" msgstr "" -#: stock/templates/stock/location.html:127 templates/InvenTree/search.html:170 +#: stock/templates/stock/location.html:142 templates/InvenTree/search.html:170 #: templates/stats.html:97 users/models.py:42 msgid "Stock Locations" msgstr "" -#: stock/templates/stock/location.html:167 templates/stock_table.html:30 +#: stock/templates/stock/location.html:182 templates/stock_table.html:30 msgid "Printing Actions" msgstr "" -#: stock/templates/stock/location.html:171 templates/stock_table.html:34 +#: stock/templates/stock/location.html:186 templates/stock_table.html:34 msgid "Print labels" msgstr "" @@ -5942,7 +5980,7 @@ msgstr "" msgid "Uninstall Stock Items" msgstr "" -#: stock/views.py:760 templates/js/translated/stock.js:648 +#: stock/views.py:760 templates/js/translated/stock.js:730 msgid "Confirm stock adjustment" msgstr "" @@ -5950,7 +5988,7 @@ msgstr "" msgid "Uninstalled stock items" msgstr "" -#: stock/views.py:793 templates/js/translated/stock.js:318 +#: stock/views.py:793 templates/js/translated/stock.js:319 msgid "Edit Stock Item" msgstr "" @@ -5962,7 +6000,7 @@ msgstr "" msgid "Create new Stock Item" msgstr "" -#: stock/views.py:1186 templates/js/translated/stock.js:298 +#: stock/views.py:1186 templates/js/translated/stock.js:299 msgid "Duplicate Stock Item" msgstr "" @@ -6868,7 +6906,7 @@ msgstr "" msgid "Unlink" msgstr "" -#: templates/js/translated/barcode.js:397 templates/js/translated/stock.js:600 +#: templates/js/translated/barcode.js:397 templates/js/translated/stock.js:682 msgid "Remove stock item" msgstr "" @@ -6963,7 +7001,7 @@ msgid "View BOM" msgstr "" #: templates/js/translated/bom.js:608 templates/js/translated/build.js:1183 -#: templates/js/translated/order.js:1320 +#: templates/js/translated/order.js:1319 msgid "Actions" msgstr "" @@ -7055,7 +7093,7 @@ msgstr "" msgid "No build order allocations found" msgstr "" -#: templates/js/translated/build.js:424 templates/js/translated/order.js:1194 +#: templates/js/translated/build.js:424 templates/js/translated/order.js:1193 msgid "Location not specified" msgstr "" @@ -7064,12 +7102,12 @@ msgid "No active build outputs found" msgstr "" #: templates/js/translated/build.js:1052 templates/js/translated/build.js:1760 -#: templates/js/translated/order.js:1327 +#: templates/js/translated/order.js:1326 msgid "Edit stock allocation" msgstr "" #: templates/js/translated/build.js:1054 templates/js/translated/build.js:1761 -#: templates/js/translated/order.js:1328 +#: templates/js/translated/order.js:1327 msgid "Delete stock allocation" msgstr "" @@ -7090,11 +7128,11 @@ msgid "Quantity Per" msgstr "" #: templates/js/translated/build.js:1134 templates/js/translated/build.js:1360 -#: templates/js/translated/build.js:1756 templates/js/translated/order.js:1557 +#: templates/js/translated/build.js:1756 templates/js/translated/order.js:1556 msgid "Allocated" msgstr "" -#: templates/js/translated/build.js:1190 templates/js/translated/order.js:1611 +#: templates/js/translated/build.js:1190 templates/js/translated/order.js:1610 msgid "Build stock" msgstr "" @@ -7102,7 +7140,7 @@ msgstr "" msgid "Order stock" msgstr "" -#: templates/js/translated/build.js:1197 templates/js/translated/order.js:1604 +#: templates/js/translated/build.js:1197 templates/js/translated/order.js:1603 msgid "Allocate stock" msgstr "" @@ -7143,9 +7181,9 @@ msgstr "" msgid "No builds matching query" msgstr "" -#: templates/js/translated/build.js:1593 templates/js/translated/part.js:966 -#: templates/js/translated/part.js:1377 templates/js/translated/stock.js:1094 -#: templates/js/translated/stock.js:1871 +#: templates/js/translated/build.js:1593 templates/js/translated/part.js:1147 +#: templates/js/translated/part.js:1558 templates/js/translated/stock.js:1176 +#: templates/js/translated/stock.js:1953 msgid "Select" msgstr "" @@ -7153,7 +7191,7 @@ msgstr "" msgid "Build order is overdue" msgstr "" -#: templates/js/translated/build.js:1674 templates/js/translated/stock.js:2090 +#: templates/js/translated/build.js:1674 templates/js/translated/stock.js:2172 msgid "No user information" msgstr "" @@ -7197,10 +7235,6 @@ msgstr "" msgid "Delete Supplier Part" msgstr "" -#: templates/js/translated/company.js:265 -msgid "Edit Company" -msgstr "" - #: templates/js/translated/company.js:286 msgid "Add new Company" msgstr "" @@ -7230,34 +7264,34 @@ msgid "No manufacturer parts found" msgstr "" #: templates/js/translated/company.js:497 -#: templates/js/translated/company.js:754 templates/js/translated/part.js:449 -#: templates/js/translated/part.js:534 +#: templates/js/translated/company.js:754 templates/js/translated/part.js:456 +#: templates/js/translated/part.js:541 msgid "Template part" msgstr "" #: templates/js/translated/company.js:501 -#: templates/js/translated/company.js:758 templates/js/translated/part.js:453 -#: templates/js/translated/part.js:538 +#: templates/js/translated/company.js:758 templates/js/translated/part.js:460 +#: templates/js/translated/part.js:545 msgid "Assembled part" msgstr "" -#: templates/js/translated/company.js:628 templates/js/translated/part.js:626 +#: templates/js/translated/company.js:628 templates/js/translated/part.js:633 msgid "No parameters found" msgstr "" -#: templates/js/translated/company.js:665 templates/js/translated/part.js:668 +#: templates/js/translated/company.js:665 templates/js/translated/part.js:675 msgid "Edit parameter" msgstr "" -#: templates/js/translated/company.js:666 templates/js/translated/part.js:669 +#: templates/js/translated/company.js:666 templates/js/translated/part.js:676 msgid "Delete parameter" msgstr "" -#: templates/js/translated/company.js:685 templates/js/translated/part.js:686 +#: templates/js/translated/company.js:685 templates/js/translated/part.js:693 msgid "Edit Parameter" msgstr "" -#: templates/js/translated/company.js:696 templates/js/translated/part.js:698 +#: templates/js/translated/company.js:696 templates/js/translated/part.js:705 msgid "Delete Parameter" msgstr "" @@ -7346,7 +7380,7 @@ msgid "NO" msgstr "" #: templates/js/translated/label.js:29 templates/js/translated/report.js:118 -#: templates/js/translated/stock.js:624 +#: templates/js/translated/stock.js:706 msgid "Select Stock Items" msgstr "" @@ -7502,11 +7536,11 @@ msgstr "" msgid "Export Order" msgstr "" -#: templates/js/translated/order.js:211 templates/js/translated/stock.js:423 +#: templates/js/translated/order.js:211 templates/js/translated/stock.js:505 msgid "Format" msgstr "" -#: templates/js/translated/order.js:212 templates/js/translated/stock.js:424 +#: templates/js/translated/order.js:212 templates/js/translated/stock.js:506 msgid "Select file format" msgstr "" @@ -7522,7 +7556,7 @@ msgstr "" msgid "Quantity to receive" msgstr "" -#: templates/js/translated/order.js:360 templates/js/translated/stock.js:1673 +#: templates/js/translated/order.js:360 templates/js/translated/stock.js:1755 msgid "Stock Status" msgstr "" @@ -7546,321 +7580,321 @@ msgstr "" msgid "Receive Purchase Order Items" msgstr "" -#: templates/js/translated/order.js:627 +#: templates/js/translated/order.js:627 templates/js/translated/part.js:746 msgid "No purchase orders found" msgstr "" -#: templates/js/translated/order.js:652 templates/js/translated/order.js:1063 +#: templates/js/translated/order.js:659 templates/js/translated/order.js:1062 msgid "Order is overdue" msgstr "" -#: templates/js/translated/order.js:772 templates/js/translated/order.js:1646 +#: templates/js/translated/order.js:771 templates/js/translated/order.js:1645 msgid "Edit Line Item" msgstr "" -#: templates/js/translated/order.js:784 templates/js/translated/order.js:1657 +#: templates/js/translated/order.js:783 templates/js/translated/order.js:1656 msgid "Delete Line Item" msgstr "" -#: templates/js/translated/order.js:823 +#: templates/js/translated/order.js:822 msgid "No line items found" msgstr "" -#: templates/js/translated/order.js:850 templates/js/translated/order.js:1467 +#: templates/js/translated/order.js:849 templates/js/translated/order.js:1466 msgid "Total" msgstr "" -#: templates/js/translated/order.js:904 templates/js/translated/order.js:1492 -#: templates/js/translated/part.js:1594 templates/js/translated/part.js:1805 +#: templates/js/translated/order.js:903 templates/js/translated/order.js:1491 +#: templates/js/translated/part.js:1775 templates/js/translated/part.js:1986 msgid "Unit Price" msgstr "" -#: templates/js/translated/order.js:919 templates/js/translated/order.js:1508 +#: templates/js/translated/order.js:918 templates/js/translated/order.js:1507 msgid "Total Price" msgstr "" -#: templates/js/translated/order.js:997 templates/js/translated/order.js:1617 +#: templates/js/translated/order.js:996 templates/js/translated/order.js:1616 msgid "Edit line item" msgstr "" -#: templates/js/translated/order.js:998 +#: templates/js/translated/order.js:997 msgid "Delete line item" msgstr "" -#: templates/js/translated/order.js:1002 +#: templates/js/translated/order.js:1001 templates/js/translated/part.js:878 msgid "Receive line item" msgstr "" -#: templates/js/translated/order.js:1039 +#: templates/js/translated/order.js:1038 msgid "No sales orders found" msgstr "" -#: templates/js/translated/order.js:1077 +#: templates/js/translated/order.js:1076 msgid "Invalid Customer" msgstr "" -#: templates/js/translated/order.js:1155 +#: templates/js/translated/order.js:1154 msgid "No sales order allocations found" msgstr "" -#: templates/js/translated/order.js:1248 +#: templates/js/translated/order.js:1247 msgid "Edit Stock Allocation" msgstr "" -#: templates/js/translated/order.js:1265 +#: templates/js/translated/order.js:1264 msgid "Confirm Delete Operation" msgstr "" -#: templates/js/translated/order.js:1266 +#: templates/js/translated/order.js:1265 msgid "Delete Stock Allocation" msgstr "" -#: templates/js/translated/order.js:1308 +#: templates/js/translated/order.js:1307 msgid "Stock location not specified" msgstr "" -#: templates/js/translated/order.js:1557 +#: templates/js/translated/order.js:1556 msgid "Fulfilled" msgstr "" -#: templates/js/translated/order.js:1601 +#: templates/js/translated/order.js:1600 msgid "Allocate serial numbers" msgstr "" -#: templates/js/translated/order.js:1607 +#: templates/js/translated/order.js:1606 msgid "Purchase stock" msgstr "" -#: templates/js/translated/order.js:1614 templates/js/translated/order.js:1793 +#: templates/js/translated/order.js:1613 templates/js/translated/order.js:1792 msgid "Calculate price" msgstr "" -#: templates/js/translated/order.js:1618 +#: templates/js/translated/order.js:1617 msgid "Delete line item " msgstr "" -#: templates/js/translated/order.js:1741 +#: templates/js/translated/order.js:1740 msgid "Allocate Stock Item" msgstr "" -#: templates/js/translated/order.js:1801 +#: templates/js/translated/order.js:1800 msgid "Update Unit Price" msgstr "" -#: templates/js/translated/order.js:1815 +#: templates/js/translated/order.js:1814 msgid "No matching line items" msgstr "" -#: templates/js/translated/part.js:51 +#: templates/js/translated/part.js:52 msgid "Part Attributes" msgstr "" -#: templates/js/translated/part.js:55 +#: templates/js/translated/part.js:56 msgid "Part Creation Options" msgstr "" -#: templates/js/translated/part.js:59 +#: templates/js/translated/part.js:60 msgid "Part Duplication Options" msgstr "" -#: templates/js/translated/part.js:63 +#: templates/js/translated/part.js:64 msgid "Supplier Options" msgstr "" -#: templates/js/translated/part.js:77 +#: templates/js/translated/part.js:78 msgid "Add Part Category" msgstr "" -#: templates/js/translated/part.js:166 +#: templates/js/translated/part.js:162 msgid "Create Initial Stock" msgstr "" -#: templates/js/translated/part.js:167 +#: templates/js/translated/part.js:163 msgid "Create an initial stock item for this part" msgstr "" -#: templates/js/translated/part.js:174 +#: templates/js/translated/part.js:170 msgid "Initial Stock Quantity" msgstr "" -#: templates/js/translated/part.js:175 +#: templates/js/translated/part.js:171 msgid "Specify initial stock quantity for this part" msgstr "" -#: templates/js/translated/part.js:182 +#: templates/js/translated/part.js:178 msgid "Select destination stock location" msgstr "" -#: templates/js/translated/part.js:193 +#: templates/js/translated/part.js:196 msgid "Copy Category Parameters" msgstr "" -#: templates/js/translated/part.js:194 +#: templates/js/translated/part.js:197 msgid "Copy parameter templates from selected part category" msgstr "" -#: templates/js/translated/part.js:202 +#: templates/js/translated/part.js:205 msgid "Add Supplier Data" msgstr "" -#: templates/js/translated/part.js:203 +#: templates/js/translated/part.js:206 msgid "Create initial supplier data for this part" msgstr "" -#: templates/js/translated/part.js:259 +#: templates/js/translated/part.js:262 msgid "Copy Image" msgstr "" -#: templates/js/translated/part.js:260 +#: templates/js/translated/part.js:263 msgid "Copy image from original part" msgstr "" -#: templates/js/translated/part.js:268 +#: templates/js/translated/part.js:271 msgid "Copy bill of materials from original part" msgstr "" -#: templates/js/translated/part.js:275 +#: templates/js/translated/part.js:278 msgid "Copy Parameters" msgstr "" -#: templates/js/translated/part.js:276 +#: templates/js/translated/part.js:279 msgid "Copy parameter data from original part" msgstr "" -#: templates/js/translated/part.js:289 +#: templates/js/translated/part.js:292 msgid "Parent part category" msgstr "" -#: templates/js/translated/part.js:333 +#: templates/js/translated/part.js:336 msgid "Edit Part" msgstr "" -#: templates/js/translated/part.js:335 +#: templates/js/translated/part.js:338 msgid "Part edited" msgstr "" -#: templates/js/translated/part.js:403 +#: templates/js/translated/part.js:410 msgid "You are subscribed to notifications for this item" msgstr "" -#: templates/js/translated/part.js:405 +#: templates/js/translated/part.js:412 msgid "You have subscribed to notifications for this item" msgstr "" -#: templates/js/translated/part.js:410 +#: templates/js/translated/part.js:417 msgid "Subscribe to notifications for this item" msgstr "" -#: templates/js/translated/part.js:412 +#: templates/js/translated/part.js:419 msgid "You have unsubscribed to notifications for this item" msgstr "" -#: templates/js/translated/part.js:441 templates/js/translated/part.js:526 +#: templates/js/translated/part.js:448 templates/js/translated/part.js:533 msgid "Trackable part" msgstr "" -#: templates/js/translated/part.js:445 templates/js/translated/part.js:530 +#: templates/js/translated/part.js:452 templates/js/translated/part.js:537 msgid "Virtual part" msgstr "" -#: templates/js/translated/part.js:457 +#: templates/js/translated/part.js:464 msgid "Subscribed part" msgstr "" -#: templates/js/translated/part.js:461 +#: templates/js/translated/part.js:468 msgid "Salable part" msgstr "" -#: templates/js/translated/part.js:576 +#: templates/js/translated/part.js:583 msgid "No variants found" msgstr "" -#: templates/js/translated/part.js:765 +#: templates/js/translated/part.js:946 msgid "Delete part relationship" msgstr "" -#: templates/js/translated/part.js:789 +#: templates/js/translated/part.js:970 msgid "Delete Part Relationship" msgstr "" -#: templates/js/translated/part.js:856 templates/js/translated/part.js:1116 +#: templates/js/translated/part.js:1037 templates/js/translated/part.js:1297 msgid "No parts found" msgstr "" -#: templates/js/translated/part.js:1026 +#: templates/js/translated/part.js:1207 msgid "No category" msgstr "" -#: templates/js/translated/part.js:1049 +#: templates/js/translated/part.js:1230 #: templates/js/translated/table_filters.js:381 msgid "Low stock" msgstr "" -#: templates/js/translated/part.js:1140 templates/js/translated/part.js:1312 -#: templates/js/translated/stock.js:1832 +#: templates/js/translated/part.js:1321 templates/js/translated/part.js:1493 +#: templates/js/translated/stock.js:1914 msgid "Display as list" msgstr "" -#: templates/js/translated/part.js:1156 +#: templates/js/translated/part.js:1337 msgid "Display as grid" msgstr "" -#: templates/js/translated/part.js:1331 templates/js/translated/stock.js:1851 +#: templates/js/translated/part.js:1512 templates/js/translated/stock.js:1933 msgid "Display as tree" msgstr "" -#: templates/js/translated/part.js:1395 +#: templates/js/translated/part.js:1576 msgid "Subscribed category" msgstr "" -#: templates/js/translated/part.js:1409 templates/js/translated/stock.js:1895 +#: templates/js/translated/part.js:1590 templates/js/translated/stock.js:1977 msgid "Path" msgstr "" -#: templates/js/translated/part.js:1453 +#: templates/js/translated/part.js:1634 msgid "No test templates matching query" msgstr "" -#: templates/js/translated/part.js:1504 templates/js/translated/stock.js:816 +#: templates/js/translated/part.js:1685 templates/js/translated/stock.js:898 msgid "Edit test result" msgstr "" -#: templates/js/translated/part.js:1505 templates/js/translated/stock.js:817 +#: templates/js/translated/part.js:1686 templates/js/translated/stock.js:899 msgid "Delete test result" msgstr "" -#: templates/js/translated/part.js:1511 +#: templates/js/translated/part.js:1692 msgid "This test is defined for a parent part" msgstr "" -#: templates/js/translated/part.js:1533 +#: templates/js/translated/part.js:1714 msgid "Edit Test Result Template" msgstr "" -#: templates/js/translated/part.js:1547 +#: templates/js/translated/part.js:1728 msgid "Delete Test Result Template" msgstr "" -#: templates/js/translated/part.js:1572 +#: templates/js/translated/part.js:1753 #, python-brace-format msgid "No ${human_name} information found" msgstr "" -#: templates/js/translated/part.js:1627 +#: templates/js/translated/part.js:1808 #, python-brace-format msgid "Edit ${human_name}" msgstr "" -#: templates/js/translated/part.js:1628 +#: templates/js/translated/part.js:1809 #, python-brace-format msgid "Delete ${human_name}" msgstr "" -#: templates/js/translated/part.js:1729 +#: templates/js/translated/part.js:1910 msgid "Single Price" msgstr "" -#: templates/js/translated/part.js:1748 +#: templates/js/translated/part.js:1929 msgid "Single Price Difference" msgstr "" @@ -7930,276 +7964,300 @@ msgstr "" msgid "Sales Order(s) must be selected before printing report" msgstr "" -#: templates/js/translated/stock.js:70 +#: templates/js/translated/stock.js:71 msgid "Serialize Stock Item" msgstr "" -#: templates/js/translated/stock.js:88 templates/js/translated/stock.js:167 +#: templates/js/translated/stock.js:89 templates/js/translated/stock.js:168 msgid "Next available serial number" msgstr "" -#: templates/js/translated/stock.js:90 templates/js/translated/stock.js:169 +#: templates/js/translated/stock.js:91 templates/js/translated/stock.js:170 msgid "Latest serial number" msgstr "" -#: templates/js/translated/stock.js:104 +#: templates/js/translated/stock.js:105 msgid "Parent stock location" msgstr "" -#: templates/js/translated/stock.js:140 +#: templates/js/translated/stock.js:141 msgid "New Stock Location" msgstr "" -#: templates/js/translated/stock.js:180 +#: templates/js/translated/stock.js:181 msgid "This part cannot be serialized" msgstr "" -#: templates/js/translated/stock.js:219 +#: templates/js/translated/stock.js:220 msgid "Enter initial quantity for this stock item" msgstr "" -#: templates/js/translated/stock.js:225 +#: templates/js/translated/stock.js:226 msgid "Enter serial numbers for new stock (or leave blank)" msgstr "" -#: templates/js/translated/stock.js:368 +#: templates/js/translated/stock.js:369 msgid "Created new stock item" msgstr "" -#: templates/js/translated/stock.js:381 +#: templates/js/translated/stock.js:382 msgid "Created multiple stock items" msgstr "" -#: templates/js/translated/stock.js:420 +#: templates/js/translated/stock.js:407 +msgid "Find Serial Number" +msgstr "" + +#: templates/js/translated/stock.js:411 templates/js/translated/stock.js:412 +msgid "Enter serial number" +msgstr "" + +#: templates/js/translated/stock.js:428 +msgid "Enter a serial number" +msgstr "" + +#: templates/js/translated/stock.js:448 +msgid "No matching serial number" +msgstr "" + +#: templates/js/translated/stock.js:457 +msgid "More than one matching result found" +msgstr "" + +#: templates/js/translated/stock.js:502 msgid "Export Stock" msgstr "" -#: templates/js/translated/stock.js:431 +#: templates/js/translated/stock.js:513 msgid "Include Sublocations" msgstr "" -#: templates/js/translated/stock.js:432 +#: templates/js/translated/stock.js:514 msgid "Include stock items in sublocations" msgstr "" -#: templates/js/translated/stock.js:474 +#: templates/js/translated/stock.js:556 msgid "Transfer Stock" msgstr "" -#: templates/js/translated/stock.js:475 +#: templates/js/translated/stock.js:557 msgid "Move" msgstr "" -#: templates/js/translated/stock.js:481 +#: templates/js/translated/stock.js:563 msgid "Count Stock" msgstr "" -#: templates/js/translated/stock.js:482 +#: templates/js/translated/stock.js:564 msgid "Count" msgstr "" -#: templates/js/translated/stock.js:486 +#: templates/js/translated/stock.js:568 msgid "Remove Stock" msgstr "" -#: templates/js/translated/stock.js:487 +#: templates/js/translated/stock.js:569 msgid "Take" msgstr "" -#: templates/js/translated/stock.js:491 +#: templates/js/translated/stock.js:573 msgid "Add Stock" msgstr "" -#: templates/js/translated/stock.js:492 users/models.py:200 +#: templates/js/translated/stock.js:574 users/models.py:200 msgid "Add" msgstr "" -#: templates/js/translated/stock.js:496 templates/stock_table.html:56 +#: templates/js/translated/stock.js:578 templates/stock_table.html:56 msgid "Delete Stock" msgstr "" -#: templates/js/translated/stock.js:585 +#: templates/js/translated/stock.js:667 msgid "Quantity cannot be adjusted for serialized stock" msgstr "" -#: templates/js/translated/stock.js:585 +#: templates/js/translated/stock.js:667 msgid "Specify stock quantity" msgstr "" -#: templates/js/translated/stock.js:625 +#: templates/js/translated/stock.js:707 msgid "You must select at least one available stock item" msgstr "" -#: templates/js/translated/stock.js:783 +#: templates/js/translated/stock.js:865 msgid "PASS" msgstr "" -#: templates/js/translated/stock.js:785 +#: templates/js/translated/stock.js:867 msgid "FAIL" msgstr "" -#: templates/js/translated/stock.js:790 +#: templates/js/translated/stock.js:872 msgid "NO RESULT" msgstr "" -#: templates/js/translated/stock.js:812 +#: templates/js/translated/stock.js:894 msgid "Add test result" msgstr "" -#: templates/js/translated/stock.js:838 +#: templates/js/translated/stock.js:920 msgid "No test results found" msgstr "" -#: templates/js/translated/stock.js:895 +#: templates/js/translated/stock.js:977 msgid "Test Date" msgstr "" -#: templates/js/translated/stock.js:1002 +#: templates/js/translated/stock.js:1084 msgid "In production" msgstr "" -#: templates/js/translated/stock.js:1006 +#: templates/js/translated/stock.js:1088 msgid "Installed in Stock Item" msgstr "" -#: templates/js/translated/stock.js:1010 +#: templates/js/translated/stock.js:1092 msgid "Shipped to customer" msgstr "" -#: templates/js/translated/stock.js:1014 +#: templates/js/translated/stock.js:1096 msgid "Assigned to Sales Order" msgstr "" -#: templates/js/translated/stock.js:1020 +#: templates/js/translated/stock.js:1102 msgid "No stock location set" msgstr "" -#: templates/js/translated/stock.js:1178 +#: templates/js/translated/stock.js:1260 msgid "Stock item is in production" msgstr "" -#: templates/js/translated/stock.js:1183 +#: templates/js/translated/stock.js:1265 msgid "Stock item assigned to sales order" msgstr "" -#: templates/js/translated/stock.js:1186 +#: templates/js/translated/stock.js:1268 msgid "Stock item assigned to customer" msgstr "" -#: templates/js/translated/stock.js:1190 +#: templates/js/translated/stock.js:1272 msgid "Stock item has expired" msgstr "" -#: templates/js/translated/stock.js:1192 +#: templates/js/translated/stock.js:1274 msgid "Stock item will expire soon" msgstr "" -#: templates/js/translated/stock.js:1196 +#: templates/js/translated/stock.js:1278 msgid "Stock item has been allocated" msgstr "" -#: templates/js/translated/stock.js:1200 +#: templates/js/translated/stock.js:1282 msgid "Stock item has been installed in another item" msgstr "" -#: templates/js/translated/stock.js:1207 +#: templates/js/translated/stock.js:1289 msgid "Stock item has been rejected" msgstr "" -#: templates/js/translated/stock.js:1209 +#: templates/js/translated/stock.js:1291 msgid "Stock item is lost" msgstr "" -#: templates/js/translated/stock.js:1211 +#: templates/js/translated/stock.js:1293 msgid "Stock item is destroyed" msgstr "" -#: templates/js/translated/stock.js:1215 +#: templates/js/translated/stock.js:1297 #: templates/js/translated/table_filters.js:183 msgid "Depleted" msgstr "" -#: templates/js/translated/stock.js:1265 +#: templates/js/translated/stock.js:1347 msgid "Stocktake" msgstr "" -#: templates/js/translated/stock.js:1338 +#: templates/js/translated/stock.js:1420 msgid "Supplier part not specified" msgstr "" -#: templates/js/translated/stock.js:1376 +#: templates/js/translated/stock.js:1458 msgid "No stock items matching query" msgstr "" -#: templates/js/translated/stock.js:1397 templates/js/translated/stock.js:1445 +#: templates/js/translated/stock.js:1479 templates/js/translated/stock.js:1527 msgid "items" msgstr "" -#: templates/js/translated/stock.js:1485 +#: templates/js/translated/stock.js:1567 msgid "batches" msgstr "" -#: templates/js/translated/stock.js:1512 +#: templates/js/translated/stock.js:1594 msgid "locations" msgstr "" -#: templates/js/translated/stock.js:1514 +#: templates/js/translated/stock.js:1596 msgid "Undefined location" msgstr "" -#: templates/js/translated/stock.js:1688 +#: templates/js/translated/stock.js:1770 msgid "Set Stock Status" msgstr "" -#: templates/js/translated/stock.js:1702 +#: templates/js/translated/stock.js:1784 msgid "Select Status Code" msgstr "" -#: templates/js/translated/stock.js:1703 +#: templates/js/translated/stock.js:1785 msgid "Status code must be selected" msgstr "" -#: templates/js/translated/stock.js:1927 +#: templates/js/translated/stock.js:2009 msgid "Invalid date" msgstr "" -#: templates/js/translated/stock.js:1974 +#: templates/js/translated/stock.js:2031 +msgid "Details" +msgstr "" + +#: templates/js/translated/stock.js:2056 msgid "Location no longer exists" msgstr "" -#: templates/js/translated/stock.js:1993 +#: templates/js/translated/stock.js:2075 msgid "Purchase order no longer exists" msgstr "" -#: templates/js/translated/stock.js:2012 +#: templates/js/translated/stock.js:2094 msgid "Customer no longer exists" msgstr "" -#: templates/js/translated/stock.js:2030 +#: templates/js/translated/stock.js:2112 msgid "Stock item no longer exists" msgstr "" -#: templates/js/translated/stock.js:2053 +#: templates/js/translated/stock.js:2135 msgid "Added" msgstr "" -#: templates/js/translated/stock.js:2061 +#: templates/js/translated/stock.js:2143 msgid "Removed" msgstr "" -#: templates/js/translated/stock.js:2102 +#: templates/js/translated/stock.js:2184 msgid "Edit tracking entry" msgstr "" -#: templates/js/translated/stock.js:2103 +#: templates/js/translated/stock.js:2185 msgid "Delete tracking entry" msgstr "" -#: templates/js/translated/stock.js:2154 +#: templates/js/translated/stock.js:2236 msgid "No installed items" msgstr "" -#: templates/js/translated/stock.js:2205 +#: templates/js/translated/stock.js:2287 msgid "Uninstall Stock Item" msgstr "" diff --git a/InvenTree/locale/it/LC_MESSAGES/django.po b/InvenTree/locale/it/LC_MESSAGES/django.po index 703859ccbe..b478c9da25 100644 --- a/InvenTree/locale/it/LC_MESSAGES/django.po +++ b/InvenTree/locale/it/LC_MESSAGES/django.po @@ -2,8 +2,8 @@ msgid "" msgstr "" "Project-Id-Version: inventree\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2021-11-30 21:49+0000\n" -"PO-Revision-Date: 2021-11-30 21:52\n" +"POT-Creation-Date: 2021-12-03 10:37+0000\n" +"PO-Revision-Date: 2021-12-03 11:26\n" "Last-Translator: \n" "Language-Team: Italian\n" "Language: it_IT\n" @@ -114,129 +114,130 @@ msgstr "Nessun numero di serie trovato" msgid "Number of unique serial number ({s}) must match quantity ({q})" msgstr "Il numero dei numeri seriali univoci ({s}) deve essere uguale alla quantità ({q})" -#: InvenTree/models.py:114 +#: InvenTree/models.py:120 msgid "Missing file" msgstr "" -#: InvenTree/models.py:115 +#: InvenTree/models.py:121 msgid "Missing external link" msgstr "" -#: InvenTree/models.py:126 stock/models.py:1874 +#: InvenTree/models.py:132 stock/models.py:1864 #: templates/js/translated/attachment.js:117 msgid "Attachment" msgstr "Allegato" -#: InvenTree/models.py:127 +#: InvenTree/models.py:133 msgid "Select file to attach" msgstr "Seleziona file da allegare" -#: InvenTree/models.py:133 company/models.py:131 company/models.py:348 +#: InvenTree/models.py:139 company/models.py:131 company/models.py:348 #: company/models.py:564 order/models.py:163 part/models.py:797 #: report/templates/report/inventree_build_order_base.html:165 #: templates/js/translated/company.js:537 -#: templates/js/translated/company.js:826 templates/js/translated/part.js:1077 +#: templates/js/translated/company.js:826 templates/js/translated/part.js:1258 msgid "Link" msgstr "Link" -#: InvenTree/models.py:134 build/models.py:330 part/models.py:798 -#: stock/models.py:540 +#: InvenTree/models.py:140 build/models.py:330 part/models.py:798 +#: stock/models.py:530 msgid "Link to external URL" msgstr "Link a URL esterno" -#: InvenTree/models.py:137 templates/js/translated/attachment.js:161 +#: InvenTree/models.py:143 templates/js/translated/attachment.js:161 msgid "Comment" msgstr "Commento" -#: InvenTree/models.py:137 +#: InvenTree/models.py:143 msgid "File comment" msgstr "Commento del file" -#: InvenTree/models.py:143 InvenTree/models.py:144 common/models.py:1185 +#: InvenTree/models.py:149 InvenTree/models.py:150 common/models.py:1185 #: common/models.py:1186 part/models.py:2205 part/models.py:2225 #: report/templates/report/inventree_test_report_base.html:96 -#: templates/js/translated/stock.js:2084 +#: templates/js/translated/stock.js:2166 msgid "User" msgstr "Utente" -#: InvenTree/models.py:147 +#: InvenTree/models.py:153 msgid "upload date" msgstr "data caricamento" -#: InvenTree/models.py:170 +#: InvenTree/models.py:176 msgid "Filename must not be empty" msgstr "Il nome del file non deve essere vuoto" -#: InvenTree/models.py:193 +#: InvenTree/models.py:199 msgid "Invalid attachment directory" msgstr "Directory allegati non valida" -#: InvenTree/models.py:203 +#: InvenTree/models.py:209 #, python-brace-format msgid "Filename contains illegal character '{c}'" msgstr "Il nome del file contiene caratteri non validi '{c}'" -#: InvenTree/models.py:206 +#: InvenTree/models.py:212 msgid "Filename missing extension" msgstr "Nome file estensione mancante" -#: InvenTree/models.py:213 +#: InvenTree/models.py:219 msgid "Attachment with this filename already exists" msgstr "Esiste già un allegato con questo nome di file" -#: InvenTree/models.py:220 +#: InvenTree/models.py:226 msgid "Error renaming file" msgstr "Errore nella rinominazione del file" -#: InvenTree/models.py:255 +#: InvenTree/models.py:261 msgid "Invalid choice" msgstr "Scelta non valida" -#: InvenTree/models.py:271 InvenTree/models.py:272 company/models.py:415 +#: InvenTree/models.py:277 InvenTree/models.py:278 company/models.py:415 #: label/models.py:112 part/models.py:741 part/models.py:2389 -#: part/templates/part/detail.html:25 report/models.py:181 -#: templates/InvenTree/settings/settings.html:259 -#: templates/js/translated/company.js:638 templates/js/translated/part.js:499 -#: templates/js/translated/part.js:636 templates/js/translated/part.js:1384 -#: templates/js/translated/stock.js:1877 +#: report/models.py:181 templates/InvenTree/settings/settings.html:259 +#: templates/js/translated/company.js:638 templates/js/translated/part.js:506 +#: templates/js/translated/part.js:643 templates/js/translated/part.js:1565 +#: templates/js/translated/stock.js:1959 msgid "Name" msgstr "Nome" -#: InvenTree/models.py:278 build/models.py:207 +#: InvenTree/models.py:284 build/models.py:207 #: build/templates/build/detail.html:25 company/models.py:354 -#: company/models.py:570 company/templates/company/manufacturer_part.html:80 -#: company/templates/company/supplier_part.html:81 label/models.py:119 -#: order/models.py:161 part/models.py:764 part/templates/part/detail.html:30 +#: company/models.py:570 company/templates/company/company_base.html:68 +#: company/templates/company/manufacturer_part.html:76 +#: company/templates/company/supplier_part.html:73 label/models.py:119 +#: order/models.py:161 part/models.py:764 part/templates/part/category.html:70 +#: part/templates/part/part_base.html:163 #: part/templates/part/set_category.html:14 report/models.py:194 #: report/models.py:553 report/models.py:592 #: report/templates/report/inventree_build_order_base.html:118 -#: stock/templates/stock/location.html:108 templates/js/translated/bom.js:215 +#: stock/templates/stock/location.html:89 templates/js/translated/bom.js:215 #: templates/js/translated/bom.js:428 templates/js/translated/build.js:1621 #: templates/js/translated/company.js:345 #: templates/js/translated/company.js:548 -#: templates/js/translated/company.js:837 templates/js/translated/order.js:673 -#: templates/js/translated/order.js:855 templates/js/translated/order.js:1091 -#: templates/js/translated/part.js:558 templates/js/translated/part.js:752 -#: templates/js/translated/part.js:837 templates/js/translated/part.js:1007 -#: templates/js/translated/part.js:1403 templates/js/translated/part.js:1472 -#: templates/js/translated/stock.js:1151 templates/js/translated/stock.js:1889 -#: templates/js/translated/stock.js:1934 +#: templates/js/translated/company.js:837 templates/js/translated/order.js:680 +#: templates/js/translated/order.js:854 templates/js/translated/order.js:1090 +#: templates/js/translated/part.js:565 templates/js/translated/part.js:933 +#: templates/js/translated/part.js:1018 templates/js/translated/part.js:1188 +#: templates/js/translated/part.js:1584 templates/js/translated/part.js:1653 +#: templates/js/translated/stock.js:1233 templates/js/translated/stock.js:1971 +#: templates/js/translated/stock.js:2016 msgid "Description" msgstr "Descrizione" -#: InvenTree/models.py:279 +#: InvenTree/models.py:285 msgid "Description (optional)" msgstr "Descrizione (opzionale)" -#: InvenTree/models.py:287 +#: InvenTree/models.py:293 msgid "parent" msgstr "genitore" -#: InvenTree/serializers.py:62 part/models.py:2674 +#: InvenTree/serializers.py:65 part/models.py:2674 msgid "Must be a valid number" msgstr "Deve essere un numero valido" -#: InvenTree/serializers.py:285 +#: InvenTree/serializers.py:299 msgid "Filename" msgstr "Nome del file" @@ -361,7 +362,7 @@ msgid "Returned" msgstr "Reso" #: InvenTree/status_codes.py:143 -#: order/templates/order/sales_order_base.html:147 +#: order/templates/order/sales_order_base.html:148 msgid "Shipped" msgstr "Spedito" @@ -566,7 +567,7 @@ msgid "Barcode associated with StockItem" msgstr "Codice a barre associato all'articolo in giacenza" #: build/forms.py:36 build/models.py:1283 -#: build/templates/build/build_base.html:124 +#: build/templates/build/build_base.html:132 #: build/templates/build/detail.html:35 common/models.py:1225 #: company/forms.py:42 company/templates/company/supplier_part.html:251 #: order/forms.py:102 order/models.py:729 order/models.py:991 @@ -574,26 +575,27 @@ msgstr "Codice a barre associato all'articolo in giacenza" #: order/templates/order/order_wizard/select_parts.html:34 part/forms.py:223 #: part/forms.py:239 part/forms.py:255 part/models.py:2576 #: part/templates/part/bom_upload/match_parts.html:31 -#: part/templates/part/detail.html:1076 part/templates/part/detail.html:1162 +#: part/templates/part/detail.html:967 part/templates/part/detail.html:1053 #: part/templates/part/part_pricing.html:16 #: report/templates/report/inventree_build_order_base.html:114 #: report/templates/report/inventree_po_report.html:91 #: report/templates/report/inventree_so_report.html:91 #: report/templates/report/inventree_test_report_base.html:81 #: report/templates/report/inventree_test_report_base.html:139 -#: stock/forms.py:156 stock/serializers.py:286 -#: stock/templates/stock/item_base.html:256 +#: stock/forms.py:156 stock/serializers.py:291 +#: stock/templates/stock/item_base.html:174 #: templates/js/translated/barcode.js:385 templates/js/translated/bom.js:443 #: templates/js/translated/build.js:235 templates/js/translated/build.js:435 #: templates/js/translated/build.js:629 templates/js/translated/build.js:639 #: templates/js/translated/build.js:1015 templates/js/translated/build.js:1362 #: templates/js/translated/model_renderers.js:99 -#: templates/js/translated/order.js:892 templates/js/translated/order.js:1205 -#: templates/js/translated/order.js:1283 templates/js/translated/order.js:1290 -#: templates/js/translated/order.js:1379 templates/js/translated/order.js:1479 -#: templates/js/translated/part.js:1615 templates/js/translated/part.js:1738 -#: templates/js/translated/part.js:1816 templates/js/translated/stock.js:377 -#: templates/js/translated/stock.js:2069 templates/js/translated/stock.js:2171 +#: templates/js/translated/order.js:891 templates/js/translated/order.js:1204 +#: templates/js/translated/order.js:1282 templates/js/translated/order.js:1289 +#: templates/js/translated/order.js:1378 templates/js/translated/order.js:1478 +#: templates/js/translated/part.js:843 templates/js/translated/part.js:1796 +#: templates/js/translated/part.js:1919 templates/js/translated/part.js:1997 +#: templates/js/translated/stock.js:378 templates/js/translated/stock.js:2151 +#: templates/js/translated/stock.js:2253 msgid "Quantity" msgstr "Quantità" @@ -602,8 +604,8 @@ msgid "Enter quantity for build output" msgstr "Inserisci la quantità per l'output di compilazione" #: build/forms.py:41 order/forms.py:96 stock/forms.py:95 -#: stock/serializers.py:307 templates/js/translated/stock.js:224 -#: templates/js/translated/stock.js:378 +#: stock/serializers.py:312 templates/js/translated/stock.js:225 +#: templates/js/translated/stock.js:379 msgid "Serial Numbers" msgstr "Codice Seriale" @@ -646,7 +648,7 @@ msgstr "" #: build/templates/build/index.html:8 build/templates/build/index.html:12 #: order/templates/order/sales_order_detail.html:42 #: order/templates/order/so_sidebar.html:7 -#: part/templates/part/part_sidebar.html:22 templates/InvenTree/index.html:221 +#: part/templates/part/part_sidebar.html:20 templates/InvenTree/index.html:221 #: templates/InvenTree/search.html:145 #: templates/InvenTree/settings/sidebar.html:42 users/models.py:44 msgid "Build Orders" @@ -662,7 +664,7 @@ msgstr "" #: report/templates/report/inventree_po_report.html:92 #: report/templates/report/inventree_so_report.html:92 #: templates/js/translated/bom.js:435 templates/js/translated/build.js:1119 -#: templates/js/translated/order.js:886 templates/js/translated/order.js:1473 +#: templates/js/translated/order.js:885 templates/js/translated/order.js:1472 msgid "Reference" msgstr "Riferimento" @@ -670,7 +672,7 @@ msgstr "Riferimento" msgid "Brief description of the build" msgstr "" -#: build/models.py:219 build/templates/build/build_base.html:156 +#: build/models.py:219 build/templates/build/build_base.html:164 #: build/templates/build/detail.html:88 msgid "Parent Build" msgstr "" @@ -679,7 +681,7 @@ msgstr "" msgid "BuildOrder to which this build is allocated" msgstr "" -#: build/models.py:225 build/templates/build/build_base.html:119 +#: build/models.py:225 build/templates/build/build_base.html:77 #: build/templates/build/detail.html:30 company/models.py:705 #: order/models.py:789 order/models.py:860 #: order/templates/order/order_wizard/select_parts.html:32 part/models.py:357 @@ -700,10 +702,10 @@ msgstr "" #: templates/js/translated/build.js:988 templates/js/translated/build.js:1359 #: templates/js/translated/build.js:1626 templates/js/translated/company.js:489 #: templates/js/translated/company.js:746 templates/js/translated/order.js:426 -#: templates/js/translated/order.js:840 templates/js/translated/order.js:1457 -#: templates/js/translated/part.js:737 templates/js/translated/part.js:818 -#: templates/js/translated/part.js:985 templates/js/translated/stock.js:508 -#: templates/js/translated/stock.js:1108 templates/js/translated/stock.js:2159 +#: templates/js/translated/order.js:839 templates/js/translated/order.js:1456 +#: templates/js/translated/part.js:918 templates/js/translated/part.js:999 +#: templates/js/translated/part.js:1166 templates/js/translated/stock.js:590 +#: templates/js/translated/stock.js:1190 templates/js/translated/stock.js:2241 msgid "Part" msgstr "Articolo" @@ -751,7 +753,7 @@ msgstr "Articoli completati" msgid "Number of stock items which have been completed" msgstr "" -#: build/models.py:277 part/templates/part/part_base.html:216 +#: build/models.py:277 part/templates/part/part_base.html:234 msgid "Build Status" msgstr "" @@ -759,7 +761,7 @@ msgstr "" msgid "Build status code" msgstr "" -#: build/models.py:285 stock/models.py:544 +#: build/models.py:285 stock/models.py:534 msgid "Batch Code" msgstr "" @@ -768,7 +770,7 @@ msgid "Batch code for this build output" msgstr "" #: build/models.py:292 order/models.py:165 part/models.py:936 -#: part/templates/part/detail.html:86 templates/js/translated/order.js:1104 +#: part/templates/part/part_base.html:313 templates/js/translated/order.js:1103 msgid "Creation Date" msgstr "Data di creazione" @@ -797,12 +799,12 @@ msgstr "Rilasciato da" msgid "User who issued this build order" msgstr "" -#: build/models.py:323 build/templates/build/build_base.html:177 +#: build/models.py:323 build/templates/build/build_base.html:185 #: build/templates/build/detail.html:116 order/models.py:179 -#: order/templates/order/order_base.html:154 -#: order/templates/order/sales_order_base.html:161 part/models.py:940 +#: order/templates/order/order_base.html:158 +#: order/templates/order/sales_order_base.html:162 part/models.py:940 #: report/templates/report/inventree_build_order_base.html:159 -#: templates/js/translated/build.js:1680 templates/js/translated/order.js:700 +#: templates/js/translated/build.js:1680 templates/js/translated/order.js:699 msgid "Responsible" msgstr "Responsabile" @@ -811,10 +813,10 @@ msgid "User responsible for this build order" msgstr "" #: build/models.py:329 build/templates/build/detail.html:102 -#: company/templates/company/manufacturer_part.html:87 -#: company/templates/company/supplier_part.html:88 -#: part/templates/part/detail.html:80 stock/models.py:538 -#: stock/templates/stock/item_base.html:346 +#: company/templates/company/manufacturer_part.html:102 +#: company/templates/company/supplier_part.html:126 +#: part/templates/part/part_base.html:354 stock/models.py:528 +#: stock/templates/stock/item_base.html:374 msgid "External Link" msgstr "Collegamento esterno" @@ -824,15 +826,15 @@ msgstr "Collegamento esterno" #: order/models.py:183 order/models.py:738 #: order/templates/order/po_sidebar.html:11 #: order/templates/order/so_sidebar.html:11 part/models.py:925 -#: part/templates/part/detail.html:223 part/templates/part/part_sidebar.html:52 +#: part/templates/part/detail.html:116 part/templates/part/part_sidebar.html:50 #: report/templates/report/inventree_build_order_base.html:173 -#: stock/forms.py:154 stock/forms.py:204 stock/forms.py:238 stock/models.py:610 -#: stock/models.py:1774 stock/models.py:1880 stock/serializers.py:325 -#: stock/serializers.py:583 stock/templates/stock/stock_sidebar.html:21 +#: stock/forms.py:154 stock/forms.py:204 stock/forms.py:238 stock/models.py:600 +#: stock/models.py:1764 stock/models.py:1870 stock/serializers.py:330 +#: stock/serializers.py:588 stock/templates/stock/stock_sidebar.html:21 #: templates/js/translated/barcode.js:58 templates/js/translated/bom.js:599 -#: templates/js/translated/company.js:842 templates/js/translated/order.js:985 -#: templates/js/translated/order.js:1583 templates/js/translated/stock.js:891 -#: templates/js/translated/stock.js:1370 +#: templates/js/translated/company.js:842 templates/js/translated/order.js:984 +#: templates/js/translated/order.js:1582 templates/js/translated/stock.js:973 +#: templates/js/translated/stock.js:1452 msgid "Notes" msgstr "Note" @@ -877,7 +879,7 @@ msgstr "La quantità deve essere 1 per lo stock serializzato" msgid "Selected stock item not found in BOM" msgstr "Articolo in giacenza selezionato non trovato nel BOM" -#: build/models.py:1253 stock/templates/stock/item_base.html:318 +#: build/models.py:1253 stock/templates/stock/item_base.html:346 #: templates/InvenTree/search.html:143 templates/js/translated/build.js:1599 #: templates/navbar.html:33 msgid "Build" @@ -890,11 +892,11 @@ msgstr "" #: build/models.py:1270 build/serializers.py:328 #: stock/templates/stock/item_base.html:8 #: stock/templates/stock/item_base.html:16 -#: stock/templates/stock/item_base.html:340 +#: stock/templates/stock/item_base.html:368 #: templates/js/translated/build.js:408 templates/js/translated/build.js:413 #: templates/js/translated/build.js:1361 templates/js/translated/build.js:1742 -#: templates/js/translated/order.js:1178 templates/js/translated/order.js:1183 -#: templates/js/translated/stock.js:2020 +#: templates/js/translated/order.js:1177 templates/js/translated/order.js:1182 +#: templates/js/translated/stock.js:2102 msgid "Stock Item" msgstr "Articoli in magazzino" @@ -934,16 +936,16 @@ msgstr "" msgid "This build output is not fully allocated" msgstr "" -#: build/serializers.py:190 order/serializers.py:219 order/serializers.py:287 -#: stock/forms.py:236 stock/serializers.py:318 stock/serializers.py:685 -#: stock/templates/stock/item_base.html:286 +#: build/serializers.py:190 order/serializers.py:228 order/serializers.py:296 +#: stock/forms.py:236 stock/serializers.py:323 stock/serializers.py:690 +#: stock/templates/stock/item_base.html:314 #: templates/js/translated/barcode.js:384 #: templates/js/translated/barcode.js:557 templates/js/translated/build.js:420 #: templates/js/translated/build.js:1027 templates/js/translated/order.js:348 -#: templates/js/translated/order.js:1190 templates/js/translated/order.js:1298 -#: templates/js/translated/order.js:1304 templates/js/translated/part.js:181 -#: templates/js/translated/stock.js:510 templates/js/translated/stock.js:1251 -#: templates/js/translated/stock.js:1961 +#: templates/js/translated/order.js:1189 templates/js/translated/order.js:1297 +#: templates/js/translated/order.js:1303 templates/js/translated/part.js:177 +#: templates/js/translated/stock.js:592 templates/js/translated/stock.js:1333 +#: templates/js/translated/stock.js:2043 msgid "Location" msgstr "Posizione" @@ -951,13 +953,13 @@ msgstr "Posizione" msgid "Location for completed build outputs" msgstr "Posizione per gli output di build completati" -#: build/serializers.py:197 build/templates/build/build_base.html:129 +#: build/serializers.py:197 build/templates/build/build_base.html:137 #: build/templates/build/detail.html:63 order/models.py:572 -#: order/serializers.py:240 stock/templates/stock/item_base.html:409 +#: order/serializers.py:249 stock/templates/stock/item_base.html:180 #: templates/js/translated/barcode.js:140 templates/js/translated/build.js:1655 -#: templates/js/translated/order.js:431 templates/js/translated/order.js:677 -#: templates/js/translated/order.js:1096 templates/js/translated/stock.js:1226 -#: templates/js/translated/stock.js:2038 templates/js/translated/stock.js:2187 +#: templates/js/translated/order.js:431 templates/js/translated/order.js:1095 +#: templates/js/translated/stock.js:1308 templates/js/translated/stock.js:2120 +#: templates/js/translated/stock.js:2269 msgid "Status" msgstr "Stato" @@ -986,8 +988,8 @@ msgstr "" msgid "Item must be in stock" msgstr "L'articolo deve essere disponibile" -#: build/serializers.py:348 order/models.py:316 order/serializers.py:233 -#: stock/models.py:381 stock/models.py:1103 stock/serializers.py:298 +#: build/serializers.py:348 order/models.py:316 order/serializers.py:242 +#: stock/models.py:371 stock/models.py:1093 stock/serializers.py:303 msgid "Quantity must be greater than zero" msgstr "La quantità deve essere maggiore di zero" @@ -1031,7 +1033,7 @@ msgid "Edit Build" msgstr "" #: build/templates/build/build_base.html:56 -#: build/templates/build/build_base.html:207 build/views.py:56 +#: build/templates/build/build_base.html:215 build/views.py:56 msgid "Cancel Build" msgstr "" @@ -1041,93 +1043,95 @@ msgstr "" #: build/templates/build/build_base.html:64 #: build/templates/build/build_base.html:65 -#: build/templates/build/build_base.html:223 +#: build/templates/build/build_base.html:231 msgid "Complete Build" msgstr "" -#: build/templates/build/build_base.html:79 +#: build/templates/build/build_base.html:82 +msgid "Build Description" +msgstr "" + +#: build/templates/build/build_base.html:91 #, python-format msgid "This Build Order is allocated to Sales Order %(link)s" msgstr "" -#: build/templates/build/build_base.html:86 +#: build/templates/build/build_base.html:98 #, python-format msgid "This Build Order is a child of Build Order %(link)s" msgstr "" -#: build/templates/build/build_base.html:93 +#: build/templates/build/build_base.html:105 msgid "Build Order is ready to mark as completed" msgstr "" -#: build/templates/build/build_base.html:98 +#: build/templates/build/build_base.html:110 msgid "Build Order cannot be completed as outstanding outputs remain" msgstr "" -#: build/templates/build/build_base.html:103 +#: build/templates/build/build_base.html:115 msgid "Required build quantity has not yet been completed" msgstr "" -#: build/templates/build/build_base.html:108 +#: build/templates/build/build_base.html:120 msgid "Stock has not been fully allocated to this Build Order" msgstr "" -#: build/templates/build/build_base.html:138 +#: build/templates/build/build_base.html:146 #: build/templates/build/detail.html:132 -#: order/templates/order/order_base.html:140 -#: order/templates/order/sales_order_base.html:140 +#: order/templates/order/order_base.html:144 +#: order/templates/order/sales_order_base.html:141 #: report/templates/report/inventree_build_order_base.html:126 -#: templates/js/translated/build.js:1692 templates/js/translated/order.js:690 -#: templates/js/translated/order.js:1109 +#: templates/js/translated/build.js:1692 templates/js/translated/order.js:689 +#: templates/js/translated/order.js:1108 msgid "Target Date" msgstr "Data scadenza" -#: build/templates/build/build_base.html:143 +#: build/templates/build/build_base.html:151 #, python-format msgid "This build was due on %(target)s" msgstr "" -#: build/templates/build/build_base.html:143 -#: build/templates/build/build_base.html:188 -#: order/templates/order/order_base.html:81 -#: order/templates/order/order_base.html:102 -#: order/templates/order/sales_order_base.html:78 -#: order/templates/order/sales_order_base.html:107 +#: build/templates/build/build_base.html:151 +#: build/templates/build/build_base.html:196 +#: order/templates/order/order_base.html:98 +#: order/templates/order/sales_order_base.html:93 #: templates/js/translated/table_filters.js:294 #: templates/js/translated/table_filters.js:322 #: templates/js/translated/table_filters.js:339 msgid "Overdue" msgstr "In ritardo" -#: build/templates/build/build_base.html:150 +#: build/templates/build/build_base.html:158 #: build/templates/build/detail.html:68 build/templates/build/detail.html:143 #: templates/js/translated/build.js:1641 #: templates/js/translated/table_filters.js:304 msgid "Completed" msgstr "Completato" -#: build/templates/build/build_base.html:163 +#: build/templates/build/build_base.html:171 #: build/templates/build/detail.html:95 order/models.py:857 #: order/templates/order/sales_order_base.html:9 #: order/templates/order/sales_order_base.html:28 #: order/templates/order/sales_order_ship.html:25 #: report/templates/report/inventree_build_order_base.html:136 #: report/templates/report/inventree_so_report.html:77 -#: stock/templates/stock/item_base.html:280 -#: templates/js/translated/order.js:1051 +#: stock/templates/stock/item_base.html:308 +#: templates/js/translated/order.js:1050 msgid "Sales Order" msgstr "Ordini di Vendita" -#: build/templates/build/build_base.html:170 +#: build/templates/build/build_base.html:178 #: build/templates/build/detail.html:109 #: report/templates/report/inventree_build_order_base.html:153 msgid "Issued By" msgstr "Inviato da" -#: build/templates/build/build_base.html:215 +#: build/templates/build/build_base.html:223 msgid "Incomplete Outputs" msgstr "Output Incompleti" -#: build/templates/build/build_base.html:216 +#: build/templates/build/build_base.html:224 msgid "Build Order cannot be completed as incomplete build outputs remain" msgstr "" @@ -1188,7 +1192,7 @@ msgid "Stock can be taken from any available location." msgstr "Lo stock può essere prelevato da qualsiasi posizione disponibile." #: build/templates/build/detail.html:50 order/models.py:811 stock/forms.py:150 -#: templates/js/translated/order.js:432 templates/js/translated/order.js:974 +#: templates/js/translated/order.js:432 templates/js/translated/order.js:973 msgid "Destination" msgstr "Destinazione" @@ -1201,16 +1205,16 @@ msgid "Allocated Parts" msgstr "" #: build/templates/build/detail.html:81 -#: stock/templates/stock/item_base.html:304 -#: templates/js/translated/stock.js:1240 templates/js/translated/stock.js:2194 +#: stock/templates/stock/item_base.html:332 +#: templates/js/translated/stock.js:1322 templates/js/translated/stock.js:2276 #: templates/js/translated/table_filters.js:151 #: templates/js/translated/table_filters.js:233 msgid "Batch" msgstr "Lotto" #: build/templates/build/detail.html:127 -#: order/templates/order/order_base.html:127 -#: order/templates/order/sales_order_base.html:134 +#: order/templates/order/order_base.html:131 +#: order/templates/order/sales_order_base.html:135 #: templates/js/translated/build.js:1663 msgid "Created" msgstr "Creato" @@ -1254,7 +1258,7 @@ msgstr "Ordina articoli richiesti" #: build/templates/build/detail.html:185 #: company/templates/company/detail.html:38 #: company/templates/company/detail.html:85 order/views.py:509 -#: part/templates/part/category.html:166 +#: part/templates/part/category.html:173 msgid "Order Parts" msgstr "Ordine Articoli" @@ -1306,8 +1310,8 @@ msgstr "" #: order/templates/order/po_sidebar.html:9 #: order/templates/order/purchase_order_detail.html:60 #: order/templates/order/sales_order_detail.html:52 -#: order/templates/order/so_sidebar.html:9 part/templates/part/detail.html:300 -#: part/templates/part/part_sidebar.html:50 stock/templates/stock/item.html:95 +#: order/templates/order/so_sidebar.html:9 part/templates/part/detail.html:193 +#: part/templates/part/part_sidebar.html:48 stock/templates/stock/item.html:95 #: stock/templates/stock/stock_sidebar.html:19 msgid "Attachments" msgstr "Allegati" @@ -1323,7 +1327,7 @@ msgstr "Genera Note" #: order/templates/order/purchase_order_detail.html:108 #: order/templates/order/sales_order_detail.html:72 #: order/templates/order/sales_order_detail.html:99 -#: part/templates/part/detail.html:227 stock/templates/stock/item.html:115 +#: part/templates/part/detail.html:120 stock/templates/stock/item.html:115 #: stock/templates/stock/item.html:205 msgid "Edit Notes" msgstr "Modifica Note" @@ -1336,7 +1340,7 @@ msgstr "Assegnazione Completa" msgid "All untracked stock items have been allocated" msgstr "Tutte le giacenze non tracciate sono state assegnate" -#: build/templates/build/index.html:18 part/templates/part/detail.html:407 +#: build/templates/build/index.html:18 part/templates/part/detail.html:300 msgid "New Build Order" msgstr "" @@ -1380,7 +1384,7 @@ msgstr "" msgid "Maximum output quantity is " msgstr "" -#: build/views.py:122 stock/serializers.py:356 stock/views.py:1290 +#: build/views.py:122 stock/serializers.py:361 stock/views.py:1290 msgid "Serial numbers already exist" msgstr "Numeri di serie già esistenti" @@ -1675,7 +1679,7 @@ msgid "Parts are trackable by default" msgstr "Gli articoli sono tracciabili per impostazione predefinita" #: common/models.py:745 part/models.py:920 -#: part/templates/part/part_base.html:144 +#: part/templates/part/part_base.html:147 #: templates/js/translated/table_filters.js:42 msgid "Virtual" msgstr "Virtuale" @@ -2142,7 +2146,7 @@ msgstr "" #: common/models.py:1233 company/serializers.py:264 #: company/templates/company/supplier_part.html:256 -#: templates/js/translated/part.js:1620 +#: templates/js/translated/part.js:852 templates/js/translated/part.js:1801 msgid "Price" msgstr "Prezzo" @@ -2206,7 +2210,7 @@ msgstr "Descrizione azienda" msgid "Description of the company" msgstr "Descrizione dell'azienda" -#: company/models.py:112 company/templates/company/company_base.html:70 +#: company/models.py:112 company/templates/company/company_base.html:97 #: templates/js/translated/company.js:349 msgid "Website" msgstr "Sito Web" @@ -2215,7 +2219,7 @@ msgstr "Sito Web" msgid "Company website URL" msgstr "Sito web aziendale" -#: company/models.py:117 company/templates/company/company_base.html:88 +#: company/models.py:117 company/templates/company/company_base.html:115 msgid "Address" msgstr "Indirizzo" @@ -2231,7 +2235,7 @@ msgstr "Telefono" msgid "Contact phone number" msgstr "Numero di telefono di contatto" -#: company/models.py:125 company/templates/company/company_base.html:102 +#: company/models.py:125 company/templates/company/company_base.html:129 #: templates/InvenTree/settings/user.html:47 msgid "Email" msgstr "Email" @@ -2240,7 +2244,7 @@ msgstr "Email" msgid "Contact email address" msgstr "Indirizzo email" -#: company/models.py:128 company/templates/company/company_base.html:109 +#: company/models.py:128 company/templates/company/company_base.html:136 msgid "Contact" msgstr "Contatto" @@ -2281,7 +2285,7 @@ msgid "Does this company manufacture parts?" msgstr "" #: company/models.py:152 company/serializers.py:270 -#: company/templates/company/company_base.html:76 stock/serializers.py:172 +#: company/templates/company/company_base.html:103 stock/serializers.py:177 msgid "Currency" msgstr "Valuta" @@ -2289,8 +2293,8 @@ msgstr "Valuta" msgid "Default currency used for this company" msgstr "" -#: company/models.py:320 company/models.py:535 stock/models.py:484 -#: stock/templates/stock/item_base.html:224 +#: company/models.py:320 company/models.py:535 stock/models.py:474 +#: stock/templates/stock/item_base.html:135 msgid "Base Part" msgstr "Articolo di base" @@ -2298,29 +2302,29 @@ msgstr "Articolo di base" msgid "Select part" msgstr "Seleziona articolo" -#: company/models.py:335 company/templates/company/company_base.html:116 -#: company/templates/company/manufacturer_part.html:93 -#: company/templates/company/supplier_part.html:104 -#: stock/templates/stock/item_base.html:353 +#: company/models.py:335 company/templates/company/company_base.html:73 +#: company/templates/company/manufacturer_part.html:91 +#: company/templates/company/supplier_part.html:97 +#: stock/templates/stock/item_base.html:381 #: templates/js/translated/company.js:333 #: templates/js/translated/company.js:514 -#: templates/js/translated/company.js:797 templates/js/translated/part.js:229 +#: templates/js/translated/company.js:797 templates/js/translated/part.js:232 msgid "Manufacturer" msgstr "Produttore" -#: company/models.py:336 templates/js/translated/part.js:230 +#: company/models.py:336 templates/js/translated/part.js:233 msgid "Select manufacturer" msgstr "Seleziona Produttore" -#: company/models.py:342 company/templates/company/manufacturer_part.html:97 -#: company/templates/company/supplier_part.html:112 +#: company/models.py:342 company/templates/company/manufacturer_part.html:96 +#: company/templates/company/supplier_part.html:105 #: templates/js/translated/company.js:530 -#: templates/js/translated/company.js:815 templates/js/translated/order.js:874 -#: templates/js/translated/part.js:240 +#: templates/js/translated/company.js:815 templates/js/translated/order.js:873 +#: templates/js/translated/part.js:243 templates/js/translated/part.js:832 msgid "MPN" msgstr "Codice articolo produttore (MPN)" -#: company/models.py:343 templates/js/translated/part.js:241 +#: company/models.py:343 templates/js/translated/part.js:244 msgid "Manufacturer Part Number" msgstr "Codice articolo produttore" @@ -2335,7 +2339,7 @@ msgstr "Descrizione articolo costruttore" #: company/models.py:409 company/models.py:558 #: company/templates/company/manufacturer_part.html:6 #: company/templates/company/manufacturer_part.html:23 -#: stock/templates/stock/item_base.html:363 +#: stock/templates/stock/item_base.html:391 msgid "Manufacturer Part" msgstr "Codice articolo produttore" @@ -2345,8 +2349,8 @@ msgstr "Nome parametro" #: company/models.py:422 #: report/templates/report/inventree_test_report_base.html:95 -#: stock/models.py:1867 templates/js/translated/company.js:644 -#: templates/js/translated/part.js:645 templates/js/translated/stock.js:878 +#: stock/models.py:1857 templates/js/translated/company.js:644 +#: templates/js/translated/part.js:652 templates/js/translated/stock.js:960 msgid "Value" msgstr "Valore" @@ -2355,9 +2359,9 @@ msgid "Parameter value" msgstr "Valore del parametro" #: company/models.py:429 part/models.py:882 part/models.py:2397 -#: part/templates/part/detail.html:59 +#: part/templates/part/part_base.html:288 #: templates/InvenTree/settings/settings.html:264 -#: templates/js/translated/company.js:650 templates/js/translated/part.js:651 +#: templates/js/translated/company.js:650 templates/js/translated/part.js:658 msgid "Units" msgstr "Unità" @@ -2369,28 +2373,28 @@ msgstr "Unità parametri" msgid "Linked manufacturer part must reference the same base part" msgstr "L'articolo del costruttore collegato deve riferirsi alla stesso articolo" -#: company/models.py:545 company/templates/company/company_base.html:121 -#: company/templates/company/supplier_part.html:94 order/models.py:263 -#: order/templates/order/order_base.html:108 +#: company/models.py:545 company/templates/company/company_base.html:78 +#: company/templates/company/supplier_part.html:87 order/models.py:263 +#: order/templates/order/order_base.html:112 #: order/templates/order/order_wizard/select_pos.html:30 part/bom.py:219 -#: part/bom.py:247 stock/templates/stock/item_base.html:370 +#: part/bom.py:247 stock/templates/stock/item_base.html:398 #: templates/js/translated/company.js:337 -#: templates/js/translated/company.js:771 templates/js/translated/order.js:660 -#: templates/js/translated/part.js:210 +#: templates/js/translated/company.js:771 templates/js/translated/order.js:667 +#: templates/js/translated/part.js:213 templates/js/translated/part.js:800 msgid "Supplier" msgstr "Fornitore" -#: company/models.py:546 templates/js/translated/part.js:211 +#: company/models.py:546 templates/js/translated/part.js:214 msgid "Select supplier" msgstr "Seleziona fornitore" -#: company/models.py:551 company/templates/company/supplier_part.html:98 -#: part/bom.py:220 part/bom.py:248 templates/js/translated/order.js:861 -#: templates/js/translated/part.js:221 +#: company/models.py:551 company/templates/company/supplier_part.html:91 +#: part/bom.py:220 part/bom.py:248 templates/js/translated/order.js:860 +#: templates/js/translated/part.js:224 templates/js/translated/part.js:818 msgid "SKU" msgstr "SKU" -#: company/models.py:552 templates/js/translated/part.js:222 +#: company/models.py:552 templates/js/translated/part.js:225 msgid "Supplier stock keeping unit" msgstr "" @@ -2406,7 +2410,7 @@ msgstr "URL dell'articolo del fornitore" msgid "Supplier part description" msgstr "Descrizione articolo fornitore" -#: company/models.py:576 company/templates/company/supplier_part.html:126 +#: company/models.py:576 company/templates/company/supplier_part.html:119 #: part/models.py:2588 report/templates/report/inventree_po_report.html:93 #: report/templates/report/inventree_so_report.html:93 msgid "Note" @@ -2420,9 +2424,9 @@ msgstr "costo base" msgid "Minimum charge (e.g. stocking fee)" msgstr "Onere minimo (ad esempio tassa di stoccaggio)" -#: company/models.py:582 company/templates/company/supplier_part.html:119 -#: stock/models.py:507 stock/templates/stock/item_base.html:311 -#: templates/js/translated/company.js:847 templates/js/translated/stock.js:1366 +#: company/models.py:582 company/templates/company/supplier_part.html:112 +#: stock/models.py:497 stock/templates/stock/item_base.html:339 +#: templates/js/translated/company.js:847 templates/js/translated/stock.js:1448 msgid "Packaging" msgstr "Confezionamento" @@ -2457,43 +2461,56 @@ msgstr "Azienda" msgid "Create Purchase Order" msgstr "Crea ordine d'acquisto" -#: company/templates/company/company_base.html:27 +#: company/templates/company/company_base.html:26 +msgid "Company actions" +msgstr "" + +#: company/templates/company/company_base.html:31 msgid "Edit company information" msgstr "Modifica le informazioni dell'azienda" #: company/templates/company/company_base.html:32 -#: company/templates/company/company_base.html:148 +#: templates/js/translated/company.js:265 +msgid "Edit Company" +msgstr "Modifica azienda" + +#: company/templates/company/company_base.html:36 +msgid "Delete company" +msgstr "" + +#: company/templates/company/company_base.html:37 +#: company/templates/company/company_base.html:159 msgid "Delete Company" msgstr "Elimina Azienda" -#: company/templates/company/company_base.html:48 +#: company/templates/company/company_base.html:53 #: part/templates/part/part_thumb.html:12 msgid "Upload new image" msgstr "Carica nuova immagine" -#: company/templates/company/company_base.html:51 +#: company/templates/company/company_base.html:56 #: part/templates/part/part_thumb.html:14 msgid "Download image from URL" msgstr "Scarica immagine dall'URL" -#: company/templates/company/company_base.html:81 -msgid "Uses default currency" -msgstr "Valuta predefinita" - -#: company/templates/company/company_base.html:95 -msgid "Phone" -msgstr "Telefono" - -#: company/templates/company/company_base.html:126 order/models.py:567 -#: order/templates/order/sales_order_base.html:114 stock/models.py:525 -#: stock/models.py:526 stock/templates/stock/item_base.html:263 -#: templates/js/translated/company.js:329 templates/js/translated/order.js:1073 -#: templates/js/translated/stock.js:2002 +#: company/templates/company/company_base.html:83 order/models.py:567 +#: order/templates/order/sales_order_base.html:115 stock/models.py:515 +#: stock/models.py:516 stock/templates/stock/item_base.html:291 +#: templates/js/translated/company.js:329 templates/js/translated/order.js:1072 +#: templates/js/translated/stock.js:2084 msgid "Customer" msgstr "Cliente" -#: company/templates/company/company_base.html:194 -#: part/templates/part/part_base.html:342 +#: company/templates/company/company_base.html:108 +msgid "Uses default currency" +msgstr "Valuta predefinita" + +#: company/templates/company/company_base.html:122 +msgid "Phone" +msgstr "Telefono" + +#: company/templates/company/company_base.html:205 +#: part/templates/part/part_base.html:471 msgid "Upload Image" msgstr "Carica immagine" @@ -2509,23 +2526,23 @@ msgid "Create new supplier part" msgstr "Crea nuovo fornitore" #: company/templates/company/detail.html:20 -#: company/templates/company/manufacturer_part.html:112 -#: part/templates/part/detail.html:440 +#: company/templates/company/manufacturer_part.html:118 +#: part/templates/part/detail.html:333 msgid "New Supplier Part" msgstr "Nuovo fornitore articolo" #: company/templates/company/detail.html:32 #: company/templates/company/detail.html:79 -#: company/templates/company/manufacturer_part.html:121 -#: company/templates/company/manufacturer_part.html:150 -#: part/templates/part/category.html:160 part/templates/part/detail.html:449 -#: part/templates/part/detail.html:477 +#: company/templates/company/manufacturer_part.html:127 +#: company/templates/company/manufacturer_part.html:156 +#: part/templates/part/category.html:167 part/templates/part/detail.html:342 +#: part/templates/part/detail.html:370 msgid "Options" msgstr "Opzioni" #: company/templates/company/detail.html:37 #: company/templates/company/detail.html:84 -#: part/templates/part/category.html:166 +#: part/templates/part/category.html:173 msgid "Order parts" msgstr "Articoli ordinati" @@ -2547,7 +2564,7 @@ msgstr "" msgid "Create new manufacturer part" msgstr "" -#: company/templates/company/detail.html:67 part/templates/part/detail.html:467 +#: company/templates/company/detail.html:67 part/templates/part/detail.html:360 msgid "New Manufacturer Part" msgstr "" @@ -2561,7 +2578,7 @@ msgstr "Giacenza Fornitore" #: order/templates/order/order_base.html:13 #: order/templates/order/purchase_orders.html:8 #: order/templates/order/purchase_orders.html:12 -#: part/templates/part/detail.html:171 part/templates/part/part_sidebar.html:35 +#: part/templates/part/detail.html:64 part/templates/part/part_sidebar.html:33 #: templates/InvenTree/index.html:252 templates/InvenTree/search.html:203 #: templates/InvenTree/settings/sidebar.html:44 templates/navbar.html:45 #: users/models.py:45 @@ -2583,7 +2600,7 @@ msgstr "" #: order/templates/order/sales_order_base.html:13 #: order/templates/order/sales_orders.html:8 #: order/templates/order/sales_orders.html:15 -#: part/templates/part/detail.html:194 part/templates/part/part_sidebar.html:39 +#: part/templates/part/detail.html:87 part/templates/part/part_sidebar.html:37 #: templates/InvenTree/index.html:283 templates/InvenTree/search.html:223 #: templates/InvenTree/settings/sidebar.html:46 templates/navbar.html:56 #: users/models.py:46 @@ -2610,14 +2627,14 @@ msgid "Company Notes" msgstr "" #: company/templates/company/detail.html:383 -#: company/templates/company/manufacturer_part.html:209 -#: part/templates/part/detail.html:520 +#: company/templates/company/manufacturer_part.html:215 +#: part/templates/part/detail.html:413 msgid "Delete Supplier Parts?" msgstr "Elimina articoli fornitore?" #: company/templates/company/detail.html:384 -#: company/templates/company/manufacturer_part.html:210 -#: part/templates/part/detail.html:521 +#: company/templates/company/manufacturer_part.html:216 +#: part/templates/part/detail.html:414 msgid "All selected supplier parts will be deleted" msgstr "Tutte gli articoli del fornitore selezionati saranno eliminati" @@ -2634,7 +2651,7 @@ msgstr "Produttori" #: company/templates/company/manufacturer_part.html:35 #: company/templates/company/supplier_part.html:34 #: company/templates/company/supplier_part.html:159 -#: part/templates/part/detail.html:174 part/templates/part/part_base.html:76 +#: part/templates/part/detail.html:67 part/templates/part/part_base.html:76 msgid "Order part" msgstr "Articoli ordinati" @@ -2648,60 +2665,60 @@ msgstr "" msgid "Delete manufacturer part" msgstr "" -#: company/templates/company/manufacturer_part.html:70 -#: company/templates/company/supplier_part.html:71 +#: company/templates/company/manufacturer_part.html:66 +#: company/templates/company/supplier_part.html:63 msgid "Internal Part" msgstr "Articolo interno" -#: company/templates/company/manufacturer_part.html:108 +#: company/templates/company/manufacturer_part.html:114 #: company/templates/company/supplier_part.html:15 company/views.py:49 -#: part/templates/part/part_sidebar.html:33 part/templates/part/prices.html:163 +#: part/templates/part/part_sidebar.html:31 part/templates/part/prices.html:163 #: templates/InvenTree/search.html:194 templates/navbar.html:43 msgid "Suppliers" msgstr "Fornitori" -#: company/templates/company/manufacturer_part.html:123 -#: part/templates/part/detail.html:451 +#: company/templates/company/manufacturer_part.html:129 +#: part/templates/part/detail.html:344 msgid "Delete supplier parts" msgstr "Elimina articolo fornitore" -#: company/templates/company/manufacturer_part.html:123 -#: company/templates/company/manufacturer_part.html:152 -#: company/templates/company/manufacturer_part.html:248 -#: part/templates/part/detail.html:451 part/templates/part/detail.html:479 +#: company/templates/company/manufacturer_part.html:129 +#: company/templates/company/manufacturer_part.html:158 +#: company/templates/company/manufacturer_part.html:254 +#: part/templates/part/detail.html:344 part/templates/part/detail.html:372 #: templates/js/translated/company.js:425 templates/js/translated/helpers.js:31 #: users/models.py:204 msgid "Delete" msgstr "Elimina" -#: company/templates/company/manufacturer_part.html:137 +#: company/templates/company/manufacturer_part.html:143 #: company/templates/company/manufacturer_part_sidebar.html:5 #: part/templates/part/category_sidebar.html:17 -#: part/templates/part/detail.html:277 part/templates/part/part_sidebar.html:10 +#: part/templates/part/detail.html:170 part/templates/part/part_sidebar.html:8 msgid "Parameters" msgstr "Parametri" -#: company/templates/company/manufacturer_part.html:141 -#: part/templates/part/detail.html:282 +#: company/templates/company/manufacturer_part.html:147 +#: part/templates/part/detail.html:175 #: templates/InvenTree/settings/category.html:12 #: templates/InvenTree/settings/part.html:65 msgid "New Parameter" msgstr "Nuovo Parametro" -#: company/templates/company/manufacturer_part.html:152 +#: company/templates/company/manufacturer_part.html:158 msgid "Delete parameters" msgstr "Elimina il parametro" -#: company/templates/company/manufacturer_part.html:185 -#: part/templates/part/detail.html:976 +#: company/templates/company/manufacturer_part.html:191 +#: part/templates/part/detail.html:867 msgid "Add Parameter" msgstr "Aggiungi parametro" -#: company/templates/company/manufacturer_part.html:233 +#: company/templates/company/manufacturer_part.html:239 msgid "Selected parameters will be deleted" msgstr "Gli eventi selezionati verranno eliminati" -#: company/templates/company/manufacturer_part.html:245 +#: company/templates/company/manufacturer_part.html:251 msgid "Delete Parameters" msgstr "Elimina Parametri" @@ -2722,9 +2739,9 @@ msgid "Assigned Stock Items" msgstr "" #: company/templates/company/supplier_part.html:7 -#: company/templates/company/supplier_part.html:24 stock/models.py:492 -#: stock/templates/stock/item_base.html:375 -#: templates/js/translated/company.js:787 templates/js/translated/stock.js:1323 +#: company/templates/company/supplier_part.html:24 stock/models.py:482 +#: stock/templates/stock/item_base.html:403 +#: templates/js/translated/company.js:787 templates/js/translated/stock.js:1405 msgid "Supplier Part" msgstr "Articolo Fornitore" @@ -2744,13 +2761,13 @@ msgid "Supplier Part Stock" msgstr "Fornitore articolo in giacenza" #: company/templates/company/supplier_part.html:141 -#: part/templates/part/detail.html:127 stock/templates/stock/location.html:147 +#: part/templates/part/detail.html:20 stock/templates/stock/location.html:162 msgid "Create new stock item" msgstr "Crea nuova allocazione magazzino" #: company/templates/company/supplier_part.html:142 -#: part/templates/part/detail.html:128 stock/templates/stock/location.html:148 -#: templates/js/translated/stock.js:354 +#: part/templates/part/detail.html:21 stock/templates/stock/location.html:163 +#: templates/js/translated/stock.js:355 msgid "New Stock Item" msgstr "Nuovo Elemento in giacenza" @@ -2760,7 +2777,7 @@ msgid "Supplier Part Orders" msgstr "Ordini articoli fornitore" #: company/templates/company/supplier_part.html:160 -#: part/templates/part/detail.html:175 +#: part/templates/part/detail.html:68 msgid "Order Part" msgstr "Ordine Articolo" @@ -2796,15 +2813,15 @@ msgid "Delete price break" msgstr "Cancella riduzione di prezzo" #: company/templates/company/supplier_part_navbar.html:15 -#: part/templates/part/part_sidebar.html:16 +#: part/templates/part/part_sidebar.html:14 #: stock/templates/stock/loc_link.html:3 stock/templates/stock/location.html:14 #: stock/templates/stock/stock_app_base.html:10 #: templates/InvenTree/search.html:156 #: templates/InvenTree/settings/sidebar.html:40 -#: templates/js/translated/bom.js:216 templates/js/translated/part.js:427 -#: templates/js/translated/part.js:562 templates/js/translated/part.js:878 -#: templates/js/translated/part.js:1039 templates/js/translated/stock.js:509 -#: templates/js/translated/stock.js:1162 templates/navbar.html:26 +#: templates/js/translated/bom.js:216 templates/js/translated/part.js:434 +#: templates/js/translated/part.js:569 templates/js/translated/part.js:1059 +#: templates/js/translated/part.js:1220 templates/js/translated/stock.js:591 +#: templates/js/translated/stock.js:1244 templates/navbar.html:26 msgid "Stock" msgstr "Magazzino" @@ -2818,16 +2835,16 @@ msgid "Supplier Part Pricing" msgstr "Prezzo articolo del fornitore" #: company/templates/company/supplier_part_navbar.html:29 -#: part/templates/part/part_sidebar.html:30 +#: part/templates/part/part_sidebar.html:28 msgid "Pricing" msgstr "Prezzi" #: company/templates/company/supplier_part_sidebar.html:5 -#: stock/templates/stock/location.html:118 -#: stock/templates/stock/location.html:132 -#: stock/templates/stock/location.html:144 +#: stock/templates/stock/location.html:133 +#: stock/templates/stock/location.html:147 +#: stock/templates/stock/location.html:159 #: stock/templates/stock/location_sidebar.html:7 -#: templates/InvenTree/search.html:158 templates/js/translated/stock.js:1901 +#: templates/InvenTree/search.html:158 templates/js/translated/stock.js:1983 #: templates/stats.html:93 templates/stats.html:102 users/models.py:43 msgid "Stock Items" msgstr "Articoli in magazzino" @@ -2947,7 +2964,7 @@ msgstr "" msgid "Place order" msgstr "Invia l'ordine" -#: order/forms.py:37 order/templates/order/order_base.html:59 +#: order/forms.py:37 order/templates/order/order_base.html:60 msgid "Mark order as complete" msgstr "Contrassegna ordine come completato" @@ -3000,8 +3017,8 @@ msgstr "Stato ordine d'acquisto" msgid "Company from which the items are being ordered" msgstr "Azienda da cui sono stati ordinati gli articoli" -#: order/models.py:267 order/templates/order/order_base.html:114 -#: templates/js/translated/order.js:669 +#: order/models.py:267 order/templates/order/order_base.html:118 +#: templates/js/translated/order.js:676 msgid "Supplier Reference" msgstr "Riferimento fornitore" @@ -3061,7 +3078,7 @@ msgstr "" msgid "Target date for order completion. Order will be overdue after this date." msgstr "" -#: order/models.py:582 templates/js/translated/order.js:1114 +#: order/models.py:582 templates/js/translated/order.js:1113 msgid "Shipment Date" msgstr "" @@ -3086,16 +3103,16 @@ msgid "Line item notes" msgstr "" #: order/models.py:768 order/models.py:856 -#: templates/js/translated/order.js:1166 +#: templates/js/translated/order.js:1165 msgid "Order" msgstr "" #: order/models.py:769 order/templates/order/order_base.html:9 #: order/templates/order/order_base.html:18 #: report/templates/report/inventree_po_report.html:77 -#: stock/templates/stock/item_base.html:325 -#: templates/js/translated/order.js:638 templates/js/translated/stock.js:1300 -#: templates/js/translated/stock.js:1983 +#: stock/templates/stock/item_base.html:353 +#: templates/js/translated/order.js:638 templates/js/translated/part.js:775 +#: templates/js/translated/stock.js:1382 templates/js/translated/stock.js:2065 msgid "Purchase Order" msgstr "" @@ -3103,9 +3120,10 @@ msgstr "" msgid "Supplier part" msgstr "Articolo Fornitore" -#: order/models.py:797 order/templates/order/order_base.html:147 -#: order/templates/order/sales_order_base.html:154 -#: templates/js/translated/order.js:429 templates/js/translated/order.js:954 +#: order/models.py:797 order/templates/order/order_base.html:151 +#: order/templates/order/sales_order_base.html:155 +#: templates/js/translated/order.js:429 templates/js/translated/order.js:953 +#: templates/js/translated/part.js:847 templates/js/translated/part.js:873 msgid "Received" msgstr "" @@ -3113,9 +3131,9 @@ msgstr "" msgid "Number of items received" msgstr "" -#: order/models.py:805 part/templates/part/prices.html:176 stock/models.py:619 -#: stock/serializers.py:163 stock/templates/stock/item_base.html:332 -#: templates/js/translated/stock.js:1354 +#: order/models.py:805 part/templates/part/prices.html:176 stock/models.py:609 +#: stock/serializers.py:168 stock/templates/stock/item_base.html:360 +#: templates/js/translated/stock.js:1436 msgid "Purchase Price" msgstr "" @@ -3176,47 +3194,47 @@ msgstr "" msgid "Enter stock allocation quantity" msgstr "Inserisci la quantità assegnata alla giacenza" -#: order/serializers.py:169 +#: order/serializers.py:175 msgid "Purchase price currency" msgstr "" -#: order/serializers.py:204 +#: order/serializers.py:213 msgid "Line Item" msgstr "" -#: order/serializers.py:210 +#: order/serializers.py:219 msgid "Line item does not match purchase order" msgstr "" -#: order/serializers.py:220 order/serializers.py:288 +#: order/serializers.py:229 order/serializers.py:297 msgid "Select destination location for received items" msgstr "Seleziona la posizione di destinazione per gli elementi ricevuti" -#: order/serializers.py:244 +#: order/serializers.py:253 msgid "Barcode Hash" msgstr "" -#: order/serializers.py:245 +#: order/serializers.py:254 msgid "Unique identifier field" msgstr "" -#: order/serializers.py:262 +#: order/serializers.py:271 msgid "Barcode is already in use" msgstr "" -#: order/serializers.py:300 +#: order/serializers.py:309 msgid "Line items must be provided" msgstr "" -#: order/serializers.py:317 +#: order/serializers.py:326 msgid "Destination location must be specified" msgstr "La destinazione deve essere specificata" -#: order/serializers.py:328 +#: order/serializers.py:337 msgid "Supplied barcode values must be unique" msgstr "" -#: order/serializers.py:569 +#: order/serializers.py:578 msgid "Sale price currency" msgstr "" @@ -3248,22 +3266,36 @@ msgstr "" msgid "Receive items" msgstr "Ricevere articoli" -#: order/templates/order/order_base.html:93 -#: order/templates/order/sales_order_base.html:98 +#: order/templates/order/order_base.html:58 +#: order/templates/order/purchase_order_detail.html:31 +msgid "Receive Items" +msgstr "" + +#: order/templates/order/order_base.html:62 order/views.py:185 +msgid "Complete Order" +msgstr "" + +#: order/templates/order/order_base.html:84 +#: order/templates/order/sales_order_base.html:79 msgid "Order Reference" msgstr "Riferimento ordine" -#: order/templates/order/order_base.html:98 -#: order/templates/order/sales_order_base.html:103 +#: order/templates/order/order_base.html:89 +#: order/templates/order/sales_order_base.html:84 +msgid "Order Description" +msgstr "" + +#: order/templates/order/order_base.html:94 +#: order/templates/order/sales_order_base.html:89 msgid "Order Status" msgstr "Stato dell'ordine" -#: order/templates/order/order_base.html:133 +#: order/templates/order/order_base.html:137 #: report/templates/report/inventree_build_order_base.html:122 msgid "Issued" msgstr "Emesso" -#: order/templates/order/order_base.html:203 +#: order/templates/order/order_base.html:207 msgid "Edit Purchase Order" msgstr "Modifica ordine d'acquisto" @@ -3421,7 +3453,7 @@ msgid "Select existing purchase orders, or create new orders." msgstr "" #: order/templates/order/order_wizard/select_pos.html:31 -#: templates/js/translated/order.js:695 templates/js/translated/order.js:1119 +#: templates/js/translated/order.js:694 templates/js/translated/order.js:1118 msgid "Items" msgstr "" @@ -3465,10 +3497,6 @@ msgstr "" msgid "Receive selected items" msgstr "" -#: order/templates/order/purchase_order_detail.html:31 -msgid "Receive Items" -msgstr "" - #: order/templates/order/purchase_order_detail.html:50 msgid "Received Items" msgstr "" @@ -3496,16 +3524,16 @@ msgstr "" msgid "Ship Order" msgstr "" -#: order/templates/order/sales_order_base.html:86 +#: order/templates/order/sales_order_base.html:102 msgid "This Sales Order has not been fully allocated" msgstr "" -#: order/templates/order/sales_order_base.html:121 -#: templates/js/translated/order.js:1086 +#: order/templates/order/sales_order_base.html:122 +#: templates/js/translated/order.js:1085 msgid "Customer Reference" msgstr "" -#: order/templates/order/sales_order_base.html:194 +#: order/templates/order/sales_order_base.html:195 msgid "Edit Sales Order" msgstr "" @@ -3576,10 +3604,6 @@ msgstr "" msgid "Purchase order issued" msgstr "" -#: order/views.py:185 -msgid "Complete Order" -msgstr "" - #: order/views.py:201 msgid "Confirm order completion" msgstr "" @@ -3672,11 +3696,11 @@ msgid "This field is required" msgstr "" #: part/bom.py:125 part/models.py:81 part/models.py:816 -#: part/templates/part/category.html:90 part/templates/part/detail.html:104 +#: part/templates/part/category.html:104 part/templates/part/part_base.html:338 msgid "Default Location" msgstr "Posizione Predefinita" -#: part/bom.py:126 part/templates/part/part_base.html:167 +#: part/bom.py:126 part/templates/part/part_base.html:185 msgid "Available Stock" msgstr "Disponibilità in magazzino" @@ -3793,19 +3817,19 @@ msgstr "Parole chiave predefinite per gli articoli in questa categoria" msgid "Part Category" msgstr "Categoria Articoli" -#: part/models.py:96 part/templates/part/category.html:117 +#: part/models.py:96 part/templates/part/category.html:124 #: templates/InvenTree/search.html:101 templates/stats.html:84 #: users/models.py:40 msgid "Part Categories" msgstr "Categorie Articolo" #: part/models.py:358 part/templates/part/cat_link.html:3 -#: part/templates/part/category.html:13 part/templates/part/category.html:122 -#: part/templates/part/category.html:142 +#: part/templates/part/category.html:13 part/templates/part/category.html:129 +#: part/templates/part/category.html:149 #: part/templates/part/category_sidebar.html:9 #: templates/InvenTree/index.html:85 templates/InvenTree/search.html:88 #: templates/InvenTree/settings/sidebar.html:36 -#: templates/js/translated/part.js:1416 templates/navbar.html:19 +#: templates/js/translated/part.js:1597 templates/navbar.html:19 #: templates/stats.html:80 templates/stats.html:89 users/models.py:41 msgid "Parts" msgstr "Articoli" @@ -3859,8 +3883,8 @@ msgstr "Variante Di" msgid "Part description" msgstr "Descrizione articolo" -#: part/models.py:770 part/templates/part/category.html:97 -#: part/templates/part/detail.html:73 +#: part/models.py:770 part/templates/part/category.html:82 +#: part/templates/part/part_base.html:302 msgid "Keywords" msgstr "Parole Chiave" @@ -3869,9 +3893,10 @@ msgid "Part keywords to improve visibility in search results" msgstr "Parole chiave per migliorare la visibilità nei risultati di ricerca" #: part/models.py:778 part/models.py:2223 part/models.py:2472 -#: part/templates/part/detail.html:36 part/templates/part/set_category.html:15 +#: part/templates/part/part_base.html:265 +#: part/templates/part/set_category.html:15 #: templates/InvenTree/settings/settings.html:163 -#: templates/js/translated/part.js:1021 +#: templates/js/translated/part.js:1202 msgid "Category" msgstr "Categoria" @@ -3879,9 +3904,9 @@ msgstr "Categoria" msgid "Part category" msgstr "Categoria articolo" -#: part/models.py:784 part/templates/part/detail.html:45 -#: templates/js/translated/part.js:550 templates/js/translated/part.js:974 -#: templates/js/translated/stock.js:1134 +#: part/models.py:784 part/templates/part/part_base.html:274 +#: templates/js/translated/part.js:557 templates/js/translated/part.js:1155 +#: templates/js/translated/stock.js:1216 msgid "IPN" msgstr "IPN - Numero di riferimento interno" @@ -3893,8 +3918,8 @@ msgstr "Numero Dell'articolo Interno" msgid "Part revision or version number" msgstr "Numero di revisione o di versione" -#: part/models.py:792 part/templates/part/detail.html:52 report/models.py:200 -#: templates/js/translated/part.js:554 +#: part/models.py:792 part/templates/part/part_base.html:281 +#: report/models.py:200 templates/js/translated/part.js:561 msgid "Revision" msgstr "Revisione" @@ -3902,7 +3927,7 @@ msgstr "Revisione" msgid "Where is this item normally stored?" msgstr "Dove viene normalmente immagazzinato questo articolo?" -#: part/models.py:861 part/templates/part/detail.html:113 +#: part/models.py:861 part/templates/part/part_base.html:347 msgid "Default Supplier" msgstr "Fornitore predefinito" @@ -3918,7 +3943,7 @@ msgstr "Scadenza Predefinita" 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:875 part/templates/part/part_base.html:178 +#: part/models.py:875 part/templates/part/part_base.html:196 msgid "Minimum Stock" msgstr "Scorta Minima" @@ -4001,8 +4026,8 @@ msgstr "" msgid "Test with this name already exists for this part" msgstr "" -#: part/models.py:2310 templates/js/translated/part.js:1467 -#: templates/js/translated/stock.js:858 +#: part/models.py:2310 templates/js/translated/part.js:1648 +#: templates/js/translated/stock.js:940 msgid "Test Name" msgstr "" @@ -4018,7 +4043,7 @@ msgstr "Descrizione Di Prova" msgid "Enter description for this test" msgstr "" -#: part/models.py:2322 templates/js/translated/part.js:1476 +#: part/models.py:2322 templates/js/translated/part.js:1657 #: templates/js/translated/table_filters.js:276 msgid "Required" msgstr "" @@ -4027,7 +4052,7 @@ msgstr "" msgid "Is this test required to pass?" msgstr "" -#: part/models.py:2328 templates/js/translated/part.js:1484 +#: part/models.py:2328 templates/js/translated/part.js:1665 msgid "Requires Value" msgstr "" @@ -4035,7 +4060,7 @@ msgstr "" msgid "Does this test require a value when adding a test result?" msgstr "" -#: part/models.py:2334 templates/js/translated/part.js:1491 +#: part/models.py:2334 templates/js/translated/part.js:1672 msgid "Requires Attachment" msgstr "" @@ -4150,7 +4175,7 @@ msgstr "Consenti Le Varianti" msgid "Stock items for variant parts can be used for this BOM item" msgstr "" -#: part/models.py:2686 stock/models.py:371 +#: part/models.py:2686 stock/models.py:361 msgid "Quantity must be integer value for trackable parts" msgstr "" @@ -4213,7 +4238,7 @@ msgstr "" msgid "The BOM for %(part)s has not been validated." msgstr "" -#: part/templates/part/bom.html:30 part/templates/part/detail.html:357 +#: part/templates/part/bom.html:30 part/templates/part/detail.html:250 msgid "BOM actions" msgstr "" @@ -4298,68 +4323,64 @@ msgstr "Crea nuova categoria articoli" msgid "New Category" msgstr "Nuova categoria" -#: part/templates/part/category.html:67 -msgid "Top level part category" -msgstr "Categoria articolo di livello superiore" - -#: part/templates/part/category.html:79 +#: part/templates/part/category.html:76 part/templates/part/category.html:89 msgid "Category Path" msgstr "Percorso Categoria" -#: part/templates/part/category.html:84 -msgid "Category Description" -msgstr "Descrizione Categoria" +#: part/templates/part/category.html:90 +msgid "Top level part category" +msgstr "Categoria articolo di livello superiore" -#: part/templates/part/category.html:103 part/templates/part/category.html:194 +#: part/templates/part/category.html:110 part/templates/part/category.html:201 #: part/templates/part/category_sidebar.html:7 msgid "Subcategories" msgstr "Sottocategorie" -#: part/templates/part/category.html:108 +#: part/templates/part/category.html:115 msgid "Parts (Including subcategories)" msgstr "Articoli (incluse le sottocategorie)" -#: part/templates/part/category.html:145 +#: part/templates/part/category.html:152 msgid "Export Part Data" msgstr "Esporta dati articolo" -#: part/templates/part/category.html:146 part/templates/part/category.html:170 +#: part/templates/part/category.html:153 part/templates/part/category.html:177 msgid "Export" msgstr "Esporta" -#: part/templates/part/category.html:149 +#: part/templates/part/category.html:156 msgid "Create new part" msgstr "Crea nuovo articolo" -#: part/templates/part/category.html:150 templates/js/translated/bom.js:40 +#: part/templates/part/category.html:157 templates/js/translated/bom.js:40 msgid "New Part" msgstr "Nuovo articolo" -#: part/templates/part/category.html:164 +#: part/templates/part/category.html:171 msgid "Set category" msgstr "Imposta categoria" -#: part/templates/part/category.html:164 +#: part/templates/part/category.html:171 msgid "Set Category" msgstr "Imposta Categoria" -#: part/templates/part/category.html:168 +#: part/templates/part/category.html:175 msgid "Print Labels" msgstr "Stampa Etichette" -#: part/templates/part/category.html:170 +#: part/templates/part/category.html:177 msgid "Export Data" msgstr "Esporta Dati" -#: part/templates/part/category.html:184 +#: part/templates/part/category.html:191 msgid "Part Parameters" msgstr "Parametri articolo" -#: part/templates/part/category.html:261 +#: part/templates/part/category.html:268 msgid "Create Part Category" msgstr "Crea Categoria Articolo" -#: part/templates/part/category.html:288 +#: part/templates/part/category.html:295 msgid "Create Part" msgstr "Crea Articolo" @@ -4402,7 +4423,7 @@ msgstr "" msgid "Import Parts" msgstr "" -#: part/templates/part/copy_part.html:9 templates/js/translated/part.js:366 +#: part/templates/part/copy_part.html:9 templates/js/translated/part.js:373 msgid "Duplicate Part" msgstr "" @@ -4426,167 +4447,155 @@ msgstr "" msgid "%(full_name)s - %(desc)s (%(match_per)s%% match)" msgstr "" -#: part/templates/part/detail.html:16 -msgid "Part Details" -msgstr "" - -#: part/templates/part/detail.html:66 -msgid "Minimum stock level" -msgstr "" - -#: part/templates/part/detail.html:97 -msgid "Latest Serial Number" -msgstr "" - -#: part/templates/part/detail.html:124 +#: part/templates/part/detail.html:17 msgid "Part Stock" msgstr "" -#: part/templates/part/detail.html:136 +#: part/templates/part/detail.html:29 #, python-format msgid "Showing stock for all variants of %(full_name)s" msgstr "" -#: part/templates/part/detail.html:146 +#: part/templates/part/detail.html:39 msgid "Part Test Templates" msgstr "" -#: part/templates/part/detail.html:151 +#: part/templates/part/detail.html:44 msgid "Add Test Template" msgstr "" -#: part/templates/part/detail.html:208 +#: part/templates/part/detail.html:101 msgid "Sales Order Allocations" msgstr "Assegnazione Ordine Di Vendita" -#: part/templates/part/detail.html:249 +#: part/templates/part/detail.html:142 msgid "Part Variants" msgstr "" -#: part/templates/part/detail.html:253 +#: part/templates/part/detail.html:146 msgid "Create new variant" msgstr "" -#: part/templates/part/detail.html:254 +#: part/templates/part/detail.html:147 msgid "New Variant" msgstr "" -#: part/templates/part/detail.html:281 +#: part/templates/part/detail.html:174 msgid "Add new parameter" msgstr "" -#: part/templates/part/detail.html:315 part/templates/part/part_sidebar.html:47 +#: part/templates/part/detail.html:208 part/templates/part/part_sidebar.html:45 msgid "Related Parts" msgstr "Articoli correlati" -#: part/templates/part/detail.html:319 part/templates/part/detail.html:320 +#: part/templates/part/detail.html:212 part/templates/part/detail.html:213 msgid "Add Related" msgstr "" -#: part/templates/part/detail.html:340 part/templates/part/part_sidebar.html:19 +#: part/templates/part/detail.html:233 part/templates/part/part_sidebar.html:17 msgid "Bill of Materials" msgstr "Distinta base" -#: part/templates/part/detail.html:345 +#: part/templates/part/detail.html:238 msgid "Export actions" msgstr "" -#: part/templates/part/detail.html:349 +#: part/templates/part/detail.html:242 msgid "Export BOM" msgstr "" -#: part/templates/part/detail.html:351 +#: part/templates/part/detail.html:244 msgid "Print BOM Report" msgstr "" -#: part/templates/part/detail.html:361 +#: part/templates/part/detail.html:254 msgid "Upload BOM" msgstr "" -#: part/templates/part/detail.html:363 templates/js/translated/part.js:267 +#: part/templates/part/detail.html:256 templates/js/translated/part.js:270 msgid "Copy BOM" msgstr "" -#: part/templates/part/detail.html:365 part/views.py:755 +#: part/templates/part/detail.html:258 part/views.py:755 msgid "Validate BOM" msgstr "" -#: part/templates/part/detail.html:370 +#: part/templates/part/detail.html:263 msgid "New BOM Item" msgstr "" -#: part/templates/part/detail.html:371 +#: part/templates/part/detail.html:264 msgid "Add BOM Item" msgstr "" -#: part/templates/part/detail.html:384 +#: part/templates/part/detail.html:277 msgid "Assemblies" msgstr "" -#: part/templates/part/detail.html:401 +#: part/templates/part/detail.html:294 msgid "Part Builds" msgstr "" -#: part/templates/part/detail.html:426 +#: part/templates/part/detail.html:319 msgid "Build Order Allocations" msgstr "" -#: part/templates/part/detail.html:436 +#: part/templates/part/detail.html:329 msgid "Part Suppliers" msgstr "Fornitori articoli" -#: part/templates/part/detail.html:463 +#: part/templates/part/detail.html:356 msgid "Part Manufacturers" msgstr "Componenti Produttori" -#: part/templates/part/detail.html:479 +#: part/templates/part/detail.html:372 msgid "Delete manufacturer parts" msgstr "" -#: part/templates/part/detail.html:660 +#: part/templates/part/detail.html:553 msgid "Delete selected BOM items?" msgstr "" -#: part/templates/part/detail.html:661 +#: part/templates/part/detail.html:554 msgid "All selected BOM items will be deleted" msgstr "" -#: part/templates/part/detail.html:712 +#: part/templates/part/detail.html:605 msgid "Create BOM Item" msgstr "" -#: part/templates/part/detail.html:764 +#: part/templates/part/detail.html:657 msgid "Related Part" msgstr "Articoli correlati" -#: part/templates/part/detail.html:772 +#: part/templates/part/detail.html:665 msgid "Add Related Part" msgstr "" -#: part/templates/part/detail.html:869 +#: part/templates/part/detail.html:760 msgid "Add Test Result Template" msgstr "" -#: part/templates/part/detail.html:926 +#: part/templates/part/detail.html:817 msgid "Edit Part Notes" msgstr "" -#: part/templates/part/detail.html:1039 +#: part/templates/part/detail.html:930 #, python-format msgid "Purchase Unit Price - %(currency)s" msgstr "" -#: part/templates/part/detail.html:1051 +#: part/templates/part/detail.html:942 #, python-format msgid "Unit Price-Cost Difference - %(currency)s" msgstr "" -#: part/templates/part/detail.html:1063 +#: part/templates/part/detail.html:954 #, python-format msgid "Supplier Unit Cost - %(currency)s" msgstr "" -#: part/templates/part/detail.html:1152 +#: part/templates/part/detail.html:1043 #, python-format msgid "Unit Price - %(currency)s" msgstr "" @@ -4668,86 +4677,108 @@ msgstr "Modifica articolo" msgid "Delete part" msgstr "Cancella articolo" -#: part/templates/part/part_base.html:109 +#: part/templates/part/part_base.html:112 msgid "Part is a template part (variants can be made from this part)" msgstr "" -#: part/templates/part/part_base.html:113 +#: part/templates/part/part_base.html:116 msgid "Part can be assembled from other parts" msgstr "" -#: part/templates/part/part_base.html:117 +#: part/templates/part/part_base.html:120 msgid "Part can be used in assemblies" msgstr "" -#: part/templates/part/part_base.html:121 +#: part/templates/part/part_base.html:124 msgid "Part stock is tracked by serial number" msgstr "" -#: part/templates/part/part_base.html:125 +#: part/templates/part/part_base.html:128 msgid "Part can be purchased from external suppliers" msgstr "L'articolo può essere acquistato da fornitori esterni" -#: part/templates/part/part_base.html:129 +#: part/templates/part/part_base.html:132 msgid "Part can be sold to customers" msgstr "La parte può essere venduta ai clienti" -#: part/templates/part/part_base.html:135 -#: part/templates/part/part_base.html:143 +#: part/templates/part/part_base.html:138 +#: part/templates/part/part_base.html:146 msgid "Part is virtual (not a physical part)" msgstr "" -#: part/templates/part/part_base.html:136 +#: part/templates/part/part_base.html:139 #: templates/js/translated/company.js:505 #: templates/js/translated/company.js:762 #: templates/js/translated/model_renderers.js:175 -#: templates/js/translated/part.js:465 templates/js/translated/part.js:542 +#: templates/js/translated/part.js:472 templates/js/translated/part.js:549 msgid "Inactive" msgstr "Inattivo" -#: part/templates/part/part_base.html:155 +#: part/templates/part/part_base.html:156 +#: part/templates/part/part_base.html:579 +msgid "Show Part Details" +msgstr "" + +#: part/templates/part/part_base.html:173 #, python-format msgid "This part is a variant of %(link)s" msgstr "" -#: part/templates/part/part_base.html:172 templates/js/translated/order.js:1546 +#: part/templates/part/part_base.html:190 templates/js/translated/order.js:1545 #: templates/js/translated/table_filters.js:188 msgid "In Stock" msgstr "In magazzino" -#: part/templates/part/part_base.html:185 templates/js/translated/part.js:1054 +#: part/templates/part/part_base.html:203 templates/js/translated/part.js:1235 msgid "On Order" msgstr "Ordinato" -#: part/templates/part/part_base.html:192 templates/InvenTree/index.html:178 +#: part/templates/part/part_base.html:210 templates/InvenTree/index.html:178 msgid "Required for Build Orders" msgstr "" -#: part/templates/part/part_base.html:199 +#: part/templates/part/part_base.html:217 msgid "Required for Sales Orders" msgstr "" -#: part/templates/part/part_base.html:206 +#: part/templates/part/part_base.html:224 msgid "Allocated to Orders" msgstr "" -#: part/templates/part/part_base.html:221 templates/js/translated/bom.js:566 +#: part/templates/part/part_base.html:239 templates/js/translated/bom.js:566 msgid "Can Build" msgstr "" -#: part/templates/part/part_base.html:227 templates/js/translated/part.js:885 -#: templates/js/translated/part.js:1058 +#: part/templates/part/part_base.html:245 templates/js/translated/part.js:1066 +#: templates/js/translated/part.js:1239 msgid "Building" msgstr "" -#: part/templates/part/part_base.html:320 part/templates/part/prices.html:144 +#: part/templates/part/part_base.html:295 +msgid "Minimum stock level" +msgstr "" + +#: part/templates/part/part_base.html:324 +msgid "Latest Serial Number" +msgstr "" + +#: part/templates/part/part_base.html:328 +#: stock/templates/stock/item_base.html:159 +msgid "Search for serial number" +msgstr "" + +#: part/templates/part/part_base.html:449 part/templates/part/prices.html:144 msgid "Calculate" msgstr "" -#: part/templates/part/part_base.html:363 +#: part/templates/part/part_base.html:492 msgid "No matching images found" msgstr "" +#: part/templates/part/part_base.html:573 +msgid "Hide Part Details" +msgstr "" + #: part/templates/part/part_pricing.html:22 part/templates/part/prices.html:21 msgid "Supplier Pricing" msgstr "" @@ -4805,20 +4836,15 @@ msgstr "" msgid "No pricing information is available for this part." msgstr "" -#: part/templates/part/part_sidebar.html:8 -#: templates/js/translated/stock.js:1949 -msgid "Details" -msgstr "" - -#: part/templates/part/part_sidebar.html:13 +#: part/templates/part/part_sidebar.html:11 msgid "Variants" msgstr "" -#: part/templates/part/part_sidebar.html:27 +#: part/templates/part/part_sidebar.html:25 msgid "Used In" msgstr "" -#: part/templates/part/part_sidebar.html:43 +#: part/templates/part/part_sidebar.html:41 msgid "Test Templates" msgstr "" @@ -4934,8 +4960,8 @@ msgid "Set category for the following parts" msgstr "Imposta categoria per i seguenti articoli" #: part/templates/part/stock_count.html:7 templates/js/translated/bom.js:476 -#: templates/js/translated/part.js:429 templates/js/translated/part.js:875 -#: templates/js/translated/part.js:1062 +#: templates/js/translated/part.js:436 templates/js/translated/part.js:1056 +#: templates/js/translated/part.js:1243 msgid "No Stock" msgstr "Nessuna giacenza" @@ -5037,7 +5063,7 @@ msgstr "" msgid "Delete Part Parameter Template" msgstr "" -#: part/views.py:1489 templates/js/translated/part.js:310 +#: part/views.py:1489 templates/js/translated/part.js:313 msgid "Edit Part Category" msgstr "Modifica Categoria Articoli" @@ -5171,11 +5197,12 @@ msgid "Stock Item Test Report" msgstr "" #: report/templates/report/inventree_test_report_base.html:79 -#: stock/models.py:530 stock/templates/stock/item_base.html:238 +#: stock/models.py:520 stock/templates/stock/item_base.html:149 #: templates/js/translated/build.js:233 templates/js/translated/build.js:637 #: templates/js/translated/build.js:1013 #: templates/js/translated/model_renderers.js:95 -#: templates/js/translated/order.js:1288 templates/js/translated/order.js:1377 +#: templates/js/translated/order.js:1287 templates/js/translated/order.js:1376 +#: templates/js/translated/stock.js:410 msgid "Serial Number" msgstr "" @@ -5184,17 +5211,17 @@ msgid "Test Results" msgstr "" #: report/templates/report/inventree_test_report_base.html:93 -#: stock/models.py:1855 +#: stock/models.py:1845 msgid "Test" msgstr "" #: report/templates/report/inventree_test_report_base.html:94 -#: stock/models.py:1861 +#: stock/models.py:1851 msgid "Result" msgstr "" #: report/templates/report/inventree_test_report_base.html:97 -#: templates/js/translated/order.js:685 templates/js/translated/stock.js:1917 +#: templates/js/translated/order.js:684 templates/js/translated/stock.js:1999 msgid "Date" msgstr "Data" @@ -5212,7 +5239,7 @@ msgid "Installed Items" msgstr "" #: report/templates/report/inventree_test_report_base.html:137 -#: templates/js/translated/stock.js:2177 +#: templates/js/translated/stock.js:2259 msgid "Serial" msgstr "Seriale" @@ -5220,9 +5247,9 @@ msgstr "Seriale" msgid "Quantity is required" msgstr "La quantità è richiesta" -#: stock/forms.py:91 stock/forms.py:265 stock/models.py:587 -#: stock/templates/stock/item_base.html:382 -#: templates/js/translated/stock.js:1276 +#: stock/forms.py:91 stock/forms.py:265 stock/models.py:577 +#: stock/templates/stock/item_base.html:186 +#: templates/js/translated/stock.js:1358 msgid "Expiry Date" msgstr "Data di Scadenza" @@ -5270,241 +5297,241 @@ msgstr "Conferma la disinstallazione" msgid "Confirm removal of installed stock items" msgstr "" -#: stock/models.py:60 stock/models.py:624 -#: stock/templates/stock/item_base.html:422 +#: stock/models.py:60 stock/models.py:614 +#: stock/templates/stock/item_base.html:417 msgid "Owner" msgstr "" -#: stock/models.py:61 stock/models.py:625 +#: stock/models.py:61 stock/models.py:615 msgid "Select Owner" msgstr "Seleziona Owner" -#: stock/models.py:352 +#: stock/models.py:342 msgid "StockItem with this serial number already exists" msgstr "" -#: stock/models.py:388 +#: stock/models.py:378 #, python-brace-format msgid "Part type ('{pf}') must be {pe}" msgstr "" -#: stock/models.py:398 stock/models.py:407 +#: stock/models.py:388 stock/models.py:397 msgid "Quantity must be 1 for item with a serial number" msgstr "" -#: stock/models.py:399 +#: stock/models.py:389 msgid "Serial number cannot be set if quantity greater than 1" msgstr "" -#: stock/models.py:421 +#: stock/models.py:411 msgid "Item cannot belong to itself" msgstr "" -#: stock/models.py:427 +#: stock/models.py:417 msgid "Item must have a build reference if is_building=True" msgstr "" -#: stock/models.py:434 +#: stock/models.py:424 msgid "Build reference does not point to the same part object" msgstr "" -#: stock/models.py:476 +#: stock/models.py:466 msgid "Parent Stock Item" msgstr "" -#: stock/models.py:485 +#: stock/models.py:475 msgid "Base part" msgstr "Articolo base" -#: stock/models.py:493 +#: stock/models.py:483 msgid "Select a matching supplier part for this stock item" msgstr "" -#: stock/models.py:498 stock/templates/stock/location.html:12 +#: stock/models.py:488 stock/templates/stock/location.html:12 #: stock/templates/stock/stock_app_base.html:8 msgid "Stock Location" msgstr "Ubicazione magazzino" -#: stock/models.py:501 +#: stock/models.py:491 msgid "Where is this stock item located?" msgstr "" -#: stock/models.py:508 +#: stock/models.py:498 msgid "Packaging this stock item is stored in" msgstr "" -#: stock/models.py:513 stock/templates/stock/item_base.html:271 +#: stock/models.py:503 stock/templates/stock/item_base.html:299 msgid "Installed In" msgstr "Installato In" -#: stock/models.py:516 +#: stock/models.py:506 msgid "Is this item installed in another item?" msgstr "" -#: stock/models.py:532 +#: stock/models.py:522 msgid "Serial number for this item" msgstr "" -#: stock/models.py:546 +#: stock/models.py:536 msgid "Batch code for this stock item" msgstr "" -#: stock/models.py:550 +#: stock/models.py:540 msgid "Stock Quantity" msgstr "Quantità disponibile" -#: stock/models.py:559 +#: stock/models.py:549 msgid "Source Build" msgstr "" -#: stock/models.py:561 +#: stock/models.py:551 msgid "Build for this stock item" msgstr "" -#: stock/models.py:572 +#: stock/models.py:562 msgid "Source Purchase Order" msgstr "" -#: stock/models.py:575 +#: stock/models.py:565 msgid "Purchase order for this stock item" msgstr "" -#: stock/models.py:581 +#: stock/models.py:571 msgid "Destination Sales Order" msgstr "" -#: stock/models.py:588 +#: stock/models.py:578 msgid "Expiry date for stock item. Stock will be considered expired after this date" msgstr "" -#: stock/models.py:601 +#: stock/models.py:591 msgid "Delete on deplete" msgstr "Elimina al esaurimento" -#: stock/models.py:601 +#: stock/models.py:591 msgid "Delete this Stock Item when stock is depleted" msgstr "" -#: stock/models.py:611 stock/templates/stock/item.html:111 +#: stock/models.py:601 stock/templates/stock/item.html:111 msgid "Stock Item Notes" msgstr "" -#: stock/models.py:620 +#: stock/models.py:610 msgid "Single unit purchase price at time of purchase" msgstr "" -#: stock/models.py:630 +#: stock/models.py:620 msgid "Scheduled for deletion" msgstr "" -#: stock/models.py:631 +#: stock/models.py:621 msgid "This StockItem will be deleted by the background worker" msgstr "" -#: stock/models.py:1094 +#: stock/models.py:1084 msgid "Part is not set as trackable" msgstr "" -#: stock/models.py:1100 +#: stock/models.py:1090 msgid "Quantity must be integer" msgstr "" -#: stock/models.py:1106 +#: stock/models.py:1096 #, python-brace-format msgid "Quantity must not exceed available stock quantity ({n})" msgstr "" -#: stock/models.py:1109 +#: stock/models.py:1099 msgid "Serial numbers must be a list of integers" msgstr "" -#: stock/models.py:1112 +#: stock/models.py:1102 msgid "Quantity does not match serial numbers" msgstr "" -#: stock/models.py:1119 +#: stock/models.py:1109 #, python-brace-format msgid "Serial numbers already exist: {exists}" msgstr "" -#: stock/models.py:1277 +#: stock/models.py:1267 msgid "StockItem cannot be moved as it is not in stock" msgstr "" -#: stock/models.py:1775 +#: stock/models.py:1765 msgid "Entry notes" msgstr "" -#: stock/models.py:1832 +#: stock/models.py:1822 msgid "Value must be provided for this test" msgstr "" -#: stock/models.py:1838 +#: stock/models.py:1828 msgid "Attachment must be uploaded for this test" msgstr "" -#: stock/models.py:1856 +#: stock/models.py:1846 msgid "Test name" msgstr "" -#: stock/models.py:1862 templates/js/translated/table_filters.js:266 +#: stock/models.py:1852 templates/js/translated/table_filters.js:266 msgid "Test result" msgstr "" -#: stock/models.py:1868 +#: stock/models.py:1858 msgid "Test output value" msgstr "" -#: stock/models.py:1875 +#: stock/models.py:1865 msgid "Test result attachment" msgstr "" -#: stock/models.py:1881 +#: stock/models.py:1871 msgid "Test notes" msgstr "" -#: stock/serializers.py:166 +#: stock/serializers.py:171 msgid "Purchase price of this stock item" msgstr "" -#: stock/serializers.py:173 +#: stock/serializers.py:178 msgid "Purchase currency of this stock item" msgstr "" -#: stock/serializers.py:287 +#: stock/serializers.py:292 msgid "Enter number of stock items to serialize" msgstr "" -#: stock/serializers.py:302 +#: stock/serializers.py:307 #, python-brace-format msgid "Quantity must not exceed available stock quantity ({q})" msgstr "" -#: stock/serializers.py:308 +#: stock/serializers.py:313 msgid "Enter serial numbers for new items" msgstr "" -#: stock/serializers.py:319 stock/serializers.py:686 +#: stock/serializers.py:324 stock/serializers.py:691 msgid "Destination stock location" msgstr "Posizione magazzino di destinazione" -#: stock/serializers.py:326 +#: stock/serializers.py:331 msgid "Optional note field" msgstr "" -#: stock/serializers.py:339 +#: stock/serializers.py:344 msgid "Serial numbers cannot be assigned to this part" msgstr "" -#: stock/serializers.py:556 +#: stock/serializers.py:561 msgid "StockItem primary key value" msgstr "" -#: stock/serializers.py:584 +#: stock/serializers.py:589 msgid "Stock transaction notes" msgstr "" -#: stock/serializers.py:594 +#: stock/serializers.py:599 msgid "A list of stock items must be provided" msgstr "" @@ -5629,125 +5656,131 @@ msgstr "" msgid "Install" msgstr "" -#: stock/templates/stock/item_base.html:106 +#: stock/templates/stock/item_base.html:108 msgid "Convert to variant" msgstr "" -#: stock/templates/stock/item_base.html:109 +#: stock/templates/stock/item_base.html:111 msgid "Duplicate stock item" msgstr "" -#: stock/templates/stock/item_base.html:111 +#: stock/templates/stock/item_base.html:113 msgid "Edit stock item" msgstr "" -#: stock/templates/stock/item_base.html:114 +#: stock/templates/stock/item_base.html:116 msgid "Delete stock item" msgstr "" -#: stock/templates/stock/item_base.html:136 -#: stock/templates/stock/item_base.html:386 -#: templates/js/translated/table_filters.js:247 -msgid "Expired" +#: stock/templates/stock/item_base.html:154 +msgid "previous page" +msgstr "pagina precedente" + +#: stock/templates/stock/item_base.html:154 +msgid "Navigate to previous serial number" msgstr "" -#: stock/templates/stock/item_base.html:146 -#: stock/templates/stock/item_base.html:388 -#: templates/js/translated/table_filters.js:253 -msgid "Stale" -msgstr "" +#: stock/templates/stock/item_base.html:163 +msgid "next page" +msgstr "pagina successiva" -#: stock/templates/stock/item_base.html:161 -msgid "You are not in the list of owners of this item. This stock item cannot be edited." -msgstr "" - -#: stock/templates/stock/item_base.html:168 -msgid "This stock item is in production and cannot be edited." -msgstr "" - -#: stock/templates/stock/item_base.html:169 -msgid "Edit the stock item from the build view." -msgstr "" - -#: stock/templates/stock/item_base.html:182 -msgid "This stock item has not passed all required tests" +#: stock/templates/stock/item_base.html:163 +msgid "Navigate to next serial number" msgstr "" #: stock/templates/stock/item_base.html:190 #, python-format -msgid "This stock item is allocated to Sales Order %(link)s (Quantity: %(qty)s)" -msgstr "" - -#: stock/templates/stock/item_base.html:198 -#, python-format -msgid "This stock item is allocated to Build %(link)s (Quantity: %(qty)s)" -msgstr "" - -#: stock/templates/stock/item_base.html:204 -msgid "This stock item is serialized - it has a unique serial number and the quantity cannot be adjusted." -msgstr "" - -#: stock/templates/stock/item_base.html:208 -msgid "This stock item cannot be deleted as it has child items" -msgstr "" - -#: stock/templates/stock/item_base.html:212 -msgid "This stock item will be automatically deleted when all stock is depleted." -msgstr "" - -#: stock/templates/stock/item_base.html:241 -msgid "previous page" -msgstr "pagina precedente" - -#: stock/templates/stock/item_base.html:247 -msgid "next page" -msgstr "pagina successiva" - -#: stock/templates/stock/item_base.html:290 -#: templates/js/translated/build.js:1035 -msgid "No location set" -msgstr "Nessuna posizione impostata" - -#: stock/templates/stock/item_base.html:297 -msgid "Barcode Identifier" -msgstr "" - -#: stock/templates/stock/item_base.html:339 -msgid "Parent Item" -msgstr "" - -#: stock/templates/stock/item_base.html:357 -msgid "No manufacturer set" -msgstr "" - -#: stock/templates/stock/item_base.html:386 -#, python-format msgid "This StockItem expired on %(item.expiry_date)s" msgstr "" -#: stock/templates/stock/item_base.html:388 +#: stock/templates/stock/item_base.html:190 +#: templates/js/translated/table_filters.js:247 +msgid "Expired" +msgstr "" + +#: stock/templates/stock/item_base.html:192 #, python-format msgid "This StockItem expires on %(item.expiry_date)s" msgstr "" -#: stock/templates/stock/item_base.html:395 -#: templates/js/translated/stock.js:1289 +#: stock/templates/stock/item_base.html:192 +#: templates/js/translated/table_filters.js:253 +msgid "Stale" +msgstr "" + +#: stock/templates/stock/item_base.html:199 +#: templates/js/translated/stock.js:1371 msgid "Last Updated" msgstr "Ultimo aggiornamento" -#: stock/templates/stock/item_base.html:400 +#: stock/templates/stock/item_base.html:204 msgid "Last Stocktake" msgstr "Ultimo Inventario" -#: stock/templates/stock/item_base.html:404 +#: stock/templates/stock/item_base.html:208 msgid "No stocktake performed" msgstr "Nessun inventario eseguito" -#: stock/templates/stock/item_base.html:415 +#: stock/templates/stock/item_base.html:226 +msgid "You are not in the list of owners of this item. This stock item cannot be edited." +msgstr "" + +#: stock/templates/stock/item_base.html:233 +msgid "This stock item is in production and cannot be edited." +msgstr "" + +#: stock/templates/stock/item_base.html:234 +msgid "Edit the stock item from the build view." +msgstr "" + +#: stock/templates/stock/item_base.html:247 +msgid "This stock item has not passed all required tests" +msgstr "" + +#: stock/templates/stock/item_base.html:255 +#, python-format +msgid "This stock item is allocated to Sales Order %(link)s (Quantity: %(qty)s)" +msgstr "" + +#: stock/templates/stock/item_base.html:263 +#, python-format +msgid "This stock item is allocated to Build %(link)s (Quantity: %(qty)s)" +msgstr "" + +#: stock/templates/stock/item_base.html:269 +msgid "This stock item is serialized - it has a unique serial number and the quantity cannot be adjusted." +msgstr "" + +#: stock/templates/stock/item_base.html:273 +msgid "This stock item cannot be deleted as it has child items" +msgstr "" + +#: stock/templates/stock/item_base.html:277 +msgid "This stock item will be automatically deleted when all stock is depleted." +msgstr "" + +#: stock/templates/stock/item_base.html:318 +#: templates/js/translated/build.js:1035 +msgid "No location set" +msgstr "Nessuna posizione impostata" + +#: stock/templates/stock/item_base.html:325 +msgid "Barcode Identifier" +msgstr "" + +#: stock/templates/stock/item_base.html:367 +msgid "Parent Item" +msgstr "" + +#: stock/templates/stock/item_base.html:385 +msgid "No manufacturer set" +msgstr "" + +#: stock/templates/stock/item_base.html:410 msgid "Tests" msgstr "" -#: stock/templates/stock/item_base.html:505 +#: stock/templates/stock/item_base.html:500 msgid "Edit Stock Status" msgstr "" @@ -5825,30 +5858,35 @@ msgstr "Crea nuova posizione di magazzino" msgid "New Location" msgstr "Nuova Posizione" -#: stock/templates/stock/location.html:86 +#: stock/templates/stock/location.html:95 +#: stock/templates/stock/location.html:101 +msgid "Location Path" +msgstr "" + +#: stock/templates/stock/location.html:102 msgid "Top level stock location" msgstr "Posizione stock di livello superiore" -#: stock/templates/stock/location.html:95 +#: stock/templates/stock/location.html:115 msgid "You are not in the list of owners of this location. This stock location cannot be edited." msgstr "Non sei nell'elenco dei proprietari di questa posizione. Questa posizione di giacenza non può essere modificata." -#: stock/templates/stock/location.html:113 -#: stock/templates/stock/location.html:160 +#: stock/templates/stock/location.html:128 +#: stock/templates/stock/location.html:175 #: stock/templates/stock/location_sidebar.html:5 msgid "Sublocations" msgstr "Sottoallocazioni" -#: stock/templates/stock/location.html:127 templates/InvenTree/search.html:170 +#: stock/templates/stock/location.html:142 templates/InvenTree/search.html:170 #: templates/stats.html:97 users/models.py:42 msgid "Stock Locations" msgstr "Posizioni magazzino" -#: stock/templates/stock/location.html:167 templates/stock_table.html:30 +#: stock/templates/stock/location.html:182 templates/stock_table.html:30 msgid "Printing Actions" msgstr "Azioni di stampa" -#: stock/templates/stock/location.html:171 templates/stock_table.html:34 +#: stock/templates/stock/location.html:186 templates/stock_table.html:34 msgid "Print labels" msgstr "Stampa etichette" @@ -5942,7 +5980,7 @@ msgstr "" msgid "Uninstall Stock Items" msgstr "" -#: stock/views.py:760 templates/js/translated/stock.js:648 +#: stock/views.py:760 templates/js/translated/stock.js:730 msgid "Confirm stock adjustment" msgstr "" @@ -5950,7 +5988,7 @@ msgstr "" msgid "Uninstalled stock items" msgstr "" -#: stock/views.py:793 templates/js/translated/stock.js:318 +#: stock/views.py:793 templates/js/translated/stock.js:319 msgid "Edit Stock Item" msgstr "" @@ -5962,7 +6000,7 @@ msgstr "Crea una nuova Posizione di Giacenza" msgid "Create new Stock Item" msgstr "" -#: stock/views.py:1186 templates/js/translated/stock.js:298 +#: stock/views.py:1186 templates/js/translated/stock.js:299 msgid "Duplicate Stock Item" msgstr "" @@ -6869,7 +6907,7 @@ msgstr "" msgid "Unlink" msgstr "" -#: templates/js/translated/barcode.js:397 templates/js/translated/stock.js:600 +#: templates/js/translated/barcode.js:397 templates/js/translated/stock.js:682 msgid "Remove stock item" msgstr "" @@ -6964,7 +7002,7 @@ msgid "View BOM" msgstr "" #: templates/js/translated/bom.js:608 templates/js/translated/build.js:1183 -#: templates/js/translated/order.js:1320 +#: templates/js/translated/order.js:1319 msgid "Actions" msgstr "" @@ -7056,7 +7094,7 @@ msgstr "" msgid "No build order allocations found" msgstr "" -#: templates/js/translated/build.js:424 templates/js/translated/order.js:1194 +#: templates/js/translated/build.js:424 templates/js/translated/order.js:1193 msgid "Location not specified" msgstr "Posizione non specificata" @@ -7065,12 +7103,12 @@ msgid "No active build outputs found" msgstr "" #: templates/js/translated/build.js:1052 templates/js/translated/build.js:1760 -#: templates/js/translated/order.js:1327 +#: templates/js/translated/order.js:1326 msgid "Edit stock allocation" msgstr "Modifica allocazione magazzino" #: templates/js/translated/build.js:1054 templates/js/translated/build.js:1761 -#: templates/js/translated/order.js:1328 +#: templates/js/translated/order.js:1327 msgid "Delete stock allocation" msgstr "Elimina posizione giacenza" @@ -7091,11 +7129,11 @@ msgid "Quantity Per" msgstr "" #: templates/js/translated/build.js:1134 templates/js/translated/build.js:1360 -#: templates/js/translated/build.js:1756 templates/js/translated/order.js:1557 +#: templates/js/translated/build.js:1756 templates/js/translated/order.js:1556 msgid "Allocated" msgstr "" -#: templates/js/translated/build.js:1190 templates/js/translated/order.js:1611 +#: templates/js/translated/build.js:1190 templates/js/translated/order.js:1610 msgid "Build stock" msgstr "" @@ -7103,7 +7141,7 @@ msgstr "" msgid "Order stock" msgstr "" -#: templates/js/translated/build.js:1197 templates/js/translated/order.js:1604 +#: templates/js/translated/build.js:1197 templates/js/translated/order.js:1603 msgid "Allocate stock" msgstr "" @@ -7144,9 +7182,9 @@ msgstr "" msgid "No builds matching query" msgstr "" -#: templates/js/translated/build.js:1593 templates/js/translated/part.js:966 -#: templates/js/translated/part.js:1377 templates/js/translated/stock.js:1094 -#: templates/js/translated/stock.js:1871 +#: templates/js/translated/build.js:1593 templates/js/translated/part.js:1147 +#: templates/js/translated/part.js:1558 templates/js/translated/stock.js:1176 +#: templates/js/translated/stock.js:1953 msgid "Select" msgstr "" @@ -7154,7 +7192,7 @@ msgstr "" msgid "Build order is overdue" msgstr "" -#: templates/js/translated/build.js:1674 templates/js/translated/stock.js:2090 +#: templates/js/translated/build.js:1674 templates/js/translated/stock.js:2172 msgid "No user information" msgstr "" @@ -7198,10 +7236,6 @@ msgstr "Modifica fornitore articolo" msgid "Delete Supplier Part" msgstr "" -#: templates/js/translated/company.js:265 -msgid "Edit Company" -msgstr "Modifica azienda" - #: templates/js/translated/company.js:286 msgid "Add new Company" msgstr "" @@ -7231,34 +7265,34 @@ msgid "No manufacturer parts found" msgstr "" #: templates/js/translated/company.js:497 -#: templates/js/translated/company.js:754 templates/js/translated/part.js:449 -#: templates/js/translated/part.js:534 +#: templates/js/translated/company.js:754 templates/js/translated/part.js:456 +#: templates/js/translated/part.js:541 msgid "Template part" msgstr "" #: templates/js/translated/company.js:501 -#: templates/js/translated/company.js:758 templates/js/translated/part.js:453 -#: templates/js/translated/part.js:538 +#: templates/js/translated/company.js:758 templates/js/translated/part.js:460 +#: templates/js/translated/part.js:545 msgid "Assembled part" msgstr "" -#: templates/js/translated/company.js:628 templates/js/translated/part.js:626 +#: templates/js/translated/company.js:628 templates/js/translated/part.js:633 msgid "No parameters found" msgstr "" -#: templates/js/translated/company.js:665 templates/js/translated/part.js:668 +#: templates/js/translated/company.js:665 templates/js/translated/part.js:675 msgid "Edit parameter" msgstr "Modifica parametro" -#: templates/js/translated/company.js:666 templates/js/translated/part.js:669 +#: templates/js/translated/company.js:666 templates/js/translated/part.js:676 msgid "Delete parameter" msgstr "Elimina il parametro" -#: templates/js/translated/company.js:685 templates/js/translated/part.js:686 +#: templates/js/translated/company.js:685 templates/js/translated/part.js:693 msgid "Edit Parameter" msgstr "Modifica parametro" -#: templates/js/translated/company.js:696 templates/js/translated/part.js:698 +#: templates/js/translated/company.js:696 templates/js/translated/part.js:705 msgid "Delete Parameter" msgstr "Elimina Parametri" @@ -7347,7 +7381,7 @@ msgid "NO" msgstr "NO" #: templates/js/translated/label.js:29 templates/js/translated/report.js:118 -#: templates/js/translated/stock.js:624 +#: templates/js/translated/stock.js:706 msgid "Select Stock Items" msgstr "" @@ -7503,11 +7537,11 @@ msgstr "" msgid "Export Order" msgstr "" -#: templates/js/translated/order.js:211 templates/js/translated/stock.js:423 +#: templates/js/translated/order.js:211 templates/js/translated/stock.js:505 msgid "Format" msgstr "Formato" -#: templates/js/translated/order.js:212 templates/js/translated/stock.js:424 +#: templates/js/translated/order.js:212 templates/js/translated/stock.js:506 msgid "Select file format" msgstr "" @@ -7523,7 +7557,7 @@ msgstr "" msgid "Quantity to receive" msgstr "Quantità da ricevere" -#: templates/js/translated/order.js:360 templates/js/translated/stock.js:1673 +#: templates/js/translated/order.js:360 templates/js/translated/stock.js:1755 msgid "Stock Status" msgstr "Stato giacenza" @@ -7547,321 +7581,321 @@ msgstr "" msgid "Receive Purchase Order Items" msgstr "" -#: templates/js/translated/order.js:627 +#: templates/js/translated/order.js:627 templates/js/translated/part.js:746 msgid "No purchase orders found" msgstr "" -#: templates/js/translated/order.js:652 templates/js/translated/order.js:1063 +#: templates/js/translated/order.js:659 templates/js/translated/order.js:1062 msgid "Order is overdue" msgstr "" -#: templates/js/translated/order.js:772 templates/js/translated/order.js:1646 +#: templates/js/translated/order.js:771 templates/js/translated/order.js:1645 msgid "Edit Line Item" msgstr "" -#: templates/js/translated/order.js:784 templates/js/translated/order.js:1657 +#: templates/js/translated/order.js:783 templates/js/translated/order.js:1656 msgid "Delete Line Item" msgstr "" -#: templates/js/translated/order.js:823 +#: templates/js/translated/order.js:822 msgid "No line items found" msgstr "" -#: templates/js/translated/order.js:850 templates/js/translated/order.js:1467 +#: templates/js/translated/order.js:849 templates/js/translated/order.js:1466 msgid "Total" msgstr "Totale" -#: templates/js/translated/order.js:904 templates/js/translated/order.js:1492 -#: templates/js/translated/part.js:1594 templates/js/translated/part.js:1805 +#: templates/js/translated/order.js:903 templates/js/translated/order.js:1491 +#: templates/js/translated/part.js:1775 templates/js/translated/part.js:1986 msgid "Unit Price" msgstr "Prezzo Unitario" -#: templates/js/translated/order.js:919 templates/js/translated/order.js:1508 +#: templates/js/translated/order.js:918 templates/js/translated/order.js:1507 msgid "Total Price" msgstr "Prezzo Totale" -#: templates/js/translated/order.js:997 templates/js/translated/order.js:1617 +#: templates/js/translated/order.js:996 templates/js/translated/order.js:1616 msgid "Edit line item" msgstr "" -#: templates/js/translated/order.js:998 +#: templates/js/translated/order.js:997 msgid "Delete line item" msgstr "" -#: templates/js/translated/order.js:1002 +#: templates/js/translated/order.js:1001 templates/js/translated/part.js:878 msgid "Receive line item" msgstr "" -#: templates/js/translated/order.js:1039 +#: templates/js/translated/order.js:1038 msgid "No sales orders found" msgstr "" -#: templates/js/translated/order.js:1077 +#: templates/js/translated/order.js:1076 msgid "Invalid Customer" msgstr "Cliente non valido" -#: templates/js/translated/order.js:1155 +#: templates/js/translated/order.js:1154 msgid "No sales order allocations found" msgstr "Nessun ordine di vendita trovato" -#: templates/js/translated/order.js:1248 +#: templates/js/translated/order.js:1247 msgid "Edit Stock Allocation" msgstr "Modifica posizione giacenza" -#: templates/js/translated/order.js:1265 +#: templates/js/translated/order.js:1264 msgid "Confirm Delete Operation" msgstr "Conferma Operazione Eliminazione" -#: templates/js/translated/order.js:1266 +#: templates/js/translated/order.js:1265 msgid "Delete Stock Allocation" msgstr "Elimina posizione giacenza" -#: templates/js/translated/order.js:1308 +#: templates/js/translated/order.js:1307 msgid "Stock location not specified" msgstr "Nessun posizione specificata" -#: templates/js/translated/order.js:1557 +#: templates/js/translated/order.js:1556 msgid "Fulfilled" msgstr "Soddisfatto" -#: templates/js/translated/order.js:1601 +#: templates/js/translated/order.js:1600 msgid "Allocate serial numbers" msgstr "" -#: templates/js/translated/order.js:1607 +#: templates/js/translated/order.js:1606 msgid "Purchase stock" msgstr "Prezzo d'acquisto" -#: templates/js/translated/order.js:1614 templates/js/translated/order.js:1793 +#: templates/js/translated/order.js:1613 templates/js/translated/order.js:1792 msgid "Calculate price" msgstr "Calcola il prezzo" -#: templates/js/translated/order.js:1618 +#: templates/js/translated/order.js:1617 msgid "Delete line item " msgstr "" -#: templates/js/translated/order.js:1741 +#: templates/js/translated/order.js:1740 msgid "Allocate Stock Item" msgstr "" -#: templates/js/translated/order.js:1801 +#: templates/js/translated/order.js:1800 msgid "Update Unit Price" msgstr "" -#: templates/js/translated/order.js:1815 +#: templates/js/translated/order.js:1814 msgid "No matching line items" msgstr "" -#: templates/js/translated/part.js:51 +#: templates/js/translated/part.js:52 msgid "Part Attributes" msgstr "Attributi Articolo" -#: templates/js/translated/part.js:55 +#: templates/js/translated/part.js:56 msgid "Part Creation Options" msgstr "" -#: templates/js/translated/part.js:59 +#: templates/js/translated/part.js:60 msgid "Part Duplication Options" msgstr "" -#: templates/js/translated/part.js:63 +#: templates/js/translated/part.js:64 msgid "Supplier Options" msgstr "Opzioni Fornitore" -#: templates/js/translated/part.js:77 +#: templates/js/translated/part.js:78 msgid "Add Part Category" msgstr "Aggiungi Categoria Articolo" -#: templates/js/translated/part.js:166 +#: templates/js/translated/part.js:162 msgid "Create Initial Stock" msgstr "Crea giacenza iniziale" -#: templates/js/translated/part.js:167 +#: templates/js/translated/part.js:163 msgid "Create an initial stock item for this part" msgstr "Crea una giacenza iniziale per quest'articolo" -#: templates/js/translated/part.js:174 +#: templates/js/translated/part.js:170 msgid "Initial Stock Quantity" msgstr "Quantità iniziale" -#: templates/js/translated/part.js:175 +#: templates/js/translated/part.js:171 msgid "Specify initial stock quantity for this part" msgstr "" -#: templates/js/translated/part.js:182 +#: templates/js/translated/part.js:178 msgid "Select destination stock location" msgstr "Selezione la posizione di destinazione della giacenza" -#: templates/js/translated/part.js:193 +#: templates/js/translated/part.js:196 msgid "Copy Category Parameters" msgstr "Copia Parametri Categoria" -#: templates/js/translated/part.js:194 +#: templates/js/translated/part.js:197 msgid "Copy parameter templates from selected part category" msgstr "" -#: templates/js/translated/part.js:202 +#: templates/js/translated/part.js:205 msgid "Add Supplier Data" msgstr "Aggiungi Dati Fornitore" -#: templates/js/translated/part.js:203 +#: templates/js/translated/part.js:206 msgid "Create initial supplier data for this part" msgstr "" -#: templates/js/translated/part.js:259 +#: templates/js/translated/part.js:262 msgid "Copy Image" msgstr "Copia immagine" -#: templates/js/translated/part.js:260 +#: templates/js/translated/part.js:263 msgid "Copy image from original part" msgstr "Copia immagine dall'articolo originale" -#: templates/js/translated/part.js:268 +#: templates/js/translated/part.js:271 msgid "Copy bill of materials from original part" msgstr "" -#: templates/js/translated/part.js:275 +#: templates/js/translated/part.js:278 msgid "Copy Parameters" msgstr "Copia parametri" -#: templates/js/translated/part.js:276 +#: templates/js/translated/part.js:279 msgid "Copy parameter data from original part" msgstr "" -#: templates/js/translated/part.js:289 +#: templates/js/translated/part.js:292 msgid "Parent part category" msgstr "Categoria articolo principale" -#: templates/js/translated/part.js:333 +#: templates/js/translated/part.js:336 msgid "Edit Part" msgstr "Modifica l'articolo" -#: templates/js/translated/part.js:335 +#: templates/js/translated/part.js:338 msgid "Part edited" msgstr "Articolo modificato" -#: templates/js/translated/part.js:403 +#: templates/js/translated/part.js:410 msgid "You are subscribed to notifications for this item" msgstr "" -#: templates/js/translated/part.js:405 +#: templates/js/translated/part.js:412 msgid "You have subscribed to notifications for this item" msgstr "" -#: templates/js/translated/part.js:410 +#: templates/js/translated/part.js:417 msgid "Subscribe to notifications for this item" msgstr "" -#: templates/js/translated/part.js:412 +#: templates/js/translated/part.js:419 msgid "You have unsubscribed to notifications for this item" msgstr "" -#: templates/js/translated/part.js:441 templates/js/translated/part.js:526 +#: templates/js/translated/part.js:448 templates/js/translated/part.js:533 msgid "Trackable part" msgstr "" -#: templates/js/translated/part.js:445 templates/js/translated/part.js:530 +#: templates/js/translated/part.js:452 templates/js/translated/part.js:537 msgid "Virtual part" msgstr "Parte virtuale" -#: templates/js/translated/part.js:457 +#: templates/js/translated/part.js:464 msgid "Subscribed part" msgstr "Parte sottoscritta" -#: templates/js/translated/part.js:461 +#: templates/js/translated/part.js:468 msgid "Salable part" msgstr "Parte vendibile" -#: templates/js/translated/part.js:576 +#: templates/js/translated/part.js:583 msgid "No variants found" msgstr "Nessuna variante trovata" -#: templates/js/translated/part.js:765 +#: templates/js/translated/part.js:946 msgid "Delete part relationship" msgstr "" -#: templates/js/translated/part.js:789 +#: templates/js/translated/part.js:970 msgid "Delete Part Relationship" msgstr "" -#: templates/js/translated/part.js:856 templates/js/translated/part.js:1116 +#: templates/js/translated/part.js:1037 templates/js/translated/part.js:1297 msgid "No parts found" msgstr "Nessun articolo trovato" -#: templates/js/translated/part.js:1026 +#: templates/js/translated/part.js:1207 msgid "No category" msgstr "Nessuna categoria" -#: templates/js/translated/part.js:1049 +#: templates/js/translated/part.js:1230 #: templates/js/translated/table_filters.js:381 msgid "Low stock" msgstr "In esaurimento" -#: templates/js/translated/part.js:1140 templates/js/translated/part.js:1312 -#: templates/js/translated/stock.js:1832 +#: templates/js/translated/part.js:1321 templates/js/translated/part.js:1493 +#: templates/js/translated/stock.js:1914 msgid "Display as list" msgstr "Visualizza come elenco" -#: templates/js/translated/part.js:1156 +#: templates/js/translated/part.js:1337 msgid "Display as grid" msgstr "Visualizza come griglia" -#: templates/js/translated/part.js:1331 templates/js/translated/stock.js:1851 +#: templates/js/translated/part.js:1512 templates/js/translated/stock.js:1933 msgid "Display as tree" msgstr "Visualizza come struttura ad albero" -#: templates/js/translated/part.js:1395 +#: templates/js/translated/part.js:1576 msgid "Subscribed category" msgstr "Categoria sottoscritta" -#: templates/js/translated/part.js:1409 templates/js/translated/stock.js:1895 +#: templates/js/translated/part.js:1590 templates/js/translated/stock.js:1977 msgid "Path" msgstr "Percorso" -#: templates/js/translated/part.js:1453 +#: templates/js/translated/part.js:1634 msgid "No test templates matching query" msgstr "" -#: templates/js/translated/part.js:1504 templates/js/translated/stock.js:816 +#: templates/js/translated/part.js:1685 templates/js/translated/stock.js:898 msgid "Edit test result" msgstr "" -#: templates/js/translated/part.js:1505 templates/js/translated/stock.js:817 +#: templates/js/translated/part.js:1686 templates/js/translated/stock.js:899 msgid "Delete test result" msgstr "" -#: templates/js/translated/part.js:1511 +#: templates/js/translated/part.js:1692 msgid "This test is defined for a parent part" msgstr "" -#: templates/js/translated/part.js:1533 +#: templates/js/translated/part.js:1714 msgid "Edit Test Result Template" msgstr "" -#: templates/js/translated/part.js:1547 +#: templates/js/translated/part.js:1728 msgid "Delete Test Result Template" msgstr "" -#: templates/js/translated/part.js:1572 +#: templates/js/translated/part.js:1753 #, python-brace-format msgid "No ${human_name} information found" msgstr "" -#: templates/js/translated/part.js:1627 +#: templates/js/translated/part.js:1808 #, python-brace-format msgid "Edit ${human_name}" msgstr "Modifica ${human_name}" -#: templates/js/translated/part.js:1628 +#: templates/js/translated/part.js:1809 #, python-brace-format msgid "Delete ${human_name}" msgstr "Elimina ${human_name}" -#: templates/js/translated/part.js:1729 +#: templates/js/translated/part.js:1910 msgid "Single Price" msgstr "Prezzo Singolo" -#: templates/js/translated/part.js:1748 +#: templates/js/translated/part.js:1929 msgid "Single Price Difference" msgstr "" @@ -7931,276 +7965,300 @@ msgstr "" msgid "Sales Order(s) must be selected before printing report" msgstr "" -#: templates/js/translated/stock.js:70 +#: templates/js/translated/stock.js:71 msgid "Serialize Stock Item" msgstr "" -#: templates/js/translated/stock.js:88 templates/js/translated/stock.js:167 +#: templates/js/translated/stock.js:89 templates/js/translated/stock.js:168 msgid "Next available serial number" msgstr "" -#: templates/js/translated/stock.js:90 templates/js/translated/stock.js:169 +#: templates/js/translated/stock.js:91 templates/js/translated/stock.js:170 msgid "Latest serial number" msgstr "" -#: templates/js/translated/stock.js:104 +#: templates/js/translated/stock.js:105 msgid "Parent stock location" msgstr "Posizione giacenza principale" -#: templates/js/translated/stock.js:140 +#: templates/js/translated/stock.js:141 msgid "New Stock Location" msgstr "Nuova posizione giacenza" -#: templates/js/translated/stock.js:180 +#: templates/js/translated/stock.js:181 msgid "This part cannot be serialized" msgstr "" -#: templates/js/translated/stock.js:219 +#: templates/js/translated/stock.js:220 msgid "Enter initial quantity for this stock item" msgstr "Inserisci quantità iniziale per questo articolo in giacenza" -#: templates/js/translated/stock.js:225 +#: templates/js/translated/stock.js:226 msgid "Enter serial numbers for new stock (or leave blank)" msgstr "Inserire i numeri di serie per la nuova giacenza (o lasciare vuoto)" -#: templates/js/translated/stock.js:368 +#: templates/js/translated/stock.js:369 msgid "Created new stock item" msgstr "Crea nuova allocazione magazzino" -#: templates/js/translated/stock.js:381 +#: templates/js/translated/stock.js:382 msgid "Created multiple stock items" msgstr "Creato più elementi stock" -#: templates/js/translated/stock.js:420 +#: templates/js/translated/stock.js:407 +msgid "Find Serial Number" +msgstr "" + +#: templates/js/translated/stock.js:411 templates/js/translated/stock.js:412 +msgid "Enter serial number" +msgstr "" + +#: templates/js/translated/stock.js:428 +msgid "Enter a serial number" +msgstr "" + +#: templates/js/translated/stock.js:448 +msgid "No matching serial number" +msgstr "" + +#: templates/js/translated/stock.js:457 +msgid "More than one matching result found" +msgstr "" + +#: templates/js/translated/stock.js:502 msgid "Export Stock" msgstr "Esporta giacenza" -#: templates/js/translated/stock.js:431 +#: templates/js/translated/stock.js:513 msgid "Include Sublocations" msgstr "Includi sotto allocazioni" -#: templates/js/translated/stock.js:432 +#: templates/js/translated/stock.js:514 msgid "Include stock items in sublocations" msgstr "Includi elementi in giacenza nelle sottoallocazioni" -#: templates/js/translated/stock.js:474 +#: templates/js/translated/stock.js:556 msgid "Transfer Stock" msgstr "Trasferisci giacenza" -#: templates/js/translated/stock.js:475 +#: templates/js/translated/stock.js:557 msgid "Move" msgstr "Sposta" -#: templates/js/translated/stock.js:481 +#: templates/js/translated/stock.js:563 msgid "Count Stock" msgstr "Conta giacenza" -#: templates/js/translated/stock.js:482 +#: templates/js/translated/stock.js:564 msgid "Count" msgstr "Conta" -#: templates/js/translated/stock.js:486 +#: templates/js/translated/stock.js:568 msgid "Remove Stock" msgstr "Rimuovi giacenza" -#: templates/js/translated/stock.js:487 +#: templates/js/translated/stock.js:569 msgid "Take" msgstr "Prendi" -#: templates/js/translated/stock.js:491 +#: templates/js/translated/stock.js:573 msgid "Add Stock" msgstr "Aggiungi giacenza" -#: templates/js/translated/stock.js:492 users/models.py:200 +#: templates/js/translated/stock.js:574 users/models.py:200 msgid "Add" msgstr "Aggiungi" -#: templates/js/translated/stock.js:496 templates/stock_table.html:56 +#: templates/js/translated/stock.js:578 templates/stock_table.html:56 msgid "Delete Stock" msgstr "Elimina Stock" -#: templates/js/translated/stock.js:585 +#: templates/js/translated/stock.js:667 msgid "Quantity cannot be adjusted for serialized stock" msgstr "" -#: templates/js/translated/stock.js:585 +#: templates/js/translated/stock.js:667 msgid "Specify stock quantity" msgstr "Specificare la quantità di magazzino" -#: templates/js/translated/stock.js:625 +#: templates/js/translated/stock.js:707 msgid "You must select at least one available stock item" msgstr "Devi selezionare almeno un articolo disponibile" -#: templates/js/translated/stock.js:783 +#: templates/js/translated/stock.js:865 msgid "PASS" msgstr "PASS" -#: templates/js/translated/stock.js:785 +#: templates/js/translated/stock.js:867 msgid "FAIL" msgstr "FAIL" -#: templates/js/translated/stock.js:790 +#: templates/js/translated/stock.js:872 msgid "NO RESULT" msgstr "NESSUN RISULTATO" -#: templates/js/translated/stock.js:812 +#: templates/js/translated/stock.js:894 msgid "Add test result" msgstr "Aggiungi risultato test" -#: templates/js/translated/stock.js:838 +#: templates/js/translated/stock.js:920 msgid "No test results found" msgstr "Nessun risultato di prova trovato" -#: templates/js/translated/stock.js:895 +#: templates/js/translated/stock.js:977 msgid "Test Date" msgstr "" -#: templates/js/translated/stock.js:1002 +#: templates/js/translated/stock.js:1084 msgid "In production" msgstr "In produzione" -#: templates/js/translated/stock.js:1006 +#: templates/js/translated/stock.js:1088 msgid "Installed in Stock Item" msgstr "Installato nell'elemento stock" -#: templates/js/translated/stock.js:1010 +#: templates/js/translated/stock.js:1092 msgid "Shipped to customer" msgstr "Spedito al cliente" -#: templates/js/translated/stock.js:1014 +#: templates/js/translated/stock.js:1096 msgid "Assigned to Sales Order" msgstr "Assegnato all'ordine di vendita" -#: templates/js/translated/stock.js:1020 +#: templates/js/translated/stock.js:1102 msgid "No stock location set" msgstr "Nessuna giacenza impostata" -#: templates/js/translated/stock.js:1178 +#: templates/js/translated/stock.js:1260 msgid "Stock item is in production" msgstr "L'articolo di magazzino è in produzione" -#: templates/js/translated/stock.js:1183 +#: templates/js/translated/stock.js:1265 msgid "Stock item assigned to sales order" msgstr "" -#: templates/js/translated/stock.js:1186 +#: templates/js/translated/stock.js:1268 msgid "Stock item assigned to customer" msgstr "Articolo stock assegnato al cliente" -#: templates/js/translated/stock.js:1190 +#: templates/js/translated/stock.js:1272 msgid "Stock item has expired" msgstr "L'articolo stock è scaduto" -#: templates/js/translated/stock.js:1192 +#: templates/js/translated/stock.js:1274 msgid "Stock item will expire soon" msgstr "Articolo in giacenza prossimo alla scadenza" -#: templates/js/translated/stock.js:1196 +#: templates/js/translated/stock.js:1278 msgid "Stock item has been allocated" msgstr "L'articolo stock è stato allocato" -#: templates/js/translated/stock.js:1200 +#: templates/js/translated/stock.js:1282 msgid "Stock item has been installed in another item" msgstr "L'elemento stock è stato installato in un altro articolo" -#: templates/js/translated/stock.js:1207 +#: templates/js/translated/stock.js:1289 msgid "Stock item has been rejected" msgstr "L'articolo stock è stato rifiutato" -#: templates/js/translated/stock.js:1209 +#: templates/js/translated/stock.js:1291 msgid "Stock item is lost" msgstr "" -#: templates/js/translated/stock.js:1211 +#: templates/js/translated/stock.js:1293 msgid "Stock item is destroyed" msgstr "" -#: templates/js/translated/stock.js:1215 +#: templates/js/translated/stock.js:1297 #: templates/js/translated/table_filters.js:183 msgid "Depleted" msgstr "Esaurito" -#: templates/js/translated/stock.js:1265 +#: templates/js/translated/stock.js:1347 msgid "Stocktake" msgstr "Inventario" -#: templates/js/translated/stock.js:1338 +#: templates/js/translated/stock.js:1420 msgid "Supplier part not specified" msgstr "" -#: templates/js/translated/stock.js:1376 +#: templates/js/translated/stock.js:1458 msgid "No stock items matching query" msgstr "" -#: templates/js/translated/stock.js:1397 templates/js/translated/stock.js:1445 +#: templates/js/translated/stock.js:1479 templates/js/translated/stock.js:1527 msgid "items" msgstr "elementi" -#: templates/js/translated/stock.js:1485 +#: templates/js/translated/stock.js:1567 msgid "batches" msgstr "" -#: templates/js/translated/stock.js:1512 +#: templates/js/translated/stock.js:1594 msgid "locations" msgstr "posizione" -#: templates/js/translated/stock.js:1514 +#: templates/js/translated/stock.js:1596 msgid "Undefined location" msgstr "Posizione non definita" -#: templates/js/translated/stock.js:1688 +#: templates/js/translated/stock.js:1770 msgid "Set Stock Status" msgstr "" -#: templates/js/translated/stock.js:1702 +#: templates/js/translated/stock.js:1784 msgid "Select Status Code" msgstr "" -#: templates/js/translated/stock.js:1703 +#: templates/js/translated/stock.js:1785 msgid "Status code must be selected" msgstr "" -#: templates/js/translated/stock.js:1927 +#: templates/js/translated/stock.js:2009 msgid "Invalid date" msgstr "Data non valida" -#: templates/js/translated/stock.js:1974 +#: templates/js/translated/stock.js:2031 +msgid "Details" +msgstr "" + +#: templates/js/translated/stock.js:2056 msgid "Location no longer exists" msgstr "La posizione non esiste più" -#: templates/js/translated/stock.js:1993 +#: templates/js/translated/stock.js:2075 msgid "Purchase order no longer exists" msgstr "" -#: templates/js/translated/stock.js:2012 +#: templates/js/translated/stock.js:2094 msgid "Customer no longer exists" msgstr "" -#: templates/js/translated/stock.js:2030 +#: templates/js/translated/stock.js:2112 msgid "Stock item no longer exists" msgstr "" -#: templates/js/translated/stock.js:2053 +#: templates/js/translated/stock.js:2135 msgid "Added" msgstr "Aggiunto" -#: templates/js/translated/stock.js:2061 +#: templates/js/translated/stock.js:2143 msgid "Removed" msgstr "Rimosso" -#: templates/js/translated/stock.js:2102 +#: templates/js/translated/stock.js:2184 msgid "Edit tracking entry" msgstr "" -#: templates/js/translated/stock.js:2103 +#: templates/js/translated/stock.js:2185 msgid "Delete tracking entry" msgstr "" -#: templates/js/translated/stock.js:2154 +#: templates/js/translated/stock.js:2236 msgid "No installed items" msgstr "" -#: templates/js/translated/stock.js:2205 +#: templates/js/translated/stock.js:2287 msgid "Uninstall Stock Item" msgstr "" diff --git a/InvenTree/locale/ja/LC_MESSAGES/django.po b/InvenTree/locale/ja/LC_MESSAGES/django.po index ac1c826905..dbc37a257c 100644 --- a/InvenTree/locale/ja/LC_MESSAGES/django.po +++ b/InvenTree/locale/ja/LC_MESSAGES/django.po @@ -2,8 +2,8 @@ msgid "" msgstr "" "Project-Id-Version: inventree\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2021-11-30 21:49+0000\n" -"PO-Revision-Date: 2021-11-30 21:52\n" +"POT-Creation-Date: 2021-12-03 10:37+0000\n" +"PO-Revision-Date: 2021-12-03 11:26\n" "Last-Translator: \n" "Language-Team: Japanese\n" "Language: ja_JP\n" @@ -114,129 +114,130 @@ msgstr "シリアル番号が見つかりません" msgid "Number of unique serial number ({s}) must match quantity ({q})" msgstr "" -#: InvenTree/models.py:114 +#: InvenTree/models.py:120 msgid "Missing file" msgstr "" -#: InvenTree/models.py:115 +#: InvenTree/models.py:121 msgid "Missing external link" msgstr "" -#: InvenTree/models.py:126 stock/models.py:1874 +#: InvenTree/models.py:132 stock/models.py:1864 #: templates/js/translated/attachment.js:117 msgid "Attachment" msgstr "添付ファイル" -#: InvenTree/models.py:127 +#: InvenTree/models.py:133 msgid "Select file to attach" msgstr "添付ファイルを選択" -#: InvenTree/models.py:133 company/models.py:131 company/models.py:348 +#: InvenTree/models.py:139 company/models.py:131 company/models.py:348 #: company/models.py:564 order/models.py:163 part/models.py:797 #: report/templates/report/inventree_build_order_base.html:165 #: templates/js/translated/company.js:537 -#: templates/js/translated/company.js:826 templates/js/translated/part.js:1077 +#: templates/js/translated/company.js:826 templates/js/translated/part.js:1258 msgid "Link" msgstr "" -#: InvenTree/models.py:134 build/models.py:330 part/models.py:798 -#: stock/models.py:540 +#: InvenTree/models.py:140 build/models.py:330 part/models.py:798 +#: stock/models.py:530 msgid "Link to external URL" msgstr "" -#: InvenTree/models.py:137 templates/js/translated/attachment.js:161 +#: InvenTree/models.py:143 templates/js/translated/attachment.js:161 msgid "Comment" msgstr "コメント:" -#: InvenTree/models.py:137 +#: InvenTree/models.py:143 msgid "File comment" msgstr "ファイルコメント" -#: InvenTree/models.py:143 InvenTree/models.py:144 common/models.py:1185 +#: InvenTree/models.py:149 InvenTree/models.py:150 common/models.py:1185 #: common/models.py:1186 part/models.py:2205 part/models.py:2225 #: report/templates/report/inventree_test_report_base.html:96 -#: templates/js/translated/stock.js:2084 +#: templates/js/translated/stock.js:2166 msgid "User" msgstr "ユーザー" -#: InvenTree/models.py:147 +#: InvenTree/models.py:153 msgid "upload date" msgstr "アップロード日時" -#: InvenTree/models.py:170 +#: InvenTree/models.py:176 msgid "Filename must not be empty" msgstr "" -#: InvenTree/models.py:193 +#: InvenTree/models.py:199 msgid "Invalid attachment directory" msgstr "" -#: InvenTree/models.py:203 +#: InvenTree/models.py:209 #, python-brace-format msgid "Filename contains illegal character '{c}'" msgstr "" -#: InvenTree/models.py:206 +#: InvenTree/models.py:212 msgid "Filename missing extension" msgstr "" -#: InvenTree/models.py:213 +#: InvenTree/models.py:219 msgid "Attachment with this filename already exists" msgstr "" -#: InvenTree/models.py:220 +#: InvenTree/models.py:226 msgid "Error renaming file" msgstr "" -#: InvenTree/models.py:255 +#: InvenTree/models.py:261 msgid "Invalid choice" msgstr "無効な選択です" -#: InvenTree/models.py:271 InvenTree/models.py:272 company/models.py:415 +#: InvenTree/models.py:277 InvenTree/models.py:278 company/models.py:415 #: label/models.py:112 part/models.py:741 part/models.py:2389 -#: part/templates/part/detail.html:25 report/models.py:181 -#: templates/InvenTree/settings/settings.html:259 -#: templates/js/translated/company.js:638 templates/js/translated/part.js:499 -#: templates/js/translated/part.js:636 templates/js/translated/part.js:1384 -#: templates/js/translated/stock.js:1877 +#: report/models.py:181 templates/InvenTree/settings/settings.html:259 +#: templates/js/translated/company.js:638 templates/js/translated/part.js:506 +#: templates/js/translated/part.js:643 templates/js/translated/part.js:1565 +#: templates/js/translated/stock.js:1959 msgid "Name" msgstr "お名前" -#: InvenTree/models.py:278 build/models.py:207 +#: InvenTree/models.py:284 build/models.py:207 #: build/templates/build/detail.html:25 company/models.py:354 -#: company/models.py:570 company/templates/company/manufacturer_part.html:80 -#: company/templates/company/supplier_part.html:81 label/models.py:119 -#: order/models.py:161 part/models.py:764 part/templates/part/detail.html:30 +#: company/models.py:570 company/templates/company/company_base.html:68 +#: company/templates/company/manufacturer_part.html:76 +#: company/templates/company/supplier_part.html:73 label/models.py:119 +#: order/models.py:161 part/models.py:764 part/templates/part/category.html:70 +#: part/templates/part/part_base.html:163 #: part/templates/part/set_category.html:14 report/models.py:194 #: report/models.py:553 report/models.py:592 #: report/templates/report/inventree_build_order_base.html:118 -#: stock/templates/stock/location.html:108 templates/js/translated/bom.js:215 +#: stock/templates/stock/location.html:89 templates/js/translated/bom.js:215 #: templates/js/translated/bom.js:428 templates/js/translated/build.js:1621 #: templates/js/translated/company.js:345 #: templates/js/translated/company.js:548 -#: templates/js/translated/company.js:837 templates/js/translated/order.js:673 -#: templates/js/translated/order.js:855 templates/js/translated/order.js:1091 -#: templates/js/translated/part.js:558 templates/js/translated/part.js:752 -#: templates/js/translated/part.js:837 templates/js/translated/part.js:1007 -#: templates/js/translated/part.js:1403 templates/js/translated/part.js:1472 -#: templates/js/translated/stock.js:1151 templates/js/translated/stock.js:1889 -#: templates/js/translated/stock.js:1934 +#: templates/js/translated/company.js:837 templates/js/translated/order.js:680 +#: templates/js/translated/order.js:854 templates/js/translated/order.js:1090 +#: templates/js/translated/part.js:565 templates/js/translated/part.js:933 +#: templates/js/translated/part.js:1018 templates/js/translated/part.js:1188 +#: templates/js/translated/part.js:1584 templates/js/translated/part.js:1653 +#: templates/js/translated/stock.js:1233 templates/js/translated/stock.js:1971 +#: templates/js/translated/stock.js:2016 msgid "Description" msgstr "説明" -#: InvenTree/models.py:279 +#: InvenTree/models.py:285 msgid "Description (optional)" msgstr "説明 (オプション)" -#: InvenTree/models.py:287 +#: InvenTree/models.py:293 msgid "parent" msgstr "親" -#: InvenTree/serializers.py:62 part/models.py:2674 +#: InvenTree/serializers.py:65 part/models.py:2674 msgid "Must be a valid number" msgstr "有効な数字でなければなりません" -#: InvenTree/serializers.py:285 +#: InvenTree/serializers.py:299 msgid "Filename" msgstr "" @@ -361,7 +362,7 @@ msgid "Returned" msgstr "返品済" #: InvenTree/status_codes.py:143 -#: order/templates/order/sales_order_base.html:147 +#: order/templates/order/sales_order_base.html:148 msgid "Shipped" msgstr "発送済み" @@ -566,7 +567,7 @@ msgid "Barcode associated with StockItem" msgstr "" #: build/forms.py:36 build/models.py:1283 -#: build/templates/build/build_base.html:124 +#: build/templates/build/build_base.html:132 #: build/templates/build/detail.html:35 common/models.py:1225 #: company/forms.py:42 company/templates/company/supplier_part.html:251 #: order/forms.py:102 order/models.py:729 order/models.py:991 @@ -574,26 +575,27 @@ msgstr "" #: order/templates/order/order_wizard/select_parts.html:34 part/forms.py:223 #: part/forms.py:239 part/forms.py:255 part/models.py:2576 #: part/templates/part/bom_upload/match_parts.html:31 -#: part/templates/part/detail.html:1076 part/templates/part/detail.html:1162 +#: part/templates/part/detail.html:967 part/templates/part/detail.html:1053 #: part/templates/part/part_pricing.html:16 #: report/templates/report/inventree_build_order_base.html:114 #: report/templates/report/inventree_po_report.html:91 #: report/templates/report/inventree_so_report.html:91 #: report/templates/report/inventree_test_report_base.html:81 #: report/templates/report/inventree_test_report_base.html:139 -#: stock/forms.py:156 stock/serializers.py:286 -#: stock/templates/stock/item_base.html:256 +#: stock/forms.py:156 stock/serializers.py:291 +#: stock/templates/stock/item_base.html:174 #: templates/js/translated/barcode.js:385 templates/js/translated/bom.js:443 #: templates/js/translated/build.js:235 templates/js/translated/build.js:435 #: templates/js/translated/build.js:629 templates/js/translated/build.js:639 #: templates/js/translated/build.js:1015 templates/js/translated/build.js:1362 #: templates/js/translated/model_renderers.js:99 -#: templates/js/translated/order.js:892 templates/js/translated/order.js:1205 -#: templates/js/translated/order.js:1283 templates/js/translated/order.js:1290 -#: templates/js/translated/order.js:1379 templates/js/translated/order.js:1479 -#: templates/js/translated/part.js:1615 templates/js/translated/part.js:1738 -#: templates/js/translated/part.js:1816 templates/js/translated/stock.js:377 -#: templates/js/translated/stock.js:2069 templates/js/translated/stock.js:2171 +#: templates/js/translated/order.js:891 templates/js/translated/order.js:1204 +#: templates/js/translated/order.js:1282 templates/js/translated/order.js:1289 +#: templates/js/translated/order.js:1378 templates/js/translated/order.js:1478 +#: templates/js/translated/part.js:843 templates/js/translated/part.js:1796 +#: templates/js/translated/part.js:1919 templates/js/translated/part.js:1997 +#: templates/js/translated/stock.js:378 templates/js/translated/stock.js:2151 +#: templates/js/translated/stock.js:2253 msgid "Quantity" msgstr "" @@ -602,8 +604,8 @@ msgid "Enter quantity for build output" msgstr "" #: build/forms.py:41 order/forms.py:96 stock/forms.py:95 -#: stock/serializers.py:307 templates/js/translated/stock.js:224 -#: templates/js/translated/stock.js:378 +#: stock/serializers.py:312 templates/js/translated/stock.js:225 +#: templates/js/translated/stock.js:379 msgid "Serial Numbers" msgstr "" @@ -646,7 +648,7 @@ msgstr "" #: build/templates/build/index.html:8 build/templates/build/index.html:12 #: order/templates/order/sales_order_detail.html:42 #: order/templates/order/so_sidebar.html:7 -#: part/templates/part/part_sidebar.html:22 templates/InvenTree/index.html:221 +#: part/templates/part/part_sidebar.html:20 templates/InvenTree/index.html:221 #: templates/InvenTree/search.html:145 #: templates/InvenTree/settings/sidebar.html:42 users/models.py:44 msgid "Build Orders" @@ -662,7 +664,7 @@ msgstr "" #: report/templates/report/inventree_po_report.html:92 #: report/templates/report/inventree_so_report.html:92 #: templates/js/translated/bom.js:435 templates/js/translated/build.js:1119 -#: templates/js/translated/order.js:886 templates/js/translated/order.js:1473 +#: templates/js/translated/order.js:885 templates/js/translated/order.js:1472 msgid "Reference" msgstr "" @@ -670,7 +672,7 @@ msgstr "" msgid "Brief description of the build" msgstr "" -#: build/models.py:219 build/templates/build/build_base.html:156 +#: build/models.py:219 build/templates/build/build_base.html:164 #: build/templates/build/detail.html:88 msgid "Parent Build" msgstr "" @@ -679,7 +681,7 @@ msgstr "" msgid "BuildOrder to which this build is allocated" msgstr "" -#: build/models.py:225 build/templates/build/build_base.html:119 +#: build/models.py:225 build/templates/build/build_base.html:77 #: build/templates/build/detail.html:30 company/models.py:705 #: order/models.py:789 order/models.py:860 #: order/templates/order/order_wizard/select_parts.html:32 part/models.py:357 @@ -700,10 +702,10 @@ msgstr "" #: templates/js/translated/build.js:988 templates/js/translated/build.js:1359 #: templates/js/translated/build.js:1626 templates/js/translated/company.js:489 #: templates/js/translated/company.js:746 templates/js/translated/order.js:426 -#: templates/js/translated/order.js:840 templates/js/translated/order.js:1457 -#: templates/js/translated/part.js:737 templates/js/translated/part.js:818 -#: templates/js/translated/part.js:985 templates/js/translated/stock.js:508 -#: templates/js/translated/stock.js:1108 templates/js/translated/stock.js:2159 +#: templates/js/translated/order.js:839 templates/js/translated/order.js:1456 +#: templates/js/translated/part.js:918 templates/js/translated/part.js:999 +#: templates/js/translated/part.js:1166 templates/js/translated/stock.js:590 +#: templates/js/translated/stock.js:1190 templates/js/translated/stock.js:2241 msgid "Part" msgstr "パーツ" @@ -751,7 +753,7 @@ msgstr "" msgid "Number of stock items which have been completed" msgstr "" -#: build/models.py:277 part/templates/part/part_base.html:216 +#: build/models.py:277 part/templates/part/part_base.html:234 msgid "Build Status" msgstr "" @@ -759,7 +761,7 @@ msgstr "" msgid "Build status code" msgstr "" -#: build/models.py:285 stock/models.py:544 +#: build/models.py:285 stock/models.py:534 msgid "Batch Code" msgstr "" @@ -768,7 +770,7 @@ msgid "Batch code for this build output" msgstr "" #: build/models.py:292 order/models.py:165 part/models.py:936 -#: part/templates/part/detail.html:86 templates/js/translated/order.js:1104 +#: part/templates/part/part_base.html:313 templates/js/translated/order.js:1103 msgid "Creation Date" msgstr "" @@ -797,12 +799,12 @@ msgstr "" msgid "User who issued this build order" msgstr "" -#: build/models.py:323 build/templates/build/build_base.html:177 +#: build/models.py:323 build/templates/build/build_base.html:185 #: build/templates/build/detail.html:116 order/models.py:179 -#: order/templates/order/order_base.html:154 -#: order/templates/order/sales_order_base.html:161 part/models.py:940 +#: order/templates/order/order_base.html:158 +#: order/templates/order/sales_order_base.html:162 part/models.py:940 #: report/templates/report/inventree_build_order_base.html:159 -#: templates/js/translated/build.js:1680 templates/js/translated/order.js:700 +#: templates/js/translated/build.js:1680 templates/js/translated/order.js:699 msgid "Responsible" msgstr "" @@ -811,10 +813,10 @@ msgid "User responsible for this build order" msgstr "" #: build/models.py:329 build/templates/build/detail.html:102 -#: company/templates/company/manufacturer_part.html:87 -#: company/templates/company/supplier_part.html:88 -#: part/templates/part/detail.html:80 stock/models.py:538 -#: stock/templates/stock/item_base.html:346 +#: company/templates/company/manufacturer_part.html:102 +#: company/templates/company/supplier_part.html:126 +#: part/templates/part/part_base.html:354 stock/models.py:528 +#: stock/templates/stock/item_base.html:374 msgid "External Link" msgstr "" @@ -824,15 +826,15 @@ msgstr "" #: order/models.py:183 order/models.py:738 #: order/templates/order/po_sidebar.html:11 #: order/templates/order/so_sidebar.html:11 part/models.py:925 -#: part/templates/part/detail.html:223 part/templates/part/part_sidebar.html:52 +#: part/templates/part/detail.html:116 part/templates/part/part_sidebar.html:50 #: report/templates/report/inventree_build_order_base.html:173 -#: stock/forms.py:154 stock/forms.py:204 stock/forms.py:238 stock/models.py:610 -#: stock/models.py:1774 stock/models.py:1880 stock/serializers.py:325 -#: stock/serializers.py:583 stock/templates/stock/stock_sidebar.html:21 +#: stock/forms.py:154 stock/forms.py:204 stock/forms.py:238 stock/models.py:600 +#: stock/models.py:1764 stock/models.py:1870 stock/serializers.py:330 +#: stock/serializers.py:588 stock/templates/stock/stock_sidebar.html:21 #: templates/js/translated/barcode.js:58 templates/js/translated/bom.js:599 -#: templates/js/translated/company.js:842 templates/js/translated/order.js:985 -#: templates/js/translated/order.js:1583 templates/js/translated/stock.js:891 -#: templates/js/translated/stock.js:1370 +#: templates/js/translated/company.js:842 templates/js/translated/order.js:984 +#: templates/js/translated/order.js:1582 templates/js/translated/stock.js:973 +#: templates/js/translated/stock.js:1452 msgid "Notes" msgstr "" @@ -877,7 +879,7 @@ msgstr "" msgid "Selected stock item not found in BOM" msgstr "" -#: build/models.py:1253 stock/templates/stock/item_base.html:318 +#: build/models.py:1253 stock/templates/stock/item_base.html:346 #: templates/InvenTree/search.html:143 templates/js/translated/build.js:1599 #: templates/navbar.html:33 msgid "Build" @@ -890,11 +892,11 @@ msgstr "パーツを割り当てるためにビルドする" #: build/models.py:1270 build/serializers.py:328 #: stock/templates/stock/item_base.html:8 #: stock/templates/stock/item_base.html:16 -#: stock/templates/stock/item_base.html:340 +#: stock/templates/stock/item_base.html:368 #: templates/js/translated/build.js:408 templates/js/translated/build.js:413 #: templates/js/translated/build.js:1361 templates/js/translated/build.js:1742 -#: templates/js/translated/order.js:1178 templates/js/translated/order.js:1183 -#: templates/js/translated/stock.js:2020 +#: templates/js/translated/order.js:1177 templates/js/translated/order.js:1182 +#: templates/js/translated/stock.js:2102 msgid "Stock Item" msgstr "" @@ -934,16 +936,16 @@ msgstr "" msgid "This build output is not fully allocated" msgstr "" -#: build/serializers.py:190 order/serializers.py:219 order/serializers.py:287 -#: stock/forms.py:236 stock/serializers.py:318 stock/serializers.py:685 -#: stock/templates/stock/item_base.html:286 +#: build/serializers.py:190 order/serializers.py:228 order/serializers.py:296 +#: stock/forms.py:236 stock/serializers.py:323 stock/serializers.py:690 +#: stock/templates/stock/item_base.html:314 #: templates/js/translated/barcode.js:384 #: templates/js/translated/barcode.js:557 templates/js/translated/build.js:420 #: templates/js/translated/build.js:1027 templates/js/translated/order.js:348 -#: templates/js/translated/order.js:1190 templates/js/translated/order.js:1298 -#: templates/js/translated/order.js:1304 templates/js/translated/part.js:181 -#: templates/js/translated/stock.js:510 templates/js/translated/stock.js:1251 -#: templates/js/translated/stock.js:1961 +#: templates/js/translated/order.js:1189 templates/js/translated/order.js:1297 +#: templates/js/translated/order.js:1303 templates/js/translated/part.js:177 +#: templates/js/translated/stock.js:592 templates/js/translated/stock.js:1333 +#: templates/js/translated/stock.js:2043 msgid "Location" msgstr "" @@ -951,13 +953,13 @@ msgstr "" msgid "Location for completed build outputs" msgstr "" -#: build/serializers.py:197 build/templates/build/build_base.html:129 +#: build/serializers.py:197 build/templates/build/build_base.html:137 #: build/templates/build/detail.html:63 order/models.py:572 -#: order/serializers.py:240 stock/templates/stock/item_base.html:409 +#: order/serializers.py:249 stock/templates/stock/item_base.html:180 #: templates/js/translated/barcode.js:140 templates/js/translated/build.js:1655 -#: templates/js/translated/order.js:431 templates/js/translated/order.js:677 -#: templates/js/translated/order.js:1096 templates/js/translated/stock.js:1226 -#: templates/js/translated/stock.js:2038 templates/js/translated/stock.js:2187 +#: templates/js/translated/order.js:431 templates/js/translated/order.js:1095 +#: templates/js/translated/stock.js:1308 templates/js/translated/stock.js:2120 +#: templates/js/translated/stock.js:2269 msgid "Status" msgstr "" @@ -986,8 +988,8 @@ msgstr "" msgid "Item must be in stock" msgstr "" -#: build/serializers.py:348 order/models.py:316 order/serializers.py:233 -#: stock/models.py:381 stock/models.py:1103 stock/serializers.py:298 +#: build/serializers.py:348 order/models.py:316 order/serializers.py:242 +#: stock/models.py:371 stock/models.py:1093 stock/serializers.py:303 msgid "Quantity must be greater than zero" msgstr "" @@ -1031,7 +1033,7 @@ msgid "Edit Build" msgstr "" #: build/templates/build/build_base.html:56 -#: build/templates/build/build_base.html:207 build/views.py:56 +#: build/templates/build/build_base.html:215 build/views.py:56 msgid "Cancel Build" msgstr "" @@ -1041,93 +1043,95 @@ msgstr "" #: build/templates/build/build_base.html:64 #: build/templates/build/build_base.html:65 -#: build/templates/build/build_base.html:223 +#: build/templates/build/build_base.html:231 msgid "Complete Build" msgstr "" -#: build/templates/build/build_base.html:79 +#: build/templates/build/build_base.html:82 +msgid "Build Description" +msgstr "" + +#: build/templates/build/build_base.html:91 #, python-format msgid "This Build Order is allocated to Sales Order %(link)s" msgstr "" -#: build/templates/build/build_base.html:86 +#: build/templates/build/build_base.html:98 #, python-format msgid "This Build Order is a child of Build Order %(link)s" msgstr "" -#: build/templates/build/build_base.html:93 +#: build/templates/build/build_base.html:105 msgid "Build Order is ready to mark as completed" msgstr "" -#: build/templates/build/build_base.html:98 +#: build/templates/build/build_base.html:110 msgid "Build Order cannot be completed as outstanding outputs remain" msgstr "" -#: build/templates/build/build_base.html:103 +#: build/templates/build/build_base.html:115 msgid "Required build quantity has not yet been completed" msgstr "" -#: build/templates/build/build_base.html:108 +#: build/templates/build/build_base.html:120 msgid "Stock has not been fully allocated to this Build Order" msgstr "" -#: build/templates/build/build_base.html:138 +#: build/templates/build/build_base.html:146 #: build/templates/build/detail.html:132 -#: order/templates/order/order_base.html:140 -#: order/templates/order/sales_order_base.html:140 +#: order/templates/order/order_base.html:144 +#: order/templates/order/sales_order_base.html:141 #: report/templates/report/inventree_build_order_base.html:126 -#: templates/js/translated/build.js:1692 templates/js/translated/order.js:690 -#: templates/js/translated/order.js:1109 +#: templates/js/translated/build.js:1692 templates/js/translated/order.js:689 +#: templates/js/translated/order.js:1108 msgid "Target Date" msgstr "" -#: build/templates/build/build_base.html:143 +#: build/templates/build/build_base.html:151 #, python-format msgid "This build was due on %(target)s" msgstr "" -#: build/templates/build/build_base.html:143 -#: build/templates/build/build_base.html:188 -#: order/templates/order/order_base.html:81 -#: order/templates/order/order_base.html:102 -#: order/templates/order/sales_order_base.html:78 -#: order/templates/order/sales_order_base.html:107 +#: build/templates/build/build_base.html:151 +#: build/templates/build/build_base.html:196 +#: order/templates/order/order_base.html:98 +#: order/templates/order/sales_order_base.html:93 #: templates/js/translated/table_filters.js:294 #: templates/js/translated/table_filters.js:322 #: templates/js/translated/table_filters.js:339 msgid "Overdue" msgstr "" -#: build/templates/build/build_base.html:150 +#: build/templates/build/build_base.html:158 #: build/templates/build/detail.html:68 build/templates/build/detail.html:143 #: templates/js/translated/build.js:1641 #: templates/js/translated/table_filters.js:304 msgid "Completed" msgstr "" -#: build/templates/build/build_base.html:163 +#: build/templates/build/build_base.html:171 #: build/templates/build/detail.html:95 order/models.py:857 #: order/templates/order/sales_order_base.html:9 #: order/templates/order/sales_order_base.html:28 #: order/templates/order/sales_order_ship.html:25 #: report/templates/report/inventree_build_order_base.html:136 #: report/templates/report/inventree_so_report.html:77 -#: stock/templates/stock/item_base.html:280 -#: templates/js/translated/order.js:1051 +#: stock/templates/stock/item_base.html:308 +#: templates/js/translated/order.js:1050 msgid "Sales Order" msgstr "" -#: build/templates/build/build_base.html:170 +#: build/templates/build/build_base.html:178 #: build/templates/build/detail.html:109 #: report/templates/report/inventree_build_order_base.html:153 msgid "Issued By" msgstr "" -#: build/templates/build/build_base.html:215 +#: build/templates/build/build_base.html:223 msgid "Incomplete Outputs" msgstr "" -#: build/templates/build/build_base.html:216 +#: build/templates/build/build_base.html:224 msgid "Build Order cannot be completed as incomplete build outputs remain" msgstr "" @@ -1188,7 +1192,7 @@ msgid "Stock can be taken from any available location." msgstr "" #: build/templates/build/detail.html:50 order/models.py:811 stock/forms.py:150 -#: templates/js/translated/order.js:432 templates/js/translated/order.js:974 +#: templates/js/translated/order.js:432 templates/js/translated/order.js:973 msgid "Destination" msgstr "" @@ -1201,16 +1205,16 @@ msgid "Allocated Parts" msgstr "" #: build/templates/build/detail.html:81 -#: stock/templates/stock/item_base.html:304 -#: templates/js/translated/stock.js:1240 templates/js/translated/stock.js:2194 +#: stock/templates/stock/item_base.html:332 +#: templates/js/translated/stock.js:1322 templates/js/translated/stock.js:2276 #: templates/js/translated/table_filters.js:151 #: templates/js/translated/table_filters.js:233 msgid "Batch" msgstr "" #: build/templates/build/detail.html:127 -#: order/templates/order/order_base.html:127 -#: order/templates/order/sales_order_base.html:134 +#: order/templates/order/order_base.html:131 +#: order/templates/order/sales_order_base.html:135 #: templates/js/translated/build.js:1663 msgid "Created" msgstr "" @@ -1254,7 +1258,7 @@ msgstr "注文必須パーツ" #: build/templates/build/detail.html:185 #: company/templates/company/detail.html:38 #: company/templates/company/detail.html:85 order/views.py:509 -#: part/templates/part/category.html:166 +#: part/templates/part/category.html:173 msgid "Order Parts" msgstr "パーツの注文" @@ -1306,8 +1310,8 @@ msgstr "" #: order/templates/order/po_sidebar.html:9 #: order/templates/order/purchase_order_detail.html:60 #: order/templates/order/sales_order_detail.html:52 -#: order/templates/order/so_sidebar.html:9 part/templates/part/detail.html:300 -#: part/templates/part/part_sidebar.html:50 stock/templates/stock/item.html:95 +#: order/templates/order/so_sidebar.html:9 part/templates/part/detail.html:193 +#: part/templates/part/part_sidebar.html:48 stock/templates/stock/item.html:95 #: stock/templates/stock/stock_sidebar.html:19 msgid "Attachments" msgstr "" @@ -1323,7 +1327,7 @@ msgstr "" #: order/templates/order/purchase_order_detail.html:108 #: order/templates/order/sales_order_detail.html:72 #: order/templates/order/sales_order_detail.html:99 -#: part/templates/part/detail.html:227 stock/templates/stock/item.html:115 +#: part/templates/part/detail.html:120 stock/templates/stock/item.html:115 #: stock/templates/stock/item.html:205 msgid "Edit Notes" msgstr "" @@ -1336,7 +1340,7 @@ msgstr "" msgid "All untracked stock items have been allocated" msgstr "" -#: build/templates/build/index.html:18 part/templates/part/detail.html:407 +#: build/templates/build/index.html:18 part/templates/part/detail.html:300 msgid "New Build Order" msgstr "" @@ -1380,7 +1384,7 @@ msgstr "" msgid "Maximum output quantity is " msgstr "" -#: build/views.py:122 stock/serializers.py:356 stock/views.py:1290 +#: build/views.py:122 stock/serializers.py:361 stock/views.py:1290 msgid "Serial numbers already exist" msgstr "" @@ -1675,7 +1679,7 @@ msgid "Parts are trackable by default" msgstr "パーツはデフォルトで追跡可能です" #: common/models.py:745 part/models.py:920 -#: part/templates/part/part_base.html:144 +#: part/templates/part/part_base.html:147 #: templates/js/translated/table_filters.js:42 msgid "Virtual" msgstr "" @@ -2142,7 +2146,7 @@ msgstr "" #: common/models.py:1233 company/serializers.py:264 #: company/templates/company/supplier_part.html:256 -#: templates/js/translated/part.js:1620 +#: templates/js/translated/part.js:852 templates/js/translated/part.js:1801 msgid "Price" msgstr "" @@ -2206,7 +2210,7 @@ msgstr "" msgid "Description of the company" msgstr "" -#: company/models.py:112 company/templates/company/company_base.html:70 +#: company/models.py:112 company/templates/company/company_base.html:97 #: templates/js/translated/company.js:349 msgid "Website" msgstr "" @@ -2215,7 +2219,7 @@ msgstr "" msgid "Company website URL" msgstr "" -#: company/models.py:117 company/templates/company/company_base.html:88 +#: company/models.py:117 company/templates/company/company_base.html:115 msgid "Address" msgstr "" @@ -2231,7 +2235,7 @@ msgstr "" msgid "Contact phone number" msgstr "" -#: company/models.py:125 company/templates/company/company_base.html:102 +#: company/models.py:125 company/templates/company/company_base.html:129 #: templates/InvenTree/settings/user.html:47 msgid "Email" msgstr "" @@ -2240,7 +2244,7 @@ msgstr "" msgid "Contact email address" msgstr "" -#: company/models.py:128 company/templates/company/company_base.html:109 +#: company/models.py:128 company/templates/company/company_base.html:136 msgid "Contact" msgstr "" @@ -2281,7 +2285,7 @@ msgid "Does this company manufacture parts?" msgstr "" #: company/models.py:152 company/serializers.py:270 -#: company/templates/company/company_base.html:76 stock/serializers.py:172 +#: company/templates/company/company_base.html:103 stock/serializers.py:177 msgid "Currency" msgstr "" @@ -2289,8 +2293,8 @@ msgstr "" msgid "Default currency used for this company" msgstr "" -#: company/models.py:320 company/models.py:535 stock/models.py:484 -#: stock/templates/stock/item_base.html:224 +#: company/models.py:320 company/models.py:535 stock/models.py:474 +#: stock/templates/stock/item_base.html:135 msgid "Base Part" msgstr "" @@ -2298,29 +2302,29 @@ msgstr "" msgid "Select part" msgstr "" -#: company/models.py:335 company/templates/company/company_base.html:116 -#: company/templates/company/manufacturer_part.html:93 -#: company/templates/company/supplier_part.html:104 -#: stock/templates/stock/item_base.html:353 +#: company/models.py:335 company/templates/company/company_base.html:73 +#: company/templates/company/manufacturer_part.html:91 +#: company/templates/company/supplier_part.html:97 +#: stock/templates/stock/item_base.html:381 #: templates/js/translated/company.js:333 #: templates/js/translated/company.js:514 -#: templates/js/translated/company.js:797 templates/js/translated/part.js:229 +#: templates/js/translated/company.js:797 templates/js/translated/part.js:232 msgid "Manufacturer" msgstr "" -#: company/models.py:336 templates/js/translated/part.js:230 +#: company/models.py:336 templates/js/translated/part.js:233 msgid "Select manufacturer" msgstr "" -#: company/models.py:342 company/templates/company/manufacturer_part.html:97 -#: company/templates/company/supplier_part.html:112 +#: company/models.py:342 company/templates/company/manufacturer_part.html:96 +#: company/templates/company/supplier_part.html:105 #: templates/js/translated/company.js:530 -#: templates/js/translated/company.js:815 templates/js/translated/order.js:874 -#: templates/js/translated/part.js:240 +#: templates/js/translated/company.js:815 templates/js/translated/order.js:873 +#: templates/js/translated/part.js:243 templates/js/translated/part.js:832 msgid "MPN" msgstr "" -#: company/models.py:343 templates/js/translated/part.js:241 +#: company/models.py:343 templates/js/translated/part.js:244 msgid "Manufacturer Part Number" msgstr "" @@ -2335,7 +2339,7 @@ msgstr "" #: company/models.py:409 company/models.py:558 #: company/templates/company/manufacturer_part.html:6 #: company/templates/company/manufacturer_part.html:23 -#: stock/templates/stock/item_base.html:363 +#: stock/templates/stock/item_base.html:391 msgid "Manufacturer Part" msgstr "メーカー・パーツ" @@ -2345,8 +2349,8 @@ msgstr "" #: company/models.py:422 #: report/templates/report/inventree_test_report_base.html:95 -#: stock/models.py:1867 templates/js/translated/company.js:644 -#: templates/js/translated/part.js:645 templates/js/translated/stock.js:878 +#: stock/models.py:1857 templates/js/translated/company.js:644 +#: templates/js/translated/part.js:652 templates/js/translated/stock.js:960 msgid "Value" msgstr "" @@ -2355,9 +2359,9 @@ msgid "Parameter value" msgstr "" #: company/models.py:429 part/models.py:882 part/models.py:2397 -#: part/templates/part/detail.html:59 +#: part/templates/part/part_base.html:288 #: templates/InvenTree/settings/settings.html:264 -#: templates/js/translated/company.js:650 templates/js/translated/part.js:651 +#: templates/js/translated/company.js:650 templates/js/translated/part.js:658 msgid "Units" msgstr "" @@ -2369,28 +2373,28 @@ msgstr "" msgid "Linked manufacturer part must reference the same base part" msgstr "" -#: company/models.py:545 company/templates/company/company_base.html:121 -#: company/templates/company/supplier_part.html:94 order/models.py:263 -#: order/templates/order/order_base.html:108 +#: company/models.py:545 company/templates/company/company_base.html:78 +#: company/templates/company/supplier_part.html:87 order/models.py:263 +#: order/templates/order/order_base.html:112 #: order/templates/order/order_wizard/select_pos.html:30 part/bom.py:219 -#: part/bom.py:247 stock/templates/stock/item_base.html:370 +#: part/bom.py:247 stock/templates/stock/item_base.html:398 #: templates/js/translated/company.js:337 -#: templates/js/translated/company.js:771 templates/js/translated/order.js:660 -#: templates/js/translated/part.js:210 +#: templates/js/translated/company.js:771 templates/js/translated/order.js:667 +#: templates/js/translated/part.js:213 templates/js/translated/part.js:800 msgid "Supplier" msgstr "" -#: company/models.py:546 templates/js/translated/part.js:211 +#: company/models.py:546 templates/js/translated/part.js:214 msgid "Select supplier" msgstr "" -#: company/models.py:551 company/templates/company/supplier_part.html:98 -#: part/bom.py:220 part/bom.py:248 templates/js/translated/order.js:861 -#: templates/js/translated/part.js:221 +#: company/models.py:551 company/templates/company/supplier_part.html:91 +#: part/bom.py:220 part/bom.py:248 templates/js/translated/order.js:860 +#: templates/js/translated/part.js:224 templates/js/translated/part.js:818 msgid "SKU" msgstr "" -#: company/models.py:552 templates/js/translated/part.js:222 +#: company/models.py:552 templates/js/translated/part.js:225 msgid "Supplier stock keeping unit" msgstr "" @@ -2406,7 +2410,7 @@ msgstr "" msgid "Supplier part description" msgstr "" -#: company/models.py:576 company/templates/company/supplier_part.html:126 +#: company/models.py:576 company/templates/company/supplier_part.html:119 #: part/models.py:2588 report/templates/report/inventree_po_report.html:93 #: report/templates/report/inventree_so_report.html:93 msgid "Note" @@ -2420,9 +2424,9 @@ msgstr "" msgid "Minimum charge (e.g. stocking fee)" msgstr "" -#: company/models.py:582 company/templates/company/supplier_part.html:119 -#: stock/models.py:507 stock/templates/stock/item_base.html:311 -#: templates/js/translated/company.js:847 templates/js/translated/stock.js:1366 +#: company/models.py:582 company/templates/company/supplier_part.html:112 +#: stock/models.py:497 stock/templates/stock/item_base.html:339 +#: templates/js/translated/company.js:847 templates/js/translated/stock.js:1448 msgid "Packaging" msgstr "" @@ -2457,43 +2461,56 @@ msgstr "" msgid "Create Purchase Order" msgstr "" -#: company/templates/company/company_base.html:27 +#: company/templates/company/company_base.html:26 +msgid "Company actions" +msgstr "" + +#: company/templates/company/company_base.html:31 msgid "Edit company information" msgstr "" #: company/templates/company/company_base.html:32 -#: company/templates/company/company_base.html:148 +#: templates/js/translated/company.js:265 +msgid "Edit Company" +msgstr "" + +#: company/templates/company/company_base.html:36 +msgid "Delete company" +msgstr "" + +#: company/templates/company/company_base.html:37 +#: company/templates/company/company_base.html:159 msgid "Delete Company" msgstr "" -#: company/templates/company/company_base.html:48 +#: company/templates/company/company_base.html:53 #: part/templates/part/part_thumb.html:12 msgid "Upload new image" msgstr "" -#: company/templates/company/company_base.html:51 +#: company/templates/company/company_base.html:56 #: part/templates/part/part_thumb.html:14 msgid "Download image from URL" msgstr "" -#: company/templates/company/company_base.html:81 -msgid "Uses default currency" -msgstr "" - -#: company/templates/company/company_base.html:95 -msgid "Phone" -msgstr "" - -#: company/templates/company/company_base.html:126 order/models.py:567 -#: order/templates/order/sales_order_base.html:114 stock/models.py:525 -#: stock/models.py:526 stock/templates/stock/item_base.html:263 -#: templates/js/translated/company.js:329 templates/js/translated/order.js:1073 -#: templates/js/translated/stock.js:2002 +#: company/templates/company/company_base.html:83 order/models.py:567 +#: order/templates/order/sales_order_base.html:115 stock/models.py:515 +#: stock/models.py:516 stock/templates/stock/item_base.html:291 +#: templates/js/translated/company.js:329 templates/js/translated/order.js:1072 +#: templates/js/translated/stock.js:2084 msgid "Customer" msgstr "" -#: company/templates/company/company_base.html:194 -#: part/templates/part/part_base.html:342 +#: company/templates/company/company_base.html:108 +msgid "Uses default currency" +msgstr "" + +#: company/templates/company/company_base.html:122 +msgid "Phone" +msgstr "" + +#: company/templates/company/company_base.html:205 +#: part/templates/part/part_base.html:471 msgid "Upload Image" msgstr "" @@ -2509,23 +2526,23 @@ msgid "Create new supplier part" msgstr "新しいサプライヤー・パーツを作成" #: company/templates/company/detail.html:20 -#: company/templates/company/manufacturer_part.html:112 -#: part/templates/part/detail.html:440 +#: company/templates/company/manufacturer_part.html:118 +#: part/templates/part/detail.html:333 msgid "New Supplier Part" msgstr "新しいサプライヤー・パーツ" #: company/templates/company/detail.html:32 #: company/templates/company/detail.html:79 -#: company/templates/company/manufacturer_part.html:121 -#: company/templates/company/manufacturer_part.html:150 -#: part/templates/part/category.html:160 part/templates/part/detail.html:449 -#: part/templates/part/detail.html:477 +#: company/templates/company/manufacturer_part.html:127 +#: company/templates/company/manufacturer_part.html:156 +#: part/templates/part/category.html:167 part/templates/part/detail.html:342 +#: part/templates/part/detail.html:370 msgid "Options" msgstr "" #: company/templates/company/detail.html:37 #: company/templates/company/detail.html:84 -#: part/templates/part/category.html:166 +#: part/templates/part/category.html:173 msgid "Order parts" msgstr "パーツの注文" @@ -2547,7 +2564,7 @@ msgstr "メーカー・パーツ" msgid "Create new manufacturer part" msgstr "新しいメーカー・パーツを作成" -#: company/templates/company/detail.html:67 part/templates/part/detail.html:467 +#: company/templates/company/detail.html:67 part/templates/part/detail.html:360 msgid "New Manufacturer Part" msgstr "新しいメーカ―・パーツ" @@ -2561,7 +2578,7 @@ msgstr "" #: order/templates/order/order_base.html:13 #: order/templates/order/purchase_orders.html:8 #: order/templates/order/purchase_orders.html:12 -#: part/templates/part/detail.html:171 part/templates/part/part_sidebar.html:35 +#: part/templates/part/detail.html:64 part/templates/part/part_sidebar.html:33 #: templates/InvenTree/index.html:252 templates/InvenTree/search.html:203 #: templates/InvenTree/settings/sidebar.html:44 templates/navbar.html:45 #: users/models.py:45 @@ -2583,7 +2600,7 @@ msgstr "" #: order/templates/order/sales_order_base.html:13 #: order/templates/order/sales_orders.html:8 #: order/templates/order/sales_orders.html:15 -#: part/templates/part/detail.html:194 part/templates/part/part_sidebar.html:39 +#: part/templates/part/detail.html:87 part/templates/part/part_sidebar.html:37 #: templates/InvenTree/index.html:283 templates/InvenTree/search.html:223 #: templates/InvenTree/settings/sidebar.html:46 templates/navbar.html:56 #: users/models.py:46 @@ -2610,14 +2627,14 @@ msgid "Company Notes" msgstr "" #: company/templates/company/detail.html:383 -#: company/templates/company/manufacturer_part.html:209 -#: part/templates/part/detail.html:520 +#: company/templates/company/manufacturer_part.html:215 +#: part/templates/part/detail.html:413 msgid "Delete Supplier Parts?" msgstr "" #: company/templates/company/detail.html:384 -#: company/templates/company/manufacturer_part.html:210 -#: part/templates/part/detail.html:521 +#: company/templates/company/manufacturer_part.html:216 +#: part/templates/part/detail.html:414 msgid "All selected supplier parts will be deleted" msgstr "" @@ -2634,7 +2651,7 @@ msgstr "" #: company/templates/company/manufacturer_part.html:35 #: company/templates/company/supplier_part.html:34 #: company/templates/company/supplier_part.html:159 -#: part/templates/part/detail.html:174 part/templates/part/part_base.html:76 +#: part/templates/part/detail.html:67 part/templates/part/part_base.html:76 msgid "Order part" msgstr "パーツの注文" @@ -2648,60 +2665,60 @@ msgstr "メーカー・パーツの編集" msgid "Delete manufacturer part" msgstr "メーカー・パーツを削除" -#: company/templates/company/manufacturer_part.html:70 -#: company/templates/company/supplier_part.html:71 +#: company/templates/company/manufacturer_part.html:66 +#: company/templates/company/supplier_part.html:63 msgid "Internal Part" msgstr "内部パーツ" -#: company/templates/company/manufacturer_part.html:108 +#: company/templates/company/manufacturer_part.html:114 #: company/templates/company/supplier_part.html:15 company/views.py:49 -#: part/templates/part/part_sidebar.html:33 part/templates/part/prices.html:163 +#: part/templates/part/part_sidebar.html:31 part/templates/part/prices.html:163 #: templates/InvenTree/search.html:194 templates/navbar.html:43 msgid "Suppliers" msgstr "" -#: company/templates/company/manufacturer_part.html:123 -#: part/templates/part/detail.html:451 +#: company/templates/company/manufacturer_part.html:129 +#: part/templates/part/detail.html:344 msgid "Delete supplier parts" msgstr "" -#: company/templates/company/manufacturer_part.html:123 -#: company/templates/company/manufacturer_part.html:152 -#: company/templates/company/manufacturer_part.html:248 -#: part/templates/part/detail.html:451 part/templates/part/detail.html:479 +#: company/templates/company/manufacturer_part.html:129 +#: company/templates/company/manufacturer_part.html:158 +#: company/templates/company/manufacturer_part.html:254 +#: part/templates/part/detail.html:344 part/templates/part/detail.html:372 #: templates/js/translated/company.js:425 templates/js/translated/helpers.js:31 #: users/models.py:204 msgid "Delete" msgstr "" -#: company/templates/company/manufacturer_part.html:137 +#: company/templates/company/manufacturer_part.html:143 #: company/templates/company/manufacturer_part_sidebar.html:5 #: part/templates/part/category_sidebar.html:17 -#: part/templates/part/detail.html:277 part/templates/part/part_sidebar.html:10 +#: part/templates/part/detail.html:170 part/templates/part/part_sidebar.html:8 msgid "Parameters" msgstr "" -#: company/templates/company/manufacturer_part.html:141 -#: part/templates/part/detail.html:282 +#: company/templates/company/manufacturer_part.html:147 +#: part/templates/part/detail.html:175 #: templates/InvenTree/settings/category.html:12 #: templates/InvenTree/settings/part.html:65 msgid "New Parameter" msgstr "" -#: company/templates/company/manufacturer_part.html:152 +#: company/templates/company/manufacturer_part.html:158 msgid "Delete parameters" msgstr "" -#: company/templates/company/manufacturer_part.html:185 -#: part/templates/part/detail.html:976 +#: company/templates/company/manufacturer_part.html:191 +#: part/templates/part/detail.html:867 msgid "Add Parameter" msgstr "" -#: company/templates/company/manufacturer_part.html:233 +#: company/templates/company/manufacturer_part.html:239 msgid "Selected parameters will be deleted" msgstr "" -#: company/templates/company/manufacturer_part.html:245 +#: company/templates/company/manufacturer_part.html:251 msgid "Delete Parameters" msgstr "" @@ -2722,9 +2739,9 @@ msgid "Assigned Stock Items" msgstr "" #: company/templates/company/supplier_part.html:7 -#: company/templates/company/supplier_part.html:24 stock/models.py:492 -#: stock/templates/stock/item_base.html:375 -#: templates/js/translated/company.js:787 templates/js/translated/stock.js:1323 +#: company/templates/company/supplier_part.html:24 stock/models.py:482 +#: stock/templates/stock/item_base.html:403 +#: templates/js/translated/company.js:787 templates/js/translated/stock.js:1405 msgid "Supplier Part" msgstr "" @@ -2744,13 +2761,13 @@ msgid "Supplier Part Stock" msgstr "" #: company/templates/company/supplier_part.html:141 -#: part/templates/part/detail.html:127 stock/templates/stock/location.html:147 +#: part/templates/part/detail.html:20 stock/templates/stock/location.html:162 msgid "Create new stock item" msgstr "" #: company/templates/company/supplier_part.html:142 -#: part/templates/part/detail.html:128 stock/templates/stock/location.html:148 -#: templates/js/translated/stock.js:354 +#: part/templates/part/detail.html:21 stock/templates/stock/location.html:163 +#: templates/js/translated/stock.js:355 msgid "New Stock Item" msgstr "" @@ -2760,7 +2777,7 @@ msgid "Supplier Part Orders" msgstr "" #: company/templates/company/supplier_part.html:160 -#: part/templates/part/detail.html:175 +#: part/templates/part/detail.html:68 msgid "Order Part" msgstr "" @@ -2796,15 +2813,15 @@ msgid "Delete price break" msgstr "" #: company/templates/company/supplier_part_navbar.html:15 -#: part/templates/part/part_sidebar.html:16 +#: part/templates/part/part_sidebar.html:14 #: stock/templates/stock/loc_link.html:3 stock/templates/stock/location.html:14 #: stock/templates/stock/stock_app_base.html:10 #: templates/InvenTree/search.html:156 #: templates/InvenTree/settings/sidebar.html:40 -#: templates/js/translated/bom.js:216 templates/js/translated/part.js:427 -#: templates/js/translated/part.js:562 templates/js/translated/part.js:878 -#: templates/js/translated/part.js:1039 templates/js/translated/stock.js:509 -#: templates/js/translated/stock.js:1162 templates/navbar.html:26 +#: templates/js/translated/bom.js:216 templates/js/translated/part.js:434 +#: templates/js/translated/part.js:569 templates/js/translated/part.js:1059 +#: templates/js/translated/part.js:1220 templates/js/translated/stock.js:591 +#: templates/js/translated/stock.js:1244 templates/navbar.html:26 msgid "Stock" msgstr "" @@ -2818,16 +2835,16 @@ msgid "Supplier Part Pricing" msgstr "" #: company/templates/company/supplier_part_navbar.html:29 -#: part/templates/part/part_sidebar.html:30 +#: part/templates/part/part_sidebar.html:28 msgid "Pricing" msgstr "" #: company/templates/company/supplier_part_sidebar.html:5 -#: stock/templates/stock/location.html:118 -#: stock/templates/stock/location.html:132 -#: stock/templates/stock/location.html:144 +#: stock/templates/stock/location.html:133 +#: stock/templates/stock/location.html:147 +#: stock/templates/stock/location.html:159 #: stock/templates/stock/location_sidebar.html:7 -#: templates/InvenTree/search.html:158 templates/js/translated/stock.js:1901 +#: templates/InvenTree/search.html:158 templates/js/translated/stock.js:1983 #: templates/stats.html:93 templates/stats.html:102 users/models.py:43 msgid "Stock Items" msgstr "" @@ -2947,7 +2964,7 @@ msgstr "" msgid "Place order" msgstr "" -#: order/forms.py:37 order/templates/order/order_base.html:59 +#: order/forms.py:37 order/templates/order/order_base.html:60 msgid "Mark order as complete" msgstr "" @@ -3000,8 +3017,8 @@ msgstr "" msgid "Company from which the items are being ordered" msgstr "" -#: order/models.py:267 order/templates/order/order_base.html:114 -#: templates/js/translated/order.js:669 +#: order/models.py:267 order/templates/order/order_base.html:118 +#: templates/js/translated/order.js:676 msgid "Supplier Reference" msgstr "" @@ -3061,7 +3078,7 @@ msgstr "" msgid "Target date for order completion. Order will be overdue after this date." msgstr "" -#: order/models.py:582 templates/js/translated/order.js:1114 +#: order/models.py:582 templates/js/translated/order.js:1113 msgid "Shipment Date" msgstr "" @@ -3086,16 +3103,16 @@ msgid "Line item notes" msgstr "" #: order/models.py:768 order/models.py:856 -#: templates/js/translated/order.js:1166 +#: templates/js/translated/order.js:1165 msgid "Order" msgstr "" #: order/models.py:769 order/templates/order/order_base.html:9 #: order/templates/order/order_base.html:18 #: report/templates/report/inventree_po_report.html:77 -#: stock/templates/stock/item_base.html:325 -#: templates/js/translated/order.js:638 templates/js/translated/stock.js:1300 -#: templates/js/translated/stock.js:1983 +#: stock/templates/stock/item_base.html:353 +#: templates/js/translated/order.js:638 templates/js/translated/part.js:775 +#: templates/js/translated/stock.js:1382 templates/js/translated/stock.js:2065 msgid "Purchase Order" msgstr "" @@ -3103,9 +3120,10 @@ msgstr "" msgid "Supplier part" msgstr "" -#: order/models.py:797 order/templates/order/order_base.html:147 -#: order/templates/order/sales_order_base.html:154 -#: templates/js/translated/order.js:429 templates/js/translated/order.js:954 +#: order/models.py:797 order/templates/order/order_base.html:151 +#: order/templates/order/sales_order_base.html:155 +#: templates/js/translated/order.js:429 templates/js/translated/order.js:953 +#: templates/js/translated/part.js:847 templates/js/translated/part.js:873 msgid "Received" msgstr "" @@ -3113,9 +3131,9 @@ msgstr "" msgid "Number of items received" msgstr "" -#: order/models.py:805 part/templates/part/prices.html:176 stock/models.py:619 -#: stock/serializers.py:163 stock/templates/stock/item_base.html:332 -#: templates/js/translated/stock.js:1354 +#: order/models.py:805 part/templates/part/prices.html:176 stock/models.py:609 +#: stock/serializers.py:168 stock/templates/stock/item_base.html:360 +#: templates/js/translated/stock.js:1436 msgid "Purchase Price" msgstr "" @@ -3176,47 +3194,47 @@ msgstr "" msgid "Enter stock allocation quantity" msgstr "" -#: order/serializers.py:169 +#: order/serializers.py:175 msgid "Purchase price currency" msgstr "" -#: order/serializers.py:204 +#: order/serializers.py:213 msgid "Line Item" msgstr "" -#: order/serializers.py:210 +#: order/serializers.py:219 msgid "Line item does not match purchase order" msgstr "" -#: order/serializers.py:220 order/serializers.py:288 +#: order/serializers.py:229 order/serializers.py:297 msgid "Select destination location for received items" msgstr "" -#: order/serializers.py:244 +#: order/serializers.py:253 msgid "Barcode Hash" msgstr "" -#: order/serializers.py:245 +#: order/serializers.py:254 msgid "Unique identifier field" msgstr "" -#: order/serializers.py:262 +#: order/serializers.py:271 msgid "Barcode is already in use" msgstr "" -#: order/serializers.py:300 +#: order/serializers.py:309 msgid "Line items must be provided" msgstr "" -#: order/serializers.py:317 +#: order/serializers.py:326 msgid "Destination location must be specified" msgstr "" -#: order/serializers.py:328 +#: order/serializers.py:337 msgid "Supplied barcode values must be unique" msgstr "" -#: order/serializers.py:569 +#: order/serializers.py:578 msgid "Sale price currency" msgstr "" @@ -3248,22 +3266,36 @@ msgstr "" msgid "Receive items" msgstr "" -#: order/templates/order/order_base.html:93 -#: order/templates/order/sales_order_base.html:98 +#: order/templates/order/order_base.html:58 +#: order/templates/order/purchase_order_detail.html:31 +msgid "Receive Items" +msgstr "" + +#: order/templates/order/order_base.html:62 order/views.py:185 +msgid "Complete Order" +msgstr "" + +#: order/templates/order/order_base.html:84 +#: order/templates/order/sales_order_base.html:79 msgid "Order Reference" msgstr "" -#: order/templates/order/order_base.html:98 -#: order/templates/order/sales_order_base.html:103 +#: order/templates/order/order_base.html:89 +#: order/templates/order/sales_order_base.html:84 +msgid "Order Description" +msgstr "" + +#: order/templates/order/order_base.html:94 +#: order/templates/order/sales_order_base.html:89 msgid "Order Status" msgstr "" -#: order/templates/order/order_base.html:133 +#: order/templates/order/order_base.html:137 #: report/templates/report/inventree_build_order_base.html:122 msgid "Issued" msgstr "" -#: order/templates/order/order_base.html:203 +#: order/templates/order/order_base.html:207 msgid "Edit Purchase Order" msgstr "" @@ -3421,7 +3453,7 @@ msgid "Select existing purchase orders, or create new orders." msgstr "" #: order/templates/order/order_wizard/select_pos.html:31 -#: templates/js/translated/order.js:695 templates/js/translated/order.js:1119 +#: templates/js/translated/order.js:694 templates/js/translated/order.js:1118 msgid "Items" msgstr "" @@ -3465,10 +3497,6 @@ msgstr "" msgid "Receive selected items" msgstr "" -#: order/templates/order/purchase_order_detail.html:31 -msgid "Receive Items" -msgstr "" - #: order/templates/order/purchase_order_detail.html:50 msgid "Received Items" msgstr "" @@ -3496,16 +3524,16 @@ msgstr "" msgid "Ship Order" msgstr "" -#: order/templates/order/sales_order_base.html:86 +#: order/templates/order/sales_order_base.html:102 msgid "This Sales Order has not been fully allocated" msgstr "" -#: order/templates/order/sales_order_base.html:121 -#: templates/js/translated/order.js:1086 +#: order/templates/order/sales_order_base.html:122 +#: templates/js/translated/order.js:1085 msgid "Customer Reference" msgstr "" -#: order/templates/order/sales_order_base.html:194 +#: order/templates/order/sales_order_base.html:195 msgid "Edit Sales Order" msgstr "" @@ -3576,10 +3604,6 @@ msgstr "" msgid "Purchase order issued" msgstr "" -#: order/views.py:185 -msgid "Complete Order" -msgstr "" - #: order/views.py:201 msgid "Confirm order completion" msgstr "" @@ -3672,11 +3696,11 @@ msgid "This field is required" msgstr "" #: part/bom.py:125 part/models.py:81 part/models.py:816 -#: part/templates/part/category.html:90 part/templates/part/detail.html:104 +#: part/templates/part/category.html:104 part/templates/part/part_base.html:338 msgid "Default Location" msgstr "" -#: part/bom.py:126 part/templates/part/part_base.html:167 +#: part/bom.py:126 part/templates/part/part_base.html:185 msgid "Available Stock" msgstr "" @@ -3793,19 +3817,19 @@ msgstr "" msgid "Part Category" msgstr "" -#: part/models.py:96 part/templates/part/category.html:117 +#: part/models.py:96 part/templates/part/category.html:124 #: templates/InvenTree/search.html:101 templates/stats.html:84 #: users/models.py:40 msgid "Part Categories" msgstr "" #: part/models.py:358 part/templates/part/cat_link.html:3 -#: part/templates/part/category.html:13 part/templates/part/category.html:122 -#: part/templates/part/category.html:142 +#: part/templates/part/category.html:13 part/templates/part/category.html:129 +#: part/templates/part/category.html:149 #: part/templates/part/category_sidebar.html:9 #: templates/InvenTree/index.html:85 templates/InvenTree/search.html:88 #: templates/InvenTree/settings/sidebar.html:36 -#: templates/js/translated/part.js:1416 templates/navbar.html:19 +#: templates/js/translated/part.js:1597 templates/navbar.html:19 #: templates/stats.html:80 templates/stats.html:89 users/models.py:41 msgid "Parts" msgstr "パーツ" @@ -3859,8 +3883,8 @@ msgstr "" msgid "Part description" msgstr "" -#: part/models.py:770 part/templates/part/category.html:97 -#: part/templates/part/detail.html:73 +#: part/models.py:770 part/templates/part/category.html:82 +#: part/templates/part/part_base.html:302 msgid "Keywords" msgstr "" @@ -3869,9 +3893,10 @@ msgid "Part keywords to improve visibility in search results" msgstr "" #: part/models.py:778 part/models.py:2223 part/models.py:2472 -#: part/templates/part/detail.html:36 part/templates/part/set_category.html:15 +#: part/templates/part/part_base.html:265 +#: part/templates/part/set_category.html:15 #: templates/InvenTree/settings/settings.html:163 -#: templates/js/translated/part.js:1021 +#: templates/js/translated/part.js:1202 msgid "Category" msgstr "" @@ -3879,9 +3904,9 @@ msgstr "" msgid "Part category" msgstr "" -#: part/models.py:784 part/templates/part/detail.html:45 -#: templates/js/translated/part.js:550 templates/js/translated/part.js:974 -#: templates/js/translated/stock.js:1134 +#: part/models.py:784 part/templates/part/part_base.html:274 +#: templates/js/translated/part.js:557 templates/js/translated/part.js:1155 +#: templates/js/translated/stock.js:1216 msgid "IPN" msgstr "" @@ -3893,8 +3918,8 @@ msgstr "" msgid "Part revision or version number" msgstr "" -#: part/models.py:792 part/templates/part/detail.html:52 report/models.py:200 -#: templates/js/translated/part.js:554 +#: part/models.py:792 part/templates/part/part_base.html:281 +#: report/models.py:200 templates/js/translated/part.js:561 msgid "Revision" msgstr "" @@ -3902,7 +3927,7 @@ msgstr "" msgid "Where is this item normally stored?" msgstr "" -#: part/models.py:861 part/templates/part/detail.html:113 +#: part/models.py:861 part/templates/part/part_base.html:347 msgid "Default Supplier" msgstr "" @@ -3918,7 +3943,7 @@ msgstr "" msgid "Expiry time (in days) for stock items of this part" msgstr "" -#: part/models.py:875 part/templates/part/part_base.html:178 +#: part/models.py:875 part/templates/part/part_base.html:196 msgid "Minimum Stock" msgstr "" @@ -4001,8 +4026,8 @@ msgstr "" msgid "Test with this name already exists for this part" msgstr "" -#: part/models.py:2310 templates/js/translated/part.js:1467 -#: templates/js/translated/stock.js:858 +#: part/models.py:2310 templates/js/translated/part.js:1648 +#: templates/js/translated/stock.js:940 msgid "Test Name" msgstr "" @@ -4018,7 +4043,7 @@ msgstr "" msgid "Enter description for this test" msgstr "" -#: part/models.py:2322 templates/js/translated/part.js:1476 +#: part/models.py:2322 templates/js/translated/part.js:1657 #: templates/js/translated/table_filters.js:276 msgid "Required" msgstr "" @@ -4027,7 +4052,7 @@ msgstr "" msgid "Is this test required to pass?" msgstr "" -#: part/models.py:2328 templates/js/translated/part.js:1484 +#: part/models.py:2328 templates/js/translated/part.js:1665 msgid "Requires Value" msgstr "" @@ -4035,7 +4060,7 @@ msgstr "" msgid "Does this test require a value when adding a test result?" msgstr "" -#: part/models.py:2334 templates/js/translated/part.js:1491 +#: part/models.py:2334 templates/js/translated/part.js:1672 msgid "Requires Attachment" msgstr "" @@ -4150,7 +4175,7 @@ msgstr "" msgid "Stock items for variant parts can be used for this BOM item" msgstr "" -#: part/models.py:2686 stock/models.py:371 +#: part/models.py:2686 stock/models.py:361 msgid "Quantity must be integer value for trackable parts" msgstr "" @@ -4213,7 +4238,7 @@ msgstr "" msgid "The BOM for %(part)s has not been validated." msgstr "" -#: part/templates/part/bom.html:30 part/templates/part/detail.html:357 +#: part/templates/part/bom.html:30 part/templates/part/detail.html:250 msgid "BOM actions" msgstr "" @@ -4298,68 +4323,64 @@ msgstr "" msgid "New Category" msgstr "" -#: part/templates/part/category.html:67 -msgid "Top level part category" -msgstr "" - -#: part/templates/part/category.html:79 +#: part/templates/part/category.html:76 part/templates/part/category.html:89 msgid "Category Path" msgstr "" -#: part/templates/part/category.html:84 -msgid "Category Description" +#: part/templates/part/category.html:90 +msgid "Top level part category" msgstr "" -#: part/templates/part/category.html:103 part/templates/part/category.html:194 +#: part/templates/part/category.html:110 part/templates/part/category.html:201 #: part/templates/part/category_sidebar.html:7 msgid "Subcategories" msgstr "" -#: part/templates/part/category.html:108 +#: part/templates/part/category.html:115 msgid "Parts (Including subcategories)" msgstr "" -#: part/templates/part/category.html:145 +#: part/templates/part/category.html:152 msgid "Export Part Data" msgstr "" -#: part/templates/part/category.html:146 part/templates/part/category.html:170 +#: part/templates/part/category.html:153 part/templates/part/category.html:177 msgid "Export" msgstr "" -#: part/templates/part/category.html:149 +#: part/templates/part/category.html:156 msgid "Create new part" msgstr "" -#: part/templates/part/category.html:150 templates/js/translated/bom.js:40 +#: part/templates/part/category.html:157 templates/js/translated/bom.js:40 msgid "New Part" msgstr "新規パーツ" -#: part/templates/part/category.html:164 +#: part/templates/part/category.html:171 msgid "Set category" msgstr "" -#: part/templates/part/category.html:164 +#: part/templates/part/category.html:171 msgid "Set Category" msgstr "" -#: part/templates/part/category.html:168 +#: part/templates/part/category.html:175 msgid "Print Labels" msgstr "" -#: part/templates/part/category.html:170 +#: part/templates/part/category.html:177 msgid "Export Data" msgstr "" -#: part/templates/part/category.html:184 +#: part/templates/part/category.html:191 msgid "Part Parameters" msgstr "" -#: part/templates/part/category.html:261 +#: part/templates/part/category.html:268 msgid "Create Part Category" msgstr "" -#: part/templates/part/category.html:288 +#: part/templates/part/category.html:295 msgid "Create Part" msgstr "" @@ -4402,7 +4423,7 @@ msgstr "" msgid "Import Parts" msgstr "" -#: part/templates/part/copy_part.html:9 templates/js/translated/part.js:366 +#: part/templates/part/copy_part.html:9 templates/js/translated/part.js:373 msgid "Duplicate Part" msgstr "" @@ -4426,167 +4447,155 @@ msgstr "" msgid "%(full_name)s - %(desc)s (%(match_per)s%% match)" msgstr "" -#: part/templates/part/detail.html:16 -msgid "Part Details" -msgstr "" - -#: part/templates/part/detail.html:66 -msgid "Minimum stock level" -msgstr "" - -#: part/templates/part/detail.html:97 -msgid "Latest Serial Number" -msgstr "" - -#: part/templates/part/detail.html:124 +#: part/templates/part/detail.html:17 msgid "Part Stock" msgstr "" -#: part/templates/part/detail.html:136 +#: part/templates/part/detail.html:29 #, python-format msgid "Showing stock for all variants of %(full_name)s" msgstr "" -#: part/templates/part/detail.html:146 +#: part/templates/part/detail.html:39 msgid "Part Test Templates" msgstr "" -#: part/templates/part/detail.html:151 +#: part/templates/part/detail.html:44 msgid "Add Test Template" msgstr "" -#: part/templates/part/detail.html:208 +#: part/templates/part/detail.html:101 msgid "Sales Order Allocations" msgstr "" -#: part/templates/part/detail.html:249 +#: part/templates/part/detail.html:142 msgid "Part Variants" msgstr "" -#: part/templates/part/detail.html:253 +#: part/templates/part/detail.html:146 msgid "Create new variant" msgstr "" -#: part/templates/part/detail.html:254 +#: part/templates/part/detail.html:147 msgid "New Variant" msgstr "" -#: part/templates/part/detail.html:281 +#: part/templates/part/detail.html:174 msgid "Add new parameter" msgstr "" -#: part/templates/part/detail.html:315 part/templates/part/part_sidebar.html:47 +#: part/templates/part/detail.html:208 part/templates/part/part_sidebar.html:45 msgid "Related Parts" msgstr "" -#: part/templates/part/detail.html:319 part/templates/part/detail.html:320 +#: part/templates/part/detail.html:212 part/templates/part/detail.html:213 msgid "Add Related" msgstr "" -#: part/templates/part/detail.html:340 part/templates/part/part_sidebar.html:19 +#: part/templates/part/detail.html:233 part/templates/part/part_sidebar.html:17 msgid "Bill of Materials" msgstr "" -#: part/templates/part/detail.html:345 +#: part/templates/part/detail.html:238 msgid "Export actions" msgstr "" -#: part/templates/part/detail.html:349 +#: part/templates/part/detail.html:242 msgid "Export BOM" msgstr "" -#: part/templates/part/detail.html:351 +#: part/templates/part/detail.html:244 msgid "Print BOM Report" msgstr "" -#: part/templates/part/detail.html:361 +#: part/templates/part/detail.html:254 msgid "Upload BOM" msgstr "" -#: part/templates/part/detail.html:363 templates/js/translated/part.js:267 +#: part/templates/part/detail.html:256 templates/js/translated/part.js:270 msgid "Copy BOM" msgstr "" -#: part/templates/part/detail.html:365 part/views.py:755 +#: part/templates/part/detail.html:258 part/views.py:755 msgid "Validate BOM" msgstr "" -#: part/templates/part/detail.html:370 +#: part/templates/part/detail.html:263 msgid "New BOM Item" msgstr "" -#: part/templates/part/detail.html:371 +#: part/templates/part/detail.html:264 msgid "Add BOM Item" msgstr "" -#: part/templates/part/detail.html:384 +#: part/templates/part/detail.html:277 msgid "Assemblies" msgstr "" -#: part/templates/part/detail.html:401 +#: part/templates/part/detail.html:294 msgid "Part Builds" msgstr "" -#: part/templates/part/detail.html:426 +#: part/templates/part/detail.html:319 msgid "Build Order Allocations" msgstr "" -#: part/templates/part/detail.html:436 +#: part/templates/part/detail.html:329 msgid "Part Suppliers" msgstr "" -#: part/templates/part/detail.html:463 +#: part/templates/part/detail.html:356 msgid "Part Manufacturers" msgstr "" -#: part/templates/part/detail.html:479 +#: part/templates/part/detail.html:372 msgid "Delete manufacturer parts" msgstr "" -#: part/templates/part/detail.html:660 +#: part/templates/part/detail.html:553 msgid "Delete selected BOM items?" msgstr "" -#: part/templates/part/detail.html:661 +#: part/templates/part/detail.html:554 msgid "All selected BOM items will be deleted" msgstr "" -#: part/templates/part/detail.html:712 +#: part/templates/part/detail.html:605 msgid "Create BOM Item" msgstr "" -#: part/templates/part/detail.html:764 +#: part/templates/part/detail.html:657 msgid "Related Part" msgstr "" -#: part/templates/part/detail.html:772 +#: part/templates/part/detail.html:665 msgid "Add Related Part" msgstr "" -#: part/templates/part/detail.html:869 +#: part/templates/part/detail.html:760 msgid "Add Test Result Template" msgstr "" -#: part/templates/part/detail.html:926 +#: part/templates/part/detail.html:817 msgid "Edit Part Notes" msgstr "" -#: part/templates/part/detail.html:1039 +#: part/templates/part/detail.html:930 #, python-format msgid "Purchase Unit Price - %(currency)s" msgstr "" -#: part/templates/part/detail.html:1051 +#: part/templates/part/detail.html:942 #, python-format msgid "Unit Price-Cost Difference - %(currency)s" msgstr "" -#: part/templates/part/detail.html:1063 +#: part/templates/part/detail.html:954 #, python-format msgid "Supplier Unit Cost - %(currency)s" msgstr "" -#: part/templates/part/detail.html:1152 +#: part/templates/part/detail.html:1043 #, python-format msgid "Unit Price - %(currency)s" msgstr "" @@ -4668,86 +4677,108 @@ msgstr "" msgid "Delete part" msgstr "" -#: part/templates/part/part_base.html:109 +#: part/templates/part/part_base.html:112 msgid "Part is a template part (variants can be made from this part)" msgstr "" -#: part/templates/part/part_base.html:113 +#: part/templates/part/part_base.html:116 msgid "Part can be assembled from other parts" msgstr "" -#: part/templates/part/part_base.html:117 +#: part/templates/part/part_base.html:120 msgid "Part can be used in assemblies" msgstr "" -#: part/templates/part/part_base.html:121 +#: part/templates/part/part_base.html:124 msgid "Part stock is tracked by serial number" msgstr "" -#: part/templates/part/part_base.html:125 +#: part/templates/part/part_base.html:128 msgid "Part can be purchased from external suppliers" msgstr "" -#: part/templates/part/part_base.html:129 +#: part/templates/part/part_base.html:132 msgid "Part can be sold to customers" msgstr "" -#: part/templates/part/part_base.html:135 -#: part/templates/part/part_base.html:143 +#: part/templates/part/part_base.html:138 +#: part/templates/part/part_base.html:146 msgid "Part is virtual (not a physical part)" msgstr "" -#: part/templates/part/part_base.html:136 +#: part/templates/part/part_base.html:139 #: templates/js/translated/company.js:505 #: templates/js/translated/company.js:762 #: templates/js/translated/model_renderers.js:175 -#: templates/js/translated/part.js:465 templates/js/translated/part.js:542 +#: templates/js/translated/part.js:472 templates/js/translated/part.js:549 msgid "Inactive" msgstr "" -#: part/templates/part/part_base.html:155 +#: part/templates/part/part_base.html:156 +#: part/templates/part/part_base.html:579 +msgid "Show Part Details" +msgstr "" + +#: part/templates/part/part_base.html:173 #, python-format msgid "This part is a variant of %(link)s" msgstr "" -#: part/templates/part/part_base.html:172 templates/js/translated/order.js:1546 +#: part/templates/part/part_base.html:190 templates/js/translated/order.js:1545 #: templates/js/translated/table_filters.js:188 msgid "In Stock" msgstr "" -#: part/templates/part/part_base.html:185 templates/js/translated/part.js:1054 +#: part/templates/part/part_base.html:203 templates/js/translated/part.js:1235 msgid "On Order" msgstr "" -#: part/templates/part/part_base.html:192 templates/InvenTree/index.html:178 +#: part/templates/part/part_base.html:210 templates/InvenTree/index.html:178 msgid "Required for Build Orders" msgstr "" -#: part/templates/part/part_base.html:199 +#: part/templates/part/part_base.html:217 msgid "Required for Sales Orders" msgstr "" -#: part/templates/part/part_base.html:206 +#: part/templates/part/part_base.html:224 msgid "Allocated to Orders" msgstr "" -#: part/templates/part/part_base.html:221 templates/js/translated/bom.js:566 +#: part/templates/part/part_base.html:239 templates/js/translated/bom.js:566 msgid "Can Build" msgstr "" -#: part/templates/part/part_base.html:227 templates/js/translated/part.js:885 -#: templates/js/translated/part.js:1058 +#: part/templates/part/part_base.html:245 templates/js/translated/part.js:1066 +#: templates/js/translated/part.js:1239 msgid "Building" msgstr "" -#: part/templates/part/part_base.html:320 part/templates/part/prices.html:144 +#: part/templates/part/part_base.html:295 +msgid "Minimum stock level" +msgstr "" + +#: part/templates/part/part_base.html:324 +msgid "Latest Serial Number" +msgstr "" + +#: part/templates/part/part_base.html:328 +#: stock/templates/stock/item_base.html:159 +msgid "Search for serial number" +msgstr "" + +#: part/templates/part/part_base.html:449 part/templates/part/prices.html:144 msgid "Calculate" msgstr "" -#: part/templates/part/part_base.html:363 +#: part/templates/part/part_base.html:492 msgid "No matching images found" msgstr "" +#: part/templates/part/part_base.html:573 +msgid "Hide Part Details" +msgstr "" + #: part/templates/part/part_pricing.html:22 part/templates/part/prices.html:21 msgid "Supplier Pricing" msgstr "" @@ -4805,20 +4836,15 @@ msgstr "" msgid "No pricing information is available for this part." msgstr "" -#: part/templates/part/part_sidebar.html:8 -#: templates/js/translated/stock.js:1949 -msgid "Details" -msgstr "" - -#: part/templates/part/part_sidebar.html:13 +#: part/templates/part/part_sidebar.html:11 msgid "Variants" msgstr "" -#: part/templates/part/part_sidebar.html:27 +#: part/templates/part/part_sidebar.html:25 msgid "Used In" msgstr "" -#: part/templates/part/part_sidebar.html:43 +#: part/templates/part/part_sidebar.html:41 msgid "Test Templates" msgstr "" @@ -4934,8 +4960,8 @@ msgid "Set category for the following parts" msgstr "" #: part/templates/part/stock_count.html:7 templates/js/translated/bom.js:476 -#: templates/js/translated/part.js:429 templates/js/translated/part.js:875 -#: templates/js/translated/part.js:1062 +#: templates/js/translated/part.js:436 templates/js/translated/part.js:1056 +#: templates/js/translated/part.js:1243 msgid "No Stock" msgstr "" @@ -5037,7 +5063,7 @@ msgstr "" msgid "Delete Part Parameter Template" msgstr "" -#: part/views.py:1489 templates/js/translated/part.js:310 +#: part/views.py:1489 templates/js/translated/part.js:313 msgid "Edit Part Category" msgstr "" @@ -5171,11 +5197,12 @@ msgid "Stock Item Test Report" msgstr "" #: report/templates/report/inventree_test_report_base.html:79 -#: stock/models.py:530 stock/templates/stock/item_base.html:238 +#: stock/models.py:520 stock/templates/stock/item_base.html:149 #: templates/js/translated/build.js:233 templates/js/translated/build.js:637 #: templates/js/translated/build.js:1013 #: templates/js/translated/model_renderers.js:95 -#: templates/js/translated/order.js:1288 templates/js/translated/order.js:1377 +#: templates/js/translated/order.js:1287 templates/js/translated/order.js:1376 +#: templates/js/translated/stock.js:410 msgid "Serial Number" msgstr "" @@ -5184,17 +5211,17 @@ msgid "Test Results" msgstr "" #: report/templates/report/inventree_test_report_base.html:93 -#: stock/models.py:1855 +#: stock/models.py:1845 msgid "Test" msgstr "" #: report/templates/report/inventree_test_report_base.html:94 -#: stock/models.py:1861 +#: stock/models.py:1851 msgid "Result" msgstr "" #: report/templates/report/inventree_test_report_base.html:97 -#: templates/js/translated/order.js:685 templates/js/translated/stock.js:1917 +#: templates/js/translated/order.js:684 templates/js/translated/stock.js:1999 msgid "Date" msgstr "" @@ -5212,7 +5239,7 @@ msgid "Installed Items" msgstr "" #: report/templates/report/inventree_test_report_base.html:137 -#: templates/js/translated/stock.js:2177 +#: templates/js/translated/stock.js:2259 msgid "Serial" msgstr "" @@ -5220,9 +5247,9 @@ msgstr "" msgid "Quantity is required" msgstr "" -#: stock/forms.py:91 stock/forms.py:265 stock/models.py:587 -#: stock/templates/stock/item_base.html:382 -#: templates/js/translated/stock.js:1276 +#: stock/forms.py:91 stock/forms.py:265 stock/models.py:577 +#: stock/templates/stock/item_base.html:186 +#: templates/js/translated/stock.js:1358 msgid "Expiry Date" msgstr "" @@ -5270,241 +5297,241 @@ msgstr "" msgid "Confirm removal of installed stock items" msgstr "" -#: stock/models.py:60 stock/models.py:624 -#: stock/templates/stock/item_base.html:422 +#: stock/models.py:60 stock/models.py:614 +#: stock/templates/stock/item_base.html:417 msgid "Owner" msgstr "" -#: stock/models.py:61 stock/models.py:625 +#: stock/models.py:61 stock/models.py:615 msgid "Select Owner" msgstr "" -#: stock/models.py:352 +#: stock/models.py:342 msgid "StockItem with this serial number already exists" msgstr "" -#: stock/models.py:388 +#: stock/models.py:378 #, python-brace-format msgid "Part type ('{pf}') must be {pe}" msgstr "" -#: stock/models.py:398 stock/models.py:407 +#: stock/models.py:388 stock/models.py:397 msgid "Quantity must be 1 for item with a serial number" msgstr "" -#: stock/models.py:399 +#: stock/models.py:389 msgid "Serial number cannot be set if quantity greater than 1" msgstr "" -#: stock/models.py:421 +#: stock/models.py:411 msgid "Item cannot belong to itself" msgstr "" -#: stock/models.py:427 +#: stock/models.py:417 msgid "Item must have a build reference if is_building=True" msgstr "" -#: stock/models.py:434 +#: stock/models.py:424 msgid "Build reference does not point to the same part object" msgstr "" -#: stock/models.py:476 +#: stock/models.py:466 msgid "Parent Stock Item" msgstr "" -#: stock/models.py:485 +#: stock/models.py:475 msgid "Base part" msgstr "" -#: stock/models.py:493 +#: stock/models.py:483 msgid "Select a matching supplier part for this stock item" msgstr "" -#: stock/models.py:498 stock/templates/stock/location.html:12 +#: stock/models.py:488 stock/templates/stock/location.html:12 #: stock/templates/stock/stock_app_base.html:8 msgid "Stock Location" msgstr "" -#: stock/models.py:501 +#: stock/models.py:491 msgid "Where is this stock item located?" msgstr "" -#: stock/models.py:508 +#: stock/models.py:498 msgid "Packaging this stock item is stored in" msgstr "" -#: stock/models.py:513 stock/templates/stock/item_base.html:271 +#: stock/models.py:503 stock/templates/stock/item_base.html:299 msgid "Installed In" msgstr "" -#: stock/models.py:516 +#: stock/models.py:506 msgid "Is this item installed in another item?" msgstr "" -#: stock/models.py:532 +#: stock/models.py:522 msgid "Serial number for this item" msgstr "" -#: stock/models.py:546 +#: stock/models.py:536 msgid "Batch code for this stock item" msgstr "" -#: stock/models.py:550 +#: stock/models.py:540 msgid "Stock Quantity" msgstr "" -#: stock/models.py:559 +#: stock/models.py:549 msgid "Source Build" msgstr "" -#: stock/models.py:561 +#: stock/models.py:551 msgid "Build for this stock item" msgstr "" -#: stock/models.py:572 +#: stock/models.py:562 msgid "Source Purchase Order" msgstr "" -#: stock/models.py:575 +#: stock/models.py:565 msgid "Purchase order for this stock item" msgstr "" -#: stock/models.py:581 +#: stock/models.py:571 msgid "Destination Sales Order" msgstr "" -#: stock/models.py:588 +#: stock/models.py:578 msgid "Expiry date for stock item. Stock will be considered expired after this date" msgstr "" -#: stock/models.py:601 +#: stock/models.py:591 msgid "Delete on deplete" msgstr "" -#: stock/models.py:601 +#: stock/models.py:591 msgid "Delete this Stock Item when stock is depleted" msgstr "" -#: stock/models.py:611 stock/templates/stock/item.html:111 +#: stock/models.py:601 stock/templates/stock/item.html:111 msgid "Stock Item Notes" msgstr "" -#: stock/models.py:620 +#: stock/models.py:610 msgid "Single unit purchase price at time of purchase" msgstr "" -#: stock/models.py:630 +#: stock/models.py:620 msgid "Scheduled for deletion" msgstr "" -#: stock/models.py:631 +#: stock/models.py:621 msgid "This StockItem will be deleted by the background worker" msgstr "" -#: stock/models.py:1094 +#: stock/models.py:1084 msgid "Part is not set as trackable" msgstr "" -#: stock/models.py:1100 +#: stock/models.py:1090 msgid "Quantity must be integer" msgstr "" -#: stock/models.py:1106 +#: stock/models.py:1096 #, python-brace-format msgid "Quantity must not exceed available stock quantity ({n})" msgstr "" -#: stock/models.py:1109 +#: stock/models.py:1099 msgid "Serial numbers must be a list of integers" msgstr "" -#: stock/models.py:1112 +#: stock/models.py:1102 msgid "Quantity does not match serial numbers" msgstr "" -#: stock/models.py:1119 +#: stock/models.py:1109 #, python-brace-format msgid "Serial numbers already exist: {exists}" msgstr "" -#: stock/models.py:1277 +#: stock/models.py:1267 msgid "StockItem cannot be moved as it is not in stock" msgstr "" -#: stock/models.py:1775 +#: stock/models.py:1765 msgid "Entry notes" msgstr "" -#: stock/models.py:1832 +#: stock/models.py:1822 msgid "Value must be provided for this test" msgstr "" -#: stock/models.py:1838 +#: stock/models.py:1828 msgid "Attachment must be uploaded for this test" msgstr "" -#: stock/models.py:1856 +#: stock/models.py:1846 msgid "Test name" msgstr "" -#: stock/models.py:1862 templates/js/translated/table_filters.js:266 +#: stock/models.py:1852 templates/js/translated/table_filters.js:266 msgid "Test result" msgstr "" -#: stock/models.py:1868 +#: stock/models.py:1858 msgid "Test output value" msgstr "" -#: stock/models.py:1875 +#: stock/models.py:1865 msgid "Test result attachment" msgstr "" -#: stock/models.py:1881 +#: stock/models.py:1871 msgid "Test notes" msgstr "" -#: stock/serializers.py:166 +#: stock/serializers.py:171 msgid "Purchase price of this stock item" msgstr "" -#: stock/serializers.py:173 +#: stock/serializers.py:178 msgid "Purchase currency of this stock item" msgstr "" -#: stock/serializers.py:287 +#: stock/serializers.py:292 msgid "Enter number of stock items to serialize" msgstr "" -#: stock/serializers.py:302 +#: stock/serializers.py:307 #, python-brace-format msgid "Quantity must not exceed available stock quantity ({q})" msgstr "" -#: stock/serializers.py:308 +#: stock/serializers.py:313 msgid "Enter serial numbers for new items" msgstr "" -#: stock/serializers.py:319 stock/serializers.py:686 +#: stock/serializers.py:324 stock/serializers.py:691 msgid "Destination stock location" msgstr "" -#: stock/serializers.py:326 +#: stock/serializers.py:331 msgid "Optional note field" msgstr "" -#: stock/serializers.py:339 +#: stock/serializers.py:344 msgid "Serial numbers cannot be assigned to this part" msgstr "" -#: stock/serializers.py:556 +#: stock/serializers.py:561 msgid "StockItem primary key value" msgstr "" -#: stock/serializers.py:584 +#: stock/serializers.py:589 msgid "Stock transaction notes" msgstr "" -#: stock/serializers.py:594 +#: stock/serializers.py:599 msgid "A list of stock items must be provided" msgstr "" @@ -5629,125 +5656,131 @@ msgstr "" msgid "Install" msgstr "" -#: stock/templates/stock/item_base.html:106 +#: stock/templates/stock/item_base.html:108 msgid "Convert to variant" msgstr "" -#: stock/templates/stock/item_base.html:109 +#: stock/templates/stock/item_base.html:111 msgid "Duplicate stock item" msgstr "" -#: stock/templates/stock/item_base.html:111 +#: stock/templates/stock/item_base.html:113 msgid "Edit stock item" msgstr "" -#: stock/templates/stock/item_base.html:114 +#: stock/templates/stock/item_base.html:116 msgid "Delete stock item" msgstr "" -#: stock/templates/stock/item_base.html:136 -#: stock/templates/stock/item_base.html:386 -#: templates/js/translated/table_filters.js:247 -msgid "Expired" +#: stock/templates/stock/item_base.html:154 +msgid "previous page" msgstr "" -#: stock/templates/stock/item_base.html:146 -#: stock/templates/stock/item_base.html:388 -#: templates/js/translated/table_filters.js:253 -msgid "Stale" +#: stock/templates/stock/item_base.html:154 +msgid "Navigate to previous serial number" msgstr "" -#: stock/templates/stock/item_base.html:161 -msgid "You are not in the list of owners of this item. This stock item cannot be edited." +#: stock/templates/stock/item_base.html:163 +msgid "next page" msgstr "" -#: stock/templates/stock/item_base.html:168 -msgid "This stock item is in production and cannot be edited." -msgstr "" - -#: stock/templates/stock/item_base.html:169 -msgid "Edit the stock item from the build view." -msgstr "" - -#: stock/templates/stock/item_base.html:182 -msgid "This stock item has not passed all required tests" +#: stock/templates/stock/item_base.html:163 +msgid "Navigate to next serial number" msgstr "" #: stock/templates/stock/item_base.html:190 #, python-format -msgid "This stock item is allocated to Sales Order %(link)s (Quantity: %(qty)s)" -msgstr "" - -#: stock/templates/stock/item_base.html:198 -#, python-format -msgid "This stock item is allocated to Build %(link)s (Quantity: %(qty)s)" -msgstr "" - -#: stock/templates/stock/item_base.html:204 -msgid "This stock item is serialized - it has a unique serial number and the quantity cannot be adjusted." -msgstr "" - -#: stock/templates/stock/item_base.html:208 -msgid "This stock item cannot be deleted as it has child items" -msgstr "" - -#: stock/templates/stock/item_base.html:212 -msgid "This stock item will be automatically deleted when all stock is depleted." -msgstr "" - -#: stock/templates/stock/item_base.html:241 -msgid "previous page" -msgstr "" - -#: stock/templates/stock/item_base.html:247 -msgid "next page" -msgstr "" - -#: stock/templates/stock/item_base.html:290 -#: templates/js/translated/build.js:1035 -msgid "No location set" -msgstr "" - -#: stock/templates/stock/item_base.html:297 -msgid "Barcode Identifier" -msgstr "" - -#: stock/templates/stock/item_base.html:339 -msgid "Parent Item" -msgstr "" - -#: stock/templates/stock/item_base.html:357 -msgid "No manufacturer set" -msgstr "" - -#: stock/templates/stock/item_base.html:386 -#, python-format msgid "This StockItem expired on %(item.expiry_date)s" msgstr "" -#: stock/templates/stock/item_base.html:388 +#: stock/templates/stock/item_base.html:190 +#: templates/js/translated/table_filters.js:247 +msgid "Expired" +msgstr "" + +#: stock/templates/stock/item_base.html:192 #, python-format msgid "This StockItem expires on %(item.expiry_date)s" msgstr "" -#: stock/templates/stock/item_base.html:395 -#: templates/js/translated/stock.js:1289 +#: stock/templates/stock/item_base.html:192 +#: templates/js/translated/table_filters.js:253 +msgid "Stale" +msgstr "" + +#: stock/templates/stock/item_base.html:199 +#: templates/js/translated/stock.js:1371 msgid "Last Updated" msgstr "" -#: stock/templates/stock/item_base.html:400 +#: stock/templates/stock/item_base.html:204 msgid "Last Stocktake" msgstr "" -#: stock/templates/stock/item_base.html:404 +#: stock/templates/stock/item_base.html:208 msgid "No stocktake performed" msgstr "" -#: stock/templates/stock/item_base.html:415 +#: stock/templates/stock/item_base.html:226 +msgid "You are not in the list of owners of this item. This stock item cannot be edited." +msgstr "" + +#: stock/templates/stock/item_base.html:233 +msgid "This stock item is in production and cannot be edited." +msgstr "" + +#: stock/templates/stock/item_base.html:234 +msgid "Edit the stock item from the build view." +msgstr "" + +#: stock/templates/stock/item_base.html:247 +msgid "This stock item has not passed all required tests" +msgstr "" + +#: stock/templates/stock/item_base.html:255 +#, python-format +msgid "This stock item is allocated to Sales Order %(link)s (Quantity: %(qty)s)" +msgstr "" + +#: stock/templates/stock/item_base.html:263 +#, python-format +msgid "This stock item is allocated to Build %(link)s (Quantity: %(qty)s)" +msgstr "" + +#: stock/templates/stock/item_base.html:269 +msgid "This stock item is serialized - it has a unique serial number and the quantity cannot be adjusted." +msgstr "" + +#: stock/templates/stock/item_base.html:273 +msgid "This stock item cannot be deleted as it has child items" +msgstr "" + +#: stock/templates/stock/item_base.html:277 +msgid "This stock item will be automatically deleted when all stock is depleted." +msgstr "" + +#: stock/templates/stock/item_base.html:318 +#: templates/js/translated/build.js:1035 +msgid "No location set" +msgstr "" + +#: stock/templates/stock/item_base.html:325 +msgid "Barcode Identifier" +msgstr "" + +#: stock/templates/stock/item_base.html:367 +msgid "Parent Item" +msgstr "" + +#: stock/templates/stock/item_base.html:385 +msgid "No manufacturer set" +msgstr "" + +#: stock/templates/stock/item_base.html:410 msgid "Tests" msgstr "" -#: stock/templates/stock/item_base.html:505 +#: stock/templates/stock/item_base.html:500 msgid "Edit Stock Status" msgstr "" @@ -5825,30 +5858,35 @@ msgstr "" msgid "New Location" msgstr "" -#: stock/templates/stock/location.html:86 +#: stock/templates/stock/location.html:95 +#: stock/templates/stock/location.html:101 +msgid "Location Path" +msgstr "" + +#: stock/templates/stock/location.html:102 msgid "Top level stock location" msgstr "" -#: stock/templates/stock/location.html:95 +#: stock/templates/stock/location.html:115 msgid "You are not in the list of owners of this location. This stock location cannot be edited." msgstr "" -#: stock/templates/stock/location.html:113 -#: stock/templates/stock/location.html:160 +#: stock/templates/stock/location.html:128 +#: stock/templates/stock/location.html:175 #: stock/templates/stock/location_sidebar.html:5 msgid "Sublocations" msgstr "" -#: stock/templates/stock/location.html:127 templates/InvenTree/search.html:170 +#: stock/templates/stock/location.html:142 templates/InvenTree/search.html:170 #: templates/stats.html:97 users/models.py:42 msgid "Stock Locations" msgstr "" -#: stock/templates/stock/location.html:167 templates/stock_table.html:30 +#: stock/templates/stock/location.html:182 templates/stock_table.html:30 msgid "Printing Actions" msgstr "" -#: stock/templates/stock/location.html:171 templates/stock_table.html:34 +#: stock/templates/stock/location.html:186 templates/stock_table.html:34 msgid "Print labels" msgstr "" @@ -5942,7 +5980,7 @@ msgstr "" msgid "Uninstall Stock Items" msgstr "" -#: stock/views.py:760 templates/js/translated/stock.js:648 +#: stock/views.py:760 templates/js/translated/stock.js:730 msgid "Confirm stock adjustment" msgstr "" @@ -5950,7 +5988,7 @@ msgstr "" msgid "Uninstalled stock items" msgstr "" -#: stock/views.py:793 templates/js/translated/stock.js:318 +#: stock/views.py:793 templates/js/translated/stock.js:319 msgid "Edit Stock Item" msgstr "" @@ -5962,7 +6000,7 @@ msgstr "" msgid "Create new Stock Item" msgstr "" -#: stock/views.py:1186 templates/js/translated/stock.js:298 +#: stock/views.py:1186 templates/js/translated/stock.js:299 msgid "Duplicate Stock Item" msgstr "" @@ -6868,7 +6906,7 @@ msgstr "" msgid "Unlink" msgstr "" -#: templates/js/translated/barcode.js:397 templates/js/translated/stock.js:600 +#: templates/js/translated/barcode.js:397 templates/js/translated/stock.js:682 msgid "Remove stock item" msgstr "" @@ -6963,7 +7001,7 @@ msgid "View BOM" msgstr "" #: templates/js/translated/bom.js:608 templates/js/translated/build.js:1183 -#: templates/js/translated/order.js:1320 +#: templates/js/translated/order.js:1319 msgid "Actions" msgstr "" @@ -7055,7 +7093,7 @@ msgstr "" msgid "No build order allocations found" msgstr "" -#: templates/js/translated/build.js:424 templates/js/translated/order.js:1194 +#: templates/js/translated/build.js:424 templates/js/translated/order.js:1193 msgid "Location not specified" msgstr "" @@ -7064,12 +7102,12 @@ msgid "No active build outputs found" msgstr "" #: templates/js/translated/build.js:1052 templates/js/translated/build.js:1760 -#: templates/js/translated/order.js:1327 +#: templates/js/translated/order.js:1326 msgid "Edit stock allocation" msgstr "" #: templates/js/translated/build.js:1054 templates/js/translated/build.js:1761 -#: templates/js/translated/order.js:1328 +#: templates/js/translated/order.js:1327 msgid "Delete stock allocation" msgstr "" @@ -7090,11 +7128,11 @@ msgid "Quantity Per" msgstr "" #: templates/js/translated/build.js:1134 templates/js/translated/build.js:1360 -#: templates/js/translated/build.js:1756 templates/js/translated/order.js:1557 +#: templates/js/translated/build.js:1756 templates/js/translated/order.js:1556 msgid "Allocated" msgstr "" -#: templates/js/translated/build.js:1190 templates/js/translated/order.js:1611 +#: templates/js/translated/build.js:1190 templates/js/translated/order.js:1610 msgid "Build stock" msgstr "" @@ -7102,7 +7140,7 @@ msgstr "" msgid "Order stock" msgstr "" -#: templates/js/translated/build.js:1197 templates/js/translated/order.js:1604 +#: templates/js/translated/build.js:1197 templates/js/translated/order.js:1603 msgid "Allocate stock" msgstr "" @@ -7143,9 +7181,9 @@ msgstr "" msgid "No builds matching query" msgstr "" -#: templates/js/translated/build.js:1593 templates/js/translated/part.js:966 -#: templates/js/translated/part.js:1377 templates/js/translated/stock.js:1094 -#: templates/js/translated/stock.js:1871 +#: templates/js/translated/build.js:1593 templates/js/translated/part.js:1147 +#: templates/js/translated/part.js:1558 templates/js/translated/stock.js:1176 +#: templates/js/translated/stock.js:1953 msgid "Select" msgstr "" @@ -7153,7 +7191,7 @@ msgstr "" msgid "Build order is overdue" msgstr "" -#: templates/js/translated/build.js:1674 templates/js/translated/stock.js:2090 +#: templates/js/translated/build.js:1674 templates/js/translated/stock.js:2172 msgid "No user information" msgstr "" @@ -7197,10 +7235,6 @@ msgstr "" msgid "Delete Supplier Part" msgstr "" -#: templates/js/translated/company.js:265 -msgid "Edit Company" -msgstr "" - #: templates/js/translated/company.js:286 msgid "Add new Company" msgstr "" @@ -7230,34 +7264,34 @@ msgid "No manufacturer parts found" msgstr "" #: templates/js/translated/company.js:497 -#: templates/js/translated/company.js:754 templates/js/translated/part.js:449 -#: templates/js/translated/part.js:534 +#: templates/js/translated/company.js:754 templates/js/translated/part.js:456 +#: templates/js/translated/part.js:541 msgid "Template part" msgstr "" #: templates/js/translated/company.js:501 -#: templates/js/translated/company.js:758 templates/js/translated/part.js:453 -#: templates/js/translated/part.js:538 +#: templates/js/translated/company.js:758 templates/js/translated/part.js:460 +#: templates/js/translated/part.js:545 msgid "Assembled part" msgstr "" -#: templates/js/translated/company.js:628 templates/js/translated/part.js:626 +#: templates/js/translated/company.js:628 templates/js/translated/part.js:633 msgid "No parameters found" msgstr "" -#: templates/js/translated/company.js:665 templates/js/translated/part.js:668 +#: templates/js/translated/company.js:665 templates/js/translated/part.js:675 msgid "Edit parameter" msgstr "" -#: templates/js/translated/company.js:666 templates/js/translated/part.js:669 +#: templates/js/translated/company.js:666 templates/js/translated/part.js:676 msgid "Delete parameter" msgstr "" -#: templates/js/translated/company.js:685 templates/js/translated/part.js:686 +#: templates/js/translated/company.js:685 templates/js/translated/part.js:693 msgid "Edit Parameter" msgstr "" -#: templates/js/translated/company.js:696 templates/js/translated/part.js:698 +#: templates/js/translated/company.js:696 templates/js/translated/part.js:705 msgid "Delete Parameter" msgstr "" @@ -7346,7 +7380,7 @@ msgid "NO" msgstr "" #: templates/js/translated/label.js:29 templates/js/translated/report.js:118 -#: templates/js/translated/stock.js:624 +#: templates/js/translated/stock.js:706 msgid "Select Stock Items" msgstr "" @@ -7502,11 +7536,11 @@ msgstr "" msgid "Export Order" msgstr "" -#: templates/js/translated/order.js:211 templates/js/translated/stock.js:423 +#: templates/js/translated/order.js:211 templates/js/translated/stock.js:505 msgid "Format" msgstr "" -#: templates/js/translated/order.js:212 templates/js/translated/stock.js:424 +#: templates/js/translated/order.js:212 templates/js/translated/stock.js:506 msgid "Select file format" msgstr "" @@ -7522,7 +7556,7 @@ msgstr "" msgid "Quantity to receive" msgstr "" -#: templates/js/translated/order.js:360 templates/js/translated/stock.js:1673 +#: templates/js/translated/order.js:360 templates/js/translated/stock.js:1755 msgid "Stock Status" msgstr "" @@ -7546,321 +7580,321 @@ msgstr "" msgid "Receive Purchase Order Items" msgstr "" -#: templates/js/translated/order.js:627 +#: templates/js/translated/order.js:627 templates/js/translated/part.js:746 msgid "No purchase orders found" msgstr "" -#: templates/js/translated/order.js:652 templates/js/translated/order.js:1063 +#: templates/js/translated/order.js:659 templates/js/translated/order.js:1062 msgid "Order is overdue" msgstr "" -#: templates/js/translated/order.js:772 templates/js/translated/order.js:1646 +#: templates/js/translated/order.js:771 templates/js/translated/order.js:1645 msgid "Edit Line Item" msgstr "" -#: templates/js/translated/order.js:784 templates/js/translated/order.js:1657 +#: templates/js/translated/order.js:783 templates/js/translated/order.js:1656 msgid "Delete Line Item" msgstr "" -#: templates/js/translated/order.js:823 +#: templates/js/translated/order.js:822 msgid "No line items found" msgstr "" -#: templates/js/translated/order.js:850 templates/js/translated/order.js:1467 +#: templates/js/translated/order.js:849 templates/js/translated/order.js:1466 msgid "Total" msgstr "" -#: templates/js/translated/order.js:904 templates/js/translated/order.js:1492 -#: templates/js/translated/part.js:1594 templates/js/translated/part.js:1805 +#: templates/js/translated/order.js:903 templates/js/translated/order.js:1491 +#: templates/js/translated/part.js:1775 templates/js/translated/part.js:1986 msgid "Unit Price" msgstr "" -#: templates/js/translated/order.js:919 templates/js/translated/order.js:1508 +#: templates/js/translated/order.js:918 templates/js/translated/order.js:1507 msgid "Total Price" msgstr "" -#: templates/js/translated/order.js:997 templates/js/translated/order.js:1617 +#: templates/js/translated/order.js:996 templates/js/translated/order.js:1616 msgid "Edit line item" msgstr "" -#: templates/js/translated/order.js:998 +#: templates/js/translated/order.js:997 msgid "Delete line item" msgstr "" -#: templates/js/translated/order.js:1002 +#: templates/js/translated/order.js:1001 templates/js/translated/part.js:878 msgid "Receive line item" msgstr "" -#: templates/js/translated/order.js:1039 +#: templates/js/translated/order.js:1038 msgid "No sales orders found" msgstr "" -#: templates/js/translated/order.js:1077 +#: templates/js/translated/order.js:1076 msgid "Invalid Customer" msgstr "" -#: templates/js/translated/order.js:1155 +#: templates/js/translated/order.js:1154 msgid "No sales order allocations found" msgstr "" -#: templates/js/translated/order.js:1248 +#: templates/js/translated/order.js:1247 msgid "Edit Stock Allocation" msgstr "" -#: templates/js/translated/order.js:1265 +#: templates/js/translated/order.js:1264 msgid "Confirm Delete Operation" msgstr "" -#: templates/js/translated/order.js:1266 +#: templates/js/translated/order.js:1265 msgid "Delete Stock Allocation" msgstr "" -#: templates/js/translated/order.js:1308 +#: templates/js/translated/order.js:1307 msgid "Stock location not specified" msgstr "" -#: templates/js/translated/order.js:1557 +#: templates/js/translated/order.js:1556 msgid "Fulfilled" msgstr "" -#: templates/js/translated/order.js:1601 +#: templates/js/translated/order.js:1600 msgid "Allocate serial numbers" msgstr "" -#: templates/js/translated/order.js:1607 +#: templates/js/translated/order.js:1606 msgid "Purchase stock" msgstr "" -#: templates/js/translated/order.js:1614 templates/js/translated/order.js:1793 +#: templates/js/translated/order.js:1613 templates/js/translated/order.js:1792 msgid "Calculate price" msgstr "" -#: templates/js/translated/order.js:1618 +#: templates/js/translated/order.js:1617 msgid "Delete line item " msgstr "" -#: templates/js/translated/order.js:1741 +#: templates/js/translated/order.js:1740 msgid "Allocate Stock Item" msgstr "" -#: templates/js/translated/order.js:1801 +#: templates/js/translated/order.js:1800 msgid "Update Unit Price" msgstr "" -#: templates/js/translated/order.js:1815 +#: templates/js/translated/order.js:1814 msgid "No matching line items" msgstr "" -#: templates/js/translated/part.js:51 +#: templates/js/translated/part.js:52 msgid "Part Attributes" msgstr "" -#: templates/js/translated/part.js:55 +#: templates/js/translated/part.js:56 msgid "Part Creation Options" msgstr "" -#: templates/js/translated/part.js:59 +#: templates/js/translated/part.js:60 msgid "Part Duplication Options" msgstr "" -#: templates/js/translated/part.js:63 +#: templates/js/translated/part.js:64 msgid "Supplier Options" msgstr "" -#: templates/js/translated/part.js:77 +#: templates/js/translated/part.js:78 msgid "Add Part Category" msgstr "" -#: templates/js/translated/part.js:166 +#: templates/js/translated/part.js:162 msgid "Create Initial Stock" msgstr "" -#: templates/js/translated/part.js:167 +#: templates/js/translated/part.js:163 msgid "Create an initial stock item for this part" msgstr "" -#: templates/js/translated/part.js:174 +#: templates/js/translated/part.js:170 msgid "Initial Stock Quantity" msgstr "" -#: templates/js/translated/part.js:175 +#: templates/js/translated/part.js:171 msgid "Specify initial stock quantity for this part" msgstr "" -#: templates/js/translated/part.js:182 +#: templates/js/translated/part.js:178 msgid "Select destination stock location" msgstr "" -#: templates/js/translated/part.js:193 +#: templates/js/translated/part.js:196 msgid "Copy Category Parameters" msgstr "" -#: templates/js/translated/part.js:194 +#: templates/js/translated/part.js:197 msgid "Copy parameter templates from selected part category" msgstr "" -#: templates/js/translated/part.js:202 +#: templates/js/translated/part.js:205 msgid "Add Supplier Data" msgstr "" -#: templates/js/translated/part.js:203 +#: templates/js/translated/part.js:206 msgid "Create initial supplier data for this part" msgstr "" -#: templates/js/translated/part.js:259 +#: templates/js/translated/part.js:262 msgid "Copy Image" msgstr "" -#: templates/js/translated/part.js:260 +#: templates/js/translated/part.js:263 msgid "Copy image from original part" msgstr "" -#: templates/js/translated/part.js:268 +#: templates/js/translated/part.js:271 msgid "Copy bill of materials from original part" msgstr "" -#: templates/js/translated/part.js:275 +#: templates/js/translated/part.js:278 msgid "Copy Parameters" msgstr "" -#: templates/js/translated/part.js:276 +#: templates/js/translated/part.js:279 msgid "Copy parameter data from original part" msgstr "" -#: templates/js/translated/part.js:289 +#: templates/js/translated/part.js:292 msgid "Parent part category" msgstr "" -#: templates/js/translated/part.js:333 +#: templates/js/translated/part.js:336 msgid "Edit Part" msgstr "" -#: templates/js/translated/part.js:335 +#: templates/js/translated/part.js:338 msgid "Part edited" msgstr "" -#: templates/js/translated/part.js:403 +#: templates/js/translated/part.js:410 msgid "You are subscribed to notifications for this item" msgstr "" -#: templates/js/translated/part.js:405 +#: templates/js/translated/part.js:412 msgid "You have subscribed to notifications for this item" msgstr "" -#: templates/js/translated/part.js:410 +#: templates/js/translated/part.js:417 msgid "Subscribe to notifications for this item" msgstr "" -#: templates/js/translated/part.js:412 +#: templates/js/translated/part.js:419 msgid "You have unsubscribed to notifications for this item" msgstr "" -#: templates/js/translated/part.js:441 templates/js/translated/part.js:526 +#: templates/js/translated/part.js:448 templates/js/translated/part.js:533 msgid "Trackable part" msgstr "" -#: templates/js/translated/part.js:445 templates/js/translated/part.js:530 +#: templates/js/translated/part.js:452 templates/js/translated/part.js:537 msgid "Virtual part" msgstr "" -#: templates/js/translated/part.js:457 +#: templates/js/translated/part.js:464 msgid "Subscribed part" msgstr "" -#: templates/js/translated/part.js:461 +#: templates/js/translated/part.js:468 msgid "Salable part" msgstr "" -#: templates/js/translated/part.js:576 +#: templates/js/translated/part.js:583 msgid "No variants found" msgstr "" -#: templates/js/translated/part.js:765 +#: templates/js/translated/part.js:946 msgid "Delete part relationship" msgstr "" -#: templates/js/translated/part.js:789 +#: templates/js/translated/part.js:970 msgid "Delete Part Relationship" msgstr "" -#: templates/js/translated/part.js:856 templates/js/translated/part.js:1116 +#: templates/js/translated/part.js:1037 templates/js/translated/part.js:1297 msgid "No parts found" msgstr "" -#: templates/js/translated/part.js:1026 +#: templates/js/translated/part.js:1207 msgid "No category" msgstr "" -#: templates/js/translated/part.js:1049 +#: templates/js/translated/part.js:1230 #: templates/js/translated/table_filters.js:381 msgid "Low stock" msgstr "" -#: templates/js/translated/part.js:1140 templates/js/translated/part.js:1312 -#: templates/js/translated/stock.js:1832 +#: templates/js/translated/part.js:1321 templates/js/translated/part.js:1493 +#: templates/js/translated/stock.js:1914 msgid "Display as list" msgstr "" -#: templates/js/translated/part.js:1156 +#: templates/js/translated/part.js:1337 msgid "Display as grid" msgstr "" -#: templates/js/translated/part.js:1331 templates/js/translated/stock.js:1851 +#: templates/js/translated/part.js:1512 templates/js/translated/stock.js:1933 msgid "Display as tree" msgstr "" -#: templates/js/translated/part.js:1395 +#: templates/js/translated/part.js:1576 msgid "Subscribed category" msgstr "" -#: templates/js/translated/part.js:1409 templates/js/translated/stock.js:1895 +#: templates/js/translated/part.js:1590 templates/js/translated/stock.js:1977 msgid "Path" msgstr "" -#: templates/js/translated/part.js:1453 +#: templates/js/translated/part.js:1634 msgid "No test templates matching query" msgstr "" -#: templates/js/translated/part.js:1504 templates/js/translated/stock.js:816 +#: templates/js/translated/part.js:1685 templates/js/translated/stock.js:898 msgid "Edit test result" msgstr "" -#: templates/js/translated/part.js:1505 templates/js/translated/stock.js:817 +#: templates/js/translated/part.js:1686 templates/js/translated/stock.js:899 msgid "Delete test result" msgstr "" -#: templates/js/translated/part.js:1511 +#: templates/js/translated/part.js:1692 msgid "This test is defined for a parent part" msgstr "" -#: templates/js/translated/part.js:1533 +#: templates/js/translated/part.js:1714 msgid "Edit Test Result Template" msgstr "" -#: templates/js/translated/part.js:1547 +#: templates/js/translated/part.js:1728 msgid "Delete Test Result Template" msgstr "" -#: templates/js/translated/part.js:1572 +#: templates/js/translated/part.js:1753 #, python-brace-format msgid "No ${human_name} information found" msgstr "" -#: templates/js/translated/part.js:1627 +#: templates/js/translated/part.js:1808 #, python-brace-format msgid "Edit ${human_name}" msgstr "" -#: templates/js/translated/part.js:1628 +#: templates/js/translated/part.js:1809 #, python-brace-format msgid "Delete ${human_name}" msgstr "" -#: templates/js/translated/part.js:1729 +#: templates/js/translated/part.js:1910 msgid "Single Price" msgstr "" -#: templates/js/translated/part.js:1748 +#: templates/js/translated/part.js:1929 msgid "Single Price Difference" msgstr "" @@ -7930,276 +7964,300 @@ msgstr "" msgid "Sales Order(s) must be selected before printing report" msgstr "" -#: templates/js/translated/stock.js:70 +#: templates/js/translated/stock.js:71 msgid "Serialize Stock Item" msgstr "" -#: templates/js/translated/stock.js:88 templates/js/translated/stock.js:167 +#: templates/js/translated/stock.js:89 templates/js/translated/stock.js:168 msgid "Next available serial number" msgstr "" -#: templates/js/translated/stock.js:90 templates/js/translated/stock.js:169 +#: templates/js/translated/stock.js:91 templates/js/translated/stock.js:170 msgid "Latest serial number" msgstr "" -#: templates/js/translated/stock.js:104 +#: templates/js/translated/stock.js:105 msgid "Parent stock location" msgstr "" -#: templates/js/translated/stock.js:140 +#: templates/js/translated/stock.js:141 msgid "New Stock Location" msgstr "" -#: templates/js/translated/stock.js:180 +#: templates/js/translated/stock.js:181 msgid "This part cannot be serialized" msgstr "" -#: templates/js/translated/stock.js:219 +#: templates/js/translated/stock.js:220 msgid "Enter initial quantity for this stock item" msgstr "" -#: templates/js/translated/stock.js:225 +#: templates/js/translated/stock.js:226 msgid "Enter serial numbers for new stock (or leave blank)" msgstr "" -#: templates/js/translated/stock.js:368 +#: templates/js/translated/stock.js:369 msgid "Created new stock item" msgstr "" -#: templates/js/translated/stock.js:381 +#: templates/js/translated/stock.js:382 msgid "Created multiple stock items" msgstr "" -#: templates/js/translated/stock.js:420 +#: templates/js/translated/stock.js:407 +msgid "Find Serial Number" +msgstr "" + +#: templates/js/translated/stock.js:411 templates/js/translated/stock.js:412 +msgid "Enter serial number" +msgstr "" + +#: templates/js/translated/stock.js:428 +msgid "Enter a serial number" +msgstr "" + +#: templates/js/translated/stock.js:448 +msgid "No matching serial number" +msgstr "" + +#: templates/js/translated/stock.js:457 +msgid "More than one matching result found" +msgstr "" + +#: templates/js/translated/stock.js:502 msgid "Export Stock" msgstr "" -#: templates/js/translated/stock.js:431 +#: templates/js/translated/stock.js:513 msgid "Include Sublocations" msgstr "" -#: templates/js/translated/stock.js:432 +#: templates/js/translated/stock.js:514 msgid "Include stock items in sublocations" msgstr "" -#: templates/js/translated/stock.js:474 +#: templates/js/translated/stock.js:556 msgid "Transfer Stock" msgstr "" -#: templates/js/translated/stock.js:475 +#: templates/js/translated/stock.js:557 msgid "Move" msgstr "" -#: templates/js/translated/stock.js:481 +#: templates/js/translated/stock.js:563 msgid "Count Stock" msgstr "" -#: templates/js/translated/stock.js:482 +#: templates/js/translated/stock.js:564 msgid "Count" msgstr "" -#: templates/js/translated/stock.js:486 +#: templates/js/translated/stock.js:568 msgid "Remove Stock" msgstr "" -#: templates/js/translated/stock.js:487 +#: templates/js/translated/stock.js:569 msgid "Take" msgstr "" -#: templates/js/translated/stock.js:491 +#: templates/js/translated/stock.js:573 msgid "Add Stock" msgstr "" -#: templates/js/translated/stock.js:492 users/models.py:200 +#: templates/js/translated/stock.js:574 users/models.py:200 msgid "Add" msgstr "" -#: templates/js/translated/stock.js:496 templates/stock_table.html:56 +#: templates/js/translated/stock.js:578 templates/stock_table.html:56 msgid "Delete Stock" msgstr "" -#: templates/js/translated/stock.js:585 +#: templates/js/translated/stock.js:667 msgid "Quantity cannot be adjusted for serialized stock" msgstr "" -#: templates/js/translated/stock.js:585 +#: templates/js/translated/stock.js:667 msgid "Specify stock quantity" msgstr "" -#: templates/js/translated/stock.js:625 +#: templates/js/translated/stock.js:707 msgid "You must select at least one available stock item" msgstr "" -#: templates/js/translated/stock.js:783 +#: templates/js/translated/stock.js:865 msgid "PASS" msgstr "" -#: templates/js/translated/stock.js:785 +#: templates/js/translated/stock.js:867 msgid "FAIL" msgstr "" -#: templates/js/translated/stock.js:790 +#: templates/js/translated/stock.js:872 msgid "NO RESULT" msgstr "" -#: templates/js/translated/stock.js:812 +#: templates/js/translated/stock.js:894 msgid "Add test result" msgstr "" -#: templates/js/translated/stock.js:838 +#: templates/js/translated/stock.js:920 msgid "No test results found" msgstr "" -#: templates/js/translated/stock.js:895 +#: templates/js/translated/stock.js:977 msgid "Test Date" msgstr "" -#: templates/js/translated/stock.js:1002 +#: templates/js/translated/stock.js:1084 msgid "In production" msgstr "" -#: templates/js/translated/stock.js:1006 +#: templates/js/translated/stock.js:1088 msgid "Installed in Stock Item" msgstr "" -#: templates/js/translated/stock.js:1010 +#: templates/js/translated/stock.js:1092 msgid "Shipped to customer" msgstr "" -#: templates/js/translated/stock.js:1014 +#: templates/js/translated/stock.js:1096 msgid "Assigned to Sales Order" msgstr "" -#: templates/js/translated/stock.js:1020 +#: templates/js/translated/stock.js:1102 msgid "No stock location set" msgstr "" -#: templates/js/translated/stock.js:1178 +#: templates/js/translated/stock.js:1260 msgid "Stock item is in production" msgstr "" -#: templates/js/translated/stock.js:1183 +#: templates/js/translated/stock.js:1265 msgid "Stock item assigned to sales order" msgstr "" -#: templates/js/translated/stock.js:1186 +#: templates/js/translated/stock.js:1268 msgid "Stock item assigned to customer" msgstr "" -#: templates/js/translated/stock.js:1190 +#: templates/js/translated/stock.js:1272 msgid "Stock item has expired" msgstr "" -#: templates/js/translated/stock.js:1192 +#: templates/js/translated/stock.js:1274 msgid "Stock item will expire soon" msgstr "" -#: templates/js/translated/stock.js:1196 +#: templates/js/translated/stock.js:1278 msgid "Stock item has been allocated" msgstr "" -#: templates/js/translated/stock.js:1200 +#: templates/js/translated/stock.js:1282 msgid "Stock item has been installed in another item" msgstr "" -#: templates/js/translated/stock.js:1207 +#: templates/js/translated/stock.js:1289 msgid "Stock item has been rejected" msgstr "" -#: templates/js/translated/stock.js:1209 +#: templates/js/translated/stock.js:1291 msgid "Stock item is lost" msgstr "" -#: templates/js/translated/stock.js:1211 +#: templates/js/translated/stock.js:1293 msgid "Stock item is destroyed" msgstr "" -#: templates/js/translated/stock.js:1215 +#: templates/js/translated/stock.js:1297 #: templates/js/translated/table_filters.js:183 msgid "Depleted" msgstr "" -#: templates/js/translated/stock.js:1265 +#: templates/js/translated/stock.js:1347 msgid "Stocktake" msgstr "" -#: templates/js/translated/stock.js:1338 +#: templates/js/translated/stock.js:1420 msgid "Supplier part not specified" msgstr "" -#: templates/js/translated/stock.js:1376 +#: templates/js/translated/stock.js:1458 msgid "No stock items matching query" msgstr "" -#: templates/js/translated/stock.js:1397 templates/js/translated/stock.js:1445 +#: templates/js/translated/stock.js:1479 templates/js/translated/stock.js:1527 msgid "items" msgstr "" -#: templates/js/translated/stock.js:1485 +#: templates/js/translated/stock.js:1567 msgid "batches" msgstr "" -#: templates/js/translated/stock.js:1512 +#: templates/js/translated/stock.js:1594 msgid "locations" msgstr "" -#: templates/js/translated/stock.js:1514 +#: templates/js/translated/stock.js:1596 msgid "Undefined location" msgstr "" -#: templates/js/translated/stock.js:1688 +#: templates/js/translated/stock.js:1770 msgid "Set Stock Status" msgstr "" -#: templates/js/translated/stock.js:1702 +#: templates/js/translated/stock.js:1784 msgid "Select Status Code" msgstr "" -#: templates/js/translated/stock.js:1703 +#: templates/js/translated/stock.js:1785 msgid "Status code must be selected" msgstr "" -#: templates/js/translated/stock.js:1927 +#: templates/js/translated/stock.js:2009 msgid "Invalid date" msgstr "" -#: templates/js/translated/stock.js:1974 +#: templates/js/translated/stock.js:2031 +msgid "Details" +msgstr "" + +#: templates/js/translated/stock.js:2056 msgid "Location no longer exists" msgstr "" -#: templates/js/translated/stock.js:1993 +#: templates/js/translated/stock.js:2075 msgid "Purchase order no longer exists" msgstr "" -#: templates/js/translated/stock.js:2012 +#: templates/js/translated/stock.js:2094 msgid "Customer no longer exists" msgstr "" -#: templates/js/translated/stock.js:2030 +#: templates/js/translated/stock.js:2112 msgid "Stock item no longer exists" msgstr "" -#: templates/js/translated/stock.js:2053 +#: templates/js/translated/stock.js:2135 msgid "Added" msgstr "" -#: templates/js/translated/stock.js:2061 +#: templates/js/translated/stock.js:2143 msgid "Removed" msgstr "" -#: templates/js/translated/stock.js:2102 +#: templates/js/translated/stock.js:2184 msgid "Edit tracking entry" msgstr "" -#: templates/js/translated/stock.js:2103 +#: templates/js/translated/stock.js:2185 msgid "Delete tracking entry" msgstr "" -#: templates/js/translated/stock.js:2154 +#: templates/js/translated/stock.js:2236 msgid "No installed items" msgstr "" -#: templates/js/translated/stock.js:2205 +#: templates/js/translated/stock.js:2287 msgid "Uninstall Stock Item" msgstr "" diff --git a/InvenTree/locale/ko/LC_MESSAGES/django.po b/InvenTree/locale/ko/LC_MESSAGES/django.po index d9767918dd..226941ff9f 100644 --- a/InvenTree/locale/ko/LC_MESSAGES/django.po +++ b/InvenTree/locale/ko/LC_MESSAGES/django.po @@ -2,8 +2,8 @@ msgid "" msgstr "" "Project-Id-Version: inventree\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2021-11-30 21:49+0000\n" -"PO-Revision-Date: 2021-11-30 21:51\n" +"POT-Creation-Date: 2021-12-03 10:37+0000\n" +"PO-Revision-Date: 2021-12-03 11:25\n" "Last-Translator: \n" "Language-Team: Korean\n" "Language: ko_KR\n" @@ -114,129 +114,130 @@ msgstr "" msgid "Number of unique serial number ({s}) must match quantity ({q})" msgstr "" -#: InvenTree/models.py:114 +#: InvenTree/models.py:120 msgid "Missing file" msgstr "" -#: InvenTree/models.py:115 +#: InvenTree/models.py:121 msgid "Missing external link" msgstr "" -#: InvenTree/models.py:126 stock/models.py:1874 +#: InvenTree/models.py:132 stock/models.py:1864 #: templates/js/translated/attachment.js:117 msgid "Attachment" msgstr "" -#: InvenTree/models.py:127 +#: InvenTree/models.py:133 msgid "Select file to attach" msgstr "" -#: InvenTree/models.py:133 company/models.py:131 company/models.py:348 +#: InvenTree/models.py:139 company/models.py:131 company/models.py:348 #: company/models.py:564 order/models.py:163 part/models.py:797 #: report/templates/report/inventree_build_order_base.html:165 #: templates/js/translated/company.js:537 -#: templates/js/translated/company.js:826 templates/js/translated/part.js:1077 +#: templates/js/translated/company.js:826 templates/js/translated/part.js:1258 msgid "Link" msgstr "" -#: InvenTree/models.py:134 build/models.py:330 part/models.py:798 -#: stock/models.py:540 +#: InvenTree/models.py:140 build/models.py:330 part/models.py:798 +#: stock/models.py:530 msgid "Link to external URL" msgstr "" -#: InvenTree/models.py:137 templates/js/translated/attachment.js:161 +#: InvenTree/models.py:143 templates/js/translated/attachment.js:161 msgid "Comment" msgstr "" -#: InvenTree/models.py:137 +#: InvenTree/models.py:143 msgid "File comment" msgstr "" -#: InvenTree/models.py:143 InvenTree/models.py:144 common/models.py:1185 +#: InvenTree/models.py:149 InvenTree/models.py:150 common/models.py:1185 #: common/models.py:1186 part/models.py:2205 part/models.py:2225 #: report/templates/report/inventree_test_report_base.html:96 -#: templates/js/translated/stock.js:2084 +#: templates/js/translated/stock.js:2166 msgid "User" msgstr "" -#: InvenTree/models.py:147 +#: InvenTree/models.py:153 msgid "upload date" msgstr "" -#: InvenTree/models.py:170 +#: InvenTree/models.py:176 msgid "Filename must not be empty" msgstr "" -#: InvenTree/models.py:193 +#: InvenTree/models.py:199 msgid "Invalid attachment directory" msgstr "" -#: InvenTree/models.py:203 +#: InvenTree/models.py:209 #, python-brace-format msgid "Filename contains illegal character '{c}'" msgstr "" -#: InvenTree/models.py:206 +#: InvenTree/models.py:212 msgid "Filename missing extension" msgstr "" -#: InvenTree/models.py:213 +#: InvenTree/models.py:219 msgid "Attachment with this filename already exists" msgstr "" -#: InvenTree/models.py:220 +#: InvenTree/models.py:226 msgid "Error renaming file" msgstr "" -#: InvenTree/models.py:255 +#: InvenTree/models.py:261 msgid "Invalid choice" msgstr "" -#: InvenTree/models.py:271 InvenTree/models.py:272 company/models.py:415 +#: InvenTree/models.py:277 InvenTree/models.py:278 company/models.py:415 #: label/models.py:112 part/models.py:741 part/models.py:2389 -#: part/templates/part/detail.html:25 report/models.py:181 -#: templates/InvenTree/settings/settings.html:259 -#: templates/js/translated/company.js:638 templates/js/translated/part.js:499 -#: templates/js/translated/part.js:636 templates/js/translated/part.js:1384 -#: templates/js/translated/stock.js:1877 +#: report/models.py:181 templates/InvenTree/settings/settings.html:259 +#: templates/js/translated/company.js:638 templates/js/translated/part.js:506 +#: templates/js/translated/part.js:643 templates/js/translated/part.js:1565 +#: templates/js/translated/stock.js:1959 msgid "Name" msgstr "" -#: InvenTree/models.py:278 build/models.py:207 +#: InvenTree/models.py:284 build/models.py:207 #: build/templates/build/detail.html:25 company/models.py:354 -#: company/models.py:570 company/templates/company/manufacturer_part.html:80 -#: company/templates/company/supplier_part.html:81 label/models.py:119 -#: order/models.py:161 part/models.py:764 part/templates/part/detail.html:30 +#: company/models.py:570 company/templates/company/company_base.html:68 +#: company/templates/company/manufacturer_part.html:76 +#: company/templates/company/supplier_part.html:73 label/models.py:119 +#: order/models.py:161 part/models.py:764 part/templates/part/category.html:70 +#: part/templates/part/part_base.html:163 #: part/templates/part/set_category.html:14 report/models.py:194 #: report/models.py:553 report/models.py:592 #: report/templates/report/inventree_build_order_base.html:118 -#: stock/templates/stock/location.html:108 templates/js/translated/bom.js:215 +#: stock/templates/stock/location.html:89 templates/js/translated/bom.js:215 #: templates/js/translated/bom.js:428 templates/js/translated/build.js:1621 #: templates/js/translated/company.js:345 #: templates/js/translated/company.js:548 -#: templates/js/translated/company.js:837 templates/js/translated/order.js:673 -#: templates/js/translated/order.js:855 templates/js/translated/order.js:1091 -#: templates/js/translated/part.js:558 templates/js/translated/part.js:752 -#: templates/js/translated/part.js:837 templates/js/translated/part.js:1007 -#: templates/js/translated/part.js:1403 templates/js/translated/part.js:1472 -#: templates/js/translated/stock.js:1151 templates/js/translated/stock.js:1889 -#: templates/js/translated/stock.js:1934 +#: templates/js/translated/company.js:837 templates/js/translated/order.js:680 +#: templates/js/translated/order.js:854 templates/js/translated/order.js:1090 +#: templates/js/translated/part.js:565 templates/js/translated/part.js:933 +#: templates/js/translated/part.js:1018 templates/js/translated/part.js:1188 +#: templates/js/translated/part.js:1584 templates/js/translated/part.js:1653 +#: templates/js/translated/stock.js:1233 templates/js/translated/stock.js:1971 +#: templates/js/translated/stock.js:2016 msgid "Description" msgstr "" -#: InvenTree/models.py:279 +#: InvenTree/models.py:285 msgid "Description (optional)" msgstr "" -#: InvenTree/models.py:287 +#: InvenTree/models.py:293 msgid "parent" msgstr "" -#: InvenTree/serializers.py:62 part/models.py:2674 +#: InvenTree/serializers.py:65 part/models.py:2674 msgid "Must be a valid number" msgstr "" -#: InvenTree/serializers.py:285 +#: InvenTree/serializers.py:299 msgid "Filename" msgstr "" @@ -361,7 +362,7 @@ msgid "Returned" msgstr "" #: InvenTree/status_codes.py:143 -#: order/templates/order/sales_order_base.html:147 +#: order/templates/order/sales_order_base.html:148 msgid "Shipped" msgstr "" @@ -566,7 +567,7 @@ msgid "Barcode associated with StockItem" msgstr "" #: build/forms.py:36 build/models.py:1283 -#: build/templates/build/build_base.html:124 +#: build/templates/build/build_base.html:132 #: build/templates/build/detail.html:35 common/models.py:1225 #: company/forms.py:42 company/templates/company/supplier_part.html:251 #: order/forms.py:102 order/models.py:729 order/models.py:991 @@ -574,26 +575,27 @@ msgstr "" #: order/templates/order/order_wizard/select_parts.html:34 part/forms.py:223 #: part/forms.py:239 part/forms.py:255 part/models.py:2576 #: part/templates/part/bom_upload/match_parts.html:31 -#: part/templates/part/detail.html:1076 part/templates/part/detail.html:1162 +#: part/templates/part/detail.html:967 part/templates/part/detail.html:1053 #: part/templates/part/part_pricing.html:16 #: report/templates/report/inventree_build_order_base.html:114 #: report/templates/report/inventree_po_report.html:91 #: report/templates/report/inventree_so_report.html:91 #: report/templates/report/inventree_test_report_base.html:81 #: report/templates/report/inventree_test_report_base.html:139 -#: stock/forms.py:156 stock/serializers.py:286 -#: stock/templates/stock/item_base.html:256 +#: stock/forms.py:156 stock/serializers.py:291 +#: stock/templates/stock/item_base.html:174 #: templates/js/translated/barcode.js:385 templates/js/translated/bom.js:443 #: templates/js/translated/build.js:235 templates/js/translated/build.js:435 #: templates/js/translated/build.js:629 templates/js/translated/build.js:639 #: templates/js/translated/build.js:1015 templates/js/translated/build.js:1362 #: templates/js/translated/model_renderers.js:99 -#: templates/js/translated/order.js:892 templates/js/translated/order.js:1205 -#: templates/js/translated/order.js:1283 templates/js/translated/order.js:1290 -#: templates/js/translated/order.js:1379 templates/js/translated/order.js:1479 -#: templates/js/translated/part.js:1615 templates/js/translated/part.js:1738 -#: templates/js/translated/part.js:1816 templates/js/translated/stock.js:377 -#: templates/js/translated/stock.js:2069 templates/js/translated/stock.js:2171 +#: templates/js/translated/order.js:891 templates/js/translated/order.js:1204 +#: templates/js/translated/order.js:1282 templates/js/translated/order.js:1289 +#: templates/js/translated/order.js:1378 templates/js/translated/order.js:1478 +#: templates/js/translated/part.js:843 templates/js/translated/part.js:1796 +#: templates/js/translated/part.js:1919 templates/js/translated/part.js:1997 +#: templates/js/translated/stock.js:378 templates/js/translated/stock.js:2151 +#: templates/js/translated/stock.js:2253 msgid "Quantity" msgstr "" @@ -602,8 +604,8 @@ msgid "Enter quantity for build output" msgstr "" #: build/forms.py:41 order/forms.py:96 stock/forms.py:95 -#: stock/serializers.py:307 templates/js/translated/stock.js:224 -#: templates/js/translated/stock.js:378 +#: stock/serializers.py:312 templates/js/translated/stock.js:225 +#: templates/js/translated/stock.js:379 msgid "Serial Numbers" msgstr "" @@ -646,7 +648,7 @@ msgstr "" #: build/templates/build/index.html:8 build/templates/build/index.html:12 #: order/templates/order/sales_order_detail.html:42 #: order/templates/order/so_sidebar.html:7 -#: part/templates/part/part_sidebar.html:22 templates/InvenTree/index.html:221 +#: part/templates/part/part_sidebar.html:20 templates/InvenTree/index.html:221 #: templates/InvenTree/search.html:145 #: templates/InvenTree/settings/sidebar.html:42 users/models.py:44 msgid "Build Orders" @@ -662,7 +664,7 @@ msgstr "" #: report/templates/report/inventree_po_report.html:92 #: report/templates/report/inventree_so_report.html:92 #: templates/js/translated/bom.js:435 templates/js/translated/build.js:1119 -#: templates/js/translated/order.js:886 templates/js/translated/order.js:1473 +#: templates/js/translated/order.js:885 templates/js/translated/order.js:1472 msgid "Reference" msgstr "" @@ -670,7 +672,7 @@ msgstr "" msgid "Brief description of the build" msgstr "" -#: build/models.py:219 build/templates/build/build_base.html:156 +#: build/models.py:219 build/templates/build/build_base.html:164 #: build/templates/build/detail.html:88 msgid "Parent Build" msgstr "" @@ -679,7 +681,7 @@ msgstr "" msgid "BuildOrder to which this build is allocated" msgstr "" -#: build/models.py:225 build/templates/build/build_base.html:119 +#: build/models.py:225 build/templates/build/build_base.html:77 #: build/templates/build/detail.html:30 company/models.py:705 #: order/models.py:789 order/models.py:860 #: order/templates/order/order_wizard/select_parts.html:32 part/models.py:357 @@ -700,10 +702,10 @@ msgstr "" #: templates/js/translated/build.js:988 templates/js/translated/build.js:1359 #: templates/js/translated/build.js:1626 templates/js/translated/company.js:489 #: templates/js/translated/company.js:746 templates/js/translated/order.js:426 -#: templates/js/translated/order.js:840 templates/js/translated/order.js:1457 -#: templates/js/translated/part.js:737 templates/js/translated/part.js:818 -#: templates/js/translated/part.js:985 templates/js/translated/stock.js:508 -#: templates/js/translated/stock.js:1108 templates/js/translated/stock.js:2159 +#: templates/js/translated/order.js:839 templates/js/translated/order.js:1456 +#: templates/js/translated/part.js:918 templates/js/translated/part.js:999 +#: templates/js/translated/part.js:1166 templates/js/translated/stock.js:590 +#: templates/js/translated/stock.js:1190 templates/js/translated/stock.js:2241 msgid "Part" msgstr "" @@ -751,7 +753,7 @@ msgstr "" msgid "Number of stock items which have been completed" msgstr "" -#: build/models.py:277 part/templates/part/part_base.html:216 +#: build/models.py:277 part/templates/part/part_base.html:234 msgid "Build Status" msgstr "" @@ -759,7 +761,7 @@ msgstr "" msgid "Build status code" msgstr "" -#: build/models.py:285 stock/models.py:544 +#: build/models.py:285 stock/models.py:534 msgid "Batch Code" msgstr "" @@ -768,7 +770,7 @@ msgid "Batch code for this build output" msgstr "" #: build/models.py:292 order/models.py:165 part/models.py:936 -#: part/templates/part/detail.html:86 templates/js/translated/order.js:1104 +#: part/templates/part/part_base.html:313 templates/js/translated/order.js:1103 msgid "Creation Date" msgstr "" @@ -797,12 +799,12 @@ msgstr "" msgid "User who issued this build order" msgstr "" -#: build/models.py:323 build/templates/build/build_base.html:177 +#: build/models.py:323 build/templates/build/build_base.html:185 #: build/templates/build/detail.html:116 order/models.py:179 -#: order/templates/order/order_base.html:154 -#: order/templates/order/sales_order_base.html:161 part/models.py:940 +#: order/templates/order/order_base.html:158 +#: order/templates/order/sales_order_base.html:162 part/models.py:940 #: report/templates/report/inventree_build_order_base.html:159 -#: templates/js/translated/build.js:1680 templates/js/translated/order.js:700 +#: templates/js/translated/build.js:1680 templates/js/translated/order.js:699 msgid "Responsible" msgstr "" @@ -811,10 +813,10 @@ msgid "User responsible for this build order" msgstr "" #: build/models.py:329 build/templates/build/detail.html:102 -#: company/templates/company/manufacturer_part.html:87 -#: company/templates/company/supplier_part.html:88 -#: part/templates/part/detail.html:80 stock/models.py:538 -#: stock/templates/stock/item_base.html:346 +#: company/templates/company/manufacturer_part.html:102 +#: company/templates/company/supplier_part.html:126 +#: part/templates/part/part_base.html:354 stock/models.py:528 +#: stock/templates/stock/item_base.html:374 msgid "External Link" msgstr "" @@ -824,15 +826,15 @@ msgstr "" #: order/models.py:183 order/models.py:738 #: order/templates/order/po_sidebar.html:11 #: order/templates/order/so_sidebar.html:11 part/models.py:925 -#: part/templates/part/detail.html:223 part/templates/part/part_sidebar.html:52 +#: part/templates/part/detail.html:116 part/templates/part/part_sidebar.html:50 #: report/templates/report/inventree_build_order_base.html:173 -#: stock/forms.py:154 stock/forms.py:204 stock/forms.py:238 stock/models.py:610 -#: stock/models.py:1774 stock/models.py:1880 stock/serializers.py:325 -#: stock/serializers.py:583 stock/templates/stock/stock_sidebar.html:21 +#: stock/forms.py:154 stock/forms.py:204 stock/forms.py:238 stock/models.py:600 +#: stock/models.py:1764 stock/models.py:1870 stock/serializers.py:330 +#: stock/serializers.py:588 stock/templates/stock/stock_sidebar.html:21 #: templates/js/translated/barcode.js:58 templates/js/translated/bom.js:599 -#: templates/js/translated/company.js:842 templates/js/translated/order.js:985 -#: templates/js/translated/order.js:1583 templates/js/translated/stock.js:891 -#: templates/js/translated/stock.js:1370 +#: templates/js/translated/company.js:842 templates/js/translated/order.js:984 +#: templates/js/translated/order.js:1582 templates/js/translated/stock.js:973 +#: templates/js/translated/stock.js:1452 msgid "Notes" msgstr "" @@ -877,7 +879,7 @@ msgstr "" msgid "Selected stock item not found in BOM" msgstr "" -#: build/models.py:1253 stock/templates/stock/item_base.html:318 +#: build/models.py:1253 stock/templates/stock/item_base.html:346 #: templates/InvenTree/search.html:143 templates/js/translated/build.js:1599 #: templates/navbar.html:33 msgid "Build" @@ -890,11 +892,11 @@ msgstr "" #: build/models.py:1270 build/serializers.py:328 #: stock/templates/stock/item_base.html:8 #: stock/templates/stock/item_base.html:16 -#: stock/templates/stock/item_base.html:340 +#: stock/templates/stock/item_base.html:368 #: templates/js/translated/build.js:408 templates/js/translated/build.js:413 #: templates/js/translated/build.js:1361 templates/js/translated/build.js:1742 -#: templates/js/translated/order.js:1178 templates/js/translated/order.js:1183 -#: templates/js/translated/stock.js:2020 +#: templates/js/translated/order.js:1177 templates/js/translated/order.js:1182 +#: templates/js/translated/stock.js:2102 msgid "Stock Item" msgstr "" @@ -934,16 +936,16 @@ msgstr "" msgid "This build output is not fully allocated" msgstr "" -#: build/serializers.py:190 order/serializers.py:219 order/serializers.py:287 -#: stock/forms.py:236 stock/serializers.py:318 stock/serializers.py:685 -#: stock/templates/stock/item_base.html:286 +#: build/serializers.py:190 order/serializers.py:228 order/serializers.py:296 +#: stock/forms.py:236 stock/serializers.py:323 stock/serializers.py:690 +#: stock/templates/stock/item_base.html:314 #: templates/js/translated/barcode.js:384 #: templates/js/translated/barcode.js:557 templates/js/translated/build.js:420 #: templates/js/translated/build.js:1027 templates/js/translated/order.js:348 -#: templates/js/translated/order.js:1190 templates/js/translated/order.js:1298 -#: templates/js/translated/order.js:1304 templates/js/translated/part.js:181 -#: templates/js/translated/stock.js:510 templates/js/translated/stock.js:1251 -#: templates/js/translated/stock.js:1961 +#: templates/js/translated/order.js:1189 templates/js/translated/order.js:1297 +#: templates/js/translated/order.js:1303 templates/js/translated/part.js:177 +#: templates/js/translated/stock.js:592 templates/js/translated/stock.js:1333 +#: templates/js/translated/stock.js:2043 msgid "Location" msgstr "" @@ -951,13 +953,13 @@ msgstr "" msgid "Location for completed build outputs" msgstr "" -#: build/serializers.py:197 build/templates/build/build_base.html:129 +#: build/serializers.py:197 build/templates/build/build_base.html:137 #: build/templates/build/detail.html:63 order/models.py:572 -#: order/serializers.py:240 stock/templates/stock/item_base.html:409 +#: order/serializers.py:249 stock/templates/stock/item_base.html:180 #: templates/js/translated/barcode.js:140 templates/js/translated/build.js:1655 -#: templates/js/translated/order.js:431 templates/js/translated/order.js:677 -#: templates/js/translated/order.js:1096 templates/js/translated/stock.js:1226 -#: templates/js/translated/stock.js:2038 templates/js/translated/stock.js:2187 +#: templates/js/translated/order.js:431 templates/js/translated/order.js:1095 +#: templates/js/translated/stock.js:1308 templates/js/translated/stock.js:2120 +#: templates/js/translated/stock.js:2269 msgid "Status" msgstr "" @@ -986,8 +988,8 @@ msgstr "" msgid "Item must be in stock" msgstr "" -#: build/serializers.py:348 order/models.py:316 order/serializers.py:233 -#: stock/models.py:381 stock/models.py:1103 stock/serializers.py:298 +#: build/serializers.py:348 order/models.py:316 order/serializers.py:242 +#: stock/models.py:371 stock/models.py:1093 stock/serializers.py:303 msgid "Quantity must be greater than zero" msgstr "" @@ -1031,7 +1033,7 @@ msgid "Edit Build" msgstr "" #: build/templates/build/build_base.html:56 -#: build/templates/build/build_base.html:207 build/views.py:56 +#: build/templates/build/build_base.html:215 build/views.py:56 msgid "Cancel Build" msgstr "" @@ -1041,93 +1043,95 @@ msgstr "" #: build/templates/build/build_base.html:64 #: build/templates/build/build_base.html:65 -#: build/templates/build/build_base.html:223 +#: build/templates/build/build_base.html:231 msgid "Complete Build" msgstr "" -#: build/templates/build/build_base.html:79 +#: build/templates/build/build_base.html:82 +msgid "Build Description" +msgstr "" + +#: build/templates/build/build_base.html:91 #, python-format msgid "This Build Order is allocated to Sales Order %(link)s" msgstr "" -#: build/templates/build/build_base.html:86 +#: build/templates/build/build_base.html:98 #, python-format msgid "This Build Order is a child of Build Order %(link)s" msgstr "" -#: build/templates/build/build_base.html:93 +#: build/templates/build/build_base.html:105 msgid "Build Order is ready to mark as completed" msgstr "" -#: build/templates/build/build_base.html:98 +#: build/templates/build/build_base.html:110 msgid "Build Order cannot be completed as outstanding outputs remain" msgstr "" -#: build/templates/build/build_base.html:103 +#: build/templates/build/build_base.html:115 msgid "Required build quantity has not yet been completed" msgstr "" -#: build/templates/build/build_base.html:108 +#: build/templates/build/build_base.html:120 msgid "Stock has not been fully allocated to this Build Order" msgstr "" -#: build/templates/build/build_base.html:138 +#: build/templates/build/build_base.html:146 #: build/templates/build/detail.html:132 -#: order/templates/order/order_base.html:140 -#: order/templates/order/sales_order_base.html:140 +#: order/templates/order/order_base.html:144 +#: order/templates/order/sales_order_base.html:141 #: report/templates/report/inventree_build_order_base.html:126 -#: templates/js/translated/build.js:1692 templates/js/translated/order.js:690 -#: templates/js/translated/order.js:1109 +#: templates/js/translated/build.js:1692 templates/js/translated/order.js:689 +#: templates/js/translated/order.js:1108 msgid "Target Date" msgstr "" -#: build/templates/build/build_base.html:143 +#: build/templates/build/build_base.html:151 #, python-format msgid "This build was due on %(target)s" msgstr "" -#: build/templates/build/build_base.html:143 -#: build/templates/build/build_base.html:188 -#: order/templates/order/order_base.html:81 -#: order/templates/order/order_base.html:102 -#: order/templates/order/sales_order_base.html:78 -#: order/templates/order/sales_order_base.html:107 +#: build/templates/build/build_base.html:151 +#: build/templates/build/build_base.html:196 +#: order/templates/order/order_base.html:98 +#: order/templates/order/sales_order_base.html:93 #: templates/js/translated/table_filters.js:294 #: templates/js/translated/table_filters.js:322 #: templates/js/translated/table_filters.js:339 msgid "Overdue" msgstr "" -#: build/templates/build/build_base.html:150 +#: build/templates/build/build_base.html:158 #: build/templates/build/detail.html:68 build/templates/build/detail.html:143 #: templates/js/translated/build.js:1641 #: templates/js/translated/table_filters.js:304 msgid "Completed" msgstr "" -#: build/templates/build/build_base.html:163 +#: build/templates/build/build_base.html:171 #: build/templates/build/detail.html:95 order/models.py:857 #: order/templates/order/sales_order_base.html:9 #: order/templates/order/sales_order_base.html:28 #: order/templates/order/sales_order_ship.html:25 #: report/templates/report/inventree_build_order_base.html:136 #: report/templates/report/inventree_so_report.html:77 -#: stock/templates/stock/item_base.html:280 -#: templates/js/translated/order.js:1051 +#: stock/templates/stock/item_base.html:308 +#: templates/js/translated/order.js:1050 msgid "Sales Order" msgstr "" -#: build/templates/build/build_base.html:170 +#: build/templates/build/build_base.html:178 #: build/templates/build/detail.html:109 #: report/templates/report/inventree_build_order_base.html:153 msgid "Issued By" msgstr "" -#: build/templates/build/build_base.html:215 +#: build/templates/build/build_base.html:223 msgid "Incomplete Outputs" msgstr "" -#: build/templates/build/build_base.html:216 +#: build/templates/build/build_base.html:224 msgid "Build Order cannot be completed as incomplete build outputs remain" msgstr "" @@ -1188,7 +1192,7 @@ msgid "Stock can be taken from any available location." msgstr "" #: build/templates/build/detail.html:50 order/models.py:811 stock/forms.py:150 -#: templates/js/translated/order.js:432 templates/js/translated/order.js:974 +#: templates/js/translated/order.js:432 templates/js/translated/order.js:973 msgid "Destination" msgstr "" @@ -1201,16 +1205,16 @@ msgid "Allocated Parts" msgstr "" #: build/templates/build/detail.html:81 -#: stock/templates/stock/item_base.html:304 -#: templates/js/translated/stock.js:1240 templates/js/translated/stock.js:2194 +#: stock/templates/stock/item_base.html:332 +#: templates/js/translated/stock.js:1322 templates/js/translated/stock.js:2276 #: templates/js/translated/table_filters.js:151 #: templates/js/translated/table_filters.js:233 msgid "Batch" msgstr "" #: build/templates/build/detail.html:127 -#: order/templates/order/order_base.html:127 -#: order/templates/order/sales_order_base.html:134 +#: order/templates/order/order_base.html:131 +#: order/templates/order/sales_order_base.html:135 #: templates/js/translated/build.js:1663 msgid "Created" msgstr "" @@ -1254,7 +1258,7 @@ msgstr "" #: build/templates/build/detail.html:185 #: company/templates/company/detail.html:38 #: company/templates/company/detail.html:85 order/views.py:509 -#: part/templates/part/category.html:166 +#: part/templates/part/category.html:173 msgid "Order Parts" msgstr "" @@ -1306,8 +1310,8 @@ msgstr "" #: order/templates/order/po_sidebar.html:9 #: order/templates/order/purchase_order_detail.html:60 #: order/templates/order/sales_order_detail.html:52 -#: order/templates/order/so_sidebar.html:9 part/templates/part/detail.html:300 -#: part/templates/part/part_sidebar.html:50 stock/templates/stock/item.html:95 +#: order/templates/order/so_sidebar.html:9 part/templates/part/detail.html:193 +#: part/templates/part/part_sidebar.html:48 stock/templates/stock/item.html:95 #: stock/templates/stock/stock_sidebar.html:19 msgid "Attachments" msgstr "" @@ -1323,7 +1327,7 @@ msgstr "" #: order/templates/order/purchase_order_detail.html:108 #: order/templates/order/sales_order_detail.html:72 #: order/templates/order/sales_order_detail.html:99 -#: part/templates/part/detail.html:227 stock/templates/stock/item.html:115 +#: part/templates/part/detail.html:120 stock/templates/stock/item.html:115 #: stock/templates/stock/item.html:205 msgid "Edit Notes" msgstr "" @@ -1336,7 +1340,7 @@ msgstr "" msgid "All untracked stock items have been allocated" msgstr "" -#: build/templates/build/index.html:18 part/templates/part/detail.html:407 +#: build/templates/build/index.html:18 part/templates/part/detail.html:300 msgid "New Build Order" msgstr "" @@ -1380,7 +1384,7 @@ msgstr "" msgid "Maximum output quantity is " msgstr "" -#: build/views.py:122 stock/serializers.py:356 stock/views.py:1290 +#: build/views.py:122 stock/serializers.py:361 stock/views.py:1290 msgid "Serial numbers already exist" msgstr "" @@ -1675,7 +1679,7 @@ msgid "Parts are trackable by default" msgstr "" #: common/models.py:745 part/models.py:920 -#: part/templates/part/part_base.html:144 +#: part/templates/part/part_base.html:147 #: templates/js/translated/table_filters.js:42 msgid "Virtual" msgstr "" @@ -2142,7 +2146,7 @@ msgstr "" #: common/models.py:1233 company/serializers.py:264 #: company/templates/company/supplier_part.html:256 -#: templates/js/translated/part.js:1620 +#: templates/js/translated/part.js:852 templates/js/translated/part.js:1801 msgid "Price" msgstr "" @@ -2206,7 +2210,7 @@ msgstr "" msgid "Description of the company" msgstr "" -#: company/models.py:112 company/templates/company/company_base.html:70 +#: company/models.py:112 company/templates/company/company_base.html:97 #: templates/js/translated/company.js:349 msgid "Website" msgstr "" @@ -2215,7 +2219,7 @@ msgstr "" msgid "Company website URL" msgstr "" -#: company/models.py:117 company/templates/company/company_base.html:88 +#: company/models.py:117 company/templates/company/company_base.html:115 msgid "Address" msgstr "" @@ -2231,7 +2235,7 @@ msgstr "" msgid "Contact phone number" msgstr "" -#: company/models.py:125 company/templates/company/company_base.html:102 +#: company/models.py:125 company/templates/company/company_base.html:129 #: templates/InvenTree/settings/user.html:47 msgid "Email" msgstr "" @@ -2240,7 +2244,7 @@ msgstr "" msgid "Contact email address" msgstr "" -#: company/models.py:128 company/templates/company/company_base.html:109 +#: company/models.py:128 company/templates/company/company_base.html:136 msgid "Contact" msgstr "" @@ -2281,7 +2285,7 @@ msgid "Does this company manufacture parts?" msgstr "" #: company/models.py:152 company/serializers.py:270 -#: company/templates/company/company_base.html:76 stock/serializers.py:172 +#: company/templates/company/company_base.html:103 stock/serializers.py:177 msgid "Currency" msgstr "" @@ -2289,8 +2293,8 @@ msgstr "" msgid "Default currency used for this company" msgstr "" -#: company/models.py:320 company/models.py:535 stock/models.py:484 -#: stock/templates/stock/item_base.html:224 +#: company/models.py:320 company/models.py:535 stock/models.py:474 +#: stock/templates/stock/item_base.html:135 msgid "Base Part" msgstr "" @@ -2298,29 +2302,29 @@ msgstr "" msgid "Select part" msgstr "" -#: company/models.py:335 company/templates/company/company_base.html:116 -#: company/templates/company/manufacturer_part.html:93 -#: company/templates/company/supplier_part.html:104 -#: stock/templates/stock/item_base.html:353 +#: company/models.py:335 company/templates/company/company_base.html:73 +#: company/templates/company/manufacturer_part.html:91 +#: company/templates/company/supplier_part.html:97 +#: stock/templates/stock/item_base.html:381 #: templates/js/translated/company.js:333 #: templates/js/translated/company.js:514 -#: templates/js/translated/company.js:797 templates/js/translated/part.js:229 +#: templates/js/translated/company.js:797 templates/js/translated/part.js:232 msgid "Manufacturer" msgstr "" -#: company/models.py:336 templates/js/translated/part.js:230 +#: company/models.py:336 templates/js/translated/part.js:233 msgid "Select manufacturer" msgstr "" -#: company/models.py:342 company/templates/company/manufacturer_part.html:97 -#: company/templates/company/supplier_part.html:112 +#: company/models.py:342 company/templates/company/manufacturer_part.html:96 +#: company/templates/company/supplier_part.html:105 #: templates/js/translated/company.js:530 -#: templates/js/translated/company.js:815 templates/js/translated/order.js:874 -#: templates/js/translated/part.js:240 +#: templates/js/translated/company.js:815 templates/js/translated/order.js:873 +#: templates/js/translated/part.js:243 templates/js/translated/part.js:832 msgid "MPN" msgstr "" -#: company/models.py:343 templates/js/translated/part.js:241 +#: company/models.py:343 templates/js/translated/part.js:244 msgid "Manufacturer Part Number" msgstr "" @@ -2335,7 +2339,7 @@ msgstr "" #: company/models.py:409 company/models.py:558 #: company/templates/company/manufacturer_part.html:6 #: company/templates/company/manufacturer_part.html:23 -#: stock/templates/stock/item_base.html:363 +#: stock/templates/stock/item_base.html:391 msgid "Manufacturer Part" msgstr "" @@ -2345,8 +2349,8 @@ msgstr "" #: company/models.py:422 #: report/templates/report/inventree_test_report_base.html:95 -#: stock/models.py:1867 templates/js/translated/company.js:644 -#: templates/js/translated/part.js:645 templates/js/translated/stock.js:878 +#: stock/models.py:1857 templates/js/translated/company.js:644 +#: templates/js/translated/part.js:652 templates/js/translated/stock.js:960 msgid "Value" msgstr "" @@ -2355,9 +2359,9 @@ msgid "Parameter value" msgstr "" #: company/models.py:429 part/models.py:882 part/models.py:2397 -#: part/templates/part/detail.html:59 +#: part/templates/part/part_base.html:288 #: templates/InvenTree/settings/settings.html:264 -#: templates/js/translated/company.js:650 templates/js/translated/part.js:651 +#: templates/js/translated/company.js:650 templates/js/translated/part.js:658 msgid "Units" msgstr "" @@ -2369,28 +2373,28 @@ msgstr "" msgid "Linked manufacturer part must reference the same base part" msgstr "" -#: company/models.py:545 company/templates/company/company_base.html:121 -#: company/templates/company/supplier_part.html:94 order/models.py:263 -#: order/templates/order/order_base.html:108 +#: company/models.py:545 company/templates/company/company_base.html:78 +#: company/templates/company/supplier_part.html:87 order/models.py:263 +#: order/templates/order/order_base.html:112 #: order/templates/order/order_wizard/select_pos.html:30 part/bom.py:219 -#: part/bom.py:247 stock/templates/stock/item_base.html:370 +#: part/bom.py:247 stock/templates/stock/item_base.html:398 #: templates/js/translated/company.js:337 -#: templates/js/translated/company.js:771 templates/js/translated/order.js:660 -#: templates/js/translated/part.js:210 +#: templates/js/translated/company.js:771 templates/js/translated/order.js:667 +#: templates/js/translated/part.js:213 templates/js/translated/part.js:800 msgid "Supplier" msgstr "" -#: company/models.py:546 templates/js/translated/part.js:211 +#: company/models.py:546 templates/js/translated/part.js:214 msgid "Select supplier" msgstr "" -#: company/models.py:551 company/templates/company/supplier_part.html:98 -#: part/bom.py:220 part/bom.py:248 templates/js/translated/order.js:861 -#: templates/js/translated/part.js:221 +#: company/models.py:551 company/templates/company/supplier_part.html:91 +#: part/bom.py:220 part/bom.py:248 templates/js/translated/order.js:860 +#: templates/js/translated/part.js:224 templates/js/translated/part.js:818 msgid "SKU" msgstr "" -#: company/models.py:552 templates/js/translated/part.js:222 +#: company/models.py:552 templates/js/translated/part.js:225 msgid "Supplier stock keeping unit" msgstr "" @@ -2406,7 +2410,7 @@ msgstr "" msgid "Supplier part description" msgstr "" -#: company/models.py:576 company/templates/company/supplier_part.html:126 +#: company/models.py:576 company/templates/company/supplier_part.html:119 #: part/models.py:2588 report/templates/report/inventree_po_report.html:93 #: report/templates/report/inventree_so_report.html:93 msgid "Note" @@ -2420,9 +2424,9 @@ msgstr "" msgid "Minimum charge (e.g. stocking fee)" msgstr "" -#: company/models.py:582 company/templates/company/supplier_part.html:119 -#: stock/models.py:507 stock/templates/stock/item_base.html:311 -#: templates/js/translated/company.js:847 templates/js/translated/stock.js:1366 +#: company/models.py:582 company/templates/company/supplier_part.html:112 +#: stock/models.py:497 stock/templates/stock/item_base.html:339 +#: templates/js/translated/company.js:847 templates/js/translated/stock.js:1448 msgid "Packaging" msgstr "" @@ -2457,43 +2461,56 @@ msgstr "" msgid "Create Purchase Order" msgstr "" -#: company/templates/company/company_base.html:27 +#: company/templates/company/company_base.html:26 +msgid "Company actions" +msgstr "" + +#: company/templates/company/company_base.html:31 msgid "Edit company information" msgstr "" #: company/templates/company/company_base.html:32 -#: company/templates/company/company_base.html:148 +#: templates/js/translated/company.js:265 +msgid "Edit Company" +msgstr "" + +#: company/templates/company/company_base.html:36 +msgid "Delete company" +msgstr "" + +#: company/templates/company/company_base.html:37 +#: company/templates/company/company_base.html:159 msgid "Delete Company" msgstr "" -#: company/templates/company/company_base.html:48 +#: company/templates/company/company_base.html:53 #: part/templates/part/part_thumb.html:12 msgid "Upload new image" msgstr "" -#: company/templates/company/company_base.html:51 +#: company/templates/company/company_base.html:56 #: part/templates/part/part_thumb.html:14 msgid "Download image from URL" msgstr "" -#: company/templates/company/company_base.html:81 -msgid "Uses default currency" -msgstr "" - -#: company/templates/company/company_base.html:95 -msgid "Phone" -msgstr "" - -#: company/templates/company/company_base.html:126 order/models.py:567 -#: order/templates/order/sales_order_base.html:114 stock/models.py:525 -#: stock/models.py:526 stock/templates/stock/item_base.html:263 -#: templates/js/translated/company.js:329 templates/js/translated/order.js:1073 -#: templates/js/translated/stock.js:2002 +#: company/templates/company/company_base.html:83 order/models.py:567 +#: order/templates/order/sales_order_base.html:115 stock/models.py:515 +#: stock/models.py:516 stock/templates/stock/item_base.html:291 +#: templates/js/translated/company.js:329 templates/js/translated/order.js:1072 +#: templates/js/translated/stock.js:2084 msgid "Customer" msgstr "" -#: company/templates/company/company_base.html:194 -#: part/templates/part/part_base.html:342 +#: company/templates/company/company_base.html:108 +msgid "Uses default currency" +msgstr "" + +#: company/templates/company/company_base.html:122 +msgid "Phone" +msgstr "" + +#: company/templates/company/company_base.html:205 +#: part/templates/part/part_base.html:471 msgid "Upload Image" msgstr "" @@ -2509,23 +2526,23 @@ msgid "Create new supplier part" msgstr "" #: company/templates/company/detail.html:20 -#: company/templates/company/manufacturer_part.html:112 -#: part/templates/part/detail.html:440 +#: company/templates/company/manufacturer_part.html:118 +#: part/templates/part/detail.html:333 msgid "New Supplier Part" msgstr "" #: company/templates/company/detail.html:32 #: company/templates/company/detail.html:79 -#: company/templates/company/manufacturer_part.html:121 -#: company/templates/company/manufacturer_part.html:150 -#: part/templates/part/category.html:160 part/templates/part/detail.html:449 -#: part/templates/part/detail.html:477 +#: company/templates/company/manufacturer_part.html:127 +#: company/templates/company/manufacturer_part.html:156 +#: part/templates/part/category.html:167 part/templates/part/detail.html:342 +#: part/templates/part/detail.html:370 msgid "Options" msgstr "" #: company/templates/company/detail.html:37 #: company/templates/company/detail.html:84 -#: part/templates/part/category.html:166 +#: part/templates/part/category.html:173 msgid "Order parts" msgstr "" @@ -2547,7 +2564,7 @@ msgstr "" msgid "Create new manufacturer part" msgstr "" -#: company/templates/company/detail.html:67 part/templates/part/detail.html:467 +#: company/templates/company/detail.html:67 part/templates/part/detail.html:360 msgid "New Manufacturer Part" msgstr "" @@ -2561,7 +2578,7 @@ msgstr "" #: order/templates/order/order_base.html:13 #: order/templates/order/purchase_orders.html:8 #: order/templates/order/purchase_orders.html:12 -#: part/templates/part/detail.html:171 part/templates/part/part_sidebar.html:35 +#: part/templates/part/detail.html:64 part/templates/part/part_sidebar.html:33 #: templates/InvenTree/index.html:252 templates/InvenTree/search.html:203 #: templates/InvenTree/settings/sidebar.html:44 templates/navbar.html:45 #: users/models.py:45 @@ -2583,7 +2600,7 @@ msgstr "" #: order/templates/order/sales_order_base.html:13 #: order/templates/order/sales_orders.html:8 #: order/templates/order/sales_orders.html:15 -#: part/templates/part/detail.html:194 part/templates/part/part_sidebar.html:39 +#: part/templates/part/detail.html:87 part/templates/part/part_sidebar.html:37 #: templates/InvenTree/index.html:283 templates/InvenTree/search.html:223 #: templates/InvenTree/settings/sidebar.html:46 templates/navbar.html:56 #: users/models.py:46 @@ -2610,14 +2627,14 @@ msgid "Company Notes" msgstr "" #: company/templates/company/detail.html:383 -#: company/templates/company/manufacturer_part.html:209 -#: part/templates/part/detail.html:520 +#: company/templates/company/manufacturer_part.html:215 +#: part/templates/part/detail.html:413 msgid "Delete Supplier Parts?" msgstr "" #: company/templates/company/detail.html:384 -#: company/templates/company/manufacturer_part.html:210 -#: part/templates/part/detail.html:521 +#: company/templates/company/manufacturer_part.html:216 +#: part/templates/part/detail.html:414 msgid "All selected supplier parts will be deleted" msgstr "" @@ -2634,7 +2651,7 @@ msgstr "" #: company/templates/company/manufacturer_part.html:35 #: company/templates/company/supplier_part.html:34 #: company/templates/company/supplier_part.html:159 -#: part/templates/part/detail.html:174 part/templates/part/part_base.html:76 +#: part/templates/part/detail.html:67 part/templates/part/part_base.html:76 msgid "Order part" msgstr "" @@ -2648,60 +2665,60 @@ msgstr "" msgid "Delete manufacturer part" msgstr "" -#: company/templates/company/manufacturer_part.html:70 -#: company/templates/company/supplier_part.html:71 +#: company/templates/company/manufacturer_part.html:66 +#: company/templates/company/supplier_part.html:63 msgid "Internal Part" msgstr "" -#: company/templates/company/manufacturer_part.html:108 +#: company/templates/company/manufacturer_part.html:114 #: company/templates/company/supplier_part.html:15 company/views.py:49 -#: part/templates/part/part_sidebar.html:33 part/templates/part/prices.html:163 +#: part/templates/part/part_sidebar.html:31 part/templates/part/prices.html:163 #: templates/InvenTree/search.html:194 templates/navbar.html:43 msgid "Suppliers" msgstr "" -#: company/templates/company/manufacturer_part.html:123 -#: part/templates/part/detail.html:451 +#: company/templates/company/manufacturer_part.html:129 +#: part/templates/part/detail.html:344 msgid "Delete supplier parts" msgstr "" -#: company/templates/company/manufacturer_part.html:123 -#: company/templates/company/manufacturer_part.html:152 -#: company/templates/company/manufacturer_part.html:248 -#: part/templates/part/detail.html:451 part/templates/part/detail.html:479 +#: company/templates/company/manufacturer_part.html:129 +#: company/templates/company/manufacturer_part.html:158 +#: company/templates/company/manufacturer_part.html:254 +#: part/templates/part/detail.html:344 part/templates/part/detail.html:372 #: templates/js/translated/company.js:425 templates/js/translated/helpers.js:31 #: users/models.py:204 msgid "Delete" msgstr "" -#: company/templates/company/manufacturer_part.html:137 +#: company/templates/company/manufacturer_part.html:143 #: company/templates/company/manufacturer_part_sidebar.html:5 #: part/templates/part/category_sidebar.html:17 -#: part/templates/part/detail.html:277 part/templates/part/part_sidebar.html:10 +#: part/templates/part/detail.html:170 part/templates/part/part_sidebar.html:8 msgid "Parameters" msgstr "" -#: company/templates/company/manufacturer_part.html:141 -#: part/templates/part/detail.html:282 +#: company/templates/company/manufacturer_part.html:147 +#: part/templates/part/detail.html:175 #: templates/InvenTree/settings/category.html:12 #: templates/InvenTree/settings/part.html:65 msgid "New Parameter" msgstr "" -#: company/templates/company/manufacturer_part.html:152 +#: company/templates/company/manufacturer_part.html:158 msgid "Delete parameters" msgstr "" -#: company/templates/company/manufacturer_part.html:185 -#: part/templates/part/detail.html:976 +#: company/templates/company/manufacturer_part.html:191 +#: part/templates/part/detail.html:867 msgid "Add Parameter" msgstr "" -#: company/templates/company/manufacturer_part.html:233 +#: company/templates/company/manufacturer_part.html:239 msgid "Selected parameters will be deleted" msgstr "" -#: company/templates/company/manufacturer_part.html:245 +#: company/templates/company/manufacturer_part.html:251 msgid "Delete Parameters" msgstr "" @@ -2722,9 +2739,9 @@ msgid "Assigned Stock Items" msgstr "" #: company/templates/company/supplier_part.html:7 -#: company/templates/company/supplier_part.html:24 stock/models.py:492 -#: stock/templates/stock/item_base.html:375 -#: templates/js/translated/company.js:787 templates/js/translated/stock.js:1323 +#: company/templates/company/supplier_part.html:24 stock/models.py:482 +#: stock/templates/stock/item_base.html:403 +#: templates/js/translated/company.js:787 templates/js/translated/stock.js:1405 msgid "Supplier Part" msgstr "" @@ -2744,13 +2761,13 @@ msgid "Supplier Part Stock" msgstr "" #: company/templates/company/supplier_part.html:141 -#: part/templates/part/detail.html:127 stock/templates/stock/location.html:147 +#: part/templates/part/detail.html:20 stock/templates/stock/location.html:162 msgid "Create new stock item" msgstr "" #: company/templates/company/supplier_part.html:142 -#: part/templates/part/detail.html:128 stock/templates/stock/location.html:148 -#: templates/js/translated/stock.js:354 +#: part/templates/part/detail.html:21 stock/templates/stock/location.html:163 +#: templates/js/translated/stock.js:355 msgid "New Stock Item" msgstr "" @@ -2760,7 +2777,7 @@ msgid "Supplier Part Orders" msgstr "" #: company/templates/company/supplier_part.html:160 -#: part/templates/part/detail.html:175 +#: part/templates/part/detail.html:68 msgid "Order Part" msgstr "" @@ -2796,15 +2813,15 @@ msgid "Delete price break" msgstr "" #: company/templates/company/supplier_part_navbar.html:15 -#: part/templates/part/part_sidebar.html:16 +#: part/templates/part/part_sidebar.html:14 #: stock/templates/stock/loc_link.html:3 stock/templates/stock/location.html:14 #: stock/templates/stock/stock_app_base.html:10 #: templates/InvenTree/search.html:156 #: templates/InvenTree/settings/sidebar.html:40 -#: templates/js/translated/bom.js:216 templates/js/translated/part.js:427 -#: templates/js/translated/part.js:562 templates/js/translated/part.js:878 -#: templates/js/translated/part.js:1039 templates/js/translated/stock.js:509 -#: templates/js/translated/stock.js:1162 templates/navbar.html:26 +#: templates/js/translated/bom.js:216 templates/js/translated/part.js:434 +#: templates/js/translated/part.js:569 templates/js/translated/part.js:1059 +#: templates/js/translated/part.js:1220 templates/js/translated/stock.js:591 +#: templates/js/translated/stock.js:1244 templates/navbar.html:26 msgid "Stock" msgstr "" @@ -2818,16 +2835,16 @@ msgid "Supplier Part Pricing" msgstr "" #: company/templates/company/supplier_part_navbar.html:29 -#: part/templates/part/part_sidebar.html:30 +#: part/templates/part/part_sidebar.html:28 msgid "Pricing" msgstr "" #: company/templates/company/supplier_part_sidebar.html:5 -#: stock/templates/stock/location.html:118 -#: stock/templates/stock/location.html:132 -#: stock/templates/stock/location.html:144 +#: stock/templates/stock/location.html:133 +#: stock/templates/stock/location.html:147 +#: stock/templates/stock/location.html:159 #: stock/templates/stock/location_sidebar.html:7 -#: templates/InvenTree/search.html:158 templates/js/translated/stock.js:1901 +#: templates/InvenTree/search.html:158 templates/js/translated/stock.js:1983 #: templates/stats.html:93 templates/stats.html:102 users/models.py:43 msgid "Stock Items" msgstr "" @@ -2947,7 +2964,7 @@ msgstr "" msgid "Place order" msgstr "" -#: order/forms.py:37 order/templates/order/order_base.html:59 +#: order/forms.py:37 order/templates/order/order_base.html:60 msgid "Mark order as complete" msgstr "" @@ -3000,8 +3017,8 @@ msgstr "" msgid "Company from which the items are being ordered" msgstr "" -#: order/models.py:267 order/templates/order/order_base.html:114 -#: templates/js/translated/order.js:669 +#: order/models.py:267 order/templates/order/order_base.html:118 +#: templates/js/translated/order.js:676 msgid "Supplier Reference" msgstr "" @@ -3061,7 +3078,7 @@ msgstr "" msgid "Target date for order completion. Order will be overdue after this date." msgstr "" -#: order/models.py:582 templates/js/translated/order.js:1114 +#: order/models.py:582 templates/js/translated/order.js:1113 msgid "Shipment Date" msgstr "" @@ -3086,16 +3103,16 @@ msgid "Line item notes" msgstr "" #: order/models.py:768 order/models.py:856 -#: templates/js/translated/order.js:1166 +#: templates/js/translated/order.js:1165 msgid "Order" msgstr "" #: order/models.py:769 order/templates/order/order_base.html:9 #: order/templates/order/order_base.html:18 #: report/templates/report/inventree_po_report.html:77 -#: stock/templates/stock/item_base.html:325 -#: templates/js/translated/order.js:638 templates/js/translated/stock.js:1300 -#: templates/js/translated/stock.js:1983 +#: stock/templates/stock/item_base.html:353 +#: templates/js/translated/order.js:638 templates/js/translated/part.js:775 +#: templates/js/translated/stock.js:1382 templates/js/translated/stock.js:2065 msgid "Purchase Order" msgstr "" @@ -3103,9 +3120,10 @@ msgstr "" msgid "Supplier part" msgstr "" -#: order/models.py:797 order/templates/order/order_base.html:147 -#: order/templates/order/sales_order_base.html:154 -#: templates/js/translated/order.js:429 templates/js/translated/order.js:954 +#: order/models.py:797 order/templates/order/order_base.html:151 +#: order/templates/order/sales_order_base.html:155 +#: templates/js/translated/order.js:429 templates/js/translated/order.js:953 +#: templates/js/translated/part.js:847 templates/js/translated/part.js:873 msgid "Received" msgstr "" @@ -3113,9 +3131,9 @@ msgstr "" msgid "Number of items received" msgstr "" -#: order/models.py:805 part/templates/part/prices.html:176 stock/models.py:619 -#: stock/serializers.py:163 stock/templates/stock/item_base.html:332 -#: templates/js/translated/stock.js:1354 +#: order/models.py:805 part/templates/part/prices.html:176 stock/models.py:609 +#: stock/serializers.py:168 stock/templates/stock/item_base.html:360 +#: templates/js/translated/stock.js:1436 msgid "Purchase Price" msgstr "" @@ -3176,47 +3194,47 @@ msgstr "" msgid "Enter stock allocation quantity" msgstr "" -#: order/serializers.py:169 +#: order/serializers.py:175 msgid "Purchase price currency" msgstr "" -#: order/serializers.py:204 +#: order/serializers.py:213 msgid "Line Item" msgstr "" -#: order/serializers.py:210 +#: order/serializers.py:219 msgid "Line item does not match purchase order" msgstr "" -#: order/serializers.py:220 order/serializers.py:288 +#: order/serializers.py:229 order/serializers.py:297 msgid "Select destination location for received items" msgstr "" -#: order/serializers.py:244 +#: order/serializers.py:253 msgid "Barcode Hash" msgstr "" -#: order/serializers.py:245 +#: order/serializers.py:254 msgid "Unique identifier field" msgstr "" -#: order/serializers.py:262 +#: order/serializers.py:271 msgid "Barcode is already in use" msgstr "" -#: order/serializers.py:300 +#: order/serializers.py:309 msgid "Line items must be provided" msgstr "" -#: order/serializers.py:317 +#: order/serializers.py:326 msgid "Destination location must be specified" msgstr "" -#: order/serializers.py:328 +#: order/serializers.py:337 msgid "Supplied barcode values must be unique" msgstr "" -#: order/serializers.py:569 +#: order/serializers.py:578 msgid "Sale price currency" msgstr "" @@ -3248,22 +3266,36 @@ msgstr "" msgid "Receive items" msgstr "" -#: order/templates/order/order_base.html:93 -#: order/templates/order/sales_order_base.html:98 +#: order/templates/order/order_base.html:58 +#: order/templates/order/purchase_order_detail.html:31 +msgid "Receive Items" +msgstr "" + +#: order/templates/order/order_base.html:62 order/views.py:185 +msgid "Complete Order" +msgstr "" + +#: order/templates/order/order_base.html:84 +#: order/templates/order/sales_order_base.html:79 msgid "Order Reference" msgstr "" -#: order/templates/order/order_base.html:98 -#: order/templates/order/sales_order_base.html:103 +#: order/templates/order/order_base.html:89 +#: order/templates/order/sales_order_base.html:84 +msgid "Order Description" +msgstr "" + +#: order/templates/order/order_base.html:94 +#: order/templates/order/sales_order_base.html:89 msgid "Order Status" msgstr "" -#: order/templates/order/order_base.html:133 +#: order/templates/order/order_base.html:137 #: report/templates/report/inventree_build_order_base.html:122 msgid "Issued" msgstr "" -#: order/templates/order/order_base.html:203 +#: order/templates/order/order_base.html:207 msgid "Edit Purchase Order" msgstr "" @@ -3421,7 +3453,7 @@ msgid "Select existing purchase orders, or create new orders." msgstr "" #: order/templates/order/order_wizard/select_pos.html:31 -#: templates/js/translated/order.js:695 templates/js/translated/order.js:1119 +#: templates/js/translated/order.js:694 templates/js/translated/order.js:1118 msgid "Items" msgstr "" @@ -3465,10 +3497,6 @@ msgstr "" msgid "Receive selected items" msgstr "" -#: order/templates/order/purchase_order_detail.html:31 -msgid "Receive Items" -msgstr "" - #: order/templates/order/purchase_order_detail.html:50 msgid "Received Items" msgstr "" @@ -3496,16 +3524,16 @@ msgstr "" msgid "Ship Order" msgstr "" -#: order/templates/order/sales_order_base.html:86 +#: order/templates/order/sales_order_base.html:102 msgid "This Sales Order has not been fully allocated" msgstr "" -#: order/templates/order/sales_order_base.html:121 -#: templates/js/translated/order.js:1086 +#: order/templates/order/sales_order_base.html:122 +#: templates/js/translated/order.js:1085 msgid "Customer Reference" msgstr "" -#: order/templates/order/sales_order_base.html:194 +#: order/templates/order/sales_order_base.html:195 msgid "Edit Sales Order" msgstr "" @@ -3576,10 +3604,6 @@ msgstr "" msgid "Purchase order issued" msgstr "" -#: order/views.py:185 -msgid "Complete Order" -msgstr "" - #: order/views.py:201 msgid "Confirm order completion" msgstr "" @@ -3672,11 +3696,11 @@ msgid "This field is required" msgstr "" #: part/bom.py:125 part/models.py:81 part/models.py:816 -#: part/templates/part/category.html:90 part/templates/part/detail.html:104 +#: part/templates/part/category.html:104 part/templates/part/part_base.html:338 msgid "Default Location" msgstr "" -#: part/bom.py:126 part/templates/part/part_base.html:167 +#: part/bom.py:126 part/templates/part/part_base.html:185 msgid "Available Stock" msgstr "" @@ -3793,19 +3817,19 @@ msgstr "" msgid "Part Category" msgstr "" -#: part/models.py:96 part/templates/part/category.html:117 +#: part/models.py:96 part/templates/part/category.html:124 #: templates/InvenTree/search.html:101 templates/stats.html:84 #: users/models.py:40 msgid "Part Categories" msgstr "" #: part/models.py:358 part/templates/part/cat_link.html:3 -#: part/templates/part/category.html:13 part/templates/part/category.html:122 -#: part/templates/part/category.html:142 +#: part/templates/part/category.html:13 part/templates/part/category.html:129 +#: part/templates/part/category.html:149 #: part/templates/part/category_sidebar.html:9 #: templates/InvenTree/index.html:85 templates/InvenTree/search.html:88 #: templates/InvenTree/settings/sidebar.html:36 -#: templates/js/translated/part.js:1416 templates/navbar.html:19 +#: templates/js/translated/part.js:1597 templates/navbar.html:19 #: templates/stats.html:80 templates/stats.html:89 users/models.py:41 msgid "Parts" msgstr "" @@ -3859,8 +3883,8 @@ msgstr "" msgid "Part description" msgstr "" -#: part/models.py:770 part/templates/part/category.html:97 -#: part/templates/part/detail.html:73 +#: part/models.py:770 part/templates/part/category.html:82 +#: part/templates/part/part_base.html:302 msgid "Keywords" msgstr "" @@ -3869,9 +3893,10 @@ msgid "Part keywords to improve visibility in search results" msgstr "" #: part/models.py:778 part/models.py:2223 part/models.py:2472 -#: part/templates/part/detail.html:36 part/templates/part/set_category.html:15 +#: part/templates/part/part_base.html:265 +#: part/templates/part/set_category.html:15 #: templates/InvenTree/settings/settings.html:163 -#: templates/js/translated/part.js:1021 +#: templates/js/translated/part.js:1202 msgid "Category" msgstr "" @@ -3879,9 +3904,9 @@ msgstr "" msgid "Part category" msgstr "" -#: part/models.py:784 part/templates/part/detail.html:45 -#: templates/js/translated/part.js:550 templates/js/translated/part.js:974 -#: templates/js/translated/stock.js:1134 +#: part/models.py:784 part/templates/part/part_base.html:274 +#: templates/js/translated/part.js:557 templates/js/translated/part.js:1155 +#: templates/js/translated/stock.js:1216 msgid "IPN" msgstr "" @@ -3893,8 +3918,8 @@ msgstr "" msgid "Part revision or version number" msgstr "" -#: part/models.py:792 part/templates/part/detail.html:52 report/models.py:200 -#: templates/js/translated/part.js:554 +#: part/models.py:792 part/templates/part/part_base.html:281 +#: report/models.py:200 templates/js/translated/part.js:561 msgid "Revision" msgstr "" @@ -3902,7 +3927,7 @@ msgstr "" msgid "Where is this item normally stored?" msgstr "" -#: part/models.py:861 part/templates/part/detail.html:113 +#: part/models.py:861 part/templates/part/part_base.html:347 msgid "Default Supplier" msgstr "" @@ -3918,7 +3943,7 @@ msgstr "" msgid "Expiry time (in days) for stock items of this part" msgstr "" -#: part/models.py:875 part/templates/part/part_base.html:178 +#: part/models.py:875 part/templates/part/part_base.html:196 msgid "Minimum Stock" msgstr "" @@ -4001,8 +4026,8 @@ msgstr "" msgid "Test with this name already exists for this part" msgstr "" -#: part/models.py:2310 templates/js/translated/part.js:1467 -#: templates/js/translated/stock.js:858 +#: part/models.py:2310 templates/js/translated/part.js:1648 +#: templates/js/translated/stock.js:940 msgid "Test Name" msgstr "" @@ -4018,7 +4043,7 @@ msgstr "" msgid "Enter description for this test" msgstr "" -#: part/models.py:2322 templates/js/translated/part.js:1476 +#: part/models.py:2322 templates/js/translated/part.js:1657 #: templates/js/translated/table_filters.js:276 msgid "Required" msgstr "" @@ -4027,7 +4052,7 @@ msgstr "" msgid "Is this test required to pass?" msgstr "" -#: part/models.py:2328 templates/js/translated/part.js:1484 +#: part/models.py:2328 templates/js/translated/part.js:1665 msgid "Requires Value" msgstr "" @@ -4035,7 +4060,7 @@ msgstr "" msgid "Does this test require a value when adding a test result?" msgstr "" -#: part/models.py:2334 templates/js/translated/part.js:1491 +#: part/models.py:2334 templates/js/translated/part.js:1672 msgid "Requires Attachment" msgstr "" @@ -4150,7 +4175,7 @@ msgstr "" msgid "Stock items for variant parts can be used for this BOM item" msgstr "" -#: part/models.py:2686 stock/models.py:371 +#: part/models.py:2686 stock/models.py:361 msgid "Quantity must be integer value for trackable parts" msgstr "" @@ -4213,7 +4238,7 @@ msgstr "" msgid "The BOM for %(part)s has not been validated." msgstr "" -#: part/templates/part/bom.html:30 part/templates/part/detail.html:357 +#: part/templates/part/bom.html:30 part/templates/part/detail.html:250 msgid "BOM actions" msgstr "" @@ -4298,68 +4323,64 @@ msgstr "" msgid "New Category" msgstr "" -#: part/templates/part/category.html:67 -msgid "Top level part category" -msgstr "" - -#: part/templates/part/category.html:79 +#: part/templates/part/category.html:76 part/templates/part/category.html:89 msgid "Category Path" msgstr "" -#: part/templates/part/category.html:84 -msgid "Category Description" +#: part/templates/part/category.html:90 +msgid "Top level part category" msgstr "" -#: part/templates/part/category.html:103 part/templates/part/category.html:194 +#: part/templates/part/category.html:110 part/templates/part/category.html:201 #: part/templates/part/category_sidebar.html:7 msgid "Subcategories" msgstr "" -#: part/templates/part/category.html:108 +#: part/templates/part/category.html:115 msgid "Parts (Including subcategories)" msgstr "" -#: part/templates/part/category.html:145 +#: part/templates/part/category.html:152 msgid "Export Part Data" msgstr "" -#: part/templates/part/category.html:146 part/templates/part/category.html:170 +#: part/templates/part/category.html:153 part/templates/part/category.html:177 msgid "Export" msgstr "" -#: part/templates/part/category.html:149 +#: part/templates/part/category.html:156 msgid "Create new part" msgstr "" -#: part/templates/part/category.html:150 templates/js/translated/bom.js:40 +#: part/templates/part/category.html:157 templates/js/translated/bom.js:40 msgid "New Part" msgstr "" -#: part/templates/part/category.html:164 +#: part/templates/part/category.html:171 msgid "Set category" msgstr "" -#: part/templates/part/category.html:164 +#: part/templates/part/category.html:171 msgid "Set Category" msgstr "" -#: part/templates/part/category.html:168 +#: part/templates/part/category.html:175 msgid "Print Labels" msgstr "" -#: part/templates/part/category.html:170 +#: part/templates/part/category.html:177 msgid "Export Data" msgstr "" -#: part/templates/part/category.html:184 +#: part/templates/part/category.html:191 msgid "Part Parameters" msgstr "" -#: part/templates/part/category.html:261 +#: part/templates/part/category.html:268 msgid "Create Part Category" msgstr "" -#: part/templates/part/category.html:288 +#: part/templates/part/category.html:295 msgid "Create Part" msgstr "" @@ -4402,7 +4423,7 @@ msgstr "" msgid "Import Parts" msgstr "" -#: part/templates/part/copy_part.html:9 templates/js/translated/part.js:366 +#: part/templates/part/copy_part.html:9 templates/js/translated/part.js:373 msgid "Duplicate Part" msgstr "" @@ -4426,167 +4447,155 @@ msgstr "" msgid "%(full_name)s - %(desc)s (%(match_per)s%% match)" msgstr "" -#: part/templates/part/detail.html:16 -msgid "Part Details" -msgstr "" - -#: part/templates/part/detail.html:66 -msgid "Minimum stock level" -msgstr "" - -#: part/templates/part/detail.html:97 -msgid "Latest Serial Number" -msgstr "" - -#: part/templates/part/detail.html:124 +#: part/templates/part/detail.html:17 msgid "Part Stock" msgstr "" -#: part/templates/part/detail.html:136 +#: part/templates/part/detail.html:29 #, python-format msgid "Showing stock for all variants of %(full_name)s" msgstr "" -#: part/templates/part/detail.html:146 +#: part/templates/part/detail.html:39 msgid "Part Test Templates" msgstr "" -#: part/templates/part/detail.html:151 +#: part/templates/part/detail.html:44 msgid "Add Test Template" msgstr "" -#: part/templates/part/detail.html:208 +#: part/templates/part/detail.html:101 msgid "Sales Order Allocations" msgstr "" -#: part/templates/part/detail.html:249 +#: part/templates/part/detail.html:142 msgid "Part Variants" msgstr "" -#: part/templates/part/detail.html:253 +#: part/templates/part/detail.html:146 msgid "Create new variant" msgstr "" -#: part/templates/part/detail.html:254 +#: part/templates/part/detail.html:147 msgid "New Variant" msgstr "" -#: part/templates/part/detail.html:281 +#: part/templates/part/detail.html:174 msgid "Add new parameter" msgstr "" -#: part/templates/part/detail.html:315 part/templates/part/part_sidebar.html:47 +#: part/templates/part/detail.html:208 part/templates/part/part_sidebar.html:45 msgid "Related Parts" msgstr "" -#: part/templates/part/detail.html:319 part/templates/part/detail.html:320 +#: part/templates/part/detail.html:212 part/templates/part/detail.html:213 msgid "Add Related" msgstr "" -#: part/templates/part/detail.html:340 part/templates/part/part_sidebar.html:19 +#: part/templates/part/detail.html:233 part/templates/part/part_sidebar.html:17 msgid "Bill of Materials" msgstr "" -#: part/templates/part/detail.html:345 +#: part/templates/part/detail.html:238 msgid "Export actions" msgstr "" -#: part/templates/part/detail.html:349 +#: part/templates/part/detail.html:242 msgid "Export BOM" msgstr "" -#: part/templates/part/detail.html:351 +#: part/templates/part/detail.html:244 msgid "Print BOM Report" msgstr "" -#: part/templates/part/detail.html:361 +#: part/templates/part/detail.html:254 msgid "Upload BOM" msgstr "" -#: part/templates/part/detail.html:363 templates/js/translated/part.js:267 +#: part/templates/part/detail.html:256 templates/js/translated/part.js:270 msgid "Copy BOM" msgstr "" -#: part/templates/part/detail.html:365 part/views.py:755 +#: part/templates/part/detail.html:258 part/views.py:755 msgid "Validate BOM" msgstr "" -#: part/templates/part/detail.html:370 +#: part/templates/part/detail.html:263 msgid "New BOM Item" msgstr "" -#: part/templates/part/detail.html:371 +#: part/templates/part/detail.html:264 msgid "Add BOM Item" msgstr "" -#: part/templates/part/detail.html:384 +#: part/templates/part/detail.html:277 msgid "Assemblies" msgstr "" -#: part/templates/part/detail.html:401 +#: part/templates/part/detail.html:294 msgid "Part Builds" msgstr "" -#: part/templates/part/detail.html:426 +#: part/templates/part/detail.html:319 msgid "Build Order Allocations" msgstr "" -#: part/templates/part/detail.html:436 +#: part/templates/part/detail.html:329 msgid "Part Suppliers" msgstr "" -#: part/templates/part/detail.html:463 +#: part/templates/part/detail.html:356 msgid "Part Manufacturers" msgstr "" -#: part/templates/part/detail.html:479 +#: part/templates/part/detail.html:372 msgid "Delete manufacturer parts" msgstr "" -#: part/templates/part/detail.html:660 +#: part/templates/part/detail.html:553 msgid "Delete selected BOM items?" msgstr "" -#: part/templates/part/detail.html:661 +#: part/templates/part/detail.html:554 msgid "All selected BOM items will be deleted" msgstr "" -#: part/templates/part/detail.html:712 +#: part/templates/part/detail.html:605 msgid "Create BOM Item" msgstr "" -#: part/templates/part/detail.html:764 +#: part/templates/part/detail.html:657 msgid "Related Part" msgstr "" -#: part/templates/part/detail.html:772 +#: part/templates/part/detail.html:665 msgid "Add Related Part" msgstr "" -#: part/templates/part/detail.html:869 +#: part/templates/part/detail.html:760 msgid "Add Test Result Template" msgstr "" -#: part/templates/part/detail.html:926 +#: part/templates/part/detail.html:817 msgid "Edit Part Notes" msgstr "" -#: part/templates/part/detail.html:1039 +#: part/templates/part/detail.html:930 #, python-format msgid "Purchase Unit Price - %(currency)s" msgstr "" -#: part/templates/part/detail.html:1051 +#: part/templates/part/detail.html:942 #, python-format msgid "Unit Price-Cost Difference - %(currency)s" msgstr "" -#: part/templates/part/detail.html:1063 +#: part/templates/part/detail.html:954 #, python-format msgid "Supplier Unit Cost - %(currency)s" msgstr "" -#: part/templates/part/detail.html:1152 +#: part/templates/part/detail.html:1043 #, python-format msgid "Unit Price - %(currency)s" msgstr "" @@ -4668,86 +4677,108 @@ msgstr "" msgid "Delete part" msgstr "" -#: part/templates/part/part_base.html:109 +#: part/templates/part/part_base.html:112 msgid "Part is a template part (variants can be made from this part)" msgstr "" -#: part/templates/part/part_base.html:113 +#: part/templates/part/part_base.html:116 msgid "Part can be assembled from other parts" msgstr "" -#: part/templates/part/part_base.html:117 +#: part/templates/part/part_base.html:120 msgid "Part can be used in assemblies" msgstr "" -#: part/templates/part/part_base.html:121 +#: part/templates/part/part_base.html:124 msgid "Part stock is tracked by serial number" msgstr "" -#: part/templates/part/part_base.html:125 +#: part/templates/part/part_base.html:128 msgid "Part can be purchased from external suppliers" msgstr "" -#: part/templates/part/part_base.html:129 +#: part/templates/part/part_base.html:132 msgid "Part can be sold to customers" msgstr "" -#: part/templates/part/part_base.html:135 -#: part/templates/part/part_base.html:143 +#: part/templates/part/part_base.html:138 +#: part/templates/part/part_base.html:146 msgid "Part is virtual (not a physical part)" msgstr "" -#: part/templates/part/part_base.html:136 +#: part/templates/part/part_base.html:139 #: templates/js/translated/company.js:505 #: templates/js/translated/company.js:762 #: templates/js/translated/model_renderers.js:175 -#: templates/js/translated/part.js:465 templates/js/translated/part.js:542 +#: templates/js/translated/part.js:472 templates/js/translated/part.js:549 msgid "Inactive" msgstr "" -#: part/templates/part/part_base.html:155 +#: part/templates/part/part_base.html:156 +#: part/templates/part/part_base.html:579 +msgid "Show Part Details" +msgstr "" + +#: part/templates/part/part_base.html:173 #, python-format msgid "This part is a variant of %(link)s" msgstr "" -#: part/templates/part/part_base.html:172 templates/js/translated/order.js:1546 +#: part/templates/part/part_base.html:190 templates/js/translated/order.js:1545 #: templates/js/translated/table_filters.js:188 msgid "In Stock" msgstr "" -#: part/templates/part/part_base.html:185 templates/js/translated/part.js:1054 +#: part/templates/part/part_base.html:203 templates/js/translated/part.js:1235 msgid "On Order" msgstr "" -#: part/templates/part/part_base.html:192 templates/InvenTree/index.html:178 +#: part/templates/part/part_base.html:210 templates/InvenTree/index.html:178 msgid "Required for Build Orders" msgstr "" -#: part/templates/part/part_base.html:199 +#: part/templates/part/part_base.html:217 msgid "Required for Sales Orders" msgstr "" -#: part/templates/part/part_base.html:206 +#: part/templates/part/part_base.html:224 msgid "Allocated to Orders" msgstr "" -#: part/templates/part/part_base.html:221 templates/js/translated/bom.js:566 +#: part/templates/part/part_base.html:239 templates/js/translated/bom.js:566 msgid "Can Build" msgstr "" -#: part/templates/part/part_base.html:227 templates/js/translated/part.js:885 -#: templates/js/translated/part.js:1058 +#: part/templates/part/part_base.html:245 templates/js/translated/part.js:1066 +#: templates/js/translated/part.js:1239 msgid "Building" msgstr "" -#: part/templates/part/part_base.html:320 part/templates/part/prices.html:144 +#: part/templates/part/part_base.html:295 +msgid "Minimum stock level" +msgstr "" + +#: part/templates/part/part_base.html:324 +msgid "Latest Serial Number" +msgstr "" + +#: part/templates/part/part_base.html:328 +#: stock/templates/stock/item_base.html:159 +msgid "Search for serial number" +msgstr "" + +#: part/templates/part/part_base.html:449 part/templates/part/prices.html:144 msgid "Calculate" msgstr "" -#: part/templates/part/part_base.html:363 +#: part/templates/part/part_base.html:492 msgid "No matching images found" msgstr "" +#: part/templates/part/part_base.html:573 +msgid "Hide Part Details" +msgstr "" + #: part/templates/part/part_pricing.html:22 part/templates/part/prices.html:21 msgid "Supplier Pricing" msgstr "" @@ -4805,20 +4836,15 @@ msgstr "" msgid "No pricing information is available for this part." msgstr "" -#: part/templates/part/part_sidebar.html:8 -#: templates/js/translated/stock.js:1949 -msgid "Details" -msgstr "" - -#: part/templates/part/part_sidebar.html:13 +#: part/templates/part/part_sidebar.html:11 msgid "Variants" msgstr "" -#: part/templates/part/part_sidebar.html:27 +#: part/templates/part/part_sidebar.html:25 msgid "Used In" msgstr "" -#: part/templates/part/part_sidebar.html:43 +#: part/templates/part/part_sidebar.html:41 msgid "Test Templates" msgstr "" @@ -4934,8 +4960,8 @@ msgid "Set category for the following parts" msgstr "" #: part/templates/part/stock_count.html:7 templates/js/translated/bom.js:476 -#: templates/js/translated/part.js:429 templates/js/translated/part.js:875 -#: templates/js/translated/part.js:1062 +#: templates/js/translated/part.js:436 templates/js/translated/part.js:1056 +#: templates/js/translated/part.js:1243 msgid "No Stock" msgstr "" @@ -5037,7 +5063,7 @@ msgstr "" msgid "Delete Part Parameter Template" msgstr "" -#: part/views.py:1489 templates/js/translated/part.js:310 +#: part/views.py:1489 templates/js/translated/part.js:313 msgid "Edit Part Category" msgstr "" @@ -5171,11 +5197,12 @@ msgid "Stock Item Test Report" msgstr "" #: report/templates/report/inventree_test_report_base.html:79 -#: stock/models.py:530 stock/templates/stock/item_base.html:238 +#: stock/models.py:520 stock/templates/stock/item_base.html:149 #: templates/js/translated/build.js:233 templates/js/translated/build.js:637 #: templates/js/translated/build.js:1013 #: templates/js/translated/model_renderers.js:95 -#: templates/js/translated/order.js:1288 templates/js/translated/order.js:1377 +#: templates/js/translated/order.js:1287 templates/js/translated/order.js:1376 +#: templates/js/translated/stock.js:410 msgid "Serial Number" msgstr "" @@ -5184,17 +5211,17 @@ msgid "Test Results" msgstr "" #: report/templates/report/inventree_test_report_base.html:93 -#: stock/models.py:1855 +#: stock/models.py:1845 msgid "Test" msgstr "" #: report/templates/report/inventree_test_report_base.html:94 -#: stock/models.py:1861 +#: stock/models.py:1851 msgid "Result" msgstr "" #: report/templates/report/inventree_test_report_base.html:97 -#: templates/js/translated/order.js:685 templates/js/translated/stock.js:1917 +#: templates/js/translated/order.js:684 templates/js/translated/stock.js:1999 msgid "Date" msgstr "" @@ -5212,7 +5239,7 @@ msgid "Installed Items" msgstr "" #: report/templates/report/inventree_test_report_base.html:137 -#: templates/js/translated/stock.js:2177 +#: templates/js/translated/stock.js:2259 msgid "Serial" msgstr "" @@ -5220,9 +5247,9 @@ msgstr "" msgid "Quantity is required" msgstr "" -#: stock/forms.py:91 stock/forms.py:265 stock/models.py:587 -#: stock/templates/stock/item_base.html:382 -#: templates/js/translated/stock.js:1276 +#: stock/forms.py:91 stock/forms.py:265 stock/models.py:577 +#: stock/templates/stock/item_base.html:186 +#: templates/js/translated/stock.js:1358 msgid "Expiry Date" msgstr "" @@ -5270,241 +5297,241 @@ msgstr "" msgid "Confirm removal of installed stock items" msgstr "" -#: stock/models.py:60 stock/models.py:624 -#: stock/templates/stock/item_base.html:422 +#: stock/models.py:60 stock/models.py:614 +#: stock/templates/stock/item_base.html:417 msgid "Owner" msgstr "" -#: stock/models.py:61 stock/models.py:625 +#: stock/models.py:61 stock/models.py:615 msgid "Select Owner" msgstr "" -#: stock/models.py:352 +#: stock/models.py:342 msgid "StockItem with this serial number already exists" msgstr "" -#: stock/models.py:388 +#: stock/models.py:378 #, python-brace-format msgid "Part type ('{pf}') must be {pe}" msgstr "" -#: stock/models.py:398 stock/models.py:407 +#: stock/models.py:388 stock/models.py:397 msgid "Quantity must be 1 for item with a serial number" msgstr "" -#: stock/models.py:399 +#: stock/models.py:389 msgid "Serial number cannot be set if quantity greater than 1" msgstr "" -#: stock/models.py:421 +#: stock/models.py:411 msgid "Item cannot belong to itself" msgstr "" -#: stock/models.py:427 +#: stock/models.py:417 msgid "Item must have a build reference if is_building=True" msgstr "" -#: stock/models.py:434 +#: stock/models.py:424 msgid "Build reference does not point to the same part object" msgstr "" -#: stock/models.py:476 +#: stock/models.py:466 msgid "Parent Stock Item" msgstr "" -#: stock/models.py:485 +#: stock/models.py:475 msgid "Base part" msgstr "" -#: stock/models.py:493 +#: stock/models.py:483 msgid "Select a matching supplier part for this stock item" msgstr "" -#: stock/models.py:498 stock/templates/stock/location.html:12 +#: stock/models.py:488 stock/templates/stock/location.html:12 #: stock/templates/stock/stock_app_base.html:8 msgid "Stock Location" msgstr "" -#: stock/models.py:501 +#: stock/models.py:491 msgid "Where is this stock item located?" msgstr "" -#: stock/models.py:508 +#: stock/models.py:498 msgid "Packaging this stock item is stored in" msgstr "" -#: stock/models.py:513 stock/templates/stock/item_base.html:271 +#: stock/models.py:503 stock/templates/stock/item_base.html:299 msgid "Installed In" msgstr "" -#: stock/models.py:516 +#: stock/models.py:506 msgid "Is this item installed in another item?" msgstr "" -#: stock/models.py:532 +#: stock/models.py:522 msgid "Serial number for this item" msgstr "" -#: stock/models.py:546 +#: stock/models.py:536 msgid "Batch code for this stock item" msgstr "" -#: stock/models.py:550 +#: stock/models.py:540 msgid "Stock Quantity" msgstr "" -#: stock/models.py:559 +#: stock/models.py:549 msgid "Source Build" msgstr "" -#: stock/models.py:561 +#: stock/models.py:551 msgid "Build for this stock item" msgstr "" -#: stock/models.py:572 +#: stock/models.py:562 msgid "Source Purchase Order" msgstr "" -#: stock/models.py:575 +#: stock/models.py:565 msgid "Purchase order for this stock item" msgstr "" -#: stock/models.py:581 +#: stock/models.py:571 msgid "Destination Sales Order" msgstr "" -#: stock/models.py:588 +#: stock/models.py:578 msgid "Expiry date for stock item. Stock will be considered expired after this date" msgstr "" -#: stock/models.py:601 +#: stock/models.py:591 msgid "Delete on deplete" msgstr "" -#: stock/models.py:601 +#: stock/models.py:591 msgid "Delete this Stock Item when stock is depleted" msgstr "" -#: stock/models.py:611 stock/templates/stock/item.html:111 +#: stock/models.py:601 stock/templates/stock/item.html:111 msgid "Stock Item Notes" msgstr "" -#: stock/models.py:620 +#: stock/models.py:610 msgid "Single unit purchase price at time of purchase" msgstr "" -#: stock/models.py:630 +#: stock/models.py:620 msgid "Scheduled for deletion" msgstr "" -#: stock/models.py:631 +#: stock/models.py:621 msgid "This StockItem will be deleted by the background worker" msgstr "" -#: stock/models.py:1094 +#: stock/models.py:1084 msgid "Part is not set as trackable" msgstr "" -#: stock/models.py:1100 +#: stock/models.py:1090 msgid "Quantity must be integer" msgstr "" -#: stock/models.py:1106 +#: stock/models.py:1096 #, python-brace-format msgid "Quantity must not exceed available stock quantity ({n})" msgstr "" -#: stock/models.py:1109 +#: stock/models.py:1099 msgid "Serial numbers must be a list of integers" msgstr "" -#: stock/models.py:1112 +#: stock/models.py:1102 msgid "Quantity does not match serial numbers" msgstr "" -#: stock/models.py:1119 +#: stock/models.py:1109 #, python-brace-format msgid "Serial numbers already exist: {exists}" msgstr "" -#: stock/models.py:1277 +#: stock/models.py:1267 msgid "StockItem cannot be moved as it is not in stock" msgstr "" -#: stock/models.py:1775 +#: stock/models.py:1765 msgid "Entry notes" msgstr "" -#: stock/models.py:1832 +#: stock/models.py:1822 msgid "Value must be provided for this test" msgstr "" -#: stock/models.py:1838 +#: stock/models.py:1828 msgid "Attachment must be uploaded for this test" msgstr "" -#: stock/models.py:1856 +#: stock/models.py:1846 msgid "Test name" msgstr "" -#: stock/models.py:1862 templates/js/translated/table_filters.js:266 +#: stock/models.py:1852 templates/js/translated/table_filters.js:266 msgid "Test result" msgstr "" -#: stock/models.py:1868 +#: stock/models.py:1858 msgid "Test output value" msgstr "" -#: stock/models.py:1875 +#: stock/models.py:1865 msgid "Test result attachment" msgstr "" -#: stock/models.py:1881 +#: stock/models.py:1871 msgid "Test notes" msgstr "" -#: stock/serializers.py:166 +#: stock/serializers.py:171 msgid "Purchase price of this stock item" msgstr "" -#: stock/serializers.py:173 +#: stock/serializers.py:178 msgid "Purchase currency of this stock item" msgstr "" -#: stock/serializers.py:287 +#: stock/serializers.py:292 msgid "Enter number of stock items to serialize" msgstr "" -#: stock/serializers.py:302 +#: stock/serializers.py:307 #, python-brace-format msgid "Quantity must not exceed available stock quantity ({q})" msgstr "" -#: stock/serializers.py:308 +#: stock/serializers.py:313 msgid "Enter serial numbers for new items" msgstr "" -#: stock/serializers.py:319 stock/serializers.py:686 +#: stock/serializers.py:324 stock/serializers.py:691 msgid "Destination stock location" msgstr "" -#: stock/serializers.py:326 +#: stock/serializers.py:331 msgid "Optional note field" msgstr "" -#: stock/serializers.py:339 +#: stock/serializers.py:344 msgid "Serial numbers cannot be assigned to this part" msgstr "" -#: stock/serializers.py:556 +#: stock/serializers.py:561 msgid "StockItem primary key value" msgstr "" -#: stock/serializers.py:584 +#: stock/serializers.py:589 msgid "Stock transaction notes" msgstr "" -#: stock/serializers.py:594 +#: stock/serializers.py:599 msgid "A list of stock items must be provided" msgstr "" @@ -5629,125 +5656,131 @@ msgstr "" msgid "Install" msgstr "" -#: stock/templates/stock/item_base.html:106 +#: stock/templates/stock/item_base.html:108 msgid "Convert to variant" msgstr "" -#: stock/templates/stock/item_base.html:109 +#: stock/templates/stock/item_base.html:111 msgid "Duplicate stock item" msgstr "" -#: stock/templates/stock/item_base.html:111 +#: stock/templates/stock/item_base.html:113 msgid "Edit stock item" msgstr "" -#: stock/templates/stock/item_base.html:114 +#: stock/templates/stock/item_base.html:116 msgid "Delete stock item" msgstr "" -#: stock/templates/stock/item_base.html:136 -#: stock/templates/stock/item_base.html:386 -#: templates/js/translated/table_filters.js:247 -msgid "Expired" +#: stock/templates/stock/item_base.html:154 +msgid "previous page" msgstr "" -#: stock/templates/stock/item_base.html:146 -#: stock/templates/stock/item_base.html:388 -#: templates/js/translated/table_filters.js:253 -msgid "Stale" +#: stock/templates/stock/item_base.html:154 +msgid "Navigate to previous serial number" msgstr "" -#: stock/templates/stock/item_base.html:161 -msgid "You are not in the list of owners of this item. This stock item cannot be edited." +#: stock/templates/stock/item_base.html:163 +msgid "next page" msgstr "" -#: stock/templates/stock/item_base.html:168 -msgid "This stock item is in production and cannot be edited." -msgstr "" - -#: stock/templates/stock/item_base.html:169 -msgid "Edit the stock item from the build view." -msgstr "" - -#: stock/templates/stock/item_base.html:182 -msgid "This stock item has not passed all required tests" +#: stock/templates/stock/item_base.html:163 +msgid "Navigate to next serial number" msgstr "" #: stock/templates/stock/item_base.html:190 #, python-format -msgid "This stock item is allocated to Sales Order %(link)s (Quantity: %(qty)s)" -msgstr "" - -#: stock/templates/stock/item_base.html:198 -#, python-format -msgid "This stock item is allocated to Build %(link)s (Quantity: %(qty)s)" -msgstr "" - -#: stock/templates/stock/item_base.html:204 -msgid "This stock item is serialized - it has a unique serial number and the quantity cannot be adjusted." -msgstr "" - -#: stock/templates/stock/item_base.html:208 -msgid "This stock item cannot be deleted as it has child items" -msgstr "" - -#: stock/templates/stock/item_base.html:212 -msgid "This stock item will be automatically deleted when all stock is depleted." -msgstr "" - -#: stock/templates/stock/item_base.html:241 -msgid "previous page" -msgstr "" - -#: stock/templates/stock/item_base.html:247 -msgid "next page" -msgstr "" - -#: stock/templates/stock/item_base.html:290 -#: templates/js/translated/build.js:1035 -msgid "No location set" -msgstr "" - -#: stock/templates/stock/item_base.html:297 -msgid "Barcode Identifier" -msgstr "" - -#: stock/templates/stock/item_base.html:339 -msgid "Parent Item" -msgstr "" - -#: stock/templates/stock/item_base.html:357 -msgid "No manufacturer set" -msgstr "" - -#: stock/templates/stock/item_base.html:386 -#, python-format msgid "This StockItem expired on %(item.expiry_date)s" msgstr "" -#: stock/templates/stock/item_base.html:388 +#: stock/templates/stock/item_base.html:190 +#: templates/js/translated/table_filters.js:247 +msgid "Expired" +msgstr "" + +#: stock/templates/stock/item_base.html:192 #, python-format msgid "This StockItem expires on %(item.expiry_date)s" msgstr "" -#: stock/templates/stock/item_base.html:395 -#: templates/js/translated/stock.js:1289 +#: stock/templates/stock/item_base.html:192 +#: templates/js/translated/table_filters.js:253 +msgid "Stale" +msgstr "" + +#: stock/templates/stock/item_base.html:199 +#: templates/js/translated/stock.js:1371 msgid "Last Updated" msgstr "" -#: stock/templates/stock/item_base.html:400 +#: stock/templates/stock/item_base.html:204 msgid "Last Stocktake" msgstr "" -#: stock/templates/stock/item_base.html:404 +#: stock/templates/stock/item_base.html:208 msgid "No stocktake performed" msgstr "" -#: stock/templates/stock/item_base.html:415 +#: stock/templates/stock/item_base.html:226 +msgid "You are not in the list of owners of this item. This stock item cannot be edited." +msgstr "" + +#: stock/templates/stock/item_base.html:233 +msgid "This stock item is in production and cannot be edited." +msgstr "" + +#: stock/templates/stock/item_base.html:234 +msgid "Edit the stock item from the build view." +msgstr "" + +#: stock/templates/stock/item_base.html:247 +msgid "This stock item has not passed all required tests" +msgstr "" + +#: stock/templates/stock/item_base.html:255 +#, python-format +msgid "This stock item is allocated to Sales Order %(link)s (Quantity: %(qty)s)" +msgstr "" + +#: stock/templates/stock/item_base.html:263 +#, python-format +msgid "This stock item is allocated to Build %(link)s (Quantity: %(qty)s)" +msgstr "" + +#: stock/templates/stock/item_base.html:269 +msgid "This stock item is serialized - it has a unique serial number and the quantity cannot be adjusted." +msgstr "" + +#: stock/templates/stock/item_base.html:273 +msgid "This stock item cannot be deleted as it has child items" +msgstr "" + +#: stock/templates/stock/item_base.html:277 +msgid "This stock item will be automatically deleted when all stock is depleted." +msgstr "" + +#: stock/templates/stock/item_base.html:318 +#: templates/js/translated/build.js:1035 +msgid "No location set" +msgstr "" + +#: stock/templates/stock/item_base.html:325 +msgid "Barcode Identifier" +msgstr "" + +#: stock/templates/stock/item_base.html:367 +msgid "Parent Item" +msgstr "" + +#: stock/templates/stock/item_base.html:385 +msgid "No manufacturer set" +msgstr "" + +#: stock/templates/stock/item_base.html:410 msgid "Tests" msgstr "" -#: stock/templates/stock/item_base.html:505 +#: stock/templates/stock/item_base.html:500 msgid "Edit Stock Status" msgstr "" @@ -5825,30 +5858,35 @@ msgstr "" msgid "New Location" msgstr "" -#: stock/templates/stock/location.html:86 +#: stock/templates/stock/location.html:95 +#: stock/templates/stock/location.html:101 +msgid "Location Path" +msgstr "" + +#: stock/templates/stock/location.html:102 msgid "Top level stock location" msgstr "" -#: stock/templates/stock/location.html:95 +#: stock/templates/stock/location.html:115 msgid "You are not in the list of owners of this location. This stock location cannot be edited." msgstr "" -#: stock/templates/stock/location.html:113 -#: stock/templates/stock/location.html:160 +#: stock/templates/stock/location.html:128 +#: stock/templates/stock/location.html:175 #: stock/templates/stock/location_sidebar.html:5 msgid "Sublocations" msgstr "" -#: stock/templates/stock/location.html:127 templates/InvenTree/search.html:170 +#: stock/templates/stock/location.html:142 templates/InvenTree/search.html:170 #: templates/stats.html:97 users/models.py:42 msgid "Stock Locations" msgstr "" -#: stock/templates/stock/location.html:167 templates/stock_table.html:30 +#: stock/templates/stock/location.html:182 templates/stock_table.html:30 msgid "Printing Actions" msgstr "" -#: stock/templates/stock/location.html:171 templates/stock_table.html:34 +#: stock/templates/stock/location.html:186 templates/stock_table.html:34 msgid "Print labels" msgstr "" @@ -5942,7 +5980,7 @@ msgstr "" msgid "Uninstall Stock Items" msgstr "" -#: stock/views.py:760 templates/js/translated/stock.js:648 +#: stock/views.py:760 templates/js/translated/stock.js:730 msgid "Confirm stock adjustment" msgstr "" @@ -5950,7 +5988,7 @@ msgstr "" msgid "Uninstalled stock items" msgstr "" -#: stock/views.py:793 templates/js/translated/stock.js:318 +#: stock/views.py:793 templates/js/translated/stock.js:319 msgid "Edit Stock Item" msgstr "" @@ -5962,7 +6000,7 @@ msgstr "" msgid "Create new Stock Item" msgstr "" -#: stock/views.py:1186 templates/js/translated/stock.js:298 +#: stock/views.py:1186 templates/js/translated/stock.js:299 msgid "Duplicate Stock Item" msgstr "" @@ -6868,7 +6906,7 @@ msgstr "" msgid "Unlink" msgstr "" -#: templates/js/translated/barcode.js:397 templates/js/translated/stock.js:600 +#: templates/js/translated/barcode.js:397 templates/js/translated/stock.js:682 msgid "Remove stock item" msgstr "" @@ -6963,7 +7001,7 @@ msgid "View BOM" msgstr "" #: templates/js/translated/bom.js:608 templates/js/translated/build.js:1183 -#: templates/js/translated/order.js:1320 +#: templates/js/translated/order.js:1319 msgid "Actions" msgstr "" @@ -7055,7 +7093,7 @@ msgstr "" msgid "No build order allocations found" msgstr "" -#: templates/js/translated/build.js:424 templates/js/translated/order.js:1194 +#: templates/js/translated/build.js:424 templates/js/translated/order.js:1193 msgid "Location not specified" msgstr "" @@ -7064,12 +7102,12 @@ msgid "No active build outputs found" msgstr "" #: templates/js/translated/build.js:1052 templates/js/translated/build.js:1760 -#: templates/js/translated/order.js:1327 +#: templates/js/translated/order.js:1326 msgid "Edit stock allocation" msgstr "" #: templates/js/translated/build.js:1054 templates/js/translated/build.js:1761 -#: templates/js/translated/order.js:1328 +#: templates/js/translated/order.js:1327 msgid "Delete stock allocation" msgstr "" @@ -7090,11 +7128,11 @@ msgid "Quantity Per" msgstr "" #: templates/js/translated/build.js:1134 templates/js/translated/build.js:1360 -#: templates/js/translated/build.js:1756 templates/js/translated/order.js:1557 +#: templates/js/translated/build.js:1756 templates/js/translated/order.js:1556 msgid "Allocated" msgstr "" -#: templates/js/translated/build.js:1190 templates/js/translated/order.js:1611 +#: templates/js/translated/build.js:1190 templates/js/translated/order.js:1610 msgid "Build stock" msgstr "" @@ -7102,7 +7140,7 @@ msgstr "" msgid "Order stock" msgstr "" -#: templates/js/translated/build.js:1197 templates/js/translated/order.js:1604 +#: templates/js/translated/build.js:1197 templates/js/translated/order.js:1603 msgid "Allocate stock" msgstr "" @@ -7143,9 +7181,9 @@ msgstr "" msgid "No builds matching query" msgstr "" -#: templates/js/translated/build.js:1593 templates/js/translated/part.js:966 -#: templates/js/translated/part.js:1377 templates/js/translated/stock.js:1094 -#: templates/js/translated/stock.js:1871 +#: templates/js/translated/build.js:1593 templates/js/translated/part.js:1147 +#: templates/js/translated/part.js:1558 templates/js/translated/stock.js:1176 +#: templates/js/translated/stock.js:1953 msgid "Select" msgstr "" @@ -7153,7 +7191,7 @@ msgstr "" msgid "Build order is overdue" msgstr "" -#: templates/js/translated/build.js:1674 templates/js/translated/stock.js:2090 +#: templates/js/translated/build.js:1674 templates/js/translated/stock.js:2172 msgid "No user information" msgstr "" @@ -7197,10 +7235,6 @@ msgstr "" msgid "Delete Supplier Part" msgstr "" -#: templates/js/translated/company.js:265 -msgid "Edit Company" -msgstr "" - #: templates/js/translated/company.js:286 msgid "Add new Company" msgstr "" @@ -7230,34 +7264,34 @@ msgid "No manufacturer parts found" msgstr "" #: templates/js/translated/company.js:497 -#: templates/js/translated/company.js:754 templates/js/translated/part.js:449 -#: templates/js/translated/part.js:534 +#: templates/js/translated/company.js:754 templates/js/translated/part.js:456 +#: templates/js/translated/part.js:541 msgid "Template part" msgstr "" #: templates/js/translated/company.js:501 -#: templates/js/translated/company.js:758 templates/js/translated/part.js:453 -#: templates/js/translated/part.js:538 +#: templates/js/translated/company.js:758 templates/js/translated/part.js:460 +#: templates/js/translated/part.js:545 msgid "Assembled part" msgstr "" -#: templates/js/translated/company.js:628 templates/js/translated/part.js:626 +#: templates/js/translated/company.js:628 templates/js/translated/part.js:633 msgid "No parameters found" msgstr "" -#: templates/js/translated/company.js:665 templates/js/translated/part.js:668 +#: templates/js/translated/company.js:665 templates/js/translated/part.js:675 msgid "Edit parameter" msgstr "" -#: templates/js/translated/company.js:666 templates/js/translated/part.js:669 +#: templates/js/translated/company.js:666 templates/js/translated/part.js:676 msgid "Delete parameter" msgstr "" -#: templates/js/translated/company.js:685 templates/js/translated/part.js:686 +#: templates/js/translated/company.js:685 templates/js/translated/part.js:693 msgid "Edit Parameter" msgstr "" -#: templates/js/translated/company.js:696 templates/js/translated/part.js:698 +#: templates/js/translated/company.js:696 templates/js/translated/part.js:705 msgid "Delete Parameter" msgstr "" @@ -7346,7 +7380,7 @@ msgid "NO" msgstr "" #: templates/js/translated/label.js:29 templates/js/translated/report.js:118 -#: templates/js/translated/stock.js:624 +#: templates/js/translated/stock.js:706 msgid "Select Stock Items" msgstr "" @@ -7502,11 +7536,11 @@ msgstr "" msgid "Export Order" msgstr "" -#: templates/js/translated/order.js:211 templates/js/translated/stock.js:423 +#: templates/js/translated/order.js:211 templates/js/translated/stock.js:505 msgid "Format" msgstr "" -#: templates/js/translated/order.js:212 templates/js/translated/stock.js:424 +#: templates/js/translated/order.js:212 templates/js/translated/stock.js:506 msgid "Select file format" msgstr "" @@ -7522,7 +7556,7 @@ msgstr "" msgid "Quantity to receive" msgstr "" -#: templates/js/translated/order.js:360 templates/js/translated/stock.js:1673 +#: templates/js/translated/order.js:360 templates/js/translated/stock.js:1755 msgid "Stock Status" msgstr "" @@ -7546,321 +7580,321 @@ msgstr "" msgid "Receive Purchase Order Items" msgstr "" -#: templates/js/translated/order.js:627 +#: templates/js/translated/order.js:627 templates/js/translated/part.js:746 msgid "No purchase orders found" msgstr "" -#: templates/js/translated/order.js:652 templates/js/translated/order.js:1063 +#: templates/js/translated/order.js:659 templates/js/translated/order.js:1062 msgid "Order is overdue" msgstr "" -#: templates/js/translated/order.js:772 templates/js/translated/order.js:1646 +#: templates/js/translated/order.js:771 templates/js/translated/order.js:1645 msgid "Edit Line Item" msgstr "" -#: templates/js/translated/order.js:784 templates/js/translated/order.js:1657 +#: templates/js/translated/order.js:783 templates/js/translated/order.js:1656 msgid "Delete Line Item" msgstr "" -#: templates/js/translated/order.js:823 +#: templates/js/translated/order.js:822 msgid "No line items found" msgstr "" -#: templates/js/translated/order.js:850 templates/js/translated/order.js:1467 +#: templates/js/translated/order.js:849 templates/js/translated/order.js:1466 msgid "Total" msgstr "" -#: templates/js/translated/order.js:904 templates/js/translated/order.js:1492 -#: templates/js/translated/part.js:1594 templates/js/translated/part.js:1805 +#: templates/js/translated/order.js:903 templates/js/translated/order.js:1491 +#: templates/js/translated/part.js:1775 templates/js/translated/part.js:1986 msgid "Unit Price" msgstr "" -#: templates/js/translated/order.js:919 templates/js/translated/order.js:1508 +#: templates/js/translated/order.js:918 templates/js/translated/order.js:1507 msgid "Total Price" msgstr "" -#: templates/js/translated/order.js:997 templates/js/translated/order.js:1617 +#: templates/js/translated/order.js:996 templates/js/translated/order.js:1616 msgid "Edit line item" msgstr "" -#: templates/js/translated/order.js:998 +#: templates/js/translated/order.js:997 msgid "Delete line item" msgstr "" -#: templates/js/translated/order.js:1002 +#: templates/js/translated/order.js:1001 templates/js/translated/part.js:878 msgid "Receive line item" msgstr "" -#: templates/js/translated/order.js:1039 +#: templates/js/translated/order.js:1038 msgid "No sales orders found" msgstr "" -#: templates/js/translated/order.js:1077 +#: templates/js/translated/order.js:1076 msgid "Invalid Customer" msgstr "" -#: templates/js/translated/order.js:1155 +#: templates/js/translated/order.js:1154 msgid "No sales order allocations found" msgstr "" -#: templates/js/translated/order.js:1248 +#: templates/js/translated/order.js:1247 msgid "Edit Stock Allocation" msgstr "" -#: templates/js/translated/order.js:1265 +#: templates/js/translated/order.js:1264 msgid "Confirm Delete Operation" msgstr "" -#: templates/js/translated/order.js:1266 +#: templates/js/translated/order.js:1265 msgid "Delete Stock Allocation" msgstr "" -#: templates/js/translated/order.js:1308 +#: templates/js/translated/order.js:1307 msgid "Stock location not specified" msgstr "" -#: templates/js/translated/order.js:1557 +#: templates/js/translated/order.js:1556 msgid "Fulfilled" msgstr "" -#: templates/js/translated/order.js:1601 +#: templates/js/translated/order.js:1600 msgid "Allocate serial numbers" msgstr "" -#: templates/js/translated/order.js:1607 +#: templates/js/translated/order.js:1606 msgid "Purchase stock" msgstr "" -#: templates/js/translated/order.js:1614 templates/js/translated/order.js:1793 +#: templates/js/translated/order.js:1613 templates/js/translated/order.js:1792 msgid "Calculate price" msgstr "" -#: templates/js/translated/order.js:1618 +#: templates/js/translated/order.js:1617 msgid "Delete line item " msgstr "" -#: templates/js/translated/order.js:1741 +#: templates/js/translated/order.js:1740 msgid "Allocate Stock Item" msgstr "" -#: templates/js/translated/order.js:1801 +#: templates/js/translated/order.js:1800 msgid "Update Unit Price" msgstr "" -#: templates/js/translated/order.js:1815 +#: templates/js/translated/order.js:1814 msgid "No matching line items" msgstr "" -#: templates/js/translated/part.js:51 +#: templates/js/translated/part.js:52 msgid "Part Attributes" msgstr "" -#: templates/js/translated/part.js:55 +#: templates/js/translated/part.js:56 msgid "Part Creation Options" msgstr "" -#: templates/js/translated/part.js:59 +#: templates/js/translated/part.js:60 msgid "Part Duplication Options" msgstr "" -#: templates/js/translated/part.js:63 +#: templates/js/translated/part.js:64 msgid "Supplier Options" msgstr "" -#: templates/js/translated/part.js:77 +#: templates/js/translated/part.js:78 msgid "Add Part Category" msgstr "" -#: templates/js/translated/part.js:166 +#: templates/js/translated/part.js:162 msgid "Create Initial Stock" msgstr "" -#: templates/js/translated/part.js:167 +#: templates/js/translated/part.js:163 msgid "Create an initial stock item for this part" msgstr "" -#: templates/js/translated/part.js:174 +#: templates/js/translated/part.js:170 msgid "Initial Stock Quantity" msgstr "" -#: templates/js/translated/part.js:175 +#: templates/js/translated/part.js:171 msgid "Specify initial stock quantity for this part" msgstr "" -#: templates/js/translated/part.js:182 +#: templates/js/translated/part.js:178 msgid "Select destination stock location" msgstr "" -#: templates/js/translated/part.js:193 +#: templates/js/translated/part.js:196 msgid "Copy Category Parameters" msgstr "" -#: templates/js/translated/part.js:194 +#: templates/js/translated/part.js:197 msgid "Copy parameter templates from selected part category" msgstr "" -#: templates/js/translated/part.js:202 +#: templates/js/translated/part.js:205 msgid "Add Supplier Data" msgstr "" -#: templates/js/translated/part.js:203 +#: templates/js/translated/part.js:206 msgid "Create initial supplier data for this part" msgstr "" -#: templates/js/translated/part.js:259 +#: templates/js/translated/part.js:262 msgid "Copy Image" msgstr "" -#: templates/js/translated/part.js:260 +#: templates/js/translated/part.js:263 msgid "Copy image from original part" msgstr "" -#: templates/js/translated/part.js:268 +#: templates/js/translated/part.js:271 msgid "Copy bill of materials from original part" msgstr "" -#: templates/js/translated/part.js:275 +#: templates/js/translated/part.js:278 msgid "Copy Parameters" msgstr "" -#: templates/js/translated/part.js:276 +#: templates/js/translated/part.js:279 msgid "Copy parameter data from original part" msgstr "" -#: templates/js/translated/part.js:289 +#: templates/js/translated/part.js:292 msgid "Parent part category" msgstr "" -#: templates/js/translated/part.js:333 +#: templates/js/translated/part.js:336 msgid "Edit Part" msgstr "" -#: templates/js/translated/part.js:335 +#: templates/js/translated/part.js:338 msgid "Part edited" msgstr "" -#: templates/js/translated/part.js:403 +#: templates/js/translated/part.js:410 msgid "You are subscribed to notifications for this item" msgstr "" -#: templates/js/translated/part.js:405 +#: templates/js/translated/part.js:412 msgid "You have subscribed to notifications for this item" msgstr "" -#: templates/js/translated/part.js:410 +#: templates/js/translated/part.js:417 msgid "Subscribe to notifications for this item" msgstr "" -#: templates/js/translated/part.js:412 +#: templates/js/translated/part.js:419 msgid "You have unsubscribed to notifications for this item" msgstr "" -#: templates/js/translated/part.js:441 templates/js/translated/part.js:526 +#: templates/js/translated/part.js:448 templates/js/translated/part.js:533 msgid "Trackable part" msgstr "" -#: templates/js/translated/part.js:445 templates/js/translated/part.js:530 +#: templates/js/translated/part.js:452 templates/js/translated/part.js:537 msgid "Virtual part" msgstr "" -#: templates/js/translated/part.js:457 +#: templates/js/translated/part.js:464 msgid "Subscribed part" msgstr "" -#: templates/js/translated/part.js:461 +#: templates/js/translated/part.js:468 msgid "Salable part" msgstr "" -#: templates/js/translated/part.js:576 +#: templates/js/translated/part.js:583 msgid "No variants found" msgstr "" -#: templates/js/translated/part.js:765 +#: templates/js/translated/part.js:946 msgid "Delete part relationship" msgstr "" -#: templates/js/translated/part.js:789 +#: templates/js/translated/part.js:970 msgid "Delete Part Relationship" msgstr "" -#: templates/js/translated/part.js:856 templates/js/translated/part.js:1116 +#: templates/js/translated/part.js:1037 templates/js/translated/part.js:1297 msgid "No parts found" msgstr "" -#: templates/js/translated/part.js:1026 +#: templates/js/translated/part.js:1207 msgid "No category" msgstr "" -#: templates/js/translated/part.js:1049 +#: templates/js/translated/part.js:1230 #: templates/js/translated/table_filters.js:381 msgid "Low stock" msgstr "" -#: templates/js/translated/part.js:1140 templates/js/translated/part.js:1312 -#: templates/js/translated/stock.js:1832 +#: templates/js/translated/part.js:1321 templates/js/translated/part.js:1493 +#: templates/js/translated/stock.js:1914 msgid "Display as list" msgstr "" -#: templates/js/translated/part.js:1156 +#: templates/js/translated/part.js:1337 msgid "Display as grid" msgstr "" -#: templates/js/translated/part.js:1331 templates/js/translated/stock.js:1851 +#: templates/js/translated/part.js:1512 templates/js/translated/stock.js:1933 msgid "Display as tree" msgstr "" -#: templates/js/translated/part.js:1395 +#: templates/js/translated/part.js:1576 msgid "Subscribed category" msgstr "" -#: templates/js/translated/part.js:1409 templates/js/translated/stock.js:1895 +#: templates/js/translated/part.js:1590 templates/js/translated/stock.js:1977 msgid "Path" msgstr "" -#: templates/js/translated/part.js:1453 +#: templates/js/translated/part.js:1634 msgid "No test templates matching query" msgstr "" -#: templates/js/translated/part.js:1504 templates/js/translated/stock.js:816 +#: templates/js/translated/part.js:1685 templates/js/translated/stock.js:898 msgid "Edit test result" msgstr "" -#: templates/js/translated/part.js:1505 templates/js/translated/stock.js:817 +#: templates/js/translated/part.js:1686 templates/js/translated/stock.js:899 msgid "Delete test result" msgstr "" -#: templates/js/translated/part.js:1511 +#: templates/js/translated/part.js:1692 msgid "This test is defined for a parent part" msgstr "" -#: templates/js/translated/part.js:1533 +#: templates/js/translated/part.js:1714 msgid "Edit Test Result Template" msgstr "" -#: templates/js/translated/part.js:1547 +#: templates/js/translated/part.js:1728 msgid "Delete Test Result Template" msgstr "" -#: templates/js/translated/part.js:1572 +#: templates/js/translated/part.js:1753 #, python-brace-format msgid "No ${human_name} information found" msgstr "" -#: templates/js/translated/part.js:1627 +#: templates/js/translated/part.js:1808 #, python-brace-format msgid "Edit ${human_name}" msgstr "" -#: templates/js/translated/part.js:1628 +#: templates/js/translated/part.js:1809 #, python-brace-format msgid "Delete ${human_name}" msgstr "" -#: templates/js/translated/part.js:1729 +#: templates/js/translated/part.js:1910 msgid "Single Price" msgstr "" -#: templates/js/translated/part.js:1748 +#: templates/js/translated/part.js:1929 msgid "Single Price Difference" msgstr "" @@ -7930,276 +7964,300 @@ msgstr "" msgid "Sales Order(s) must be selected before printing report" msgstr "" -#: templates/js/translated/stock.js:70 +#: templates/js/translated/stock.js:71 msgid "Serialize Stock Item" msgstr "" -#: templates/js/translated/stock.js:88 templates/js/translated/stock.js:167 +#: templates/js/translated/stock.js:89 templates/js/translated/stock.js:168 msgid "Next available serial number" msgstr "" -#: templates/js/translated/stock.js:90 templates/js/translated/stock.js:169 +#: templates/js/translated/stock.js:91 templates/js/translated/stock.js:170 msgid "Latest serial number" msgstr "" -#: templates/js/translated/stock.js:104 +#: templates/js/translated/stock.js:105 msgid "Parent stock location" msgstr "" -#: templates/js/translated/stock.js:140 +#: templates/js/translated/stock.js:141 msgid "New Stock Location" msgstr "" -#: templates/js/translated/stock.js:180 +#: templates/js/translated/stock.js:181 msgid "This part cannot be serialized" msgstr "" -#: templates/js/translated/stock.js:219 +#: templates/js/translated/stock.js:220 msgid "Enter initial quantity for this stock item" msgstr "" -#: templates/js/translated/stock.js:225 +#: templates/js/translated/stock.js:226 msgid "Enter serial numbers for new stock (or leave blank)" msgstr "" -#: templates/js/translated/stock.js:368 +#: templates/js/translated/stock.js:369 msgid "Created new stock item" msgstr "" -#: templates/js/translated/stock.js:381 +#: templates/js/translated/stock.js:382 msgid "Created multiple stock items" msgstr "" -#: templates/js/translated/stock.js:420 +#: templates/js/translated/stock.js:407 +msgid "Find Serial Number" +msgstr "" + +#: templates/js/translated/stock.js:411 templates/js/translated/stock.js:412 +msgid "Enter serial number" +msgstr "" + +#: templates/js/translated/stock.js:428 +msgid "Enter a serial number" +msgstr "" + +#: templates/js/translated/stock.js:448 +msgid "No matching serial number" +msgstr "" + +#: templates/js/translated/stock.js:457 +msgid "More than one matching result found" +msgstr "" + +#: templates/js/translated/stock.js:502 msgid "Export Stock" msgstr "" -#: templates/js/translated/stock.js:431 +#: templates/js/translated/stock.js:513 msgid "Include Sublocations" msgstr "" -#: templates/js/translated/stock.js:432 +#: templates/js/translated/stock.js:514 msgid "Include stock items in sublocations" msgstr "" -#: templates/js/translated/stock.js:474 +#: templates/js/translated/stock.js:556 msgid "Transfer Stock" msgstr "" -#: templates/js/translated/stock.js:475 +#: templates/js/translated/stock.js:557 msgid "Move" msgstr "" -#: templates/js/translated/stock.js:481 +#: templates/js/translated/stock.js:563 msgid "Count Stock" msgstr "" -#: templates/js/translated/stock.js:482 +#: templates/js/translated/stock.js:564 msgid "Count" msgstr "" -#: templates/js/translated/stock.js:486 +#: templates/js/translated/stock.js:568 msgid "Remove Stock" msgstr "" -#: templates/js/translated/stock.js:487 +#: templates/js/translated/stock.js:569 msgid "Take" msgstr "" -#: templates/js/translated/stock.js:491 +#: templates/js/translated/stock.js:573 msgid "Add Stock" msgstr "" -#: templates/js/translated/stock.js:492 users/models.py:200 +#: templates/js/translated/stock.js:574 users/models.py:200 msgid "Add" msgstr "" -#: templates/js/translated/stock.js:496 templates/stock_table.html:56 +#: templates/js/translated/stock.js:578 templates/stock_table.html:56 msgid "Delete Stock" msgstr "" -#: templates/js/translated/stock.js:585 +#: templates/js/translated/stock.js:667 msgid "Quantity cannot be adjusted for serialized stock" msgstr "" -#: templates/js/translated/stock.js:585 +#: templates/js/translated/stock.js:667 msgid "Specify stock quantity" msgstr "" -#: templates/js/translated/stock.js:625 +#: templates/js/translated/stock.js:707 msgid "You must select at least one available stock item" msgstr "" -#: templates/js/translated/stock.js:783 +#: templates/js/translated/stock.js:865 msgid "PASS" msgstr "" -#: templates/js/translated/stock.js:785 +#: templates/js/translated/stock.js:867 msgid "FAIL" msgstr "" -#: templates/js/translated/stock.js:790 +#: templates/js/translated/stock.js:872 msgid "NO RESULT" msgstr "" -#: templates/js/translated/stock.js:812 +#: templates/js/translated/stock.js:894 msgid "Add test result" msgstr "" -#: templates/js/translated/stock.js:838 +#: templates/js/translated/stock.js:920 msgid "No test results found" msgstr "" -#: templates/js/translated/stock.js:895 +#: templates/js/translated/stock.js:977 msgid "Test Date" msgstr "" -#: templates/js/translated/stock.js:1002 +#: templates/js/translated/stock.js:1084 msgid "In production" msgstr "" -#: templates/js/translated/stock.js:1006 +#: templates/js/translated/stock.js:1088 msgid "Installed in Stock Item" msgstr "" -#: templates/js/translated/stock.js:1010 +#: templates/js/translated/stock.js:1092 msgid "Shipped to customer" msgstr "" -#: templates/js/translated/stock.js:1014 +#: templates/js/translated/stock.js:1096 msgid "Assigned to Sales Order" msgstr "" -#: templates/js/translated/stock.js:1020 +#: templates/js/translated/stock.js:1102 msgid "No stock location set" msgstr "" -#: templates/js/translated/stock.js:1178 +#: templates/js/translated/stock.js:1260 msgid "Stock item is in production" msgstr "" -#: templates/js/translated/stock.js:1183 +#: templates/js/translated/stock.js:1265 msgid "Stock item assigned to sales order" msgstr "" -#: templates/js/translated/stock.js:1186 +#: templates/js/translated/stock.js:1268 msgid "Stock item assigned to customer" msgstr "" -#: templates/js/translated/stock.js:1190 +#: templates/js/translated/stock.js:1272 msgid "Stock item has expired" msgstr "" -#: templates/js/translated/stock.js:1192 +#: templates/js/translated/stock.js:1274 msgid "Stock item will expire soon" msgstr "" -#: templates/js/translated/stock.js:1196 +#: templates/js/translated/stock.js:1278 msgid "Stock item has been allocated" msgstr "" -#: templates/js/translated/stock.js:1200 +#: templates/js/translated/stock.js:1282 msgid "Stock item has been installed in another item" msgstr "" -#: templates/js/translated/stock.js:1207 +#: templates/js/translated/stock.js:1289 msgid "Stock item has been rejected" msgstr "" -#: templates/js/translated/stock.js:1209 +#: templates/js/translated/stock.js:1291 msgid "Stock item is lost" msgstr "" -#: templates/js/translated/stock.js:1211 +#: templates/js/translated/stock.js:1293 msgid "Stock item is destroyed" msgstr "" -#: templates/js/translated/stock.js:1215 +#: templates/js/translated/stock.js:1297 #: templates/js/translated/table_filters.js:183 msgid "Depleted" msgstr "" -#: templates/js/translated/stock.js:1265 +#: templates/js/translated/stock.js:1347 msgid "Stocktake" msgstr "" -#: templates/js/translated/stock.js:1338 +#: templates/js/translated/stock.js:1420 msgid "Supplier part not specified" msgstr "" -#: templates/js/translated/stock.js:1376 +#: templates/js/translated/stock.js:1458 msgid "No stock items matching query" msgstr "" -#: templates/js/translated/stock.js:1397 templates/js/translated/stock.js:1445 +#: templates/js/translated/stock.js:1479 templates/js/translated/stock.js:1527 msgid "items" msgstr "" -#: templates/js/translated/stock.js:1485 +#: templates/js/translated/stock.js:1567 msgid "batches" msgstr "" -#: templates/js/translated/stock.js:1512 +#: templates/js/translated/stock.js:1594 msgid "locations" msgstr "" -#: templates/js/translated/stock.js:1514 +#: templates/js/translated/stock.js:1596 msgid "Undefined location" msgstr "" -#: templates/js/translated/stock.js:1688 +#: templates/js/translated/stock.js:1770 msgid "Set Stock Status" msgstr "" -#: templates/js/translated/stock.js:1702 +#: templates/js/translated/stock.js:1784 msgid "Select Status Code" msgstr "" -#: templates/js/translated/stock.js:1703 +#: templates/js/translated/stock.js:1785 msgid "Status code must be selected" msgstr "" -#: templates/js/translated/stock.js:1927 +#: templates/js/translated/stock.js:2009 msgid "Invalid date" msgstr "" -#: templates/js/translated/stock.js:1974 +#: templates/js/translated/stock.js:2031 +msgid "Details" +msgstr "" + +#: templates/js/translated/stock.js:2056 msgid "Location no longer exists" msgstr "" -#: templates/js/translated/stock.js:1993 +#: templates/js/translated/stock.js:2075 msgid "Purchase order no longer exists" msgstr "" -#: templates/js/translated/stock.js:2012 +#: templates/js/translated/stock.js:2094 msgid "Customer no longer exists" msgstr "" -#: templates/js/translated/stock.js:2030 +#: templates/js/translated/stock.js:2112 msgid "Stock item no longer exists" msgstr "" -#: templates/js/translated/stock.js:2053 +#: templates/js/translated/stock.js:2135 msgid "Added" msgstr "" -#: templates/js/translated/stock.js:2061 +#: templates/js/translated/stock.js:2143 msgid "Removed" msgstr "" -#: templates/js/translated/stock.js:2102 +#: templates/js/translated/stock.js:2184 msgid "Edit tracking entry" msgstr "" -#: templates/js/translated/stock.js:2103 +#: templates/js/translated/stock.js:2185 msgid "Delete tracking entry" msgstr "" -#: templates/js/translated/stock.js:2154 +#: templates/js/translated/stock.js:2236 msgid "No installed items" msgstr "" -#: templates/js/translated/stock.js:2205 +#: templates/js/translated/stock.js:2287 msgid "Uninstall Stock Item" msgstr "" diff --git a/InvenTree/locale/nl/LC_MESSAGES/django.po b/InvenTree/locale/nl/LC_MESSAGES/django.po index 5491eac020..7208eb54a1 100644 --- a/InvenTree/locale/nl/LC_MESSAGES/django.po +++ b/InvenTree/locale/nl/LC_MESSAGES/django.po @@ -2,8 +2,8 @@ msgid "" msgstr "" "Project-Id-Version: inventree\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2021-11-30 21:49+0000\n" -"PO-Revision-Date: 2021-11-30 21:51\n" +"POT-Creation-Date: 2021-12-03 10:37+0000\n" +"PO-Revision-Date: 2021-12-03 11:25\n" "Last-Translator: \n" "Language-Team: Dutch\n" "Language: nl_NL\n" @@ -70,15 +70,15 @@ msgstr "Categorie selecteren" #: InvenTree/forms.py:230 msgid "Email (again)" -msgstr "" +msgstr "E-mailadres (opnieuw)" #: InvenTree/forms.py:234 msgid "Email address confirmation" -msgstr "" +msgstr "E-mailadres bevestiging" #: InvenTree/forms.py:254 msgid "You must type the same email each time." -msgstr "" +msgstr "U moet elke keer hetzelfde e-mailadres invoeren." #: InvenTree/helpers.py:430 #, python-brace-format @@ -114,129 +114,130 @@ msgstr "Geen serienummers gevonden" msgid "Number of unique serial number ({s}) must match quantity ({q})" msgstr "Aantal unieke serienummer ({s}) moet overeenkomen met de hoeveelheid ({q})" -#: InvenTree/models.py:114 +#: InvenTree/models.py:120 msgid "Missing file" -msgstr "" +msgstr "Ontbrekend bestand" -#: InvenTree/models.py:115 +#: InvenTree/models.py:121 msgid "Missing external link" -msgstr "" +msgstr "Externe link ontbreekt" -#: InvenTree/models.py:126 stock/models.py:1874 +#: InvenTree/models.py:132 stock/models.py:1864 #: templates/js/translated/attachment.js:117 msgid "Attachment" msgstr "Bijlage" -#: InvenTree/models.py:127 +#: InvenTree/models.py:133 msgid "Select file to attach" msgstr "Bestand als bijlage selecteren" -#: InvenTree/models.py:133 company/models.py:131 company/models.py:348 +#: InvenTree/models.py:139 company/models.py:131 company/models.py:348 #: company/models.py:564 order/models.py:163 part/models.py:797 #: report/templates/report/inventree_build_order_base.html:165 #: templates/js/translated/company.js:537 -#: templates/js/translated/company.js:826 templates/js/translated/part.js:1077 +#: templates/js/translated/company.js:826 templates/js/translated/part.js:1258 msgid "Link" -msgstr "" +msgstr "Link" -#: InvenTree/models.py:134 build/models.py:330 part/models.py:798 -#: stock/models.py:540 +#: InvenTree/models.py:140 build/models.py:330 part/models.py:798 +#: stock/models.py:530 msgid "Link to external URL" msgstr "Link naar externe URL" -#: InvenTree/models.py:137 templates/js/translated/attachment.js:161 +#: InvenTree/models.py:143 templates/js/translated/attachment.js:161 msgid "Comment" msgstr "Opmerking" -#: InvenTree/models.py:137 +#: InvenTree/models.py:143 msgid "File comment" msgstr "Bijlage opmerking" -#: InvenTree/models.py:143 InvenTree/models.py:144 common/models.py:1185 +#: InvenTree/models.py:149 InvenTree/models.py:150 common/models.py:1185 #: common/models.py:1186 part/models.py:2205 part/models.py:2225 #: report/templates/report/inventree_test_report_base.html:96 -#: templates/js/translated/stock.js:2084 +#: templates/js/translated/stock.js:2166 msgid "User" msgstr "Gebruiker" -#: InvenTree/models.py:147 +#: InvenTree/models.py:153 msgid "upload date" msgstr "uploaddatum" -#: InvenTree/models.py:170 +#: InvenTree/models.py:176 msgid "Filename must not be empty" msgstr "Bestandsnaam mag niet leeg zijn" -#: InvenTree/models.py:193 +#: InvenTree/models.py:199 msgid "Invalid attachment directory" msgstr "Fout bijlagemap" -#: InvenTree/models.py:203 +#: InvenTree/models.py:209 #, python-brace-format msgid "Filename contains illegal character '{c}'" msgstr "Bestandsnaam bevat illegale teken '{c}'" -#: InvenTree/models.py:206 +#: InvenTree/models.py:212 msgid "Filename missing extension" msgstr "Bestandsnaam mist extensie" -#: InvenTree/models.py:213 +#: InvenTree/models.py:219 msgid "Attachment with this filename already exists" msgstr "Bijlage met deze bestandsnaam bestaat al" -#: InvenTree/models.py:220 +#: InvenTree/models.py:226 msgid "Error renaming file" msgstr "Fout bij hernoemen bestand" -#: InvenTree/models.py:255 +#: InvenTree/models.py:261 msgid "Invalid choice" msgstr "Ongeldige keuze" -#: InvenTree/models.py:271 InvenTree/models.py:272 company/models.py:415 +#: InvenTree/models.py:277 InvenTree/models.py:278 company/models.py:415 #: label/models.py:112 part/models.py:741 part/models.py:2389 -#: part/templates/part/detail.html:25 report/models.py:181 -#: templates/InvenTree/settings/settings.html:259 -#: templates/js/translated/company.js:638 templates/js/translated/part.js:499 -#: templates/js/translated/part.js:636 templates/js/translated/part.js:1384 -#: templates/js/translated/stock.js:1877 +#: report/models.py:181 templates/InvenTree/settings/settings.html:259 +#: templates/js/translated/company.js:638 templates/js/translated/part.js:506 +#: templates/js/translated/part.js:643 templates/js/translated/part.js:1565 +#: templates/js/translated/stock.js:1959 msgid "Name" msgstr "Naam" -#: InvenTree/models.py:278 build/models.py:207 +#: InvenTree/models.py:284 build/models.py:207 #: build/templates/build/detail.html:25 company/models.py:354 -#: company/models.py:570 company/templates/company/manufacturer_part.html:80 -#: company/templates/company/supplier_part.html:81 label/models.py:119 -#: order/models.py:161 part/models.py:764 part/templates/part/detail.html:30 +#: company/models.py:570 company/templates/company/company_base.html:68 +#: company/templates/company/manufacturer_part.html:76 +#: company/templates/company/supplier_part.html:73 label/models.py:119 +#: order/models.py:161 part/models.py:764 part/templates/part/category.html:70 +#: part/templates/part/part_base.html:163 #: part/templates/part/set_category.html:14 report/models.py:194 #: report/models.py:553 report/models.py:592 #: report/templates/report/inventree_build_order_base.html:118 -#: stock/templates/stock/location.html:108 templates/js/translated/bom.js:215 +#: stock/templates/stock/location.html:89 templates/js/translated/bom.js:215 #: templates/js/translated/bom.js:428 templates/js/translated/build.js:1621 #: templates/js/translated/company.js:345 #: templates/js/translated/company.js:548 -#: templates/js/translated/company.js:837 templates/js/translated/order.js:673 -#: templates/js/translated/order.js:855 templates/js/translated/order.js:1091 -#: templates/js/translated/part.js:558 templates/js/translated/part.js:752 -#: templates/js/translated/part.js:837 templates/js/translated/part.js:1007 -#: templates/js/translated/part.js:1403 templates/js/translated/part.js:1472 -#: templates/js/translated/stock.js:1151 templates/js/translated/stock.js:1889 -#: templates/js/translated/stock.js:1934 +#: templates/js/translated/company.js:837 templates/js/translated/order.js:680 +#: templates/js/translated/order.js:854 templates/js/translated/order.js:1090 +#: templates/js/translated/part.js:565 templates/js/translated/part.js:933 +#: templates/js/translated/part.js:1018 templates/js/translated/part.js:1188 +#: templates/js/translated/part.js:1584 templates/js/translated/part.js:1653 +#: templates/js/translated/stock.js:1233 templates/js/translated/stock.js:1971 +#: templates/js/translated/stock.js:2016 msgid "Description" msgstr "Omschrijving" -#: InvenTree/models.py:279 +#: InvenTree/models.py:285 msgid "Description (optional)" msgstr "Omschrijving (optioneel)" -#: InvenTree/models.py:287 +#: InvenTree/models.py:293 msgid "parent" msgstr "overkoepelend" -#: InvenTree/serializers.py:62 part/models.py:2674 +#: InvenTree/serializers.py:65 part/models.py:2674 msgid "Must be a valid number" msgstr "Moet een geldig nummer zijn" -#: InvenTree/serializers.py:285 +#: InvenTree/serializers.py:299 msgid "Filename" msgstr "Bestandsnaam" @@ -258,7 +259,7 @@ msgstr "Spaans" #: InvenTree/settings.py:674 msgid "Spanish (Mexican)" -msgstr "" +msgstr "Spaans (Mexicaans)" #: InvenTree/settings.py:675 msgid "French" @@ -294,7 +295,7 @@ msgstr "Pools" #: InvenTree/settings.py:683 msgid "Portugese" -msgstr "" +msgstr "Portugees" #: InvenTree/settings.py:684 msgid "Russian" @@ -361,7 +362,7 @@ msgid "Returned" msgstr "Retour" #: InvenTree/status_codes.py:143 -#: order/templates/order/sales_order_base.html:147 +#: order/templates/order/sales_order_base.html:148 msgid "Shipped" msgstr "Verzonden" @@ -566,7 +567,7 @@ msgid "Barcode associated with StockItem" msgstr "Barcode gekoppeld aan StockItem" #: build/forms.py:36 build/models.py:1283 -#: build/templates/build/build_base.html:124 +#: build/templates/build/build_base.html:132 #: build/templates/build/detail.html:35 common/models.py:1225 #: company/forms.py:42 company/templates/company/supplier_part.html:251 #: order/forms.py:102 order/models.py:729 order/models.py:991 @@ -574,26 +575,27 @@ msgstr "Barcode gekoppeld aan StockItem" #: order/templates/order/order_wizard/select_parts.html:34 part/forms.py:223 #: part/forms.py:239 part/forms.py:255 part/models.py:2576 #: part/templates/part/bom_upload/match_parts.html:31 -#: part/templates/part/detail.html:1076 part/templates/part/detail.html:1162 +#: part/templates/part/detail.html:967 part/templates/part/detail.html:1053 #: part/templates/part/part_pricing.html:16 #: report/templates/report/inventree_build_order_base.html:114 #: report/templates/report/inventree_po_report.html:91 #: report/templates/report/inventree_so_report.html:91 #: report/templates/report/inventree_test_report_base.html:81 #: report/templates/report/inventree_test_report_base.html:139 -#: stock/forms.py:156 stock/serializers.py:286 -#: stock/templates/stock/item_base.html:256 +#: stock/forms.py:156 stock/serializers.py:291 +#: stock/templates/stock/item_base.html:174 #: templates/js/translated/barcode.js:385 templates/js/translated/bom.js:443 #: templates/js/translated/build.js:235 templates/js/translated/build.js:435 #: templates/js/translated/build.js:629 templates/js/translated/build.js:639 #: templates/js/translated/build.js:1015 templates/js/translated/build.js:1362 #: templates/js/translated/model_renderers.js:99 -#: templates/js/translated/order.js:892 templates/js/translated/order.js:1205 -#: templates/js/translated/order.js:1283 templates/js/translated/order.js:1290 -#: templates/js/translated/order.js:1379 templates/js/translated/order.js:1479 -#: templates/js/translated/part.js:1615 templates/js/translated/part.js:1738 -#: templates/js/translated/part.js:1816 templates/js/translated/stock.js:377 -#: templates/js/translated/stock.js:2069 templates/js/translated/stock.js:2171 +#: templates/js/translated/order.js:891 templates/js/translated/order.js:1204 +#: templates/js/translated/order.js:1282 templates/js/translated/order.js:1289 +#: templates/js/translated/order.js:1378 templates/js/translated/order.js:1478 +#: templates/js/translated/part.js:843 templates/js/translated/part.js:1796 +#: templates/js/translated/part.js:1919 templates/js/translated/part.js:1997 +#: templates/js/translated/stock.js:378 templates/js/translated/stock.js:2151 +#: templates/js/translated/stock.js:2253 msgid "Quantity" msgstr "Aantal" @@ -602,8 +604,8 @@ msgid "Enter quantity for build output" msgstr "Voer hoeveelheid in voor build-output" #: build/forms.py:41 order/forms.py:96 stock/forms.py:95 -#: stock/serializers.py:307 templates/js/translated/stock.js:224 -#: templates/js/translated/stock.js:378 +#: stock/serializers.py:312 templates/js/translated/stock.js:225 +#: templates/js/translated/stock.js:379 msgid "Serial Numbers" msgstr "Serienummers" @@ -646,7 +648,7 @@ msgstr "Bouwopdracht" #: build/templates/build/index.html:8 build/templates/build/index.html:12 #: order/templates/order/sales_order_detail.html:42 #: order/templates/order/so_sidebar.html:7 -#: part/templates/part/part_sidebar.html:22 templates/InvenTree/index.html:221 +#: part/templates/part/part_sidebar.html:20 templates/InvenTree/index.html:221 #: templates/InvenTree/search.html:145 #: templates/InvenTree/settings/sidebar.html:42 users/models.py:44 msgid "Build Orders" @@ -662,7 +664,7 @@ msgstr "Bouwopdracht referentie" #: report/templates/report/inventree_po_report.html:92 #: report/templates/report/inventree_so_report.html:92 #: templates/js/translated/bom.js:435 templates/js/translated/build.js:1119 -#: templates/js/translated/order.js:886 templates/js/translated/order.js:1473 +#: templates/js/translated/order.js:885 templates/js/translated/order.js:1472 msgid "Reference" msgstr "Referentie" @@ -670,7 +672,7 @@ msgstr "Referentie" msgid "Brief description of the build" msgstr "Korte beschrijving van de build" -#: build/models.py:219 build/templates/build/build_base.html:156 +#: build/models.py:219 build/templates/build/build_base.html:164 #: build/templates/build/detail.html:88 msgid "Parent Build" msgstr "Bovenliggende bouw" @@ -679,7 +681,7 @@ msgstr "Bovenliggende bouw" msgid "BuildOrder to which this build is allocated" msgstr "BuildOrder waaraan deze build is toegewezen" -#: build/models.py:225 build/templates/build/build_base.html:119 +#: build/models.py:225 build/templates/build/build_base.html:77 #: build/templates/build/detail.html:30 company/models.py:705 #: order/models.py:789 order/models.py:860 #: order/templates/order/order_wizard/select_parts.html:32 part/models.py:357 @@ -700,10 +702,10 @@ msgstr "BuildOrder waaraan deze build is toegewezen" #: templates/js/translated/build.js:988 templates/js/translated/build.js:1359 #: templates/js/translated/build.js:1626 templates/js/translated/company.js:489 #: templates/js/translated/company.js:746 templates/js/translated/order.js:426 -#: templates/js/translated/order.js:840 templates/js/translated/order.js:1457 -#: templates/js/translated/part.js:737 templates/js/translated/part.js:818 -#: templates/js/translated/part.js:985 templates/js/translated/stock.js:508 -#: templates/js/translated/stock.js:1108 templates/js/translated/stock.js:2159 +#: templates/js/translated/order.js:839 templates/js/translated/order.js:1456 +#: templates/js/translated/part.js:918 templates/js/translated/part.js:999 +#: templates/js/translated/part.js:1166 templates/js/translated/stock.js:590 +#: templates/js/translated/stock.js:1190 templates/js/translated/stock.js:2241 msgid "Part" msgstr "Onderdeel" @@ -741,7 +743,7 @@ msgstr "Bouwkwaliteit" #: build/models.py:267 msgid "Number of stock items to build" -msgstr "" +msgstr "Aantal voorraaditems om te bouwen" #: build/models.py:271 msgid "Completed items" @@ -751,7 +753,7 @@ msgstr "Voltooide voorraadartikelen" msgid "Number of stock items which have been completed" msgstr "Aantal voorraadartikelen die zijn voltooid" -#: build/models.py:277 part/templates/part/part_base.html:216 +#: build/models.py:277 part/templates/part/part_base.html:234 msgid "Build Status" msgstr "Bouwstatus" @@ -759,7 +761,7 @@ msgstr "Bouwstatus" msgid "Build status code" msgstr "Bouwstatuscode" -#: build/models.py:285 stock/models.py:544 +#: build/models.py:285 stock/models.py:534 msgid "Batch Code" msgstr "" @@ -768,7 +770,7 @@ msgid "Batch code for this build output" msgstr "" #: build/models.py:292 order/models.py:165 part/models.py:936 -#: part/templates/part/detail.html:86 templates/js/translated/order.js:1104 +#: part/templates/part/part_base.html:313 templates/js/translated/order.js:1103 msgid "Creation Date" msgstr "Aanmaakdatum" @@ -797,12 +799,12 @@ msgstr "" msgid "User who issued this build order" msgstr "Gebruiker die bouwopdracht heeft gegeven" -#: build/models.py:323 build/templates/build/build_base.html:177 +#: build/models.py:323 build/templates/build/build_base.html:185 #: build/templates/build/detail.html:116 order/models.py:179 -#: order/templates/order/order_base.html:154 -#: order/templates/order/sales_order_base.html:161 part/models.py:940 +#: order/templates/order/order_base.html:158 +#: order/templates/order/sales_order_base.html:162 part/models.py:940 #: report/templates/report/inventree_build_order_base.html:159 -#: templates/js/translated/build.js:1680 templates/js/translated/order.js:700 +#: templates/js/translated/build.js:1680 templates/js/translated/order.js:699 msgid "Responsible" msgstr "Verantwoordelijke" @@ -811,10 +813,10 @@ msgid "User responsible for this build order" msgstr "Gebruiker verantwoordelijk voor deze bouwopdracht" #: build/models.py:329 build/templates/build/detail.html:102 -#: company/templates/company/manufacturer_part.html:87 -#: company/templates/company/supplier_part.html:88 -#: part/templates/part/detail.html:80 stock/models.py:538 -#: stock/templates/stock/item_base.html:346 +#: company/templates/company/manufacturer_part.html:102 +#: company/templates/company/supplier_part.html:126 +#: part/templates/part/part_base.html:354 stock/models.py:528 +#: stock/templates/stock/item_base.html:374 msgid "External Link" msgstr "Externe Link" @@ -824,15 +826,15 @@ msgstr "Externe Link" #: order/models.py:183 order/models.py:738 #: order/templates/order/po_sidebar.html:11 #: order/templates/order/so_sidebar.html:11 part/models.py:925 -#: part/templates/part/detail.html:223 part/templates/part/part_sidebar.html:52 +#: part/templates/part/detail.html:116 part/templates/part/part_sidebar.html:50 #: report/templates/report/inventree_build_order_base.html:173 -#: stock/forms.py:154 stock/forms.py:204 stock/forms.py:238 stock/models.py:610 -#: stock/models.py:1774 stock/models.py:1880 stock/serializers.py:325 -#: stock/serializers.py:583 stock/templates/stock/stock_sidebar.html:21 +#: stock/forms.py:154 stock/forms.py:204 stock/forms.py:238 stock/models.py:600 +#: stock/models.py:1764 stock/models.py:1870 stock/serializers.py:330 +#: stock/serializers.py:588 stock/templates/stock/stock_sidebar.html:21 #: templates/js/translated/barcode.js:58 templates/js/translated/bom.js:599 -#: templates/js/translated/company.js:842 templates/js/translated/order.js:985 -#: templates/js/translated/order.js:1583 templates/js/translated/stock.js:891 -#: templates/js/translated/stock.js:1370 +#: templates/js/translated/company.js:842 templates/js/translated/order.js:984 +#: templates/js/translated/order.js:1582 templates/js/translated/stock.js:973 +#: templates/js/translated/stock.js:1452 msgid "Notes" msgstr "Opmerkingen" @@ -877,7 +879,7 @@ msgstr "" msgid "Selected stock item not found in BOM" msgstr "" -#: build/models.py:1253 stock/templates/stock/item_base.html:318 +#: build/models.py:1253 stock/templates/stock/item_base.html:346 #: templates/InvenTree/search.html:143 templates/js/translated/build.js:1599 #: templates/navbar.html:33 msgid "Build" @@ -890,11 +892,11 @@ msgstr "Bouw om onderdelen toe te wijzen" #: build/models.py:1270 build/serializers.py:328 #: stock/templates/stock/item_base.html:8 #: stock/templates/stock/item_base.html:16 -#: stock/templates/stock/item_base.html:340 +#: stock/templates/stock/item_base.html:368 #: templates/js/translated/build.js:408 templates/js/translated/build.js:413 #: templates/js/translated/build.js:1361 templates/js/translated/build.js:1742 -#: templates/js/translated/order.js:1178 templates/js/translated/order.js:1183 -#: templates/js/translated/stock.js:2020 +#: templates/js/translated/order.js:1177 templates/js/translated/order.js:1182 +#: templates/js/translated/stock.js:2102 msgid "Stock Item" msgstr "Voorraadartikel" @@ -934,16 +936,16 @@ msgstr "" msgid "This build output is not fully allocated" msgstr "" -#: build/serializers.py:190 order/serializers.py:219 order/serializers.py:287 -#: stock/forms.py:236 stock/serializers.py:318 stock/serializers.py:685 -#: stock/templates/stock/item_base.html:286 +#: build/serializers.py:190 order/serializers.py:228 order/serializers.py:296 +#: stock/forms.py:236 stock/serializers.py:323 stock/serializers.py:690 +#: stock/templates/stock/item_base.html:314 #: templates/js/translated/barcode.js:384 #: templates/js/translated/barcode.js:557 templates/js/translated/build.js:420 #: templates/js/translated/build.js:1027 templates/js/translated/order.js:348 -#: templates/js/translated/order.js:1190 templates/js/translated/order.js:1298 -#: templates/js/translated/order.js:1304 templates/js/translated/part.js:181 -#: templates/js/translated/stock.js:510 templates/js/translated/stock.js:1251 -#: templates/js/translated/stock.js:1961 +#: templates/js/translated/order.js:1189 templates/js/translated/order.js:1297 +#: templates/js/translated/order.js:1303 templates/js/translated/part.js:177 +#: templates/js/translated/stock.js:592 templates/js/translated/stock.js:1333 +#: templates/js/translated/stock.js:2043 msgid "Location" msgstr "Locatie" @@ -951,13 +953,13 @@ msgstr "Locatie" msgid "Location for completed build outputs" msgstr "" -#: build/serializers.py:197 build/templates/build/build_base.html:129 +#: build/serializers.py:197 build/templates/build/build_base.html:137 #: build/templates/build/detail.html:63 order/models.py:572 -#: order/serializers.py:240 stock/templates/stock/item_base.html:409 +#: order/serializers.py:249 stock/templates/stock/item_base.html:180 #: templates/js/translated/barcode.js:140 templates/js/translated/build.js:1655 -#: templates/js/translated/order.js:431 templates/js/translated/order.js:677 -#: templates/js/translated/order.js:1096 templates/js/translated/stock.js:1226 -#: templates/js/translated/stock.js:2038 templates/js/translated/stock.js:2187 +#: templates/js/translated/order.js:431 templates/js/translated/order.js:1095 +#: templates/js/translated/stock.js:1308 templates/js/translated/stock.js:2120 +#: templates/js/translated/stock.js:2269 msgid "Status" msgstr "Status" @@ -986,8 +988,8 @@ msgstr "" msgid "Item must be in stock" msgstr "" -#: build/serializers.py:348 order/models.py:316 order/serializers.py:233 -#: stock/models.py:381 stock/models.py:1103 stock/serializers.py:298 +#: build/serializers.py:348 order/models.py:316 order/serializers.py:242 +#: stock/models.py:371 stock/models.py:1093 stock/serializers.py:303 msgid "Quantity must be greater than zero" msgstr "" @@ -1031,7 +1033,7 @@ msgid "Edit Build" msgstr "Bewerk Build" #: build/templates/build/build_base.html:56 -#: build/templates/build/build_base.html:207 build/views.py:56 +#: build/templates/build/build_base.html:215 build/views.py:56 msgid "Cancel Build" msgstr "Annuleer Build" @@ -1041,93 +1043,95 @@ msgstr "Verwijder bouw" #: build/templates/build/build_base.html:64 #: build/templates/build/build_base.html:65 -#: build/templates/build/build_base.html:223 +#: build/templates/build/build_base.html:231 msgid "Complete Build" msgstr "Voltooi Build" -#: build/templates/build/build_base.html:79 +#: build/templates/build/build_base.html:82 +msgid "Build Description" +msgstr "" + +#: build/templates/build/build_base.html:91 #, python-format msgid "This Build Order is allocated to Sales Order %(link)s" msgstr "Deze bouwopdracht is toegewezen aan verkooporder %(link)s" -#: build/templates/build/build_base.html:86 +#: build/templates/build/build_base.html:98 #, python-format msgid "This Build Order is a child of Build Order %(link)s" msgstr "Deze bouwopdracht is een onderdeel van bouwopdracht %(link)s" -#: build/templates/build/build_base.html:93 +#: build/templates/build/build_base.html:105 msgid "Build Order is ready to mark as completed" msgstr "Bouwopdracht is gereed om te markeren als voltooid" -#: build/templates/build/build_base.html:98 +#: build/templates/build/build_base.html:110 msgid "Build Order cannot be completed as outstanding outputs remain" msgstr "Bouwopdracht kan niet worden voltooid omdat openstaande outputs blijven" -#: build/templates/build/build_base.html:103 +#: build/templates/build/build_base.html:115 msgid "Required build quantity has not yet been completed" msgstr "Vereiste bouwhoeveelheid is nog niet bereikt" -#: build/templates/build/build_base.html:108 +#: build/templates/build/build_base.html:120 msgid "Stock has not been fully allocated to this Build Order" msgstr "Voorraad is niet volledig toegewezen aan deze bouwopdracht" -#: build/templates/build/build_base.html:138 +#: build/templates/build/build_base.html:146 #: build/templates/build/detail.html:132 -#: order/templates/order/order_base.html:140 -#: order/templates/order/sales_order_base.html:140 +#: order/templates/order/order_base.html:144 +#: order/templates/order/sales_order_base.html:141 #: report/templates/report/inventree_build_order_base.html:126 -#: templates/js/translated/build.js:1692 templates/js/translated/order.js:690 -#: templates/js/translated/order.js:1109 +#: templates/js/translated/build.js:1692 templates/js/translated/order.js:689 +#: templates/js/translated/order.js:1108 msgid "Target Date" msgstr "Streefdatum" -#: build/templates/build/build_base.html:143 +#: build/templates/build/build_base.html:151 #, python-format msgid "This build was due on %(target)s" msgstr "Deze bouw was verwacht op %(target)s" -#: build/templates/build/build_base.html:143 -#: build/templates/build/build_base.html:188 -#: order/templates/order/order_base.html:81 -#: order/templates/order/order_base.html:102 -#: order/templates/order/sales_order_base.html:78 -#: order/templates/order/sales_order_base.html:107 +#: build/templates/build/build_base.html:151 +#: build/templates/build/build_base.html:196 +#: order/templates/order/order_base.html:98 +#: order/templates/order/sales_order_base.html:93 #: templates/js/translated/table_filters.js:294 #: templates/js/translated/table_filters.js:322 #: templates/js/translated/table_filters.js:339 msgid "Overdue" msgstr "Achterstallig" -#: build/templates/build/build_base.html:150 +#: build/templates/build/build_base.html:158 #: build/templates/build/detail.html:68 build/templates/build/detail.html:143 #: templates/js/translated/build.js:1641 #: templates/js/translated/table_filters.js:304 msgid "Completed" msgstr "" -#: build/templates/build/build_base.html:163 +#: build/templates/build/build_base.html:171 #: build/templates/build/detail.html:95 order/models.py:857 #: order/templates/order/sales_order_base.html:9 #: order/templates/order/sales_order_base.html:28 #: order/templates/order/sales_order_ship.html:25 #: report/templates/report/inventree_build_order_base.html:136 #: report/templates/report/inventree_so_report.html:77 -#: stock/templates/stock/item_base.html:280 -#: templates/js/translated/order.js:1051 +#: stock/templates/stock/item_base.html:308 +#: templates/js/translated/order.js:1050 msgid "Sales Order" msgstr "Verkoop Order" -#: build/templates/build/build_base.html:170 +#: build/templates/build/build_base.html:178 #: build/templates/build/detail.html:109 #: report/templates/report/inventree_build_order_base.html:153 msgid "Issued By" msgstr "Uitgegeven door" -#: build/templates/build/build_base.html:215 +#: build/templates/build/build_base.html:223 msgid "Incomplete Outputs" msgstr "Onvolledige bouwuitvoer" -#: build/templates/build/build_base.html:216 +#: build/templates/build/build_base.html:224 msgid "Build Order cannot be completed as incomplete build outputs remain" msgstr "Bouwopdracht kan niet worden voltooid omdat onvolledige bouwuitvoer blijft bestaan" @@ -1188,7 +1192,7 @@ msgid "Stock can be taken from any available location." msgstr "" #: build/templates/build/detail.html:50 order/models.py:811 stock/forms.py:150 -#: templates/js/translated/order.js:432 templates/js/translated/order.js:974 +#: templates/js/translated/order.js:432 templates/js/translated/order.js:973 msgid "Destination" msgstr "" @@ -1201,16 +1205,16 @@ msgid "Allocated Parts" msgstr "" #: build/templates/build/detail.html:81 -#: stock/templates/stock/item_base.html:304 -#: templates/js/translated/stock.js:1240 templates/js/translated/stock.js:2194 +#: stock/templates/stock/item_base.html:332 +#: templates/js/translated/stock.js:1322 templates/js/translated/stock.js:2276 #: templates/js/translated/table_filters.js:151 #: templates/js/translated/table_filters.js:233 msgid "Batch" msgstr "Batch" #: build/templates/build/detail.html:127 -#: order/templates/order/order_base.html:127 -#: order/templates/order/sales_order_base.html:134 +#: order/templates/order/order_base.html:131 +#: order/templates/order/sales_order_base.html:135 #: templates/js/translated/build.js:1663 msgid "Created" msgstr "Gecreëerd" @@ -1254,7 +1258,7 @@ msgstr "" #: build/templates/build/detail.html:185 #: company/templates/company/detail.html:38 #: company/templates/company/detail.html:85 order/views.py:509 -#: part/templates/part/category.html:166 +#: part/templates/part/category.html:173 msgid "Order Parts" msgstr "Bestel onderdelen" @@ -1268,7 +1272,7 @@ msgstr "" #: build/templates/build/detail.html:208 msgid "Allocate selected items" -msgstr "" +msgstr "Geselecteerde items toewijzen" #: build/templates/build/detail.html:218 msgid "This Build Order does not have any associated untracked BOM items" @@ -1306,8 +1310,8 @@ msgstr "" #: order/templates/order/po_sidebar.html:9 #: order/templates/order/purchase_order_detail.html:60 #: order/templates/order/sales_order_detail.html:52 -#: order/templates/order/so_sidebar.html:9 part/templates/part/detail.html:300 -#: part/templates/part/part_sidebar.html:50 stock/templates/stock/item.html:95 +#: order/templates/order/so_sidebar.html:9 part/templates/part/detail.html:193 +#: part/templates/part/part_sidebar.html:48 stock/templates/stock/item.html:95 #: stock/templates/stock/stock_sidebar.html:19 msgid "Attachments" msgstr "Bijlagen" @@ -1323,7 +1327,7 @@ msgstr "Bouw notities" #: order/templates/order/purchase_order_detail.html:108 #: order/templates/order/sales_order_detail.html:72 #: order/templates/order/sales_order_detail.html:99 -#: part/templates/part/detail.html:227 stock/templates/stock/item.html:115 +#: part/templates/part/detail.html:120 stock/templates/stock/item.html:115 #: stock/templates/stock/item.html:205 msgid "Edit Notes" msgstr "Notities Bewerken" @@ -1336,7 +1340,7 @@ msgstr "" msgid "All untracked stock items have been allocated" msgstr "" -#: build/templates/build/index.html:18 part/templates/part/detail.html:407 +#: build/templates/build/index.html:18 part/templates/part/detail.html:300 msgid "New Build Order" msgstr "" @@ -1380,7 +1384,7 @@ msgstr "" msgid "Maximum output quantity is " msgstr "" -#: build/views.py:122 stock/serializers.py:356 stock/views.py:1290 +#: build/views.py:122 stock/serializers.py:361 stock/views.py:1290 msgid "Serial numbers already exist" msgstr "" @@ -1631,11 +1635,11 @@ msgstr "" #: templates/js/translated/table_filters.js:168 #: templates/js/translated/table_filters.js:385 msgid "Assembly" -msgstr "" +msgstr "Samenstelling" #: common/models.py:711 msgid "Parts can be assembled from other components by default" -msgstr "" +msgstr "Onderdelen kunnen standaard vanuit andere delen worden samengesteld" #: common/models.py:717 part/models.py:894 #: templates/js/translated/table_filters.js:389 @@ -1675,7 +1679,7 @@ msgid "Parts are trackable by default" msgstr "" #: common/models.py:745 part/models.py:920 -#: part/templates/part/part_base.html:144 +#: part/templates/part/part_base.html:147 #: templates/js/translated/table_filters.js:42 msgid "Virtual" msgstr "" @@ -2142,7 +2146,7 @@ msgstr "" #: common/models.py:1233 company/serializers.py:264 #: company/templates/company/supplier_part.html:256 -#: templates/js/translated/part.js:1620 +#: templates/js/translated/part.js:852 templates/js/translated/part.js:1801 msgid "Price" msgstr "" @@ -2206,7 +2210,7 @@ msgstr "" msgid "Description of the company" msgstr "" -#: company/models.py:112 company/templates/company/company_base.html:70 +#: company/models.py:112 company/templates/company/company_base.html:97 #: templates/js/translated/company.js:349 msgid "Website" msgstr "" @@ -2215,7 +2219,7 @@ msgstr "" msgid "Company website URL" msgstr "" -#: company/models.py:117 company/templates/company/company_base.html:88 +#: company/models.py:117 company/templates/company/company_base.html:115 msgid "Address" msgstr "" @@ -2231,7 +2235,7 @@ msgstr "" msgid "Contact phone number" msgstr "" -#: company/models.py:125 company/templates/company/company_base.html:102 +#: company/models.py:125 company/templates/company/company_base.html:129 #: templates/InvenTree/settings/user.html:47 msgid "Email" msgstr "" @@ -2240,7 +2244,7 @@ msgstr "" msgid "Contact email address" msgstr "" -#: company/models.py:128 company/templates/company/company_base.html:109 +#: company/models.py:128 company/templates/company/company_base.html:136 msgid "Contact" msgstr "" @@ -2274,14 +2278,14 @@ msgstr "" #: company/models.py:148 msgid "is manufacturer" -msgstr "" +msgstr "is fabrikant" #: company/models.py:148 msgid "Does this company manufacture parts?" -msgstr "" +msgstr "Fabriceert dit bedrijf onderdelen?" #: company/models.py:152 company/serializers.py:270 -#: company/templates/company/company_base.html:76 stock/serializers.py:172 +#: company/templates/company/company_base.html:103 stock/serializers.py:177 msgid "Currency" msgstr "" @@ -2289,8 +2293,8 @@ msgstr "" msgid "Default currency used for this company" msgstr "" -#: company/models.py:320 company/models.py:535 stock/models.py:484 -#: stock/templates/stock/item_base.html:224 +#: company/models.py:320 company/models.py:535 stock/models.py:474 +#: stock/templates/stock/item_base.html:135 msgid "Base Part" msgstr "" @@ -2298,46 +2302,46 @@ msgstr "" msgid "Select part" msgstr "" -#: company/models.py:335 company/templates/company/company_base.html:116 -#: company/templates/company/manufacturer_part.html:93 -#: company/templates/company/supplier_part.html:104 -#: stock/templates/stock/item_base.html:353 +#: company/models.py:335 company/templates/company/company_base.html:73 +#: company/templates/company/manufacturer_part.html:91 +#: company/templates/company/supplier_part.html:97 +#: stock/templates/stock/item_base.html:381 #: templates/js/translated/company.js:333 #: templates/js/translated/company.js:514 -#: templates/js/translated/company.js:797 templates/js/translated/part.js:229 +#: templates/js/translated/company.js:797 templates/js/translated/part.js:232 msgid "Manufacturer" -msgstr "" +msgstr "Fabrikant" -#: company/models.py:336 templates/js/translated/part.js:230 +#: company/models.py:336 templates/js/translated/part.js:233 msgid "Select manufacturer" -msgstr "" +msgstr "Fabrikant selecteren" -#: company/models.py:342 company/templates/company/manufacturer_part.html:97 -#: company/templates/company/supplier_part.html:112 +#: company/models.py:342 company/templates/company/manufacturer_part.html:96 +#: company/templates/company/supplier_part.html:105 #: templates/js/translated/company.js:530 -#: templates/js/translated/company.js:815 templates/js/translated/order.js:874 -#: templates/js/translated/part.js:240 +#: templates/js/translated/company.js:815 templates/js/translated/order.js:873 +#: templates/js/translated/part.js:243 templates/js/translated/part.js:832 msgid "MPN" -msgstr "" +msgstr "MPN" -#: company/models.py:343 templates/js/translated/part.js:241 +#: company/models.py:343 templates/js/translated/part.js:244 msgid "Manufacturer Part Number" -msgstr "" +msgstr "Fabrikant artikel nummer (MPN)" #: company/models.py:349 msgid "URL for external manufacturer part link" -msgstr "" +msgstr "URL voor externe link van het fabrikant onderdeel" #: company/models.py:355 msgid "Manufacturer part description" -msgstr "" +msgstr "Omschrijving onderdeel fabrikant" #: company/models.py:409 company/models.py:558 #: company/templates/company/manufacturer_part.html:6 #: company/templates/company/manufacturer_part.html:23 -#: stock/templates/stock/item_base.html:363 +#: stock/templates/stock/item_base.html:391 msgid "Manufacturer Part" -msgstr "" +msgstr "Fabrikant onderdeel" #: company/models.py:416 msgid "Parameter name" @@ -2345,8 +2349,8 @@ msgstr "" #: company/models.py:422 #: report/templates/report/inventree_test_report_base.html:95 -#: stock/models.py:1867 templates/js/translated/company.js:644 -#: templates/js/translated/part.js:645 templates/js/translated/stock.js:878 +#: stock/models.py:1857 templates/js/translated/company.js:644 +#: templates/js/translated/part.js:652 templates/js/translated/stock.js:960 msgid "Value" msgstr "" @@ -2355,9 +2359,9 @@ msgid "Parameter value" msgstr "" #: company/models.py:429 part/models.py:882 part/models.py:2397 -#: part/templates/part/detail.html:59 +#: part/templates/part/part_base.html:288 #: templates/InvenTree/settings/settings.html:264 -#: templates/js/translated/company.js:650 templates/js/translated/part.js:651 +#: templates/js/translated/company.js:650 templates/js/translated/part.js:658 msgid "Units" msgstr "" @@ -2367,36 +2371,36 @@ msgstr "" #: company/models.py:502 msgid "Linked manufacturer part must reference the same base part" -msgstr "" +msgstr "Gekoppeld fabrikant onderdeel moet verwijzen naar hetzelfde basis onderdeel" -#: company/models.py:545 company/templates/company/company_base.html:121 -#: company/templates/company/supplier_part.html:94 order/models.py:263 -#: order/templates/order/order_base.html:108 +#: company/models.py:545 company/templates/company/company_base.html:78 +#: company/templates/company/supplier_part.html:87 order/models.py:263 +#: order/templates/order/order_base.html:112 #: order/templates/order/order_wizard/select_pos.html:30 part/bom.py:219 -#: part/bom.py:247 stock/templates/stock/item_base.html:370 +#: part/bom.py:247 stock/templates/stock/item_base.html:398 #: templates/js/translated/company.js:337 -#: templates/js/translated/company.js:771 templates/js/translated/order.js:660 -#: templates/js/translated/part.js:210 +#: templates/js/translated/company.js:771 templates/js/translated/order.js:667 +#: templates/js/translated/part.js:213 templates/js/translated/part.js:800 msgid "Supplier" msgstr "" -#: company/models.py:546 templates/js/translated/part.js:211 +#: company/models.py:546 templates/js/translated/part.js:214 msgid "Select supplier" msgstr "" -#: company/models.py:551 company/templates/company/supplier_part.html:98 -#: part/bom.py:220 part/bom.py:248 templates/js/translated/order.js:861 -#: templates/js/translated/part.js:221 +#: company/models.py:551 company/templates/company/supplier_part.html:91 +#: part/bom.py:220 part/bom.py:248 templates/js/translated/order.js:860 +#: templates/js/translated/part.js:224 templates/js/translated/part.js:818 msgid "SKU" msgstr "" -#: company/models.py:552 templates/js/translated/part.js:222 +#: company/models.py:552 templates/js/translated/part.js:225 msgid "Supplier stock keeping unit" msgstr "" #: company/models.py:559 msgid "Select manufacturer part" -msgstr "" +msgstr "Selecteer fabrikant onderdeel" #: company/models.py:565 msgid "URL for external supplier part link" @@ -2406,7 +2410,7 @@ msgstr "" msgid "Supplier part description" msgstr "" -#: company/models.py:576 company/templates/company/supplier_part.html:126 +#: company/models.py:576 company/templates/company/supplier_part.html:119 #: part/models.py:2588 report/templates/report/inventree_po_report.html:93 #: report/templates/report/inventree_so_report.html:93 msgid "Note" @@ -2420,9 +2424,9 @@ msgstr "" msgid "Minimum charge (e.g. stocking fee)" msgstr "" -#: company/models.py:582 company/templates/company/supplier_part.html:119 -#: stock/models.py:507 stock/templates/stock/item_base.html:311 -#: templates/js/translated/company.js:847 templates/js/translated/stock.js:1366 +#: company/models.py:582 company/templates/company/supplier_part.html:112 +#: stock/models.py:497 stock/templates/stock/item_base.html:339 +#: templates/js/translated/company.js:847 templates/js/translated/stock.js:1448 msgid "Packaging" msgstr "" @@ -2457,43 +2461,56 @@ msgstr "" msgid "Create Purchase Order" msgstr "" -#: company/templates/company/company_base.html:27 +#: company/templates/company/company_base.html:26 +msgid "Company actions" +msgstr "" + +#: company/templates/company/company_base.html:31 msgid "Edit company information" msgstr "" #: company/templates/company/company_base.html:32 -#: company/templates/company/company_base.html:148 +#: templates/js/translated/company.js:265 +msgid "Edit Company" +msgstr "" + +#: company/templates/company/company_base.html:36 +msgid "Delete company" +msgstr "" + +#: company/templates/company/company_base.html:37 +#: company/templates/company/company_base.html:159 msgid "Delete Company" msgstr "" -#: company/templates/company/company_base.html:48 +#: company/templates/company/company_base.html:53 #: part/templates/part/part_thumb.html:12 msgid "Upload new image" msgstr "" -#: company/templates/company/company_base.html:51 +#: company/templates/company/company_base.html:56 #: part/templates/part/part_thumb.html:14 msgid "Download image from URL" msgstr "" -#: company/templates/company/company_base.html:81 -msgid "Uses default currency" -msgstr "" - -#: company/templates/company/company_base.html:95 -msgid "Phone" -msgstr "" - -#: company/templates/company/company_base.html:126 order/models.py:567 -#: order/templates/order/sales_order_base.html:114 stock/models.py:525 -#: stock/models.py:526 stock/templates/stock/item_base.html:263 -#: templates/js/translated/company.js:329 templates/js/translated/order.js:1073 -#: templates/js/translated/stock.js:2002 +#: company/templates/company/company_base.html:83 order/models.py:567 +#: order/templates/order/sales_order_base.html:115 stock/models.py:515 +#: stock/models.py:516 stock/templates/stock/item_base.html:291 +#: templates/js/translated/company.js:329 templates/js/translated/order.js:1072 +#: templates/js/translated/stock.js:2084 msgid "Customer" msgstr "" -#: company/templates/company/company_base.html:194 -#: part/templates/part/part_base.html:342 +#: company/templates/company/company_base.html:108 +msgid "Uses default currency" +msgstr "" + +#: company/templates/company/company_base.html:122 +msgid "Phone" +msgstr "" + +#: company/templates/company/company_base.html:205 +#: part/templates/part/part_base.html:471 msgid "Upload Image" msgstr "" @@ -2509,23 +2526,23 @@ msgid "Create new supplier part" msgstr "" #: company/templates/company/detail.html:20 -#: company/templates/company/manufacturer_part.html:112 -#: part/templates/part/detail.html:440 +#: company/templates/company/manufacturer_part.html:118 +#: part/templates/part/detail.html:333 msgid "New Supplier Part" msgstr "" #: company/templates/company/detail.html:32 #: company/templates/company/detail.html:79 -#: company/templates/company/manufacturer_part.html:121 -#: company/templates/company/manufacturer_part.html:150 -#: part/templates/part/category.html:160 part/templates/part/detail.html:449 -#: part/templates/part/detail.html:477 +#: company/templates/company/manufacturer_part.html:127 +#: company/templates/company/manufacturer_part.html:156 +#: part/templates/part/category.html:167 part/templates/part/detail.html:342 +#: part/templates/part/detail.html:370 msgid "Options" msgstr "" #: company/templates/company/detail.html:37 #: company/templates/company/detail.html:84 -#: part/templates/part/category.html:166 +#: part/templates/part/category.html:173 msgid "Order parts" msgstr "" @@ -2541,15 +2558,15 @@ msgstr "" #: company/templates/company/detail.html:62 templates/InvenTree/search.html:109 msgid "Manufacturer Parts" -msgstr "" +msgstr "Fabrikant onderdelen" #: company/templates/company/detail.html:66 msgid "Create new manufacturer part" -msgstr "" +msgstr "Maak nieuw fabrikant onderdeel" -#: company/templates/company/detail.html:67 part/templates/part/detail.html:467 +#: company/templates/company/detail.html:67 part/templates/part/detail.html:360 msgid "New Manufacturer Part" -msgstr "" +msgstr "Nieuw fabrikant onderdeel" #: company/templates/company/detail.html:107 msgid "Supplier Stock" @@ -2561,7 +2578,7 @@ msgstr "" #: order/templates/order/order_base.html:13 #: order/templates/order/purchase_orders.html:8 #: order/templates/order/purchase_orders.html:12 -#: part/templates/part/detail.html:171 part/templates/part/part_sidebar.html:35 +#: part/templates/part/detail.html:64 part/templates/part/part_sidebar.html:33 #: templates/InvenTree/index.html:252 templates/InvenTree/search.html:203 #: templates/InvenTree/settings/sidebar.html:44 templates/navbar.html:45 #: users/models.py:45 @@ -2583,7 +2600,7 @@ msgstr "" #: order/templates/order/sales_order_base.html:13 #: order/templates/order/sales_orders.html:8 #: order/templates/order/sales_orders.html:15 -#: part/templates/part/detail.html:194 part/templates/part/part_sidebar.html:39 +#: part/templates/part/detail.html:87 part/templates/part/part_sidebar.html:37 #: templates/InvenTree/index.html:283 templates/InvenTree/search.html:223 #: templates/InvenTree/settings/sidebar.html:46 templates/navbar.html:56 #: users/models.py:46 @@ -2610,14 +2627,14 @@ msgid "Company Notes" msgstr "" #: company/templates/company/detail.html:383 -#: company/templates/company/manufacturer_part.html:209 -#: part/templates/part/detail.html:520 +#: company/templates/company/manufacturer_part.html:215 +#: part/templates/part/detail.html:413 msgid "Delete Supplier Parts?" msgstr "" #: company/templates/company/detail.html:384 -#: company/templates/company/manufacturer_part.html:210 -#: part/templates/part/detail.html:521 +#: company/templates/company/manufacturer_part.html:216 +#: part/templates/part/detail.html:414 msgid "All selected supplier parts will be deleted" msgstr "" @@ -2629,85 +2646,85 @@ msgstr "" #: part/templates/part/prices.html:167 templates/InvenTree/search.html:184 #: templates/navbar.html:44 msgid "Manufacturers" -msgstr "" +msgstr "Fabrikanten" #: company/templates/company/manufacturer_part.html:35 #: company/templates/company/supplier_part.html:34 #: company/templates/company/supplier_part.html:159 -#: part/templates/part/detail.html:174 part/templates/part/part_base.html:76 +#: part/templates/part/detail.html:67 part/templates/part/part_base.html:76 msgid "Order part" msgstr "" #: company/templates/company/manufacturer_part.html:40 #: templates/js/translated/company.js:562 msgid "Edit manufacturer part" -msgstr "" +msgstr "Fabrikant onderdeel bewerken" #: company/templates/company/manufacturer_part.html:44 #: templates/js/translated/company.js:563 msgid "Delete manufacturer part" -msgstr "" +msgstr "Fabrikant onderdeel verwijderen" -#: company/templates/company/manufacturer_part.html:70 -#: company/templates/company/supplier_part.html:71 +#: company/templates/company/manufacturer_part.html:66 +#: company/templates/company/supplier_part.html:63 msgid "Internal Part" msgstr "" -#: company/templates/company/manufacturer_part.html:108 +#: company/templates/company/manufacturer_part.html:114 #: company/templates/company/supplier_part.html:15 company/views.py:49 -#: part/templates/part/part_sidebar.html:33 part/templates/part/prices.html:163 +#: part/templates/part/part_sidebar.html:31 part/templates/part/prices.html:163 #: templates/InvenTree/search.html:194 templates/navbar.html:43 msgid "Suppliers" msgstr "" -#: company/templates/company/manufacturer_part.html:123 -#: part/templates/part/detail.html:451 +#: company/templates/company/manufacturer_part.html:129 +#: part/templates/part/detail.html:344 msgid "Delete supplier parts" msgstr "" -#: company/templates/company/manufacturer_part.html:123 -#: company/templates/company/manufacturer_part.html:152 -#: company/templates/company/manufacturer_part.html:248 -#: part/templates/part/detail.html:451 part/templates/part/detail.html:479 +#: company/templates/company/manufacturer_part.html:129 +#: company/templates/company/manufacturer_part.html:158 +#: company/templates/company/manufacturer_part.html:254 +#: part/templates/part/detail.html:344 part/templates/part/detail.html:372 #: templates/js/translated/company.js:425 templates/js/translated/helpers.js:31 #: users/models.py:204 msgid "Delete" msgstr "" -#: company/templates/company/manufacturer_part.html:137 +#: company/templates/company/manufacturer_part.html:143 #: company/templates/company/manufacturer_part_sidebar.html:5 #: part/templates/part/category_sidebar.html:17 -#: part/templates/part/detail.html:277 part/templates/part/part_sidebar.html:10 +#: part/templates/part/detail.html:170 part/templates/part/part_sidebar.html:8 msgid "Parameters" msgstr "" -#: company/templates/company/manufacturer_part.html:141 -#: part/templates/part/detail.html:282 +#: company/templates/company/manufacturer_part.html:147 +#: part/templates/part/detail.html:175 #: templates/InvenTree/settings/category.html:12 #: templates/InvenTree/settings/part.html:65 msgid "New Parameter" msgstr "" -#: company/templates/company/manufacturer_part.html:152 +#: company/templates/company/manufacturer_part.html:158 msgid "Delete parameters" msgstr "" -#: company/templates/company/manufacturer_part.html:185 -#: part/templates/part/detail.html:976 +#: company/templates/company/manufacturer_part.html:191 +#: part/templates/part/detail.html:867 msgid "Add Parameter" msgstr "" -#: company/templates/company/manufacturer_part.html:233 +#: company/templates/company/manufacturer_part.html:239 msgid "Selected parameters will be deleted" msgstr "" -#: company/templates/company/manufacturer_part.html:245 +#: company/templates/company/manufacturer_part.html:251 msgid "Delete Parameters" msgstr "" #: company/templates/company/sidebar.html:6 msgid "Manufactured Parts" -msgstr "" +msgstr "Gefabriceerde onderdelen" #: company/templates/company/sidebar.html:10 msgid "Supplied Parts" @@ -2722,9 +2739,9 @@ msgid "Assigned Stock Items" msgstr "" #: company/templates/company/supplier_part.html:7 -#: company/templates/company/supplier_part.html:24 stock/models.py:492 -#: stock/templates/stock/item_base.html:375 -#: templates/js/translated/company.js:787 templates/js/translated/stock.js:1323 +#: company/templates/company/supplier_part.html:24 stock/models.py:482 +#: stock/templates/stock/item_base.html:403 +#: templates/js/translated/company.js:787 templates/js/translated/stock.js:1405 msgid "Supplier Part" msgstr "" @@ -2744,13 +2761,13 @@ msgid "Supplier Part Stock" msgstr "" #: company/templates/company/supplier_part.html:141 -#: part/templates/part/detail.html:127 stock/templates/stock/location.html:147 +#: part/templates/part/detail.html:20 stock/templates/stock/location.html:162 msgid "Create new stock item" msgstr "" #: company/templates/company/supplier_part.html:142 -#: part/templates/part/detail.html:128 stock/templates/stock/location.html:148 -#: templates/js/translated/stock.js:354 +#: part/templates/part/detail.html:21 stock/templates/stock/location.html:163 +#: templates/js/translated/stock.js:355 msgid "New Stock Item" msgstr "" @@ -2760,7 +2777,7 @@ msgid "Supplier Part Orders" msgstr "" #: company/templates/company/supplier_part.html:160 -#: part/templates/part/detail.html:175 +#: part/templates/part/detail.html:68 msgid "Order Part" msgstr "" @@ -2796,15 +2813,15 @@ msgid "Delete price break" msgstr "" #: company/templates/company/supplier_part_navbar.html:15 -#: part/templates/part/part_sidebar.html:16 +#: part/templates/part/part_sidebar.html:14 #: stock/templates/stock/loc_link.html:3 stock/templates/stock/location.html:14 #: stock/templates/stock/stock_app_base.html:10 #: templates/InvenTree/search.html:156 #: templates/InvenTree/settings/sidebar.html:40 -#: templates/js/translated/bom.js:216 templates/js/translated/part.js:427 -#: templates/js/translated/part.js:562 templates/js/translated/part.js:878 -#: templates/js/translated/part.js:1039 templates/js/translated/stock.js:509 -#: templates/js/translated/stock.js:1162 templates/navbar.html:26 +#: templates/js/translated/bom.js:216 templates/js/translated/part.js:434 +#: templates/js/translated/part.js:569 templates/js/translated/part.js:1059 +#: templates/js/translated/part.js:1220 templates/js/translated/stock.js:591 +#: templates/js/translated/stock.js:1244 templates/navbar.html:26 msgid "Stock" msgstr "" @@ -2818,16 +2835,16 @@ msgid "Supplier Part Pricing" msgstr "" #: company/templates/company/supplier_part_navbar.html:29 -#: part/templates/part/part_sidebar.html:30 +#: part/templates/part/part_sidebar.html:28 msgid "Pricing" msgstr "" #: company/templates/company/supplier_part_sidebar.html:5 -#: stock/templates/stock/location.html:118 -#: stock/templates/stock/location.html:132 -#: stock/templates/stock/location.html:144 +#: stock/templates/stock/location.html:133 +#: stock/templates/stock/location.html:147 +#: stock/templates/stock/location.html:159 #: stock/templates/stock/location_sidebar.html:7 -#: templates/InvenTree/search.html:158 templates/js/translated/stock.js:1901 +#: templates/InvenTree/search.html:158 templates/js/translated/stock.js:1983 #: templates/stats.html:93 templates/stats.html:102 users/models.py:43 msgid "Stock Items" msgstr "" @@ -2838,7 +2855,7 @@ msgstr "" #: company/views.py:56 msgid "New Manufacturer" -msgstr "" +msgstr "Nieuwe fabrikant" #: company/views.py:61 templates/InvenTree/search.html:214 #: templates/navbar.html:55 @@ -2947,7 +2964,7 @@ msgstr "" msgid "Place order" msgstr "" -#: order/forms.py:37 order/templates/order/order_base.html:59 +#: order/forms.py:37 order/templates/order/order_base.html:60 msgid "Mark order as complete" msgstr "" @@ -3000,8 +3017,8 @@ msgstr "" msgid "Company from which the items are being ordered" msgstr "" -#: order/models.py:267 order/templates/order/order_base.html:114 -#: templates/js/translated/order.js:669 +#: order/models.py:267 order/templates/order/order_base.html:118 +#: templates/js/translated/order.js:676 msgid "Supplier Reference" msgstr "" @@ -3061,7 +3078,7 @@ msgstr "" msgid "Target date for order completion. Order will be overdue after this date." msgstr "" -#: order/models.py:582 templates/js/translated/order.js:1114 +#: order/models.py:582 templates/js/translated/order.js:1113 msgid "Shipment Date" msgstr "" @@ -3086,16 +3103,16 @@ msgid "Line item notes" msgstr "" #: order/models.py:768 order/models.py:856 -#: templates/js/translated/order.js:1166 +#: templates/js/translated/order.js:1165 msgid "Order" msgstr "" #: order/models.py:769 order/templates/order/order_base.html:9 #: order/templates/order/order_base.html:18 #: report/templates/report/inventree_po_report.html:77 -#: stock/templates/stock/item_base.html:325 -#: templates/js/translated/order.js:638 templates/js/translated/stock.js:1300 -#: templates/js/translated/stock.js:1983 +#: stock/templates/stock/item_base.html:353 +#: templates/js/translated/order.js:638 templates/js/translated/part.js:775 +#: templates/js/translated/stock.js:1382 templates/js/translated/stock.js:2065 msgid "Purchase Order" msgstr "" @@ -3103,9 +3120,10 @@ msgstr "" msgid "Supplier part" msgstr "" -#: order/models.py:797 order/templates/order/order_base.html:147 -#: order/templates/order/sales_order_base.html:154 -#: templates/js/translated/order.js:429 templates/js/translated/order.js:954 +#: order/models.py:797 order/templates/order/order_base.html:151 +#: order/templates/order/sales_order_base.html:155 +#: templates/js/translated/order.js:429 templates/js/translated/order.js:953 +#: templates/js/translated/part.js:847 templates/js/translated/part.js:873 msgid "Received" msgstr "" @@ -3113,9 +3131,9 @@ msgstr "" msgid "Number of items received" msgstr "" -#: order/models.py:805 part/templates/part/prices.html:176 stock/models.py:619 -#: stock/serializers.py:163 stock/templates/stock/item_base.html:332 -#: templates/js/translated/stock.js:1354 +#: order/models.py:805 part/templates/part/prices.html:176 stock/models.py:609 +#: stock/serializers.py:168 stock/templates/stock/item_base.html:360 +#: templates/js/translated/stock.js:1436 msgid "Purchase Price" msgstr "" @@ -3176,47 +3194,47 @@ msgstr "" msgid "Enter stock allocation quantity" msgstr "" -#: order/serializers.py:169 +#: order/serializers.py:175 msgid "Purchase price currency" msgstr "" -#: order/serializers.py:204 +#: order/serializers.py:213 msgid "Line Item" msgstr "" -#: order/serializers.py:210 +#: order/serializers.py:219 msgid "Line item does not match purchase order" msgstr "" -#: order/serializers.py:220 order/serializers.py:288 +#: order/serializers.py:229 order/serializers.py:297 msgid "Select destination location for received items" msgstr "" -#: order/serializers.py:244 +#: order/serializers.py:253 msgid "Barcode Hash" msgstr "" -#: order/serializers.py:245 +#: order/serializers.py:254 msgid "Unique identifier field" msgstr "" -#: order/serializers.py:262 +#: order/serializers.py:271 msgid "Barcode is already in use" msgstr "" -#: order/serializers.py:300 +#: order/serializers.py:309 msgid "Line items must be provided" msgstr "" -#: order/serializers.py:317 +#: order/serializers.py:326 msgid "Destination location must be specified" msgstr "" -#: order/serializers.py:328 +#: order/serializers.py:337 msgid "Supplied barcode values must be unique" msgstr "" -#: order/serializers.py:569 +#: order/serializers.py:578 msgid "Sale price currency" msgstr "" @@ -3248,22 +3266,36 @@ msgstr "" msgid "Receive items" msgstr "" -#: order/templates/order/order_base.html:93 -#: order/templates/order/sales_order_base.html:98 +#: order/templates/order/order_base.html:58 +#: order/templates/order/purchase_order_detail.html:31 +msgid "Receive Items" +msgstr "" + +#: order/templates/order/order_base.html:62 order/views.py:185 +msgid "Complete Order" +msgstr "" + +#: order/templates/order/order_base.html:84 +#: order/templates/order/sales_order_base.html:79 msgid "Order Reference" msgstr "" -#: order/templates/order/order_base.html:98 -#: order/templates/order/sales_order_base.html:103 +#: order/templates/order/order_base.html:89 +#: order/templates/order/sales_order_base.html:84 +msgid "Order Description" +msgstr "" + +#: order/templates/order/order_base.html:94 +#: order/templates/order/sales_order_base.html:89 msgid "Order Status" msgstr "" -#: order/templates/order/order_base.html:133 +#: order/templates/order/order_base.html:137 #: report/templates/report/inventree_build_order_base.html:122 msgid "Issued" msgstr "" -#: order/templates/order/order_base.html:203 +#: order/templates/order/order_base.html:207 msgid "Edit Purchase Order" msgstr "" @@ -3421,7 +3453,7 @@ msgid "Select existing purchase orders, or create new orders." msgstr "" #: order/templates/order/order_wizard/select_pos.html:31 -#: templates/js/translated/order.js:695 templates/js/translated/order.js:1119 +#: templates/js/translated/order.js:694 templates/js/translated/order.js:1118 msgid "Items" msgstr "" @@ -3465,10 +3497,6 @@ msgstr "" msgid "Receive selected items" msgstr "" -#: order/templates/order/purchase_order_detail.html:31 -msgid "Receive Items" -msgstr "" - #: order/templates/order/purchase_order_detail.html:50 msgid "Received Items" msgstr "" @@ -3496,16 +3524,16 @@ msgstr "" msgid "Ship Order" msgstr "" -#: order/templates/order/sales_order_base.html:86 +#: order/templates/order/sales_order_base.html:102 msgid "This Sales Order has not been fully allocated" msgstr "" -#: order/templates/order/sales_order_base.html:121 -#: templates/js/translated/order.js:1086 +#: order/templates/order/sales_order_base.html:122 +#: templates/js/translated/order.js:1085 msgid "Customer Reference" msgstr "" -#: order/templates/order/sales_order_base.html:194 +#: order/templates/order/sales_order_base.html:195 msgid "Edit Sales Order" msgstr "" @@ -3576,10 +3604,6 @@ msgstr "" msgid "Purchase order issued" msgstr "" -#: order/views.py:185 -msgid "Complete Order" -msgstr "" - #: order/views.py:201 msgid "Confirm order completion" msgstr "" @@ -3672,11 +3696,11 @@ msgid "This field is required" msgstr "" #: part/bom.py:125 part/models.py:81 part/models.py:816 -#: part/templates/part/category.html:90 part/templates/part/detail.html:104 +#: part/templates/part/category.html:104 part/templates/part/part_base.html:338 msgid "Default Location" msgstr "Standaard locatie" -#: part/bom.py:126 part/templates/part/part_base.html:167 +#: part/bom.py:126 part/templates/part/part_base.html:185 msgid "Available Stock" msgstr "" @@ -3722,11 +3746,11 @@ msgstr "" #: part/forms.py:73 msgid "Include Manufacturer Data" -msgstr "" +msgstr "Voeg fabrikantgegevens toe" #: part/forms.py:73 msgid "Include part manufacturer data in exported BOM" -msgstr "" +msgstr "Voeg fabrikantgegevens toe aan geëxporteerde BOM" #: part/forms.py:75 msgid "Include Supplier Data" @@ -3793,19 +3817,19 @@ msgstr "" msgid "Part Category" msgstr "" -#: part/models.py:96 part/templates/part/category.html:117 +#: part/models.py:96 part/templates/part/category.html:124 #: templates/InvenTree/search.html:101 templates/stats.html:84 #: users/models.py:40 msgid "Part Categories" msgstr "" #: part/models.py:358 part/templates/part/cat_link.html:3 -#: part/templates/part/category.html:13 part/templates/part/category.html:122 -#: part/templates/part/category.html:142 +#: part/templates/part/category.html:13 part/templates/part/category.html:129 +#: part/templates/part/category.html:149 #: part/templates/part/category_sidebar.html:9 #: templates/InvenTree/index.html:85 templates/InvenTree/search.html:88 #: templates/InvenTree/settings/sidebar.html:36 -#: templates/js/translated/part.js:1416 templates/navbar.html:19 +#: templates/js/translated/part.js:1597 templates/navbar.html:19 #: templates/stats.html:80 templates/stats.html:89 users/models.py:41 msgid "Parts" msgstr "" @@ -3859,8 +3883,8 @@ msgstr "" msgid "Part description" msgstr "" -#: part/models.py:770 part/templates/part/category.html:97 -#: part/templates/part/detail.html:73 +#: part/models.py:770 part/templates/part/category.html:82 +#: part/templates/part/part_base.html:302 msgid "Keywords" msgstr "" @@ -3869,9 +3893,10 @@ msgid "Part keywords to improve visibility in search results" msgstr "" #: part/models.py:778 part/models.py:2223 part/models.py:2472 -#: part/templates/part/detail.html:36 part/templates/part/set_category.html:15 +#: part/templates/part/part_base.html:265 +#: part/templates/part/set_category.html:15 #: templates/InvenTree/settings/settings.html:163 -#: templates/js/translated/part.js:1021 +#: templates/js/translated/part.js:1202 msgid "Category" msgstr "" @@ -3879,9 +3904,9 @@ msgstr "" msgid "Part category" msgstr "" -#: part/models.py:784 part/templates/part/detail.html:45 -#: templates/js/translated/part.js:550 templates/js/translated/part.js:974 -#: templates/js/translated/stock.js:1134 +#: part/models.py:784 part/templates/part/part_base.html:274 +#: templates/js/translated/part.js:557 templates/js/translated/part.js:1155 +#: templates/js/translated/stock.js:1216 msgid "IPN" msgstr "" @@ -3893,8 +3918,8 @@ msgstr "" msgid "Part revision or version number" msgstr "" -#: part/models.py:792 part/templates/part/detail.html:52 report/models.py:200 -#: templates/js/translated/part.js:554 +#: part/models.py:792 part/templates/part/part_base.html:281 +#: report/models.py:200 templates/js/translated/part.js:561 msgid "Revision" msgstr "" @@ -3902,7 +3927,7 @@ msgstr "" msgid "Where is this item normally stored?" msgstr "" -#: part/models.py:861 part/templates/part/detail.html:113 +#: part/models.py:861 part/templates/part/part_base.html:347 msgid "Default Supplier" msgstr "" @@ -3918,7 +3943,7 @@ msgstr "" msgid "Expiry time (in days) for stock items of this part" msgstr "" -#: part/models.py:875 part/templates/part/part_base.html:178 +#: part/models.py:875 part/templates/part/part_base.html:196 msgid "Minimum Stock" msgstr "" @@ -4001,8 +4026,8 @@ msgstr "" msgid "Test with this name already exists for this part" msgstr "" -#: part/models.py:2310 templates/js/translated/part.js:1467 -#: templates/js/translated/stock.js:858 +#: part/models.py:2310 templates/js/translated/part.js:1648 +#: templates/js/translated/stock.js:940 msgid "Test Name" msgstr "" @@ -4018,7 +4043,7 @@ msgstr "" msgid "Enter description for this test" msgstr "" -#: part/models.py:2322 templates/js/translated/part.js:1476 +#: part/models.py:2322 templates/js/translated/part.js:1657 #: templates/js/translated/table_filters.js:276 msgid "Required" msgstr "" @@ -4027,7 +4052,7 @@ msgstr "" msgid "Is this test required to pass?" msgstr "" -#: part/models.py:2328 templates/js/translated/part.js:1484 +#: part/models.py:2328 templates/js/translated/part.js:1665 msgid "Requires Value" msgstr "" @@ -4035,7 +4060,7 @@ msgstr "" msgid "Does this test require a value when adding a test result?" msgstr "" -#: part/models.py:2334 templates/js/translated/part.js:1491 +#: part/models.py:2334 templates/js/translated/part.js:1672 msgid "Requires Attachment" msgstr "" @@ -4150,7 +4175,7 @@ msgstr "" msgid "Stock items for variant parts can be used for this BOM item" msgstr "" -#: part/models.py:2686 stock/models.py:371 +#: part/models.py:2686 stock/models.py:361 msgid "Quantity must be integer value for trackable parts" msgstr "" @@ -4213,7 +4238,7 @@ msgstr "" msgid "The BOM for %(part)s has not been validated." msgstr "" -#: part/templates/part/bom.html:30 part/templates/part/detail.html:357 +#: part/templates/part/bom.html:30 part/templates/part/detail.html:250 msgid "BOM actions" msgstr "" @@ -4298,68 +4323,64 @@ msgstr "" msgid "New Category" msgstr "" -#: part/templates/part/category.html:67 -msgid "Top level part category" -msgstr "" - -#: part/templates/part/category.html:79 +#: part/templates/part/category.html:76 part/templates/part/category.html:89 msgid "Category Path" msgstr "" -#: part/templates/part/category.html:84 -msgid "Category Description" +#: part/templates/part/category.html:90 +msgid "Top level part category" msgstr "" -#: part/templates/part/category.html:103 part/templates/part/category.html:194 +#: part/templates/part/category.html:110 part/templates/part/category.html:201 #: part/templates/part/category_sidebar.html:7 msgid "Subcategories" msgstr "" -#: part/templates/part/category.html:108 +#: part/templates/part/category.html:115 msgid "Parts (Including subcategories)" msgstr "" -#: part/templates/part/category.html:145 +#: part/templates/part/category.html:152 msgid "Export Part Data" msgstr "" -#: part/templates/part/category.html:146 part/templates/part/category.html:170 +#: part/templates/part/category.html:153 part/templates/part/category.html:177 msgid "Export" msgstr "" -#: part/templates/part/category.html:149 +#: part/templates/part/category.html:156 msgid "Create new part" msgstr "" -#: part/templates/part/category.html:150 templates/js/translated/bom.js:40 +#: part/templates/part/category.html:157 templates/js/translated/bom.js:40 msgid "New Part" msgstr "" -#: part/templates/part/category.html:164 +#: part/templates/part/category.html:171 msgid "Set category" msgstr "" -#: part/templates/part/category.html:164 +#: part/templates/part/category.html:171 msgid "Set Category" msgstr "" -#: part/templates/part/category.html:168 +#: part/templates/part/category.html:175 msgid "Print Labels" msgstr "" -#: part/templates/part/category.html:170 +#: part/templates/part/category.html:177 msgid "Export Data" msgstr "" -#: part/templates/part/category.html:184 +#: part/templates/part/category.html:191 msgid "Part Parameters" msgstr "" -#: part/templates/part/category.html:261 +#: part/templates/part/category.html:268 msgid "Create Part Category" msgstr "" -#: part/templates/part/category.html:288 +#: part/templates/part/category.html:295 msgid "Create Part" msgstr "" @@ -4402,7 +4423,7 @@ msgstr "" msgid "Import Parts" msgstr "" -#: part/templates/part/copy_part.html:9 templates/js/translated/part.js:366 +#: part/templates/part/copy_part.html:9 templates/js/translated/part.js:373 msgid "Duplicate Part" msgstr "" @@ -4426,167 +4447,155 @@ msgstr "" msgid "%(full_name)s - %(desc)s (%(match_per)s%% match)" msgstr "" -#: part/templates/part/detail.html:16 -msgid "Part Details" -msgstr "" - -#: part/templates/part/detail.html:66 -msgid "Minimum stock level" -msgstr "" - -#: part/templates/part/detail.html:97 -msgid "Latest Serial Number" -msgstr "" - -#: part/templates/part/detail.html:124 +#: part/templates/part/detail.html:17 msgid "Part Stock" msgstr "" -#: part/templates/part/detail.html:136 +#: part/templates/part/detail.html:29 #, python-format msgid "Showing stock for all variants of %(full_name)s" msgstr "" -#: part/templates/part/detail.html:146 +#: part/templates/part/detail.html:39 msgid "Part Test Templates" msgstr "" -#: part/templates/part/detail.html:151 +#: part/templates/part/detail.html:44 msgid "Add Test Template" msgstr "" -#: part/templates/part/detail.html:208 +#: part/templates/part/detail.html:101 msgid "Sales Order Allocations" msgstr "Toewijzingen verkoopopdracht" -#: part/templates/part/detail.html:249 +#: part/templates/part/detail.html:142 msgid "Part Variants" msgstr "" -#: part/templates/part/detail.html:253 +#: part/templates/part/detail.html:146 msgid "Create new variant" msgstr "" -#: part/templates/part/detail.html:254 +#: part/templates/part/detail.html:147 msgid "New Variant" msgstr "" -#: part/templates/part/detail.html:281 +#: part/templates/part/detail.html:174 msgid "Add new parameter" msgstr "" -#: part/templates/part/detail.html:315 part/templates/part/part_sidebar.html:47 +#: part/templates/part/detail.html:208 part/templates/part/part_sidebar.html:45 msgid "Related Parts" msgstr "" -#: part/templates/part/detail.html:319 part/templates/part/detail.html:320 +#: part/templates/part/detail.html:212 part/templates/part/detail.html:213 msgid "Add Related" msgstr "" -#: part/templates/part/detail.html:340 part/templates/part/part_sidebar.html:19 +#: part/templates/part/detail.html:233 part/templates/part/part_sidebar.html:17 msgid "Bill of Materials" msgstr "" -#: part/templates/part/detail.html:345 +#: part/templates/part/detail.html:238 msgid "Export actions" msgstr "" -#: part/templates/part/detail.html:349 +#: part/templates/part/detail.html:242 msgid "Export BOM" msgstr "" -#: part/templates/part/detail.html:351 +#: part/templates/part/detail.html:244 msgid "Print BOM Report" msgstr "" -#: part/templates/part/detail.html:361 +#: part/templates/part/detail.html:254 msgid "Upload BOM" msgstr "" -#: part/templates/part/detail.html:363 templates/js/translated/part.js:267 +#: part/templates/part/detail.html:256 templates/js/translated/part.js:270 msgid "Copy BOM" msgstr "" -#: part/templates/part/detail.html:365 part/views.py:755 +#: part/templates/part/detail.html:258 part/views.py:755 msgid "Validate BOM" msgstr "" -#: part/templates/part/detail.html:370 +#: part/templates/part/detail.html:263 msgid "New BOM Item" msgstr "Nieuw stuklijstitem" -#: part/templates/part/detail.html:371 +#: part/templates/part/detail.html:264 msgid "Add BOM Item" msgstr "" -#: part/templates/part/detail.html:384 +#: part/templates/part/detail.html:277 msgid "Assemblies" -msgstr "" +msgstr "Samenstellingen" -#: part/templates/part/detail.html:401 +#: part/templates/part/detail.html:294 msgid "Part Builds" msgstr "" -#: part/templates/part/detail.html:426 +#: part/templates/part/detail.html:319 msgid "Build Order Allocations" msgstr "Toewijzingen bouwopdracht" -#: part/templates/part/detail.html:436 +#: part/templates/part/detail.html:329 msgid "Part Suppliers" msgstr "" -#: part/templates/part/detail.html:463 +#: part/templates/part/detail.html:356 msgid "Part Manufacturers" -msgstr "" +msgstr "Fabrikanten" -#: part/templates/part/detail.html:479 +#: part/templates/part/detail.html:372 msgid "Delete manufacturer parts" -msgstr "" +msgstr "Fabrikant onderdeel verwijderen" -#: part/templates/part/detail.html:660 +#: part/templates/part/detail.html:553 msgid "Delete selected BOM items?" msgstr "" -#: part/templates/part/detail.html:661 +#: part/templates/part/detail.html:554 msgid "All selected BOM items will be deleted" msgstr "" -#: part/templates/part/detail.html:712 +#: part/templates/part/detail.html:605 msgid "Create BOM Item" msgstr "" -#: part/templates/part/detail.html:764 +#: part/templates/part/detail.html:657 msgid "Related Part" msgstr "" -#: part/templates/part/detail.html:772 +#: part/templates/part/detail.html:665 msgid "Add Related Part" msgstr "" -#: part/templates/part/detail.html:869 +#: part/templates/part/detail.html:760 msgid "Add Test Result Template" msgstr "" -#: part/templates/part/detail.html:926 +#: part/templates/part/detail.html:817 msgid "Edit Part Notes" msgstr "" -#: part/templates/part/detail.html:1039 +#: part/templates/part/detail.html:930 #, python-format msgid "Purchase Unit Price - %(currency)s" msgstr "" -#: part/templates/part/detail.html:1051 +#: part/templates/part/detail.html:942 #, python-format msgid "Unit Price-Cost Difference - %(currency)s" msgstr "" -#: part/templates/part/detail.html:1063 +#: part/templates/part/detail.html:954 #, python-format msgid "Supplier Unit Cost - %(currency)s" msgstr "" -#: part/templates/part/detail.html:1152 +#: part/templates/part/detail.html:1043 #, python-format msgid "Unit Price - %(currency)s" msgstr "" @@ -4668,86 +4677,108 @@ msgstr "" msgid "Delete part" msgstr "" -#: part/templates/part/part_base.html:109 +#: part/templates/part/part_base.html:112 msgid "Part is a template part (variants can be made from this part)" msgstr "" -#: part/templates/part/part_base.html:113 +#: part/templates/part/part_base.html:116 msgid "Part can be assembled from other parts" -msgstr "" +msgstr "Onderdeel kan vanuit andere delen worden samengesteld" -#: part/templates/part/part_base.html:117 +#: part/templates/part/part_base.html:120 msgid "Part can be used in assemblies" -msgstr "" +msgstr "Onderdeel kan gebruikt worden voor samenstellingen" -#: part/templates/part/part_base.html:121 +#: part/templates/part/part_base.html:124 msgid "Part stock is tracked by serial number" msgstr "" -#: part/templates/part/part_base.html:125 +#: part/templates/part/part_base.html:128 msgid "Part can be purchased from external suppliers" msgstr "" -#: part/templates/part/part_base.html:129 +#: part/templates/part/part_base.html:132 msgid "Part can be sold to customers" msgstr "" -#: part/templates/part/part_base.html:135 -#: part/templates/part/part_base.html:143 +#: part/templates/part/part_base.html:138 +#: part/templates/part/part_base.html:146 msgid "Part is virtual (not a physical part)" msgstr "" -#: part/templates/part/part_base.html:136 +#: part/templates/part/part_base.html:139 #: templates/js/translated/company.js:505 #: templates/js/translated/company.js:762 #: templates/js/translated/model_renderers.js:175 -#: templates/js/translated/part.js:465 templates/js/translated/part.js:542 +#: templates/js/translated/part.js:472 templates/js/translated/part.js:549 msgid "Inactive" msgstr "" -#: part/templates/part/part_base.html:155 +#: part/templates/part/part_base.html:156 +#: part/templates/part/part_base.html:579 +msgid "Show Part Details" +msgstr "" + +#: part/templates/part/part_base.html:173 #, python-format msgid "This part is a variant of %(link)s" msgstr "" -#: part/templates/part/part_base.html:172 templates/js/translated/order.js:1546 +#: part/templates/part/part_base.html:190 templates/js/translated/order.js:1545 #: templates/js/translated/table_filters.js:188 msgid "In Stock" msgstr "" -#: part/templates/part/part_base.html:185 templates/js/translated/part.js:1054 +#: part/templates/part/part_base.html:203 templates/js/translated/part.js:1235 msgid "On Order" msgstr "" -#: part/templates/part/part_base.html:192 templates/InvenTree/index.html:178 +#: part/templates/part/part_base.html:210 templates/InvenTree/index.html:178 msgid "Required for Build Orders" msgstr "" -#: part/templates/part/part_base.html:199 +#: part/templates/part/part_base.html:217 msgid "Required for Sales Orders" msgstr "" -#: part/templates/part/part_base.html:206 +#: part/templates/part/part_base.html:224 msgid "Allocated to Orders" msgstr "" -#: part/templates/part/part_base.html:221 templates/js/translated/bom.js:566 +#: part/templates/part/part_base.html:239 templates/js/translated/bom.js:566 msgid "Can Build" msgstr "" -#: part/templates/part/part_base.html:227 templates/js/translated/part.js:885 -#: templates/js/translated/part.js:1058 +#: part/templates/part/part_base.html:245 templates/js/translated/part.js:1066 +#: templates/js/translated/part.js:1239 msgid "Building" msgstr "" -#: part/templates/part/part_base.html:320 part/templates/part/prices.html:144 +#: part/templates/part/part_base.html:295 +msgid "Minimum stock level" +msgstr "" + +#: part/templates/part/part_base.html:324 +msgid "Latest Serial Number" +msgstr "" + +#: part/templates/part/part_base.html:328 +#: stock/templates/stock/item_base.html:159 +msgid "Search for serial number" +msgstr "" + +#: part/templates/part/part_base.html:449 part/templates/part/prices.html:144 msgid "Calculate" msgstr "" -#: part/templates/part/part_base.html:363 +#: part/templates/part/part_base.html:492 msgid "No matching images found" msgstr "" +#: part/templates/part/part_base.html:573 +msgid "Hide Part Details" +msgstr "" + #: part/templates/part/part_pricing.html:22 part/templates/part/prices.html:21 msgid "Supplier Pricing" msgstr "" @@ -4805,20 +4836,15 @@ msgstr "" msgid "No pricing information is available for this part." msgstr "" -#: part/templates/part/part_sidebar.html:8 -#: templates/js/translated/stock.js:1949 -msgid "Details" -msgstr "" - -#: part/templates/part/part_sidebar.html:13 +#: part/templates/part/part_sidebar.html:11 msgid "Variants" msgstr "" -#: part/templates/part/part_sidebar.html:27 +#: part/templates/part/part_sidebar.html:25 msgid "Used In" msgstr "" -#: part/templates/part/part_sidebar.html:43 +#: part/templates/part/part_sidebar.html:41 msgid "Test Templates" msgstr "" @@ -4851,7 +4877,7 @@ msgstr "" #: part/templates/part/partial_delete.html:43 #, python-format msgid "There are %(count)s manufacturers defined for this part. If you delete this part, the following manufacturer parts will also be deleted:" -msgstr "" +msgstr "Er zijn %(count)s fabrikanten gedefinieerd voor dit onderdeel. Als u dit onderdeel verwijdert, worden de volgende onderdelen ook verwijderd:" #: part/templates/part/partial_delete.html:54 #, python-format @@ -4934,8 +4960,8 @@ msgid "Set category for the following parts" msgstr "" #: part/templates/part/stock_count.html:7 templates/js/translated/bom.js:476 -#: templates/js/translated/part.js:429 templates/js/translated/part.js:875 -#: templates/js/translated/part.js:1062 +#: templates/js/translated/part.js:436 templates/js/translated/part.js:1056 +#: templates/js/translated/part.js:1243 msgid "No Stock" msgstr "" @@ -5037,7 +5063,7 @@ msgstr "" msgid "Delete Part Parameter Template" msgstr "" -#: part/views.py:1489 templates/js/translated/part.js:310 +#: part/views.py:1489 templates/js/translated/part.js:313 msgid "Edit Part Category" msgstr "" @@ -5171,11 +5197,12 @@ msgid "Stock Item Test Report" msgstr "" #: report/templates/report/inventree_test_report_base.html:79 -#: stock/models.py:530 stock/templates/stock/item_base.html:238 +#: stock/models.py:520 stock/templates/stock/item_base.html:149 #: templates/js/translated/build.js:233 templates/js/translated/build.js:637 #: templates/js/translated/build.js:1013 #: templates/js/translated/model_renderers.js:95 -#: templates/js/translated/order.js:1288 templates/js/translated/order.js:1377 +#: templates/js/translated/order.js:1287 templates/js/translated/order.js:1376 +#: templates/js/translated/stock.js:410 msgid "Serial Number" msgstr "Serienummer" @@ -5184,17 +5211,17 @@ msgid "Test Results" msgstr "" #: report/templates/report/inventree_test_report_base.html:93 -#: stock/models.py:1855 +#: stock/models.py:1845 msgid "Test" msgstr "" #: report/templates/report/inventree_test_report_base.html:94 -#: stock/models.py:1861 +#: stock/models.py:1851 msgid "Result" msgstr "" #: report/templates/report/inventree_test_report_base.html:97 -#: templates/js/translated/order.js:685 templates/js/translated/stock.js:1917 +#: templates/js/translated/order.js:684 templates/js/translated/stock.js:1999 msgid "Date" msgstr "" @@ -5212,7 +5239,7 @@ msgid "Installed Items" msgstr "" #: report/templates/report/inventree_test_report_base.html:137 -#: templates/js/translated/stock.js:2177 +#: templates/js/translated/stock.js:2259 msgid "Serial" msgstr "" @@ -5220,9 +5247,9 @@ msgstr "" msgid "Quantity is required" msgstr "" -#: stock/forms.py:91 stock/forms.py:265 stock/models.py:587 -#: stock/templates/stock/item_base.html:382 -#: templates/js/translated/stock.js:1276 +#: stock/forms.py:91 stock/forms.py:265 stock/models.py:577 +#: stock/templates/stock/item_base.html:186 +#: templates/js/translated/stock.js:1358 msgid "Expiry Date" msgstr "" @@ -5270,241 +5297,241 @@ msgstr "" msgid "Confirm removal of installed stock items" msgstr "" -#: stock/models.py:60 stock/models.py:624 -#: stock/templates/stock/item_base.html:422 +#: stock/models.py:60 stock/models.py:614 +#: stock/templates/stock/item_base.html:417 msgid "Owner" msgstr "" -#: stock/models.py:61 stock/models.py:625 +#: stock/models.py:61 stock/models.py:615 msgid "Select Owner" msgstr "" -#: stock/models.py:352 +#: stock/models.py:342 msgid "StockItem with this serial number already exists" msgstr "" -#: stock/models.py:388 +#: stock/models.py:378 #, python-brace-format msgid "Part type ('{pf}') must be {pe}" msgstr "" -#: stock/models.py:398 stock/models.py:407 +#: stock/models.py:388 stock/models.py:397 msgid "Quantity must be 1 for item with a serial number" msgstr "" -#: stock/models.py:399 +#: stock/models.py:389 msgid "Serial number cannot be set if quantity greater than 1" msgstr "" -#: stock/models.py:421 +#: stock/models.py:411 msgid "Item cannot belong to itself" msgstr "" -#: stock/models.py:427 +#: stock/models.py:417 msgid "Item must have a build reference if is_building=True" msgstr "" -#: stock/models.py:434 +#: stock/models.py:424 msgid "Build reference does not point to the same part object" msgstr "" -#: stock/models.py:476 +#: stock/models.py:466 msgid "Parent Stock Item" msgstr "" -#: stock/models.py:485 +#: stock/models.py:475 msgid "Base part" msgstr "" -#: stock/models.py:493 +#: stock/models.py:483 msgid "Select a matching supplier part for this stock item" msgstr "" -#: stock/models.py:498 stock/templates/stock/location.html:12 +#: stock/models.py:488 stock/templates/stock/location.html:12 #: stock/templates/stock/stock_app_base.html:8 msgid "Stock Location" msgstr "Voorraadlocatie" -#: stock/models.py:501 +#: stock/models.py:491 msgid "Where is this stock item located?" msgstr "" -#: stock/models.py:508 +#: stock/models.py:498 msgid "Packaging this stock item is stored in" msgstr "" -#: stock/models.py:513 stock/templates/stock/item_base.html:271 +#: stock/models.py:503 stock/templates/stock/item_base.html:299 msgid "Installed In" msgstr "" -#: stock/models.py:516 +#: stock/models.py:506 msgid "Is this item installed in another item?" msgstr "" -#: stock/models.py:532 +#: stock/models.py:522 msgid "Serial number for this item" msgstr "" -#: stock/models.py:546 +#: stock/models.py:536 msgid "Batch code for this stock item" msgstr "" -#: stock/models.py:550 +#: stock/models.py:540 msgid "Stock Quantity" msgstr "" -#: stock/models.py:559 +#: stock/models.py:549 msgid "Source Build" msgstr "" -#: stock/models.py:561 +#: stock/models.py:551 msgid "Build for this stock item" msgstr "" -#: stock/models.py:572 +#: stock/models.py:562 msgid "Source Purchase Order" msgstr "" -#: stock/models.py:575 +#: stock/models.py:565 msgid "Purchase order for this stock item" msgstr "" -#: stock/models.py:581 +#: stock/models.py:571 msgid "Destination Sales Order" msgstr "" -#: stock/models.py:588 +#: stock/models.py:578 msgid "Expiry date for stock item. Stock will be considered expired after this date" msgstr "" -#: stock/models.py:601 +#: stock/models.py:591 msgid "Delete on deplete" msgstr "" -#: stock/models.py:601 +#: stock/models.py:591 msgid "Delete this Stock Item when stock is depleted" msgstr "" -#: stock/models.py:611 stock/templates/stock/item.html:111 +#: stock/models.py:601 stock/templates/stock/item.html:111 msgid "Stock Item Notes" msgstr "" -#: stock/models.py:620 +#: stock/models.py:610 msgid "Single unit purchase price at time of purchase" msgstr "" -#: stock/models.py:630 +#: stock/models.py:620 msgid "Scheduled for deletion" msgstr "" -#: stock/models.py:631 +#: stock/models.py:621 msgid "This StockItem will be deleted by the background worker" msgstr "" -#: stock/models.py:1094 +#: stock/models.py:1084 msgid "Part is not set as trackable" msgstr "" -#: stock/models.py:1100 +#: stock/models.py:1090 msgid "Quantity must be integer" msgstr "" -#: stock/models.py:1106 +#: stock/models.py:1096 #, python-brace-format msgid "Quantity must not exceed available stock quantity ({n})" msgstr "" -#: stock/models.py:1109 +#: stock/models.py:1099 msgid "Serial numbers must be a list of integers" msgstr "" -#: stock/models.py:1112 +#: stock/models.py:1102 msgid "Quantity does not match serial numbers" msgstr "" -#: stock/models.py:1119 +#: stock/models.py:1109 #, python-brace-format msgid "Serial numbers already exist: {exists}" msgstr "" -#: stock/models.py:1277 +#: stock/models.py:1267 msgid "StockItem cannot be moved as it is not in stock" msgstr "" -#: stock/models.py:1775 +#: stock/models.py:1765 msgid "Entry notes" msgstr "" -#: stock/models.py:1832 +#: stock/models.py:1822 msgid "Value must be provided for this test" msgstr "" -#: stock/models.py:1838 +#: stock/models.py:1828 msgid "Attachment must be uploaded for this test" msgstr "" -#: stock/models.py:1856 +#: stock/models.py:1846 msgid "Test name" msgstr "" -#: stock/models.py:1862 templates/js/translated/table_filters.js:266 +#: stock/models.py:1852 templates/js/translated/table_filters.js:266 msgid "Test result" msgstr "" -#: stock/models.py:1868 +#: stock/models.py:1858 msgid "Test output value" msgstr "" -#: stock/models.py:1875 +#: stock/models.py:1865 msgid "Test result attachment" msgstr "" -#: stock/models.py:1881 +#: stock/models.py:1871 msgid "Test notes" msgstr "" -#: stock/serializers.py:166 +#: stock/serializers.py:171 msgid "Purchase price of this stock item" msgstr "" -#: stock/serializers.py:173 +#: stock/serializers.py:178 msgid "Purchase currency of this stock item" msgstr "" -#: stock/serializers.py:287 +#: stock/serializers.py:292 msgid "Enter number of stock items to serialize" msgstr "" -#: stock/serializers.py:302 +#: stock/serializers.py:307 #, python-brace-format msgid "Quantity must not exceed available stock quantity ({q})" msgstr "" -#: stock/serializers.py:308 +#: stock/serializers.py:313 msgid "Enter serial numbers for new items" msgstr "" -#: stock/serializers.py:319 stock/serializers.py:686 +#: stock/serializers.py:324 stock/serializers.py:691 msgid "Destination stock location" msgstr "" -#: stock/serializers.py:326 +#: stock/serializers.py:331 msgid "Optional note field" msgstr "" -#: stock/serializers.py:339 +#: stock/serializers.py:344 msgid "Serial numbers cannot be assigned to this part" msgstr "" -#: stock/serializers.py:556 +#: stock/serializers.py:561 msgid "StockItem primary key value" msgstr "" -#: stock/serializers.py:584 +#: stock/serializers.py:589 msgid "Stock transaction notes" msgstr "" -#: stock/serializers.py:594 +#: stock/serializers.py:599 msgid "A list of stock items must be provided" msgstr "" @@ -5629,125 +5656,131 @@ msgstr "" msgid "Install" msgstr "" -#: stock/templates/stock/item_base.html:106 +#: stock/templates/stock/item_base.html:108 msgid "Convert to variant" msgstr "" -#: stock/templates/stock/item_base.html:109 +#: stock/templates/stock/item_base.html:111 msgid "Duplicate stock item" msgstr "" -#: stock/templates/stock/item_base.html:111 +#: stock/templates/stock/item_base.html:113 msgid "Edit stock item" msgstr "" -#: stock/templates/stock/item_base.html:114 +#: stock/templates/stock/item_base.html:116 msgid "Delete stock item" msgstr "" -#: stock/templates/stock/item_base.html:136 -#: stock/templates/stock/item_base.html:386 -#: templates/js/translated/table_filters.js:247 -msgid "Expired" +#: stock/templates/stock/item_base.html:154 +msgid "previous page" msgstr "" -#: stock/templates/stock/item_base.html:146 -#: stock/templates/stock/item_base.html:388 -#: templates/js/translated/table_filters.js:253 -msgid "Stale" +#: stock/templates/stock/item_base.html:154 +msgid "Navigate to previous serial number" msgstr "" -#: stock/templates/stock/item_base.html:161 -msgid "You are not in the list of owners of this item. This stock item cannot be edited." +#: stock/templates/stock/item_base.html:163 +msgid "next page" msgstr "" -#: stock/templates/stock/item_base.html:168 -msgid "This stock item is in production and cannot be edited." -msgstr "" - -#: stock/templates/stock/item_base.html:169 -msgid "Edit the stock item from the build view." -msgstr "" - -#: stock/templates/stock/item_base.html:182 -msgid "This stock item has not passed all required tests" +#: stock/templates/stock/item_base.html:163 +msgid "Navigate to next serial number" msgstr "" #: stock/templates/stock/item_base.html:190 #, python-format -msgid "This stock item is allocated to Sales Order %(link)s (Quantity: %(qty)s)" -msgstr "" - -#: stock/templates/stock/item_base.html:198 -#, python-format -msgid "This stock item is allocated to Build %(link)s (Quantity: %(qty)s)" -msgstr "" - -#: stock/templates/stock/item_base.html:204 -msgid "This stock item is serialized - it has a unique serial number and the quantity cannot be adjusted." -msgstr "" - -#: stock/templates/stock/item_base.html:208 -msgid "This stock item cannot be deleted as it has child items" -msgstr "" - -#: stock/templates/stock/item_base.html:212 -msgid "This stock item will be automatically deleted when all stock is depleted." -msgstr "" - -#: stock/templates/stock/item_base.html:241 -msgid "previous page" -msgstr "" - -#: stock/templates/stock/item_base.html:247 -msgid "next page" -msgstr "" - -#: stock/templates/stock/item_base.html:290 -#: templates/js/translated/build.js:1035 -msgid "No location set" -msgstr "Geen Locatie ingesteld" - -#: stock/templates/stock/item_base.html:297 -msgid "Barcode Identifier" -msgstr "" - -#: stock/templates/stock/item_base.html:339 -msgid "Parent Item" -msgstr "" - -#: stock/templates/stock/item_base.html:357 -msgid "No manufacturer set" -msgstr "" - -#: stock/templates/stock/item_base.html:386 -#, python-format msgid "This StockItem expired on %(item.expiry_date)s" msgstr "" -#: stock/templates/stock/item_base.html:388 +#: stock/templates/stock/item_base.html:190 +#: templates/js/translated/table_filters.js:247 +msgid "Expired" +msgstr "" + +#: stock/templates/stock/item_base.html:192 #, python-format msgid "This StockItem expires on %(item.expiry_date)s" msgstr "" -#: stock/templates/stock/item_base.html:395 -#: templates/js/translated/stock.js:1289 +#: stock/templates/stock/item_base.html:192 +#: templates/js/translated/table_filters.js:253 +msgid "Stale" +msgstr "" + +#: stock/templates/stock/item_base.html:199 +#: templates/js/translated/stock.js:1371 msgid "Last Updated" msgstr "" -#: stock/templates/stock/item_base.html:400 +#: stock/templates/stock/item_base.html:204 msgid "Last Stocktake" msgstr "" -#: stock/templates/stock/item_base.html:404 +#: stock/templates/stock/item_base.html:208 msgid "No stocktake performed" msgstr "" -#: stock/templates/stock/item_base.html:415 +#: stock/templates/stock/item_base.html:226 +msgid "You are not in the list of owners of this item. This stock item cannot be edited." +msgstr "" + +#: stock/templates/stock/item_base.html:233 +msgid "This stock item is in production and cannot be edited." +msgstr "" + +#: stock/templates/stock/item_base.html:234 +msgid "Edit the stock item from the build view." +msgstr "" + +#: stock/templates/stock/item_base.html:247 +msgid "This stock item has not passed all required tests" +msgstr "" + +#: stock/templates/stock/item_base.html:255 +#, python-format +msgid "This stock item is allocated to Sales Order %(link)s (Quantity: %(qty)s)" +msgstr "" + +#: stock/templates/stock/item_base.html:263 +#, python-format +msgid "This stock item is allocated to Build %(link)s (Quantity: %(qty)s)" +msgstr "" + +#: stock/templates/stock/item_base.html:269 +msgid "This stock item is serialized - it has a unique serial number and the quantity cannot be adjusted." +msgstr "" + +#: stock/templates/stock/item_base.html:273 +msgid "This stock item cannot be deleted as it has child items" +msgstr "" + +#: stock/templates/stock/item_base.html:277 +msgid "This stock item will be automatically deleted when all stock is depleted." +msgstr "" + +#: stock/templates/stock/item_base.html:318 +#: templates/js/translated/build.js:1035 +msgid "No location set" +msgstr "Geen Locatie ingesteld" + +#: stock/templates/stock/item_base.html:325 +msgid "Barcode Identifier" +msgstr "" + +#: stock/templates/stock/item_base.html:367 +msgid "Parent Item" +msgstr "" + +#: stock/templates/stock/item_base.html:385 +msgid "No manufacturer set" +msgstr "Geen fabrikant geselecteerd" + +#: stock/templates/stock/item_base.html:410 msgid "Tests" msgstr "" -#: stock/templates/stock/item_base.html:505 +#: stock/templates/stock/item_base.html:500 msgid "Edit Stock Status" msgstr "" @@ -5825,30 +5858,35 @@ msgstr "Maak nieuwe voorraadlocatie" msgid "New Location" msgstr "Nieuwe locatie" -#: stock/templates/stock/location.html:86 +#: stock/templates/stock/location.html:95 +#: stock/templates/stock/location.html:101 +msgid "Location Path" +msgstr "" + +#: stock/templates/stock/location.html:102 msgid "Top level stock location" msgstr "" -#: stock/templates/stock/location.html:95 +#: stock/templates/stock/location.html:115 msgid "You are not in the list of owners of this location. This stock location cannot be edited." msgstr "U staat niet in de lijst van eigenaars van deze locatie. Deze voorraadlocatie kan niet worden bewerkt." -#: stock/templates/stock/location.html:113 -#: stock/templates/stock/location.html:160 +#: stock/templates/stock/location.html:128 +#: stock/templates/stock/location.html:175 #: stock/templates/stock/location_sidebar.html:5 msgid "Sublocations" msgstr "Sublocaties" -#: stock/templates/stock/location.html:127 templates/InvenTree/search.html:170 +#: stock/templates/stock/location.html:142 templates/InvenTree/search.html:170 #: templates/stats.html:97 users/models.py:42 msgid "Stock Locations" msgstr "Voorraadlocaties" -#: stock/templates/stock/location.html:167 templates/stock_table.html:30 +#: stock/templates/stock/location.html:182 templates/stock_table.html:30 msgid "Printing Actions" msgstr "Afdrukacties" -#: stock/templates/stock/location.html:171 templates/stock_table.html:34 +#: stock/templates/stock/location.html:186 templates/stock_table.html:34 msgid "Print labels" msgstr "Labels afdrukken" @@ -5942,7 +5980,7 @@ msgstr "" msgid "Uninstall Stock Items" msgstr "" -#: stock/views.py:760 templates/js/translated/stock.js:648 +#: stock/views.py:760 templates/js/translated/stock.js:730 msgid "Confirm stock adjustment" msgstr "" @@ -5950,7 +5988,7 @@ msgstr "" msgid "Uninstalled stock items" msgstr "" -#: stock/views.py:793 templates/js/translated/stock.js:318 +#: stock/views.py:793 templates/js/translated/stock.js:319 msgid "Edit Stock Item" msgstr "" @@ -5962,7 +6000,7 @@ msgstr "Maak nieuwe voorraadlocatie" msgid "Create new Stock Item" msgstr "" -#: stock/views.py:1186 templates/js/translated/stock.js:298 +#: stock/views.py:1186 templates/js/translated/stock.js:299 msgid "Duplicate Stock Item" msgstr "" @@ -6868,7 +6906,7 @@ msgstr "" msgid "Unlink" msgstr "" -#: templates/js/translated/barcode.js:397 templates/js/translated/stock.js:600 +#: templates/js/translated/barcode.js:397 templates/js/translated/stock.js:682 msgid "Remove stock item" msgstr "" @@ -6963,7 +7001,7 @@ msgid "View BOM" msgstr "" #: templates/js/translated/bom.js:608 templates/js/translated/build.js:1183 -#: templates/js/translated/order.js:1320 +#: templates/js/translated/order.js:1319 msgid "Actions" msgstr "" @@ -7055,7 +7093,7 @@ msgstr "" msgid "No build order allocations found" msgstr "" -#: templates/js/translated/build.js:424 templates/js/translated/order.js:1194 +#: templates/js/translated/build.js:424 templates/js/translated/order.js:1193 msgid "Location not specified" msgstr "" @@ -7064,12 +7102,12 @@ msgid "No active build outputs found" msgstr "" #: templates/js/translated/build.js:1052 templates/js/translated/build.js:1760 -#: templates/js/translated/order.js:1327 +#: templates/js/translated/order.js:1326 msgid "Edit stock allocation" msgstr "" #: templates/js/translated/build.js:1054 templates/js/translated/build.js:1761 -#: templates/js/translated/order.js:1328 +#: templates/js/translated/order.js:1327 msgid "Delete stock allocation" msgstr "" @@ -7090,11 +7128,11 @@ msgid "Quantity Per" msgstr "" #: templates/js/translated/build.js:1134 templates/js/translated/build.js:1360 -#: templates/js/translated/build.js:1756 templates/js/translated/order.js:1557 +#: templates/js/translated/build.js:1756 templates/js/translated/order.js:1556 msgid "Allocated" msgstr "" -#: templates/js/translated/build.js:1190 templates/js/translated/order.js:1611 +#: templates/js/translated/build.js:1190 templates/js/translated/order.js:1610 msgid "Build stock" msgstr "" @@ -7102,7 +7140,7 @@ msgstr "" msgid "Order stock" msgstr "" -#: templates/js/translated/build.js:1197 templates/js/translated/order.js:1604 +#: templates/js/translated/build.js:1197 templates/js/translated/order.js:1603 msgid "Allocate stock" msgstr "" @@ -7143,9 +7181,9 @@ msgstr "" msgid "No builds matching query" msgstr "" -#: templates/js/translated/build.js:1593 templates/js/translated/part.js:966 -#: templates/js/translated/part.js:1377 templates/js/translated/stock.js:1094 -#: templates/js/translated/stock.js:1871 +#: templates/js/translated/build.js:1593 templates/js/translated/part.js:1147 +#: templates/js/translated/part.js:1558 templates/js/translated/stock.js:1176 +#: templates/js/translated/stock.js:1953 msgid "Select" msgstr "" @@ -7153,7 +7191,7 @@ msgstr "" msgid "Build order is overdue" msgstr "" -#: templates/js/translated/build.js:1674 templates/js/translated/stock.js:2090 +#: templates/js/translated/build.js:1674 templates/js/translated/stock.js:2172 msgid "No user information" msgstr "" @@ -7167,19 +7205,19 @@ msgstr "" #: templates/js/translated/company.js:65 msgid "Add Manufacturer" -msgstr "" +msgstr "Fabrikant toevoegen" #: templates/js/translated/company.js:78 templates/js/translated/company.js:177 msgid "Add Manufacturer Part" -msgstr "" +msgstr "Fabrikant onderdeel toevoegen" #: templates/js/translated/company.js:99 msgid "Edit Manufacturer Part" -msgstr "" +msgstr "Fabrikant onderdeel bewerken" #: templates/js/translated/company.js:108 msgid "Delete Manufacturer Part" -msgstr "" +msgstr "Fabrikant onderdeel verwijderen" #: templates/js/translated/company.js:165 templates/js/translated/order.js:90 msgid "Add Supplier" @@ -7197,10 +7235,6 @@ msgstr "" msgid "Delete Supplier Part" msgstr "" -#: templates/js/translated/company.js:265 -msgid "Edit Company" -msgstr "" - #: templates/js/translated/company.js:286 msgid "Add new Company" msgstr "" @@ -7211,7 +7245,7 @@ msgstr "" #: templates/js/translated/company.js:372 msgid "Parts Manufactured" -msgstr "" +msgstr "Gefabriceerde onderdelen" #: templates/js/translated/company.js:386 msgid "No company information found" @@ -7219,45 +7253,45 @@ msgstr "" #: templates/js/translated/company.js:405 msgid "The following manufacturer parts will be deleted" -msgstr "" +msgstr "De volgende fabricage onderdelen worden verwijderd" #: templates/js/translated/company.js:422 msgid "Delete Manufacturer Parts" -msgstr "" +msgstr "Verwijder fabricage onderdelen" #: templates/js/translated/company.js:477 msgid "No manufacturer parts found" -msgstr "" +msgstr "Geen fabricage onderdelen gevonden" #: templates/js/translated/company.js:497 -#: templates/js/translated/company.js:754 templates/js/translated/part.js:449 -#: templates/js/translated/part.js:534 +#: templates/js/translated/company.js:754 templates/js/translated/part.js:456 +#: templates/js/translated/part.js:541 msgid "Template part" msgstr "" #: templates/js/translated/company.js:501 -#: templates/js/translated/company.js:758 templates/js/translated/part.js:453 -#: templates/js/translated/part.js:538 +#: templates/js/translated/company.js:758 templates/js/translated/part.js:460 +#: templates/js/translated/part.js:545 msgid "Assembled part" -msgstr "" +msgstr "Samengesteld onderdeel" -#: templates/js/translated/company.js:628 templates/js/translated/part.js:626 +#: templates/js/translated/company.js:628 templates/js/translated/part.js:633 msgid "No parameters found" msgstr "" -#: templates/js/translated/company.js:665 templates/js/translated/part.js:668 +#: templates/js/translated/company.js:665 templates/js/translated/part.js:675 msgid "Edit parameter" msgstr "" -#: templates/js/translated/company.js:666 templates/js/translated/part.js:669 +#: templates/js/translated/company.js:666 templates/js/translated/part.js:676 msgid "Delete parameter" msgstr "" -#: templates/js/translated/company.js:685 templates/js/translated/part.js:686 +#: templates/js/translated/company.js:685 templates/js/translated/part.js:693 msgid "Edit Parameter" msgstr "" -#: templates/js/translated/company.js:696 templates/js/translated/part.js:698 +#: templates/js/translated/company.js:696 templates/js/translated/part.js:705 msgid "Delete Parameter" msgstr "" @@ -7346,7 +7380,7 @@ msgid "NO" msgstr "" #: templates/js/translated/label.js:29 templates/js/translated/report.js:118 -#: templates/js/translated/stock.js:624 +#: templates/js/translated/stock.js:706 msgid "Select Stock Items" msgstr "" @@ -7484,7 +7518,7 @@ msgstr "" #: templates/js/translated/model_renderers.js:293 msgid "Manufacturer Part ID" -msgstr "" +msgstr "Onderdeelnummer fabrikant" #: templates/js/translated/model_renderers.js:322 msgid "Supplier Part ID" @@ -7502,11 +7536,11 @@ msgstr "" msgid "Export Order" msgstr "" -#: templates/js/translated/order.js:211 templates/js/translated/stock.js:423 +#: templates/js/translated/order.js:211 templates/js/translated/stock.js:505 msgid "Format" msgstr "" -#: templates/js/translated/order.js:212 templates/js/translated/stock.js:424 +#: templates/js/translated/order.js:212 templates/js/translated/stock.js:506 msgid "Select file format" msgstr "" @@ -7522,7 +7556,7 @@ msgstr "" msgid "Quantity to receive" msgstr "" -#: templates/js/translated/order.js:360 templates/js/translated/stock.js:1673 +#: templates/js/translated/order.js:360 templates/js/translated/stock.js:1755 msgid "Stock Status" msgstr "" @@ -7546,321 +7580,321 @@ msgstr "" msgid "Receive Purchase Order Items" msgstr "" -#: templates/js/translated/order.js:627 +#: templates/js/translated/order.js:627 templates/js/translated/part.js:746 msgid "No purchase orders found" msgstr "" -#: templates/js/translated/order.js:652 templates/js/translated/order.js:1063 +#: templates/js/translated/order.js:659 templates/js/translated/order.js:1062 msgid "Order is overdue" msgstr "" -#: templates/js/translated/order.js:772 templates/js/translated/order.js:1646 +#: templates/js/translated/order.js:771 templates/js/translated/order.js:1645 msgid "Edit Line Item" msgstr "" -#: templates/js/translated/order.js:784 templates/js/translated/order.js:1657 +#: templates/js/translated/order.js:783 templates/js/translated/order.js:1656 msgid "Delete Line Item" msgstr "" -#: templates/js/translated/order.js:823 +#: templates/js/translated/order.js:822 msgid "No line items found" msgstr "" -#: templates/js/translated/order.js:850 templates/js/translated/order.js:1467 +#: templates/js/translated/order.js:849 templates/js/translated/order.js:1466 msgid "Total" msgstr "" -#: templates/js/translated/order.js:904 templates/js/translated/order.js:1492 -#: templates/js/translated/part.js:1594 templates/js/translated/part.js:1805 +#: templates/js/translated/order.js:903 templates/js/translated/order.js:1491 +#: templates/js/translated/part.js:1775 templates/js/translated/part.js:1986 msgid "Unit Price" msgstr "" -#: templates/js/translated/order.js:919 templates/js/translated/order.js:1508 +#: templates/js/translated/order.js:918 templates/js/translated/order.js:1507 msgid "Total Price" msgstr "" -#: templates/js/translated/order.js:997 templates/js/translated/order.js:1617 +#: templates/js/translated/order.js:996 templates/js/translated/order.js:1616 msgid "Edit line item" msgstr "" -#: templates/js/translated/order.js:998 +#: templates/js/translated/order.js:997 msgid "Delete line item" msgstr "" -#: templates/js/translated/order.js:1002 +#: templates/js/translated/order.js:1001 templates/js/translated/part.js:878 msgid "Receive line item" msgstr "" -#: templates/js/translated/order.js:1039 +#: templates/js/translated/order.js:1038 msgid "No sales orders found" msgstr "" -#: templates/js/translated/order.js:1077 +#: templates/js/translated/order.js:1076 msgid "Invalid Customer" msgstr "" -#: templates/js/translated/order.js:1155 +#: templates/js/translated/order.js:1154 msgid "No sales order allocations found" msgstr "" -#: templates/js/translated/order.js:1248 +#: templates/js/translated/order.js:1247 msgid "Edit Stock Allocation" msgstr "" -#: templates/js/translated/order.js:1265 +#: templates/js/translated/order.js:1264 msgid "Confirm Delete Operation" msgstr "" -#: templates/js/translated/order.js:1266 +#: templates/js/translated/order.js:1265 msgid "Delete Stock Allocation" msgstr "" -#: templates/js/translated/order.js:1308 +#: templates/js/translated/order.js:1307 msgid "Stock location not specified" msgstr "" -#: templates/js/translated/order.js:1557 +#: templates/js/translated/order.js:1556 msgid "Fulfilled" msgstr "" -#: templates/js/translated/order.js:1601 +#: templates/js/translated/order.js:1600 msgid "Allocate serial numbers" msgstr "" -#: templates/js/translated/order.js:1607 +#: templates/js/translated/order.js:1606 msgid "Purchase stock" msgstr "" -#: templates/js/translated/order.js:1614 templates/js/translated/order.js:1793 +#: templates/js/translated/order.js:1613 templates/js/translated/order.js:1792 msgid "Calculate price" msgstr "" -#: templates/js/translated/order.js:1618 +#: templates/js/translated/order.js:1617 msgid "Delete line item " msgstr "" -#: templates/js/translated/order.js:1741 +#: templates/js/translated/order.js:1740 msgid "Allocate Stock Item" msgstr "" -#: templates/js/translated/order.js:1801 +#: templates/js/translated/order.js:1800 msgid "Update Unit Price" msgstr "" -#: templates/js/translated/order.js:1815 +#: templates/js/translated/order.js:1814 msgid "No matching line items" msgstr "" -#: templates/js/translated/part.js:51 +#: templates/js/translated/part.js:52 msgid "Part Attributes" msgstr "" -#: templates/js/translated/part.js:55 +#: templates/js/translated/part.js:56 msgid "Part Creation Options" msgstr "" -#: templates/js/translated/part.js:59 +#: templates/js/translated/part.js:60 msgid "Part Duplication Options" msgstr "" -#: templates/js/translated/part.js:63 +#: templates/js/translated/part.js:64 msgid "Supplier Options" msgstr "" -#: templates/js/translated/part.js:77 +#: templates/js/translated/part.js:78 msgid "Add Part Category" msgstr "" -#: templates/js/translated/part.js:166 +#: templates/js/translated/part.js:162 msgid "Create Initial Stock" msgstr "" -#: templates/js/translated/part.js:167 +#: templates/js/translated/part.js:163 msgid "Create an initial stock item for this part" msgstr "" -#: templates/js/translated/part.js:174 +#: templates/js/translated/part.js:170 msgid "Initial Stock Quantity" msgstr "" -#: templates/js/translated/part.js:175 +#: templates/js/translated/part.js:171 msgid "Specify initial stock quantity for this part" msgstr "" -#: templates/js/translated/part.js:182 +#: templates/js/translated/part.js:178 msgid "Select destination stock location" msgstr "" -#: templates/js/translated/part.js:193 +#: templates/js/translated/part.js:196 msgid "Copy Category Parameters" msgstr "" -#: templates/js/translated/part.js:194 +#: templates/js/translated/part.js:197 msgid "Copy parameter templates from selected part category" msgstr "" -#: templates/js/translated/part.js:202 +#: templates/js/translated/part.js:205 msgid "Add Supplier Data" msgstr "" -#: templates/js/translated/part.js:203 +#: templates/js/translated/part.js:206 msgid "Create initial supplier data for this part" msgstr "" -#: templates/js/translated/part.js:259 +#: templates/js/translated/part.js:262 msgid "Copy Image" msgstr "" -#: templates/js/translated/part.js:260 +#: templates/js/translated/part.js:263 msgid "Copy image from original part" msgstr "" -#: templates/js/translated/part.js:268 +#: templates/js/translated/part.js:271 msgid "Copy bill of materials from original part" msgstr "" -#: templates/js/translated/part.js:275 +#: templates/js/translated/part.js:278 msgid "Copy Parameters" msgstr "" -#: templates/js/translated/part.js:276 +#: templates/js/translated/part.js:279 msgid "Copy parameter data from original part" msgstr "" -#: templates/js/translated/part.js:289 +#: templates/js/translated/part.js:292 msgid "Parent part category" msgstr "" -#: templates/js/translated/part.js:333 +#: templates/js/translated/part.js:336 msgid "Edit Part" msgstr "" -#: templates/js/translated/part.js:335 +#: templates/js/translated/part.js:338 msgid "Part edited" msgstr "" -#: templates/js/translated/part.js:403 +#: templates/js/translated/part.js:410 msgid "You are subscribed to notifications for this item" msgstr "" -#: templates/js/translated/part.js:405 +#: templates/js/translated/part.js:412 msgid "You have subscribed to notifications for this item" msgstr "" -#: templates/js/translated/part.js:410 +#: templates/js/translated/part.js:417 msgid "Subscribe to notifications for this item" msgstr "" -#: templates/js/translated/part.js:412 +#: templates/js/translated/part.js:419 msgid "You have unsubscribed to notifications for this item" msgstr "" -#: templates/js/translated/part.js:441 templates/js/translated/part.js:526 +#: templates/js/translated/part.js:448 templates/js/translated/part.js:533 msgid "Trackable part" msgstr "" -#: templates/js/translated/part.js:445 templates/js/translated/part.js:530 +#: templates/js/translated/part.js:452 templates/js/translated/part.js:537 msgid "Virtual part" msgstr "" -#: templates/js/translated/part.js:457 +#: templates/js/translated/part.js:464 msgid "Subscribed part" msgstr "" -#: templates/js/translated/part.js:461 +#: templates/js/translated/part.js:468 msgid "Salable part" msgstr "" -#: templates/js/translated/part.js:576 +#: templates/js/translated/part.js:583 msgid "No variants found" msgstr "" -#: templates/js/translated/part.js:765 +#: templates/js/translated/part.js:946 msgid "Delete part relationship" msgstr "" -#: templates/js/translated/part.js:789 +#: templates/js/translated/part.js:970 msgid "Delete Part Relationship" msgstr "" -#: templates/js/translated/part.js:856 templates/js/translated/part.js:1116 +#: templates/js/translated/part.js:1037 templates/js/translated/part.js:1297 msgid "No parts found" msgstr "" -#: templates/js/translated/part.js:1026 +#: templates/js/translated/part.js:1207 msgid "No category" msgstr "" -#: templates/js/translated/part.js:1049 +#: templates/js/translated/part.js:1230 #: templates/js/translated/table_filters.js:381 msgid "Low stock" msgstr "" -#: templates/js/translated/part.js:1140 templates/js/translated/part.js:1312 -#: templates/js/translated/stock.js:1832 +#: templates/js/translated/part.js:1321 templates/js/translated/part.js:1493 +#: templates/js/translated/stock.js:1914 msgid "Display as list" msgstr "" -#: templates/js/translated/part.js:1156 +#: templates/js/translated/part.js:1337 msgid "Display as grid" msgstr "" -#: templates/js/translated/part.js:1331 templates/js/translated/stock.js:1851 +#: templates/js/translated/part.js:1512 templates/js/translated/stock.js:1933 msgid "Display as tree" msgstr "" -#: templates/js/translated/part.js:1395 +#: templates/js/translated/part.js:1576 msgid "Subscribed category" msgstr "" -#: templates/js/translated/part.js:1409 templates/js/translated/stock.js:1895 +#: templates/js/translated/part.js:1590 templates/js/translated/stock.js:1977 msgid "Path" msgstr "" -#: templates/js/translated/part.js:1453 +#: templates/js/translated/part.js:1634 msgid "No test templates matching query" msgstr "" -#: templates/js/translated/part.js:1504 templates/js/translated/stock.js:816 +#: templates/js/translated/part.js:1685 templates/js/translated/stock.js:898 msgid "Edit test result" msgstr "" -#: templates/js/translated/part.js:1505 templates/js/translated/stock.js:817 +#: templates/js/translated/part.js:1686 templates/js/translated/stock.js:899 msgid "Delete test result" msgstr "" -#: templates/js/translated/part.js:1511 +#: templates/js/translated/part.js:1692 msgid "This test is defined for a parent part" msgstr "" -#: templates/js/translated/part.js:1533 +#: templates/js/translated/part.js:1714 msgid "Edit Test Result Template" msgstr "" -#: templates/js/translated/part.js:1547 +#: templates/js/translated/part.js:1728 msgid "Delete Test Result Template" msgstr "" -#: templates/js/translated/part.js:1572 +#: templates/js/translated/part.js:1753 #, python-brace-format msgid "No ${human_name} information found" msgstr "" -#: templates/js/translated/part.js:1627 +#: templates/js/translated/part.js:1808 #, python-brace-format msgid "Edit ${human_name}" msgstr "" -#: templates/js/translated/part.js:1628 +#: templates/js/translated/part.js:1809 #, python-brace-format msgid "Delete ${human_name}" msgstr "" -#: templates/js/translated/part.js:1729 +#: templates/js/translated/part.js:1910 msgid "Single Price" msgstr "" -#: templates/js/translated/part.js:1748 +#: templates/js/translated/part.js:1929 msgid "Single Price Difference" msgstr "" @@ -7930,276 +7964,300 @@ msgstr "" msgid "Sales Order(s) must be selected before printing report" msgstr "" -#: templates/js/translated/stock.js:70 +#: templates/js/translated/stock.js:71 msgid "Serialize Stock Item" msgstr "" -#: templates/js/translated/stock.js:88 templates/js/translated/stock.js:167 +#: templates/js/translated/stock.js:89 templates/js/translated/stock.js:168 msgid "Next available serial number" msgstr "" -#: templates/js/translated/stock.js:90 templates/js/translated/stock.js:169 +#: templates/js/translated/stock.js:91 templates/js/translated/stock.js:170 msgid "Latest serial number" msgstr "" -#: templates/js/translated/stock.js:104 +#: templates/js/translated/stock.js:105 msgid "Parent stock location" msgstr "" -#: templates/js/translated/stock.js:140 +#: templates/js/translated/stock.js:141 msgid "New Stock Location" msgstr "" -#: templates/js/translated/stock.js:180 +#: templates/js/translated/stock.js:181 msgid "This part cannot be serialized" msgstr "" -#: templates/js/translated/stock.js:219 +#: templates/js/translated/stock.js:220 msgid "Enter initial quantity for this stock item" msgstr "" -#: templates/js/translated/stock.js:225 +#: templates/js/translated/stock.js:226 msgid "Enter serial numbers for new stock (or leave blank)" msgstr "" -#: templates/js/translated/stock.js:368 +#: templates/js/translated/stock.js:369 msgid "Created new stock item" msgstr "" -#: templates/js/translated/stock.js:381 +#: templates/js/translated/stock.js:382 msgid "Created multiple stock items" msgstr "" -#: templates/js/translated/stock.js:420 +#: templates/js/translated/stock.js:407 +msgid "Find Serial Number" +msgstr "" + +#: templates/js/translated/stock.js:411 templates/js/translated/stock.js:412 +msgid "Enter serial number" +msgstr "" + +#: templates/js/translated/stock.js:428 +msgid "Enter a serial number" +msgstr "" + +#: templates/js/translated/stock.js:448 +msgid "No matching serial number" +msgstr "" + +#: templates/js/translated/stock.js:457 +msgid "More than one matching result found" +msgstr "" + +#: templates/js/translated/stock.js:502 msgid "Export Stock" msgstr "" -#: templates/js/translated/stock.js:431 +#: templates/js/translated/stock.js:513 msgid "Include Sublocations" msgstr "" -#: templates/js/translated/stock.js:432 +#: templates/js/translated/stock.js:514 msgid "Include stock items in sublocations" msgstr "" -#: templates/js/translated/stock.js:474 +#: templates/js/translated/stock.js:556 msgid "Transfer Stock" msgstr "" -#: templates/js/translated/stock.js:475 +#: templates/js/translated/stock.js:557 msgid "Move" msgstr "" -#: templates/js/translated/stock.js:481 +#: templates/js/translated/stock.js:563 msgid "Count Stock" msgstr "" -#: templates/js/translated/stock.js:482 +#: templates/js/translated/stock.js:564 msgid "Count" msgstr "" -#: templates/js/translated/stock.js:486 +#: templates/js/translated/stock.js:568 msgid "Remove Stock" msgstr "" -#: templates/js/translated/stock.js:487 +#: templates/js/translated/stock.js:569 msgid "Take" msgstr "" -#: templates/js/translated/stock.js:491 +#: templates/js/translated/stock.js:573 msgid "Add Stock" msgstr "" -#: templates/js/translated/stock.js:492 users/models.py:200 +#: templates/js/translated/stock.js:574 users/models.py:200 msgid "Add" msgstr "" -#: templates/js/translated/stock.js:496 templates/stock_table.html:56 +#: templates/js/translated/stock.js:578 templates/stock_table.html:56 msgid "Delete Stock" msgstr "" -#: templates/js/translated/stock.js:585 +#: templates/js/translated/stock.js:667 msgid "Quantity cannot be adjusted for serialized stock" msgstr "" -#: templates/js/translated/stock.js:585 +#: templates/js/translated/stock.js:667 msgid "Specify stock quantity" msgstr "" -#: templates/js/translated/stock.js:625 +#: templates/js/translated/stock.js:707 msgid "You must select at least one available stock item" msgstr "" -#: templates/js/translated/stock.js:783 +#: templates/js/translated/stock.js:865 msgid "PASS" msgstr "" -#: templates/js/translated/stock.js:785 +#: templates/js/translated/stock.js:867 msgid "FAIL" msgstr "" -#: templates/js/translated/stock.js:790 +#: templates/js/translated/stock.js:872 msgid "NO RESULT" msgstr "" -#: templates/js/translated/stock.js:812 +#: templates/js/translated/stock.js:894 msgid "Add test result" msgstr "" -#: templates/js/translated/stock.js:838 +#: templates/js/translated/stock.js:920 msgid "No test results found" msgstr "" -#: templates/js/translated/stock.js:895 +#: templates/js/translated/stock.js:977 msgid "Test Date" msgstr "" -#: templates/js/translated/stock.js:1002 +#: templates/js/translated/stock.js:1084 msgid "In production" msgstr "" -#: templates/js/translated/stock.js:1006 +#: templates/js/translated/stock.js:1088 msgid "Installed in Stock Item" msgstr "" -#: templates/js/translated/stock.js:1010 +#: templates/js/translated/stock.js:1092 msgid "Shipped to customer" msgstr "" -#: templates/js/translated/stock.js:1014 +#: templates/js/translated/stock.js:1096 msgid "Assigned to Sales Order" msgstr "" -#: templates/js/translated/stock.js:1020 +#: templates/js/translated/stock.js:1102 msgid "No stock location set" msgstr "Geen voorraadlocatie ingesteld" -#: templates/js/translated/stock.js:1178 +#: templates/js/translated/stock.js:1260 msgid "Stock item is in production" msgstr "" -#: templates/js/translated/stock.js:1183 +#: templates/js/translated/stock.js:1265 msgid "Stock item assigned to sales order" msgstr "" -#: templates/js/translated/stock.js:1186 +#: templates/js/translated/stock.js:1268 msgid "Stock item assigned to customer" msgstr "" -#: templates/js/translated/stock.js:1190 +#: templates/js/translated/stock.js:1272 msgid "Stock item has expired" msgstr "" -#: templates/js/translated/stock.js:1192 +#: templates/js/translated/stock.js:1274 msgid "Stock item will expire soon" msgstr "" -#: templates/js/translated/stock.js:1196 +#: templates/js/translated/stock.js:1278 msgid "Stock item has been allocated" msgstr "" -#: templates/js/translated/stock.js:1200 +#: templates/js/translated/stock.js:1282 msgid "Stock item has been installed in another item" msgstr "" -#: templates/js/translated/stock.js:1207 +#: templates/js/translated/stock.js:1289 msgid "Stock item has been rejected" msgstr "" -#: templates/js/translated/stock.js:1209 +#: templates/js/translated/stock.js:1291 msgid "Stock item is lost" msgstr "" -#: templates/js/translated/stock.js:1211 +#: templates/js/translated/stock.js:1293 msgid "Stock item is destroyed" msgstr "" -#: templates/js/translated/stock.js:1215 +#: templates/js/translated/stock.js:1297 #: templates/js/translated/table_filters.js:183 msgid "Depleted" msgstr "" -#: templates/js/translated/stock.js:1265 +#: templates/js/translated/stock.js:1347 msgid "Stocktake" msgstr "" -#: templates/js/translated/stock.js:1338 +#: templates/js/translated/stock.js:1420 msgid "Supplier part not specified" msgstr "" -#: templates/js/translated/stock.js:1376 +#: templates/js/translated/stock.js:1458 msgid "No stock items matching query" msgstr "" -#: templates/js/translated/stock.js:1397 templates/js/translated/stock.js:1445 +#: templates/js/translated/stock.js:1479 templates/js/translated/stock.js:1527 msgid "items" msgstr "" -#: templates/js/translated/stock.js:1485 +#: templates/js/translated/stock.js:1567 msgid "batches" msgstr "" -#: templates/js/translated/stock.js:1512 +#: templates/js/translated/stock.js:1594 msgid "locations" msgstr "" -#: templates/js/translated/stock.js:1514 +#: templates/js/translated/stock.js:1596 msgid "Undefined location" msgstr "" -#: templates/js/translated/stock.js:1688 +#: templates/js/translated/stock.js:1770 msgid "Set Stock Status" msgstr "" -#: templates/js/translated/stock.js:1702 +#: templates/js/translated/stock.js:1784 msgid "Select Status Code" msgstr "" -#: templates/js/translated/stock.js:1703 +#: templates/js/translated/stock.js:1785 msgid "Status code must be selected" msgstr "" -#: templates/js/translated/stock.js:1927 +#: templates/js/translated/stock.js:2009 msgid "Invalid date" msgstr "" -#: templates/js/translated/stock.js:1974 +#: templates/js/translated/stock.js:2031 +msgid "Details" +msgstr "" + +#: templates/js/translated/stock.js:2056 msgid "Location no longer exists" msgstr "" -#: templates/js/translated/stock.js:1993 +#: templates/js/translated/stock.js:2075 msgid "Purchase order no longer exists" msgstr "" -#: templates/js/translated/stock.js:2012 +#: templates/js/translated/stock.js:2094 msgid "Customer no longer exists" msgstr "" -#: templates/js/translated/stock.js:2030 +#: templates/js/translated/stock.js:2112 msgid "Stock item no longer exists" msgstr "" -#: templates/js/translated/stock.js:2053 +#: templates/js/translated/stock.js:2135 msgid "Added" msgstr "" -#: templates/js/translated/stock.js:2061 +#: templates/js/translated/stock.js:2143 msgid "Removed" msgstr "" -#: templates/js/translated/stock.js:2102 +#: templates/js/translated/stock.js:2184 msgid "Edit tracking entry" msgstr "" -#: templates/js/translated/stock.js:2103 +#: templates/js/translated/stock.js:2185 msgid "Delete tracking entry" msgstr "" -#: templates/js/translated/stock.js:2154 +#: templates/js/translated/stock.js:2236 msgid "No installed items" msgstr "" -#: templates/js/translated/stock.js:2205 +#: templates/js/translated/stock.js:2287 msgid "Uninstall Stock Item" msgstr "" @@ -8209,7 +8267,7 @@ msgstr "" #: templates/js/translated/table_filters.js:60 msgid "Assembled Part" -msgstr "" +msgstr "Samengesteld onderdeel" #: templates/js/translated/table_filters.js:64 msgid "Validated" @@ -8287,7 +8345,7 @@ msgstr "" #: templates/js/translated/table_filters.js:169 msgid "Part is an assembly" -msgstr "" +msgstr "Samengesteld onderdeel" #: templates/js/translated/table_filters.js:173 msgid "Is allocated" diff --git a/InvenTree/locale/no/LC_MESSAGES/django.po b/InvenTree/locale/no/LC_MESSAGES/django.po index 379bd5150e..d440762c4b 100644 --- a/InvenTree/locale/no/LC_MESSAGES/django.po +++ b/InvenTree/locale/no/LC_MESSAGES/django.po @@ -2,8 +2,8 @@ msgid "" msgstr "" "Project-Id-Version: inventree\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2021-11-30 21:49+0000\n" -"PO-Revision-Date: 2021-11-30 21:51\n" +"POT-Creation-Date: 2021-12-03 10:37+0000\n" +"PO-Revision-Date: 2021-12-03 11:25\n" "Last-Translator: \n" "Language-Team: Norwegian\n" "Language: no_NO\n" @@ -114,129 +114,130 @@ msgstr "Ingen serienummer funnet" msgid "Number of unique serial number ({s}) must match quantity ({q})" msgstr "Antall unike serienummer ({s}) må samsvare mengde ({q})" -#: InvenTree/models.py:114 +#: InvenTree/models.py:120 msgid "Missing file" msgstr "" -#: InvenTree/models.py:115 +#: InvenTree/models.py:121 msgid "Missing external link" msgstr "" -#: InvenTree/models.py:126 stock/models.py:1874 +#: InvenTree/models.py:132 stock/models.py:1864 #: templates/js/translated/attachment.js:117 msgid "Attachment" msgstr "Vedlegg" -#: InvenTree/models.py:127 +#: InvenTree/models.py:133 msgid "Select file to attach" msgstr "Velg fil å legge ved" -#: InvenTree/models.py:133 company/models.py:131 company/models.py:348 +#: InvenTree/models.py:139 company/models.py:131 company/models.py:348 #: company/models.py:564 order/models.py:163 part/models.py:797 #: report/templates/report/inventree_build_order_base.html:165 #: templates/js/translated/company.js:537 -#: templates/js/translated/company.js:826 templates/js/translated/part.js:1077 +#: templates/js/translated/company.js:826 templates/js/translated/part.js:1258 msgid "Link" msgstr "" -#: InvenTree/models.py:134 build/models.py:330 part/models.py:798 -#: stock/models.py:540 +#: InvenTree/models.py:140 build/models.py:330 part/models.py:798 +#: stock/models.py:530 msgid "Link to external URL" msgstr "" -#: InvenTree/models.py:137 templates/js/translated/attachment.js:161 +#: InvenTree/models.py:143 templates/js/translated/attachment.js:161 msgid "Comment" msgstr "Kommenter" -#: InvenTree/models.py:137 +#: InvenTree/models.py:143 msgid "File comment" msgstr "Kommentar til fil" -#: InvenTree/models.py:143 InvenTree/models.py:144 common/models.py:1185 +#: InvenTree/models.py:149 InvenTree/models.py:150 common/models.py:1185 #: common/models.py:1186 part/models.py:2205 part/models.py:2225 #: report/templates/report/inventree_test_report_base.html:96 -#: templates/js/translated/stock.js:2084 +#: templates/js/translated/stock.js:2166 msgid "User" msgstr "Bruker" -#: InvenTree/models.py:147 +#: InvenTree/models.py:153 msgid "upload date" msgstr "opplastet dato" -#: InvenTree/models.py:170 +#: InvenTree/models.py:176 msgid "Filename must not be empty" msgstr "" -#: InvenTree/models.py:193 +#: InvenTree/models.py:199 msgid "Invalid attachment directory" msgstr "" -#: InvenTree/models.py:203 +#: InvenTree/models.py:209 #, python-brace-format msgid "Filename contains illegal character '{c}'" msgstr "" -#: InvenTree/models.py:206 +#: InvenTree/models.py:212 msgid "Filename missing extension" msgstr "" -#: InvenTree/models.py:213 +#: InvenTree/models.py:219 msgid "Attachment with this filename already exists" msgstr "" -#: InvenTree/models.py:220 +#: InvenTree/models.py:226 msgid "Error renaming file" msgstr "" -#: InvenTree/models.py:255 +#: InvenTree/models.py:261 msgid "Invalid choice" msgstr "Ugyldig valg" -#: InvenTree/models.py:271 InvenTree/models.py:272 company/models.py:415 +#: InvenTree/models.py:277 InvenTree/models.py:278 company/models.py:415 #: label/models.py:112 part/models.py:741 part/models.py:2389 -#: part/templates/part/detail.html:25 report/models.py:181 -#: templates/InvenTree/settings/settings.html:259 -#: templates/js/translated/company.js:638 templates/js/translated/part.js:499 -#: templates/js/translated/part.js:636 templates/js/translated/part.js:1384 -#: templates/js/translated/stock.js:1877 +#: report/models.py:181 templates/InvenTree/settings/settings.html:259 +#: templates/js/translated/company.js:638 templates/js/translated/part.js:506 +#: templates/js/translated/part.js:643 templates/js/translated/part.js:1565 +#: templates/js/translated/stock.js:1959 msgid "Name" msgstr "Navn" -#: InvenTree/models.py:278 build/models.py:207 +#: InvenTree/models.py:284 build/models.py:207 #: build/templates/build/detail.html:25 company/models.py:354 -#: company/models.py:570 company/templates/company/manufacturer_part.html:80 -#: company/templates/company/supplier_part.html:81 label/models.py:119 -#: order/models.py:161 part/models.py:764 part/templates/part/detail.html:30 +#: company/models.py:570 company/templates/company/company_base.html:68 +#: company/templates/company/manufacturer_part.html:76 +#: company/templates/company/supplier_part.html:73 label/models.py:119 +#: order/models.py:161 part/models.py:764 part/templates/part/category.html:70 +#: part/templates/part/part_base.html:163 #: part/templates/part/set_category.html:14 report/models.py:194 #: report/models.py:553 report/models.py:592 #: report/templates/report/inventree_build_order_base.html:118 -#: stock/templates/stock/location.html:108 templates/js/translated/bom.js:215 +#: stock/templates/stock/location.html:89 templates/js/translated/bom.js:215 #: templates/js/translated/bom.js:428 templates/js/translated/build.js:1621 #: templates/js/translated/company.js:345 #: templates/js/translated/company.js:548 -#: templates/js/translated/company.js:837 templates/js/translated/order.js:673 -#: templates/js/translated/order.js:855 templates/js/translated/order.js:1091 -#: templates/js/translated/part.js:558 templates/js/translated/part.js:752 -#: templates/js/translated/part.js:837 templates/js/translated/part.js:1007 -#: templates/js/translated/part.js:1403 templates/js/translated/part.js:1472 -#: templates/js/translated/stock.js:1151 templates/js/translated/stock.js:1889 -#: templates/js/translated/stock.js:1934 +#: templates/js/translated/company.js:837 templates/js/translated/order.js:680 +#: templates/js/translated/order.js:854 templates/js/translated/order.js:1090 +#: templates/js/translated/part.js:565 templates/js/translated/part.js:933 +#: templates/js/translated/part.js:1018 templates/js/translated/part.js:1188 +#: templates/js/translated/part.js:1584 templates/js/translated/part.js:1653 +#: templates/js/translated/stock.js:1233 templates/js/translated/stock.js:1971 +#: templates/js/translated/stock.js:2016 msgid "Description" msgstr "Beskrivelse" -#: InvenTree/models.py:279 +#: InvenTree/models.py:285 msgid "Description (optional)" msgstr "Beskrivelse (valgfritt)" -#: InvenTree/models.py:287 +#: InvenTree/models.py:293 msgid "parent" msgstr "" -#: InvenTree/serializers.py:62 part/models.py:2674 +#: InvenTree/serializers.py:65 part/models.py:2674 msgid "Must be a valid number" msgstr "Nummer må være gyldig" -#: InvenTree/serializers.py:285 +#: InvenTree/serializers.py:299 msgid "Filename" msgstr "" @@ -361,7 +362,7 @@ msgid "Returned" msgstr "" #: InvenTree/status_codes.py:143 -#: order/templates/order/sales_order_base.html:147 +#: order/templates/order/sales_order_base.html:148 msgid "Shipped" msgstr "" @@ -566,7 +567,7 @@ msgid "Barcode associated with StockItem" msgstr "" #: build/forms.py:36 build/models.py:1283 -#: build/templates/build/build_base.html:124 +#: build/templates/build/build_base.html:132 #: build/templates/build/detail.html:35 common/models.py:1225 #: company/forms.py:42 company/templates/company/supplier_part.html:251 #: order/forms.py:102 order/models.py:729 order/models.py:991 @@ -574,26 +575,27 @@ msgstr "" #: order/templates/order/order_wizard/select_parts.html:34 part/forms.py:223 #: part/forms.py:239 part/forms.py:255 part/models.py:2576 #: part/templates/part/bom_upload/match_parts.html:31 -#: part/templates/part/detail.html:1076 part/templates/part/detail.html:1162 +#: part/templates/part/detail.html:967 part/templates/part/detail.html:1053 #: part/templates/part/part_pricing.html:16 #: report/templates/report/inventree_build_order_base.html:114 #: report/templates/report/inventree_po_report.html:91 #: report/templates/report/inventree_so_report.html:91 #: report/templates/report/inventree_test_report_base.html:81 #: report/templates/report/inventree_test_report_base.html:139 -#: stock/forms.py:156 stock/serializers.py:286 -#: stock/templates/stock/item_base.html:256 +#: stock/forms.py:156 stock/serializers.py:291 +#: stock/templates/stock/item_base.html:174 #: templates/js/translated/barcode.js:385 templates/js/translated/bom.js:443 #: templates/js/translated/build.js:235 templates/js/translated/build.js:435 #: templates/js/translated/build.js:629 templates/js/translated/build.js:639 #: templates/js/translated/build.js:1015 templates/js/translated/build.js:1362 #: templates/js/translated/model_renderers.js:99 -#: templates/js/translated/order.js:892 templates/js/translated/order.js:1205 -#: templates/js/translated/order.js:1283 templates/js/translated/order.js:1290 -#: templates/js/translated/order.js:1379 templates/js/translated/order.js:1479 -#: templates/js/translated/part.js:1615 templates/js/translated/part.js:1738 -#: templates/js/translated/part.js:1816 templates/js/translated/stock.js:377 -#: templates/js/translated/stock.js:2069 templates/js/translated/stock.js:2171 +#: templates/js/translated/order.js:891 templates/js/translated/order.js:1204 +#: templates/js/translated/order.js:1282 templates/js/translated/order.js:1289 +#: templates/js/translated/order.js:1378 templates/js/translated/order.js:1478 +#: templates/js/translated/part.js:843 templates/js/translated/part.js:1796 +#: templates/js/translated/part.js:1919 templates/js/translated/part.js:1997 +#: templates/js/translated/stock.js:378 templates/js/translated/stock.js:2151 +#: templates/js/translated/stock.js:2253 msgid "Quantity" msgstr "" @@ -602,8 +604,8 @@ msgid "Enter quantity for build output" msgstr "" #: build/forms.py:41 order/forms.py:96 stock/forms.py:95 -#: stock/serializers.py:307 templates/js/translated/stock.js:224 -#: templates/js/translated/stock.js:378 +#: stock/serializers.py:312 templates/js/translated/stock.js:225 +#: templates/js/translated/stock.js:379 msgid "Serial Numbers" msgstr "" @@ -646,7 +648,7 @@ msgstr "" #: build/templates/build/index.html:8 build/templates/build/index.html:12 #: order/templates/order/sales_order_detail.html:42 #: order/templates/order/so_sidebar.html:7 -#: part/templates/part/part_sidebar.html:22 templates/InvenTree/index.html:221 +#: part/templates/part/part_sidebar.html:20 templates/InvenTree/index.html:221 #: templates/InvenTree/search.html:145 #: templates/InvenTree/settings/sidebar.html:42 users/models.py:44 msgid "Build Orders" @@ -662,7 +664,7 @@ msgstr "" #: report/templates/report/inventree_po_report.html:92 #: report/templates/report/inventree_so_report.html:92 #: templates/js/translated/bom.js:435 templates/js/translated/build.js:1119 -#: templates/js/translated/order.js:886 templates/js/translated/order.js:1473 +#: templates/js/translated/order.js:885 templates/js/translated/order.js:1472 msgid "Reference" msgstr "" @@ -670,7 +672,7 @@ msgstr "" msgid "Brief description of the build" msgstr "" -#: build/models.py:219 build/templates/build/build_base.html:156 +#: build/models.py:219 build/templates/build/build_base.html:164 #: build/templates/build/detail.html:88 msgid "Parent Build" msgstr "" @@ -679,7 +681,7 @@ msgstr "" msgid "BuildOrder to which this build is allocated" msgstr "" -#: build/models.py:225 build/templates/build/build_base.html:119 +#: build/models.py:225 build/templates/build/build_base.html:77 #: build/templates/build/detail.html:30 company/models.py:705 #: order/models.py:789 order/models.py:860 #: order/templates/order/order_wizard/select_parts.html:32 part/models.py:357 @@ -700,10 +702,10 @@ msgstr "" #: templates/js/translated/build.js:988 templates/js/translated/build.js:1359 #: templates/js/translated/build.js:1626 templates/js/translated/company.js:489 #: templates/js/translated/company.js:746 templates/js/translated/order.js:426 -#: templates/js/translated/order.js:840 templates/js/translated/order.js:1457 -#: templates/js/translated/part.js:737 templates/js/translated/part.js:818 -#: templates/js/translated/part.js:985 templates/js/translated/stock.js:508 -#: templates/js/translated/stock.js:1108 templates/js/translated/stock.js:2159 +#: templates/js/translated/order.js:839 templates/js/translated/order.js:1456 +#: templates/js/translated/part.js:918 templates/js/translated/part.js:999 +#: templates/js/translated/part.js:1166 templates/js/translated/stock.js:590 +#: templates/js/translated/stock.js:1190 templates/js/translated/stock.js:2241 msgid "Part" msgstr "" @@ -751,7 +753,7 @@ msgstr "" msgid "Number of stock items which have been completed" msgstr "" -#: build/models.py:277 part/templates/part/part_base.html:216 +#: build/models.py:277 part/templates/part/part_base.html:234 msgid "Build Status" msgstr "" @@ -759,7 +761,7 @@ msgstr "" msgid "Build status code" msgstr "" -#: build/models.py:285 stock/models.py:544 +#: build/models.py:285 stock/models.py:534 msgid "Batch Code" msgstr "" @@ -768,7 +770,7 @@ msgid "Batch code for this build output" msgstr "" #: build/models.py:292 order/models.py:165 part/models.py:936 -#: part/templates/part/detail.html:86 templates/js/translated/order.js:1104 +#: part/templates/part/part_base.html:313 templates/js/translated/order.js:1103 msgid "Creation Date" msgstr "" @@ -797,12 +799,12 @@ msgstr "" msgid "User who issued this build order" msgstr "" -#: build/models.py:323 build/templates/build/build_base.html:177 +#: build/models.py:323 build/templates/build/build_base.html:185 #: build/templates/build/detail.html:116 order/models.py:179 -#: order/templates/order/order_base.html:154 -#: order/templates/order/sales_order_base.html:161 part/models.py:940 +#: order/templates/order/order_base.html:158 +#: order/templates/order/sales_order_base.html:162 part/models.py:940 #: report/templates/report/inventree_build_order_base.html:159 -#: templates/js/translated/build.js:1680 templates/js/translated/order.js:700 +#: templates/js/translated/build.js:1680 templates/js/translated/order.js:699 msgid "Responsible" msgstr "" @@ -811,10 +813,10 @@ msgid "User responsible for this build order" msgstr "" #: build/models.py:329 build/templates/build/detail.html:102 -#: company/templates/company/manufacturer_part.html:87 -#: company/templates/company/supplier_part.html:88 -#: part/templates/part/detail.html:80 stock/models.py:538 -#: stock/templates/stock/item_base.html:346 +#: company/templates/company/manufacturer_part.html:102 +#: company/templates/company/supplier_part.html:126 +#: part/templates/part/part_base.html:354 stock/models.py:528 +#: stock/templates/stock/item_base.html:374 msgid "External Link" msgstr "" @@ -824,15 +826,15 @@ msgstr "" #: order/models.py:183 order/models.py:738 #: order/templates/order/po_sidebar.html:11 #: order/templates/order/so_sidebar.html:11 part/models.py:925 -#: part/templates/part/detail.html:223 part/templates/part/part_sidebar.html:52 +#: part/templates/part/detail.html:116 part/templates/part/part_sidebar.html:50 #: report/templates/report/inventree_build_order_base.html:173 -#: stock/forms.py:154 stock/forms.py:204 stock/forms.py:238 stock/models.py:610 -#: stock/models.py:1774 stock/models.py:1880 stock/serializers.py:325 -#: stock/serializers.py:583 stock/templates/stock/stock_sidebar.html:21 +#: stock/forms.py:154 stock/forms.py:204 stock/forms.py:238 stock/models.py:600 +#: stock/models.py:1764 stock/models.py:1870 stock/serializers.py:330 +#: stock/serializers.py:588 stock/templates/stock/stock_sidebar.html:21 #: templates/js/translated/barcode.js:58 templates/js/translated/bom.js:599 -#: templates/js/translated/company.js:842 templates/js/translated/order.js:985 -#: templates/js/translated/order.js:1583 templates/js/translated/stock.js:891 -#: templates/js/translated/stock.js:1370 +#: templates/js/translated/company.js:842 templates/js/translated/order.js:984 +#: templates/js/translated/order.js:1582 templates/js/translated/stock.js:973 +#: templates/js/translated/stock.js:1452 msgid "Notes" msgstr "" @@ -877,7 +879,7 @@ msgstr "" msgid "Selected stock item not found in BOM" msgstr "" -#: build/models.py:1253 stock/templates/stock/item_base.html:318 +#: build/models.py:1253 stock/templates/stock/item_base.html:346 #: templates/InvenTree/search.html:143 templates/js/translated/build.js:1599 #: templates/navbar.html:33 msgid "Build" @@ -890,11 +892,11 @@ msgstr "" #: build/models.py:1270 build/serializers.py:328 #: stock/templates/stock/item_base.html:8 #: stock/templates/stock/item_base.html:16 -#: stock/templates/stock/item_base.html:340 +#: stock/templates/stock/item_base.html:368 #: templates/js/translated/build.js:408 templates/js/translated/build.js:413 #: templates/js/translated/build.js:1361 templates/js/translated/build.js:1742 -#: templates/js/translated/order.js:1178 templates/js/translated/order.js:1183 -#: templates/js/translated/stock.js:2020 +#: templates/js/translated/order.js:1177 templates/js/translated/order.js:1182 +#: templates/js/translated/stock.js:2102 msgid "Stock Item" msgstr "" @@ -934,16 +936,16 @@ msgstr "" msgid "This build output is not fully allocated" msgstr "" -#: build/serializers.py:190 order/serializers.py:219 order/serializers.py:287 -#: stock/forms.py:236 stock/serializers.py:318 stock/serializers.py:685 -#: stock/templates/stock/item_base.html:286 +#: build/serializers.py:190 order/serializers.py:228 order/serializers.py:296 +#: stock/forms.py:236 stock/serializers.py:323 stock/serializers.py:690 +#: stock/templates/stock/item_base.html:314 #: templates/js/translated/barcode.js:384 #: templates/js/translated/barcode.js:557 templates/js/translated/build.js:420 #: templates/js/translated/build.js:1027 templates/js/translated/order.js:348 -#: templates/js/translated/order.js:1190 templates/js/translated/order.js:1298 -#: templates/js/translated/order.js:1304 templates/js/translated/part.js:181 -#: templates/js/translated/stock.js:510 templates/js/translated/stock.js:1251 -#: templates/js/translated/stock.js:1961 +#: templates/js/translated/order.js:1189 templates/js/translated/order.js:1297 +#: templates/js/translated/order.js:1303 templates/js/translated/part.js:177 +#: templates/js/translated/stock.js:592 templates/js/translated/stock.js:1333 +#: templates/js/translated/stock.js:2043 msgid "Location" msgstr "" @@ -951,13 +953,13 @@ msgstr "" msgid "Location for completed build outputs" msgstr "" -#: build/serializers.py:197 build/templates/build/build_base.html:129 +#: build/serializers.py:197 build/templates/build/build_base.html:137 #: build/templates/build/detail.html:63 order/models.py:572 -#: order/serializers.py:240 stock/templates/stock/item_base.html:409 +#: order/serializers.py:249 stock/templates/stock/item_base.html:180 #: templates/js/translated/barcode.js:140 templates/js/translated/build.js:1655 -#: templates/js/translated/order.js:431 templates/js/translated/order.js:677 -#: templates/js/translated/order.js:1096 templates/js/translated/stock.js:1226 -#: templates/js/translated/stock.js:2038 templates/js/translated/stock.js:2187 +#: templates/js/translated/order.js:431 templates/js/translated/order.js:1095 +#: templates/js/translated/stock.js:1308 templates/js/translated/stock.js:2120 +#: templates/js/translated/stock.js:2269 msgid "Status" msgstr "" @@ -986,8 +988,8 @@ msgstr "" msgid "Item must be in stock" msgstr "" -#: build/serializers.py:348 order/models.py:316 order/serializers.py:233 -#: stock/models.py:381 stock/models.py:1103 stock/serializers.py:298 +#: build/serializers.py:348 order/models.py:316 order/serializers.py:242 +#: stock/models.py:371 stock/models.py:1093 stock/serializers.py:303 msgid "Quantity must be greater than zero" msgstr "" @@ -1031,7 +1033,7 @@ msgid "Edit Build" msgstr "" #: build/templates/build/build_base.html:56 -#: build/templates/build/build_base.html:207 build/views.py:56 +#: build/templates/build/build_base.html:215 build/views.py:56 msgid "Cancel Build" msgstr "" @@ -1041,93 +1043,95 @@ msgstr "" #: build/templates/build/build_base.html:64 #: build/templates/build/build_base.html:65 -#: build/templates/build/build_base.html:223 +#: build/templates/build/build_base.html:231 msgid "Complete Build" msgstr "" -#: build/templates/build/build_base.html:79 +#: build/templates/build/build_base.html:82 +msgid "Build Description" +msgstr "" + +#: build/templates/build/build_base.html:91 #, python-format msgid "This Build Order is allocated to Sales Order %(link)s" msgstr "" -#: build/templates/build/build_base.html:86 +#: build/templates/build/build_base.html:98 #, python-format msgid "This Build Order is a child of Build Order %(link)s" msgstr "" -#: build/templates/build/build_base.html:93 +#: build/templates/build/build_base.html:105 msgid "Build Order is ready to mark as completed" msgstr "" -#: build/templates/build/build_base.html:98 +#: build/templates/build/build_base.html:110 msgid "Build Order cannot be completed as outstanding outputs remain" msgstr "" -#: build/templates/build/build_base.html:103 +#: build/templates/build/build_base.html:115 msgid "Required build quantity has not yet been completed" msgstr "" -#: build/templates/build/build_base.html:108 +#: build/templates/build/build_base.html:120 msgid "Stock has not been fully allocated to this Build Order" msgstr "" -#: build/templates/build/build_base.html:138 +#: build/templates/build/build_base.html:146 #: build/templates/build/detail.html:132 -#: order/templates/order/order_base.html:140 -#: order/templates/order/sales_order_base.html:140 +#: order/templates/order/order_base.html:144 +#: order/templates/order/sales_order_base.html:141 #: report/templates/report/inventree_build_order_base.html:126 -#: templates/js/translated/build.js:1692 templates/js/translated/order.js:690 -#: templates/js/translated/order.js:1109 +#: templates/js/translated/build.js:1692 templates/js/translated/order.js:689 +#: templates/js/translated/order.js:1108 msgid "Target Date" msgstr "" -#: build/templates/build/build_base.html:143 +#: build/templates/build/build_base.html:151 #, python-format msgid "This build was due on %(target)s" msgstr "" -#: build/templates/build/build_base.html:143 -#: build/templates/build/build_base.html:188 -#: order/templates/order/order_base.html:81 -#: order/templates/order/order_base.html:102 -#: order/templates/order/sales_order_base.html:78 -#: order/templates/order/sales_order_base.html:107 +#: build/templates/build/build_base.html:151 +#: build/templates/build/build_base.html:196 +#: order/templates/order/order_base.html:98 +#: order/templates/order/sales_order_base.html:93 #: templates/js/translated/table_filters.js:294 #: templates/js/translated/table_filters.js:322 #: templates/js/translated/table_filters.js:339 msgid "Overdue" msgstr "" -#: build/templates/build/build_base.html:150 +#: build/templates/build/build_base.html:158 #: build/templates/build/detail.html:68 build/templates/build/detail.html:143 #: templates/js/translated/build.js:1641 #: templates/js/translated/table_filters.js:304 msgid "Completed" msgstr "" -#: build/templates/build/build_base.html:163 +#: build/templates/build/build_base.html:171 #: build/templates/build/detail.html:95 order/models.py:857 #: order/templates/order/sales_order_base.html:9 #: order/templates/order/sales_order_base.html:28 #: order/templates/order/sales_order_ship.html:25 #: report/templates/report/inventree_build_order_base.html:136 #: report/templates/report/inventree_so_report.html:77 -#: stock/templates/stock/item_base.html:280 -#: templates/js/translated/order.js:1051 +#: stock/templates/stock/item_base.html:308 +#: templates/js/translated/order.js:1050 msgid "Sales Order" msgstr "" -#: build/templates/build/build_base.html:170 +#: build/templates/build/build_base.html:178 #: build/templates/build/detail.html:109 #: report/templates/report/inventree_build_order_base.html:153 msgid "Issued By" msgstr "" -#: build/templates/build/build_base.html:215 +#: build/templates/build/build_base.html:223 msgid "Incomplete Outputs" msgstr "" -#: build/templates/build/build_base.html:216 +#: build/templates/build/build_base.html:224 msgid "Build Order cannot be completed as incomplete build outputs remain" msgstr "" @@ -1188,7 +1192,7 @@ msgid "Stock can be taken from any available location." msgstr "" #: build/templates/build/detail.html:50 order/models.py:811 stock/forms.py:150 -#: templates/js/translated/order.js:432 templates/js/translated/order.js:974 +#: templates/js/translated/order.js:432 templates/js/translated/order.js:973 msgid "Destination" msgstr "" @@ -1201,16 +1205,16 @@ msgid "Allocated Parts" msgstr "" #: build/templates/build/detail.html:81 -#: stock/templates/stock/item_base.html:304 -#: templates/js/translated/stock.js:1240 templates/js/translated/stock.js:2194 +#: stock/templates/stock/item_base.html:332 +#: templates/js/translated/stock.js:1322 templates/js/translated/stock.js:2276 #: templates/js/translated/table_filters.js:151 #: templates/js/translated/table_filters.js:233 msgid "Batch" msgstr "" #: build/templates/build/detail.html:127 -#: order/templates/order/order_base.html:127 -#: order/templates/order/sales_order_base.html:134 +#: order/templates/order/order_base.html:131 +#: order/templates/order/sales_order_base.html:135 #: templates/js/translated/build.js:1663 msgid "Created" msgstr "" @@ -1254,7 +1258,7 @@ msgstr "" #: build/templates/build/detail.html:185 #: company/templates/company/detail.html:38 #: company/templates/company/detail.html:85 order/views.py:509 -#: part/templates/part/category.html:166 +#: part/templates/part/category.html:173 msgid "Order Parts" msgstr "" @@ -1306,8 +1310,8 @@ msgstr "" #: order/templates/order/po_sidebar.html:9 #: order/templates/order/purchase_order_detail.html:60 #: order/templates/order/sales_order_detail.html:52 -#: order/templates/order/so_sidebar.html:9 part/templates/part/detail.html:300 -#: part/templates/part/part_sidebar.html:50 stock/templates/stock/item.html:95 +#: order/templates/order/so_sidebar.html:9 part/templates/part/detail.html:193 +#: part/templates/part/part_sidebar.html:48 stock/templates/stock/item.html:95 #: stock/templates/stock/stock_sidebar.html:19 msgid "Attachments" msgstr "" @@ -1323,7 +1327,7 @@ msgstr "" #: order/templates/order/purchase_order_detail.html:108 #: order/templates/order/sales_order_detail.html:72 #: order/templates/order/sales_order_detail.html:99 -#: part/templates/part/detail.html:227 stock/templates/stock/item.html:115 +#: part/templates/part/detail.html:120 stock/templates/stock/item.html:115 #: stock/templates/stock/item.html:205 msgid "Edit Notes" msgstr "" @@ -1336,7 +1340,7 @@ msgstr "" msgid "All untracked stock items have been allocated" msgstr "" -#: build/templates/build/index.html:18 part/templates/part/detail.html:407 +#: build/templates/build/index.html:18 part/templates/part/detail.html:300 msgid "New Build Order" msgstr "" @@ -1380,7 +1384,7 @@ msgstr "" msgid "Maximum output quantity is " msgstr "" -#: build/views.py:122 stock/serializers.py:356 stock/views.py:1290 +#: build/views.py:122 stock/serializers.py:361 stock/views.py:1290 msgid "Serial numbers already exist" msgstr "" @@ -1675,7 +1679,7 @@ msgid "Parts are trackable by default" msgstr "" #: common/models.py:745 part/models.py:920 -#: part/templates/part/part_base.html:144 +#: part/templates/part/part_base.html:147 #: templates/js/translated/table_filters.js:42 msgid "Virtual" msgstr "" @@ -2142,7 +2146,7 @@ msgstr "" #: common/models.py:1233 company/serializers.py:264 #: company/templates/company/supplier_part.html:256 -#: templates/js/translated/part.js:1620 +#: templates/js/translated/part.js:852 templates/js/translated/part.js:1801 msgid "Price" msgstr "" @@ -2206,7 +2210,7 @@ msgstr "" msgid "Description of the company" msgstr "" -#: company/models.py:112 company/templates/company/company_base.html:70 +#: company/models.py:112 company/templates/company/company_base.html:97 #: templates/js/translated/company.js:349 msgid "Website" msgstr "" @@ -2215,7 +2219,7 @@ msgstr "" msgid "Company website URL" msgstr "" -#: company/models.py:117 company/templates/company/company_base.html:88 +#: company/models.py:117 company/templates/company/company_base.html:115 msgid "Address" msgstr "" @@ -2231,7 +2235,7 @@ msgstr "" msgid "Contact phone number" msgstr "" -#: company/models.py:125 company/templates/company/company_base.html:102 +#: company/models.py:125 company/templates/company/company_base.html:129 #: templates/InvenTree/settings/user.html:47 msgid "Email" msgstr "" @@ -2240,7 +2244,7 @@ msgstr "" msgid "Contact email address" msgstr "" -#: company/models.py:128 company/templates/company/company_base.html:109 +#: company/models.py:128 company/templates/company/company_base.html:136 msgid "Contact" msgstr "" @@ -2281,7 +2285,7 @@ msgid "Does this company manufacture parts?" msgstr "" #: company/models.py:152 company/serializers.py:270 -#: company/templates/company/company_base.html:76 stock/serializers.py:172 +#: company/templates/company/company_base.html:103 stock/serializers.py:177 msgid "Currency" msgstr "" @@ -2289,8 +2293,8 @@ msgstr "" msgid "Default currency used for this company" msgstr "" -#: company/models.py:320 company/models.py:535 stock/models.py:484 -#: stock/templates/stock/item_base.html:224 +#: company/models.py:320 company/models.py:535 stock/models.py:474 +#: stock/templates/stock/item_base.html:135 msgid "Base Part" msgstr "" @@ -2298,29 +2302,29 @@ msgstr "" msgid "Select part" msgstr "" -#: company/models.py:335 company/templates/company/company_base.html:116 -#: company/templates/company/manufacturer_part.html:93 -#: company/templates/company/supplier_part.html:104 -#: stock/templates/stock/item_base.html:353 +#: company/models.py:335 company/templates/company/company_base.html:73 +#: company/templates/company/manufacturer_part.html:91 +#: company/templates/company/supplier_part.html:97 +#: stock/templates/stock/item_base.html:381 #: templates/js/translated/company.js:333 #: templates/js/translated/company.js:514 -#: templates/js/translated/company.js:797 templates/js/translated/part.js:229 +#: templates/js/translated/company.js:797 templates/js/translated/part.js:232 msgid "Manufacturer" msgstr "" -#: company/models.py:336 templates/js/translated/part.js:230 +#: company/models.py:336 templates/js/translated/part.js:233 msgid "Select manufacturer" msgstr "" -#: company/models.py:342 company/templates/company/manufacturer_part.html:97 -#: company/templates/company/supplier_part.html:112 +#: company/models.py:342 company/templates/company/manufacturer_part.html:96 +#: company/templates/company/supplier_part.html:105 #: templates/js/translated/company.js:530 -#: templates/js/translated/company.js:815 templates/js/translated/order.js:874 -#: templates/js/translated/part.js:240 +#: templates/js/translated/company.js:815 templates/js/translated/order.js:873 +#: templates/js/translated/part.js:243 templates/js/translated/part.js:832 msgid "MPN" msgstr "" -#: company/models.py:343 templates/js/translated/part.js:241 +#: company/models.py:343 templates/js/translated/part.js:244 msgid "Manufacturer Part Number" msgstr "" @@ -2335,7 +2339,7 @@ msgstr "" #: company/models.py:409 company/models.py:558 #: company/templates/company/manufacturer_part.html:6 #: company/templates/company/manufacturer_part.html:23 -#: stock/templates/stock/item_base.html:363 +#: stock/templates/stock/item_base.html:391 msgid "Manufacturer Part" msgstr "" @@ -2345,8 +2349,8 @@ msgstr "" #: company/models.py:422 #: report/templates/report/inventree_test_report_base.html:95 -#: stock/models.py:1867 templates/js/translated/company.js:644 -#: templates/js/translated/part.js:645 templates/js/translated/stock.js:878 +#: stock/models.py:1857 templates/js/translated/company.js:644 +#: templates/js/translated/part.js:652 templates/js/translated/stock.js:960 msgid "Value" msgstr "" @@ -2355,9 +2359,9 @@ msgid "Parameter value" msgstr "" #: company/models.py:429 part/models.py:882 part/models.py:2397 -#: part/templates/part/detail.html:59 +#: part/templates/part/part_base.html:288 #: templates/InvenTree/settings/settings.html:264 -#: templates/js/translated/company.js:650 templates/js/translated/part.js:651 +#: templates/js/translated/company.js:650 templates/js/translated/part.js:658 msgid "Units" msgstr "" @@ -2369,28 +2373,28 @@ msgstr "" msgid "Linked manufacturer part must reference the same base part" msgstr "" -#: company/models.py:545 company/templates/company/company_base.html:121 -#: company/templates/company/supplier_part.html:94 order/models.py:263 -#: order/templates/order/order_base.html:108 +#: company/models.py:545 company/templates/company/company_base.html:78 +#: company/templates/company/supplier_part.html:87 order/models.py:263 +#: order/templates/order/order_base.html:112 #: order/templates/order/order_wizard/select_pos.html:30 part/bom.py:219 -#: part/bom.py:247 stock/templates/stock/item_base.html:370 +#: part/bom.py:247 stock/templates/stock/item_base.html:398 #: templates/js/translated/company.js:337 -#: templates/js/translated/company.js:771 templates/js/translated/order.js:660 -#: templates/js/translated/part.js:210 +#: templates/js/translated/company.js:771 templates/js/translated/order.js:667 +#: templates/js/translated/part.js:213 templates/js/translated/part.js:800 msgid "Supplier" msgstr "" -#: company/models.py:546 templates/js/translated/part.js:211 +#: company/models.py:546 templates/js/translated/part.js:214 msgid "Select supplier" msgstr "" -#: company/models.py:551 company/templates/company/supplier_part.html:98 -#: part/bom.py:220 part/bom.py:248 templates/js/translated/order.js:861 -#: templates/js/translated/part.js:221 +#: company/models.py:551 company/templates/company/supplier_part.html:91 +#: part/bom.py:220 part/bom.py:248 templates/js/translated/order.js:860 +#: templates/js/translated/part.js:224 templates/js/translated/part.js:818 msgid "SKU" msgstr "" -#: company/models.py:552 templates/js/translated/part.js:222 +#: company/models.py:552 templates/js/translated/part.js:225 msgid "Supplier stock keeping unit" msgstr "" @@ -2406,7 +2410,7 @@ msgstr "" msgid "Supplier part description" msgstr "" -#: company/models.py:576 company/templates/company/supplier_part.html:126 +#: company/models.py:576 company/templates/company/supplier_part.html:119 #: part/models.py:2588 report/templates/report/inventree_po_report.html:93 #: report/templates/report/inventree_so_report.html:93 msgid "Note" @@ -2420,9 +2424,9 @@ msgstr "" msgid "Minimum charge (e.g. stocking fee)" msgstr "" -#: company/models.py:582 company/templates/company/supplier_part.html:119 -#: stock/models.py:507 stock/templates/stock/item_base.html:311 -#: templates/js/translated/company.js:847 templates/js/translated/stock.js:1366 +#: company/models.py:582 company/templates/company/supplier_part.html:112 +#: stock/models.py:497 stock/templates/stock/item_base.html:339 +#: templates/js/translated/company.js:847 templates/js/translated/stock.js:1448 msgid "Packaging" msgstr "" @@ -2457,43 +2461,56 @@ msgstr "" msgid "Create Purchase Order" msgstr "" -#: company/templates/company/company_base.html:27 +#: company/templates/company/company_base.html:26 +msgid "Company actions" +msgstr "" + +#: company/templates/company/company_base.html:31 msgid "Edit company information" msgstr "" #: company/templates/company/company_base.html:32 -#: company/templates/company/company_base.html:148 +#: templates/js/translated/company.js:265 +msgid "Edit Company" +msgstr "" + +#: company/templates/company/company_base.html:36 +msgid "Delete company" +msgstr "" + +#: company/templates/company/company_base.html:37 +#: company/templates/company/company_base.html:159 msgid "Delete Company" msgstr "" -#: company/templates/company/company_base.html:48 +#: company/templates/company/company_base.html:53 #: part/templates/part/part_thumb.html:12 msgid "Upload new image" msgstr "" -#: company/templates/company/company_base.html:51 +#: company/templates/company/company_base.html:56 #: part/templates/part/part_thumb.html:14 msgid "Download image from URL" msgstr "" -#: company/templates/company/company_base.html:81 -msgid "Uses default currency" -msgstr "" - -#: company/templates/company/company_base.html:95 -msgid "Phone" -msgstr "" - -#: company/templates/company/company_base.html:126 order/models.py:567 -#: order/templates/order/sales_order_base.html:114 stock/models.py:525 -#: stock/models.py:526 stock/templates/stock/item_base.html:263 -#: templates/js/translated/company.js:329 templates/js/translated/order.js:1073 -#: templates/js/translated/stock.js:2002 +#: company/templates/company/company_base.html:83 order/models.py:567 +#: order/templates/order/sales_order_base.html:115 stock/models.py:515 +#: stock/models.py:516 stock/templates/stock/item_base.html:291 +#: templates/js/translated/company.js:329 templates/js/translated/order.js:1072 +#: templates/js/translated/stock.js:2084 msgid "Customer" msgstr "" -#: company/templates/company/company_base.html:194 -#: part/templates/part/part_base.html:342 +#: company/templates/company/company_base.html:108 +msgid "Uses default currency" +msgstr "" + +#: company/templates/company/company_base.html:122 +msgid "Phone" +msgstr "" + +#: company/templates/company/company_base.html:205 +#: part/templates/part/part_base.html:471 msgid "Upload Image" msgstr "" @@ -2509,23 +2526,23 @@ msgid "Create new supplier part" msgstr "" #: company/templates/company/detail.html:20 -#: company/templates/company/manufacturer_part.html:112 -#: part/templates/part/detail.html:440 +#: company/templates/company/manufacturer_part.html:118 +#: part/templates/part/detail.html:333 msgid "New Supplier Part" msgstr "" #: company/templates/company/detail.html:32 #: company/templates/company/detail.html:79 -#: company/templates/company/manufacturer_part.html:121 -#: company/templates/company/manufacturer_part.html:150 -#: part/templates/part/category.html:160 part/templates/part/detail.html:449 -#: part/templates/part/detail.html:477 +#: company/templates/company/manufacturer_part.html:127 +#: company/templates/company/manufacturer_part.html:156 +#: part/templates/part/category.html:167 part/templates/part/detail.html:342 +#: part/templates/part/detail.html:370 msgid "Options" msgstr "" #: company/templates/company/detail.html:37 #: company/templates/company/detail.html:84 -#: part/templates/part/category.html:166 +#: part/templates/part/category.html:173 msgid "Order parts" msgstr "" @@ -2547,7 +2564,7 @@ msgstr "" msgid "Create new manufacturer part" msgstr "" -#: company/templates/company/detail.html:67 part/templates/part/detail.html:467 +#: company/templates/company/detail.html:67 part/templates/part/detail.html:360 msgid "New Manufacturer Part" msgstr "" @@ -2561,7 +2578,7 @@ msgstr "" #: order/templates/order/order_base.html:13 #: order/templates/order/purchase_orders.html:8 #: order/templates/order/purchase_orders.html:12 -#: part/templates/part/detail.html:171 part/templates/part/part_sidebar.html:35 +#: part/templates/part/detail.html:64 part/templates/part/part_sidebar.html:33 #: templates/InvenTree/index.html:252 templates/InvenTree/search.html:203 #: templates/InvenTree/settings/sidebar.html:44 templates/navbar.html:45 #: users/models.py:45 @@ -2583,7 +2600,7 @@ msgstr "" #: order/templates/order/sales_order_base.html:13 #: order/templates/order/sales_orders.html:8 #: order/templates/order/sales_orders.html:15 -#: part/templates/part/detail.html:194 part/templates/part/part_sidebar.html:39 +#: part/templates/part/detail.html:87 part/templates/part/part_sidebar.html:37 #: templates/InvenTree/index.html:283 templates/InvenTree/search.html:223 #: templates/InvenTree/settings/sidebar.html:46 templates/navbar.html:56 #: users/models.py:46 @@ -2610,14 +2627,14 @@ msgid "Company Notes" msgstr "" #: company/templates/company/detail.html:383 -#: company/templates/company/manufacturer_part.html:209 -#: part/templates/part/detail.html:520 +#: company/templates/company/manufacturer_part.html:215 +#: part/templates/part/detail.html:413 msgid "Delete Supplier Parts?" msgstr "" #: company/templates/company/detail.html:384 -#: company/templates/company/manufacturer_part.html:210 -#: part/templates/part/detail.html:521 +#: company/templates/company/manufacturer_part.html:216 +#: part/templates/part/detail.html:414 msgid "All selected supplier parts will be deleted" msgstr "" @@ -2634,7 +2651,7 @@ msgstr "" #: company/templates/company/manufacturer_part.html:35 #: company/templates/company/supplier_part.html:34 #: company/templates/company/supplier_part.html:159 -#: part/templates/part/detail.html:174 part/templates/part/part_base.html:76 +#: part/templates/part/detail.html:67 part/templates/part/part_base.html:76 msgid "Order part" msgstr "" @@ -2648,60 +2665,60 @@ msgstr "" msgid "Delete manufacturer part" msgstr "" -#: company/templates/company/manufacturer_part.html:70 -#: company/templates/company/supplier_part.html:71 +#: company/templates/company/manufacturer_part.html:66 +#: company/templates/company/supplier_part.html:63 msgid "Internal Part" msgstr "" -#: company/templates/company/manufacturer_part.html:108 +#: company/templates/company/manufacturer_part.html:114 #: company/templates/company/supplier_part.html:15 company/views.py:49 -#: part/templates/part/part_sidebar.html:33 part/templates/part/prices.html:163 +#: part/templates/part/part_sidebar.html:31 part/templates/part/prices.html:163 #: templates/InvenTree/search.html:194 templates/navbar.html:43 msgid "Suppliers" msgstr "" -#: company/templates/company/manufacturer_part.html:123 -#: part/templates/part/detail.html:451 +#: company/templates/company/manufacturer_part.html:129 +#: part/templates/part/detail.html:344 msgid "Delete supplier parts" msgstr "" -#: company/templates/company/manufacturer_part.html:123 -#: company/templates/company/manufacturer_part.html:152 -#: company/templates/company/manufacturer_part.html:248 -#: part/templates/part/detail.html:451 part/templates/part/detail.html:479 +#: company/templates/company/manufacturer_part.html:129 +#: company/templates/company/manufacturer_part.html:158 +#: company/templates/company/manufacturer_part.html:254 +#: part/templates/part/detail.html:344 part/templates/part/detail.html:372 #: templates/js/translated/company.js:425 templates/js/translated/helpers.js:31 #: users/models.py:204 msgid "Delete" msgstr "" -#: company/templates/company/manufacturer_part.html:137 +#: company/templates/company/manufacturer_part.html:143 #: company/templates/company/manufacturer_part_sidebar.html:5 #: part/templates/part/category_sidebar.html:17 -#: part/templates/part/detail.html:277 part/templates/part/part_sidebar.html:10 +#: part/templates/part/detail.html:170 part/templates/part/part_sidebar.html:8 msgid "Parameters" msgstr "" -#: company/templates/company/manufacturer_part.html:141 -#: part/templates/part/detail.html:282 +#: company/templates/company/manufacturer_part.html:147 +#: part/templates/part/detail.html:175 #: templates/InvenTree/settings/category.html:12 #: templates/InvenTree/settings/part.html:65 msgid "New Parameter" msgstr "" -#: company/templates/company/manufacturer_part.html:152 +#: company/templates/company/manufacturer_part.html:158 msgid "Delete parameters" msgstr "" -#: company/templates/company/manufacturer_part.html:185 -#: part/templates/part/detail.html:976 +#: company/templates/company/manufacturer_part.html:191 +#: part/templates/part/detail.html:867 msgid "Add Parameter" msgstr "" -#: company/templates/company/manufacturer_part.html:233 +#: company/templates/company/manufacturer_part.html:239 msgid "Selected parameters will be deleted" msgstr "" -#: company/templates/company/manufacturer_part.html:245 +#: company/templates/company/manufacturer_part.html:251 msgid "Delete Parameters" msgstr "" @@ -2722,9 +2739,9 @@ msgid "Assigned Stock Items" msgstr "" #: company/templates/company/supplier_part.html:7 -#: company/templates/company/supplier_part.html:24 stock/models.py:492 -#: stock/templates/stock/item_base.html:375 -#: templates/js/translated/company.js:787 templates/js/translated/stock.js:1323 +#: company/templates/company/supplier_part.html:24 stock/models.py:482 +#: stock/templates/stock/item_base.html:403 +#: templates/js/translated/company.js:787 templates/js/translated/stock.js:1405 msgid "Supplier Part" msgstr "" @@ -2744,13 +2761,13 @@ msgid "Supplier Part Stock" msgstr "" #: company/templates/company/supplier_part.html:141 -#: part/templates/part/detail.html:127 stock/templates/stock/location.html:147 +#: part/templates/part/detail.html:20 stock/templates/stock/location.html:162 msgid "Create new stock item" msgstr "" #: company/templates/company/supplier_part.html:142 -#: part/templates/part/detail.html:128 stock/templates/stock/location.html:148 -#: templates/js/translated/stock.js:354 +#: part/templates/part/detail.html:21 stock/templates/stock/location.html:163 +#: templates/js/translated/stock.js:355 msgid "New Stock Item" msgstr "" @@ -2760,7 +2777,7 @@ msgid "Supplier Part Orders" msgstr "" #: company/templates/company/supplier_part.html:160 -#: part/templates/part/detail.html:175 +#: part/templates/part/detail.html:68 msgid "Order Part" msgstr "" @@ -2796,15 +2813,15 @@ msgid "Delete price break" msgstr "" #: company/templates/company/supplier_part_navbar.html:15 -#: part/templates/part/part_sidebar.html:16 +#: part/templates/part/part_sidebar.html:14 #: stock/templates/stock/loc_link.html:3 stock/templates/stock/location.html:14 #: stock/templates/stock/stock_app_base.html:10 #: templates/InvenTree/search.html:156 #: templates/InvenTree/settings/sidebar.html:40 -#: templates/js/translated/bom.js:216 templates/js/translated/part.js:427 -#: templates/js/translated/part.js:562 templates/js/translated/part.js:878 -#: templates/js/translated/part.js:1039 templates/js/translated/stock.js:509 -#: templates/js/translated/stock.js:1162 templates/navbar.html:26 +#: templates/js/translated/bom.js:216 templates/js/translated/part.js:434 +#: templates/js/translated/part.js:569 templates/js/translated/part.js:1059 +#: templates/js/translated/part.js:1220 templates/js/translated/stock.js:591 +#: templates/js/translated/stock.js:1244 templates/navbar.html:26 msgid "Stock" msgstr "" @@ -2818,16 +2835,16 @@ msgid "Supplier Part Pricing" msgstr "" #: company/templates/company/supplier_part_navbar.html:29 -#: part/templates/part/part_sidebar.html:30 +#: part/templates/part/part_sidebar.html:28 msgid "Pricing" msgstr "" #: company/templates/company/supplier_part_sidebar.html:5 -#: stock/templates/stock/location.html:118 -#: stock/templates/stock/location.html:132 -#: stock/templates/stock/location.html:144 +#: stock/templates/stock/location.html:133 +#: stock/templates/stock/location.html:147 +#: stock/templates/stock/location.html:159 #: stock/templates/stock/location_sidebar.html:7 -#: templates/InvenTree/search.html:158 templates/js/translated/stock.js:1901 +#: templates/InvenTree/search.html:158 templates/js/translated/stock.js:1983 #: templates/stats.html:93 templates/stats.html:102 users/models.py:43 msgid "Stock Items" msgstr "" @@ -2947,7 +2964,7 @@ msgstr "" msgid "Place order" msgstr "" -#: order/forms.py:37 order/templates/order/order_base.html:59 +#: order/forms.py:37 order/templates/order/order_base.html:60 msgid "Mark order as complete" msgstr "" @@ -3000,8 +3017,8 @@ msgstr "" msgid "Company from which the items are being ordered" msgstr "" -#: order/models.py:267 order/templates/order/order_base.html:114 -#: templates/js/translated/order.js:669 +#: order/models.py:267 order/templates/order/order_base.html:118 +#: templates/js/translated/order.js:676 msgid "Supplier Reference" msgstr "" @@ -3061,7 +3078,7 @@ msgstr "" msgid "Target date for order completion. Order will be overdue after this date." msgstr "" -#: order/models.py:582 templates/js/translated/order.js:1114 +#: order/models.py:582 templates/js/translated/order.js:1113 msgid "Shipment Date" msgstr "" @@ -3086,16 +3103,16 @@ msgid "Line item notes" msgstr "" #: order/models.py:768 order/models.py:856 -#: templates/js/translated/order.js:1166 +#: templates/js/translated/order.js:1165 msgid "Order" msgstr "" #: order/models.py:769 order/templates/order/order_base.html:9 #: order/templates/order/order_base.html:18 #: report/templates/report/inventree_po_report.html:77 -#: stock/templates/stock/item_base.html:325 -#: templates/js/translated/order.js:638 templates/js/translated/stock.js:1300 -#: templates/js/translated/stock.js:1983 +#: stock/templates/stock/item_base.html:353 +#: templates/js/translated/order.js:638 templates/js/translated/part.js:775 +#: templates/js/translated/stock.js:1382 templates/js/translated/stock.js:2065 msgid "Purchase Order" msgstr "" @@ -3103,9 +3120,10 @@ msgstr "" msgid "Supplier part" msgstr "" -#: order/models.py:797 order/templates/order/order_base.html:147 -#: order/templates/order/sales_order_base.html:154 -#: templates/js/translated/order.js:429 templates/js/translated/order.js:954 +#: order/models.py:797 order/templates/order/order_base.html:151 +#: order/templates/order/sales_order_base.html:155 +#: templates/js/translated/order.js:429 templates/js/translated/order.js:953 +#: templates/js/translated/part.js:847 templates/js/translated/part.js:873 msgid "Received" msgstr "" @@ -3113,9 +3131,9 @@ msgstr "" msgid "Number of items received" msgstr "" -#: order/models.py:805 part/templates/part/prices.html:176 stock/models.py:619 -#: stock/serializers.py:163 stock/templates/stock/item_base.html:332 -#: templates/js/translated/stock.js:1354 +#: order/models.py:805 part/templates/part/prices.html:176 stock/models.py:609 +#: stock/serializers.py:168 stock/templates/stock/item_base.html:360 +#: templates/js/translated/stock.js:1436 msgid "Purchase Price" msgstr "" @@ -3176,47 +3194,47 @@ msgstr "" msgid "Enter stock allocation quantity" msgstr "" -#: order/serializers.py:169 +#: order/serializers.py:175 msgid "Purchase price currency" msgstr "" -#: order/serializers.py:204 +#: order/serializers.py:213 msgid "Line Item" msgstr "" -#: order/serializers.py:210 +#: order/serializers.py:219 msgid "Line item does not match purchase order" msgstr "" -#: order/serializers.py:220 order/serializers.py:288 +#: order/serializers.py:229 order/serializers.py:297 msgid "Select destination location for received items" msgstr "" -#: order/serializers.py:244 +#: order/serializers.py:253 msgid "Barcode Hash" msgstr "" -#: order/serializers.py:245 +#: order/serializers.py:254 msgid "Unique identifier field" msgstr "" -#: order/serializers.py:262 +#: order/serializers.py:271 msgid "Barcode is already in use" msgstr "" -#: order/serializers.py:300 +#: order/serializers.py:309 msgid "Line items must be provided" msgstr "" -#: order/serializers.py:317 +#: order/serializers.py:326 msgid "Destination location must be specified" msgstr "" -#: order/serializers.py:328 +#: order/serializers.py:337 msgid "Supplied barcode values must be unique" msgstr "" -#: order/serializers.py:569 +#: order/serializers.py:578 msgid "Sale price currency" msgstr "" @@ -3248,22 +3266,36 @@ msgstr "" msgid "Receive items" msgstr "" -#: order/templates/order/order_base.html:93 -#: order/templates/order/sales_order_base.html:98 +#: order/templates/order/order_base.html:58 +#: order/templates/order/purchase_order_detail.html:31 +msgid "Receive Items" +msgstr "" + +#: order/templates/order/order_base.html:62 order/views.py:185 +msgid "Complete Order" +msgstr "" + +#: order/templates/order/order_base.html:84 +#: order/templates/order/sales_order_base.html:79 msgid "Order Reference" msgstr "" -#: order/templates/order/order_base.html:98 -#: order/templates/order/sales_order_base.html:103 +#: order/templates/order/order_base.html:89 +#: order/templates/order/sales_order_base.html:84 +msgid "Order Description" +msgstr "" + +#: order/templates/order/order_base.html:94 +#: order/templates/order/sales_order_base.html:89 msgid "Order Status" msgstr "" -#: order/templates/order/order_base.html:133 +#: order/templates/order/order_base.html:137 #: report/templates/report/inventree_build_order_base.html:122 msgid "Issued" msgstr "" -#: order/templates/order/order_base.html:203 +#: order/templates/order/order_base.html:207 msgid "Edit Purchase Order" msgstr "" @@ -3421,7 +3453,7 @@ msgid "Select existing purchase orders, or create new orders." msgstr "" #: order/templates/order/order_wizard/select_pos.html:31 -#: templates/js/translated/order.js:695 templates/js/translated/order.js:1119 +#: templates/js/translated/order.js:694 templates/js/translated/order.js:1118 msgid "Items" msgstr "" @@ -3465,10 +3497,6 @@ msgstr "" msgid "Receive selected items" msgstr "" -#: order/templates/order/purchase_order_detail.html:31 -msgid "Receive Items" -msgstr "" - #: order/templates/order/purchase_order_detail.html:50 msgid "Received Items" msgstr "" @@ -3496,16 +3524,16 @@ msgstr "" msgid "Ship Order" msgstr "" -#: order/templates/order/sales_order_base.html:86 +#: order/templates/order/sales_order_base.html:102 msgid "This Sales Order has not been fully allocated" msgstr "" -#: order/templates/order/sales_order_base.html:121 -#: templates/js/translated/order.js:1086 +#: order/templates/order/sales_order_base.html:122 +#: templates/js/translated/order.js:1085 msgid "Customer Reference" msgstr "" -#: order/templates/order/sales_order_base.html:194 +#: order/templates/order/sales_order_base.html:195 msgid "Edit Sales Order" msgstr "" @@ -3576,10 +3604,6 @@ msgstr "" msgid "Purchase order issued" msgstr "" -#: order/views.py:185 -msgid "Complete Order" -msgstr "" - #: order/views.py:201 msgid "Confirm order completion" msgstr "" @@ -3672,11 +3696,11 @@ msgid "This field is required" msgstr "" #: part/bom.py:125 part/models.py:81 part/models.py:816 -#: part/templates/part/category.html:90 part/templates/part/detail.html:104 +#: part/templates/part/category.html:104 part/templates/part/part_base.html:338 msgid "Default Location" msgstr "" -#: part/bom.py:126 part/templates/part/part_base.html:167 +#: part/bom.py:126 part/templates/part/part_base.html:185 msgid "Available Stock" msgstr "" @@ -3793,19 +3817,19 @@ msgstr "" msgid "Part Category" msgstr "" -#: part/models.py:96 part/templates/part/category.html:117 +#: part/models.py:96 part/templates/part/category.html:124 #: templates/InvenTree/search.html:101 templates/stats.html:84 #: users/models.py:40 msgid "Part Categories" msgstr "" #: part/models.py:358 part/templates/part/cat_link.html:3 -#: part/templates/part/category.html:13 part/templates/part/category.html:122 -#: part/templates/part/category.html:142 +#: part/templates/part/category.html:13 part/templates/part/category.html:129 +#: part/templates/part/category.html:149 #: part/templates/part/category_sidebar.html:9 #: templates/InvenTree/index.html:85 templates/InvenTree/search.html:88 #: templates/InvenTree/settings/sidebar.html:36 -#: templates/js/translated/part.js:1416 templates/navbar.html:19 +#: templates/js/translated/part.js:1597 templates/navbar.html:19 #: templates/stats.html:80 templates/stats.html:89 users/models.py:41 msgid "Parts" msgstr "" @@ -3859,8 +3883,8 @@ msgstr "" msgid "Part description" msgstr "" -#: part/models.py:770 part/templates/part/category.html:97 -#: part/templates/part/detail.html:73 +#: part/models.py:770 part/templates/part/category.html:82 +#: part/templates/part/part_base.html:302 msgid "Keywords" msgstr "" @@ -3869,9 +3893,10 @@ msgid "Part keywords to improve visibility in search results" msgstr "" #: part/models.py:778 part/models.py:2223 part/models.py:2472 -#: part/templates/part/detail.html:36 part/templates/part/set_category.html:15 +#: part/templates/part/part_base.html:265 +#: part/templates/part/set_category.html:15 #: templates/InvenTree/settings/settings.html:163 -#: templates/js/translated/part.js:1021 +#: templates/js/translated/part.js:1202 msgid "Category" msgstr "" @@ -3879,9 +3904,9 @@ msgstr "" msgid "Part category" msgstr "" -#: part/models.py:784 part/templates/part/detail.html:45 -#: templates/js/translated/part.js:550 templates/js/translated/part.js:974 -#: templates/js/translated/stock.js:1134 +#: part/models.py:784 part/templates/part/part_base.html:274 +#: templates/js/translated/part.js:557 templates/js/translated/part.js:1155 +#: templates/js/translated/stock.js:1216 msgid "IPN" msgstr "" @@ -3893,8 +3918,8 @@ msgstr "" msgid "Part revision or version number" msgstr "" -#: part/models.py:792 part/templates/part/detail.html:52 report/models.py:200 -#: templates/js/translated/part.js:554 +#: part/models.py:792 part/templates/part/part_base.html:281 +#: report/models.py:200 templates/js/translated/part.js:561 msgid "Revision" msgstr "" @@ -3902,7 +3927,7 @@ msgstr "" msgid "Where is this item normally stored?" msgstr "" -#: part/models.py:861 part/templates/part/detail.html:113 +#: part/models.py:861 part/templates/part/part_base.html:347 msgid "Default Supplier" msgstr "" @@ -3918,7 +3943,7 @@ msgstr "" msgid "Expiry time (in days) for stock items of this part" msgstr "" -#: part/models.py:875 part/templates/part/part_base.html:178 +#: part/models.py:875 part/templates/part/part_base.html:196 msgid "Minimum Stock" msgstr "" @@ -4001,8 +4026,8 @@ msgstr "" msgid "Test with this name already exists for this part" msgstr "" -#: part/models.py:2310 templates/js/translated/part.js:1467 -#: templates/js/translated/stock.js:858 +#: part/models.py:2310 templates/js/translated/part.js:1648 +#: templates/js/translated/stock.js:940 msgid "Test Name" msgstr "" @@ -4018,7 +4043,7 @@ msgstr "" msgid "Enter description for this test" msgstr "" -#: part/models.py:2322 templates/js/translated/part.js:1476 +#: part/models.py:2322 templates/js/translated/part.js:1657 #: templates/js/translated/table_filters.js:276 msgid "Required" msgstr "" @@ -4027,7 +4052,7 @@ msgstr "" msgid "Is this test required to pass?" msgstr "" -#: part/models.py:2328 templates/js/translated/part.js:1484 +#: part/models.py:2328 templates/js/translated/part.js:1665 msgid "Requires Value" msgstr "" @@ -4035,7 +4060,7 @@ msgstr "" msgid "Does this test require a value when adding a test result?" msgstr "" -#: part/models.py:2334 templates/js/translated/part.js:1491 +#: part/models.py:2334 templates/js/translated/part.js:1672 msgid "Requires Attachment" msgstr "" @@ -4150,7 +4175,7 @@ msgstr "" msgid "Stock items for variant parts can be used for this BOM item" msgstr "" -#: part/models.py:2686 stock/models.py:371 +#: part/models.py:2686 stock/models.py:361 msgid "Quantity must be integer value for trackable parts" msgstr "" @@ -4213,7 +4238,7 @@ msgstr "" msgid "The BOM for %(part)s has not been validated." msgstr "" -#: part/templates/part/bom.html:30 part/templates/part/detail.html:357 +#: part/templates/part/bom.html:30 part/templates/part/detail.html:250 msgid "BOM actions" msgstr "" @@ -4298,68 +4323,64 @@ msgstr "" msgid "New Category" msgstr "" -#: part/templates/part/category.html:67 -msgid "Top level part category" -msgstr "" - -#: part/templates/part/category.html:79 +#: part/templates/part/category.html:76 part/templates/part/category.html:89 msgid "Category Path" msgstr "" -#: part/templates/part/category.html:84 -msgid "Category Description" +#: part/templates/part/category.html:90 +msgid "Top level part category" msgstr "" -#: part/templates/part/category.html:103 part/templates/part/category.html:194 +#: part/templates/part/category.html:110 part/templates/part/category.html:201 #: part/templates/part/category_sidebar.html:7 msgid "Subcategories" msgstr "" -#: part/templates/part/category.html:108 +#: part/templates/part/category.html:115 msgid "Parts (Including subcategories)" msgstr "" -#: part/templates/part/category.html:145 +#: part/templates/part/category.html:152 msgid "Export Part Data" msgstr "" -#: part/templates/part/category.html:146 part/templates/part/category.html:170 +#: part/templates/part/category.html:153 part/templates/part/category.html:177 msgid "Export" msgstr "" -#: part/templates/part/category.html:149 +#: part/templates/part/category.html:156 msgid "Create new part" msgstr "" -#: part/templates/part/category.html:150 templates/js/translated/bom.js:40 +#: part/templates/part/category.html:157 templates/js/translated/bom.js:40 msgid "New Part" msgstr "" -#: part/templates/part/category.html:164 +#: part/templates/part/category.html:171 msgid "Set category" msgstr "" -#: part/templates/part/category.html:164 +#: part/templates/part/category.html:171 msgid "Set Category" msgstr "" -#: part/templates/part/category.html:168 +#: part/templates/part/category.html:175 msgid "Print Labels" msgstr "" -#: part/templates/part/category.html:170 +#: part/templates/part/category.html:177 msgid "Export Data" msgstr "" -#: part/templates/part/category.html:184 +#: part/templates/part/category.html:191 msgid "Part Parameters" msgstr "" -#: part/templates/part/category.html:261 +#: part/templates/part/category.html:268 msgid "Create Part Category" msgstr "" -#: part/templates/part/category.html:288 +#: part/templates/part/category.html:295 msgid "Create Part" msgstr "" @@ -4402,7 +4423,7 @@ msgstr "" msgid "Import Parts" msgstr "" -#: part/templates/part/copy_part.html:9 templates/js/translated/part.js:366 +#: part/templates/part/copy_part.html:9 templates/js/translated/part.js:373 msgid "Duplicate Part" msgstr "" @@ -4426,167 +4447,155 @@ msgstr "" msgid "%(full_name)s - %(desc)s (%(match_per)s%% match)" msgstr "" -#: part/templates/part/detail.html:16 -msgid "Part Details" -msgstr "" - -#: part/templates/part/detail.html:66 -msgid "Minimum stock level" -msgstr "" - -#: part/templates/part/detail.html:97 -msgid "Latest Serial Number" -msgstr "" - -#: part/templates/part/detail.html:124 +#: part/templates/part/detail.html:17 msgid "Part Stock" msgstr "" -#: part/templates/part/detail.html:136 +#: part/templates/part/detail.html:29 #, python-format msgid "Showing stock for all variants of %(full_name)s" msgstr "" -#: part/templates/part/detail.html:146 +#: part/templates/part/detail.html:39 msgid "Part Test Templates" msgstr "" -#: part/templates/part/detail.html:151 +#: part/templates/part/detail.html:44 msgid "Add Test Template" msgstr "" -#: part/templates/part/detail.html:208 +#: part/templates/part/detail.html:101 msgid "Sales Order Allocations" msgstr "" -#: part/templates/part/detail.html:249 +#: part/templates/part/detail.html:142 msgid "Part Variants" msgstr "" -#: part/templates/part/detail.html:253 +#: part/templates/part/detail.html:146 msgid "Create new variant" msgstr "" -#: part/templates/part/detail.html:254 +#: part/templates/part/detail.html:147 msgid "New Variant" msgstr "" -#: part/templates/part/detail.html:281 +#: part/templates/part/detail.html:174 msgid "Add new parameter" msgstr "" -#: part/templates/part/detail.html:315 part/templates/part/part_sidebar.html:47 +#: part/templates/part/detail.html:208 part/templates/part/part_sidebar.html:45 msgid "Related Parts" msgstr "" -#: part/templates/part/detail.html:319 part/templates/part/detail.html:320 +#: part/templates/part/detail.html:212 part/templates/part/detail.html:213 msgid "Add Related" msgstr "" -#: part/templates/part/detail.html:340 part/templates/part/part_sidebar.html:19 +#: part/templates/part/detail.html:233 part/templates/part/part_sidebar.html:17 msgid "Bill of Materials" msgstr "" -#: part/templates/part/detail.html:345 +#: part/templates/part/detail.html:238 msgid "Export actions" msgstr "" -#: part/templates/part/detail.html:349 +#: part/templates/part/detail.html:242 msgid "Export BOM" msgstr "" -#: part/templates/part/detail.html:351 +#: part/templates/part/detail.html:244 msgid "Print BOM Report" msgstr "" -#: part/templates/part/detail.html:361 +#: part/templates/part/detail.html:254 msgid "Upload BOM" msgstr "" -#: part/templates/part/detail.html:363 templates/js/translated/part.js:267 +#: part/templates/part/detail.html:256 templates/js/translated/part.js:270 msgid "Copy BOM" msgstr "" -#: part/templates/part/detail.html:365 part/views.py:755 +#: part/templates/part/detail.html:258 part/views.py:755 msgid "Validate BOM" msgstr "" -#: part/templates/part/detail.html:370 +#: part/templates/part/detail.html:263 msgid "New BOM Item" msgstr "" -#: part/templates/part/detail.html:371 +#: part/templates/part/detail.html:264 msgid "Add BOM Item" msgstr "" -#: part/templates/part/detail.html:384 +#: part/templates/part/detail.html:277 msgid "Assemblies" msgstr "" -#: part/templates/part/detail.html:401 +#: part/templates/part/detail.html:294 msgid "Part Builds" msgstr "" -#: part/templates/part/detail.html:426 +#: part/templates/part/detail.html:319 msgid "Build Order Allocations" msgstr "" -#: part/templates/part/detail.html:436 +#: part/templates/part/detail.html:329 msgid "Part Suppliers" msgstr "" -#: part/templates/part/detail.html:463 +#: part/templates/part/detail.html:356 msgid "Part Manufacturers" msgstr "" -#: part/templates/part/detail.html:479 +#: part/templates/part/detail.html:372 msgid "Delete manufacturer parts" msgstr "" -#: part/templates/part/detail.html:660 +#: part/templates/part/detail.html:553 msgid "Delete selected BOM items?" msgstr "" -#: part/templates/part/detail.html:661 +#: part/templates/part/detail.html:554 msgid "All selected BOM items will be deleted" msgstr "" -#: part/templates/part/detail.html:712 +#: part/templates/part/detail.html:605 msgid "Create BOM Item" msgstr "" -#: part/templates/part/detail.html:764 +#: part/templates/part/detail.html:657 msgid "Related Part" msgstr "" -#: part/templates/part/detail.html:772 +#: part/templates/part/detail.html:665 msgid "Add Related Part" msgstr "" -#: part/templates/part/detail.html:869 +#: part/templates/part/detail.html:760 msgid "Add Test Result Template" msgstr "" -#: part/templates/part/detail.html:926 +#: part/templates/part/detail.html:817 msgid "Edit Part Notes" msgstr "" -#: part/templates/part/detail.html:1039 +#: part/templates/part/detail.html:930 #, python-format msgid "Purchase Unit Price - %(currency)s" msgstr "" -#: part/templates/part/detail.html:1051 +#: part/templates/part/detail.html:942 #, python-format msgid "Unit Price-Cost Difference - %(currency)s" msgstr "" -#: part/templates/part/detail.html:1063 +#: part/templates/part/detail.html:954 #, python-format msgid "Supplier Unit Cost - %(currency)s" msgstr "" -#: part/templates/part/detail.html:1152 +#: part/templates/part/detail.html:1043 #, python-format msgid "Unit Price - %(currency)s" msgstr "" @@ -4668,86 +4677,108 @@ msgstr "" msgid "Delete part" msgstr "" -#: part/templates/part/part_base.html:109 +#: part/templates/part/part_base.html:112 msgid "Part is a template part (variants can be made from this part)" msgstr "" -#: part/templates/part/part_base.html:113 +#: part/templates/part/part_base.html:116 msgid "Part can be assembled from other parts" msgstr "" -#: part/templates/part/part_base.html:117 +#: part/templates/part/part_base.html:120 msgid "Part can be used in assemblies" msgstr "" -#: part/templates/part/part_base.html:121 +#: part/templates/part/part_base.html:124 msgid "Part stock is tracked by serial number" msgstr "" -#: part/templates/part/part_base.html:125 +#: part/templates/part/part_base.html:128 msgid "Part can be purchased from external suppliers" msgstr "" -#: part/templates/part/part_base.html:129 +#: part/templates/part/part_base.html:132 msgid "Part can be sold to customers" msgstr "" -#: part/templates/part/part_base.html:135 -#: part/templates/part/part_base.html:143 +#: part/templates/part/part_base.html:138 +#: part/templates/part/part_base.html:146 msgid "Part is virtual (not a physical part)" msgstr "" -#: part/templates/part/part_base.html:136 +#: part/templates/part/part_base.html:139 #: templates/js/translated/company.js:505 #: templates/js/translated/company.js:762 #: templates/js/translated/model_renderers.js:175 -#: templates/js/translated/part.js:465 templates/js/translated/part.js:542 +#: templates/js/translated/part.js:472 templates/js/translated/part.js:549 msgid "Inactive" msgstr "" -#: part/templates/part/part_base.html:155 +#: part/templates/part/part_base.html:156 +#: part/templates/part/part_base.html:579 +msgid "Show Part Details" +msgstr "" + +#: part/templates/part/part_base.html:173 #, python-format msgid "This part is a variant of %(link)s" msgstr "" -#: part/templates/part/part_base.html:172 templates/js/translated/order.js:1546 +#: part/templates/part/part_base.html:190 templates/js/translated/order.js:1545 #: templates/js/translated/table_filters.js:188 msgid "In Stock" msgstr "" -#: part/templates/part/part_base.html:185 templates/js/translated/part.js:1054 +#: part/templates/part/part_base.html:203 templates/js/translated/part.js:1235 msgid "On Order" msgstr "" -#: part/templates/part/part_base.html:192 templates/InvenTree/index.html:178 +#: part/templates/part/part_base.html:210 templates/InvenTree/index.html:178 msgid "Required for Build Orders" msgstr "" -#: part/templates/part/part_base.html:199 +#: part/templates/part/part_base.html:217 msgid "Required for Sales Orders" msgstr "" -#: part/templates/part/part_base.html:206 +#: part/templates/part/part_base.html:224 msgid "Allocated to Orders" msgstr "" -#: part/templates/part/part_base.html:221 templates/js/translated/bom.js:566 +#: part/templates/part/part_base.html:239 templates/js/translated/bom.js:566 msgid "Can Build" msgstr "" -#: part/templates/part/part_base.html:227 templates/js/translated/part.js:885 -#: templates/js/translated/part.js:1058 +#: part/templates/part/part_base.html:245 templates/js/translated/part.js:1066 +#: templates/js/translated/part.js:1239 msgid "Building" msgstr "" -#: part/templates/part/part_base.html:320 part/templates/part/prices.html:144 +#: part/templates/part/part_base.html:295 +msgid "Minimum stock level" +msgstr "" + +#: part/templates/part/part_base.html:324 +msgid "Latest Serial Number" +msgstr "" + +#: part/templates/part/part_base.html:328 +#: stock/templates/stock/item_base.html:159 +msgid "Search for serial number" +msgstr "" + +#: part/templates/part/part_base.html:449 part/templates/part/prices.html:144 msgid "Calculate" msgstr "" -#: part/templates/part/part_base.html:363 +#: part/templates/part/part_base.html:492 msgid "No matching images found" msgstr "" +#: part/templates/part/part_base.html:573 +msgid "Hide Part Details" +msgstr "" + #: part/templates/part/part_pricing.html:22 part/templates/part/prices.html:21 msgid "Supplier Pricing" msgstr "" @@ -4805,20 +4836,15 @@ msgstr "" msgid "No pricing information is available for this part." msgstr "" -#: part/templates/part/part_sidebar.html:8 -#: templates/js/translated/stock.js:1949 -msgid "Details" -msgstr "" - -#: part/templates/part/part_sidebar.html:13 +#: part/templates/part/part_sidebar.html:11 msgid "Variants" msgstr "" -#: part/templates/part/part_sidebar.html:27 +#: part/templates/part/part_sidebar.html:25 msgid "Used In" msgstr "" -#: part/templates/part/part_sidebar.html:43 +#: part/templates/part/part_sidebar.html:41 msgid "Test Templates" msgstr "" @@ -4934,8 +4960,8 @@ msgid "Set category for the following parts" msgstr "" #: part/templates/part/stock_count.html:7 templates/js/translated/bom.js:476 -#: templates/js/translated/part.js:429 templates/js/translated/part.js:875 -#: templates/js/translated/part.js:1062 +#: templates/js/translated/part.js:436 templates/js/translated/part.js:1056 +#: templates/js/translated/part.js:1243 msgid "No Stock" msgstr "" @@ -5037,7 +5063,7 @@ msgstr "" msgid "Delete Part Parameter Template" msgstr "" -#: part/views.py:1489 templates/js/translated/part.js:310 +#: part/views.py:1489 templates/js/translated/part.js:313 msgid "Edit Part Category" msgstr "" @@ -5171,11 +5197,12 @@ msgid "Stock Item Test Report" msgstr "" #: report/templates/report/inventree_test_report_base.html:79 -#: stock/models.py:530 stock/templates/stock/item_base.html:238 +#: stock/models.py:520 stock/templates/stock/item_base.html:149 #: templates/js/translated/build.js:233 templates/js/translated/build.js:637 #: templates/js/translated/build.js:1013 #: templates/js/translated/model_renderers.js:95 -#: templates/js/translated/order.js:1288 templates/js/translated/order.js:1377 +#: templates/js/translated/order.js:1287 templates/js/translated/order.js:1376 +#: templates/js/translated/stock.js:410 msgid "Serial Number" msgstr "" @@ -5184,17 +5211,17 @@ msgid "Test Results" msgstr "" #: report/templates/report/inventree_test_report_base.html:93 -#: stock/models.py:1855 +#: stock/models.py:1845 msgid "Test" msgstr "" #: report/templates/report/inventree_test_report_base.html:94 -#: stock/models.py:1861 +#: stock/models.py:1851 msgid "Result" msgstr "" #: report/templates/report/inventree_test_report_base.html:97 -#: templates/js/translated/order.js:685 templates/js/translated/stock.js:1917 +#: templates/js/translated/order.js:684 templates/js/translated/stock.js:1999 msgid "Date" msgstr "" @@ -5212,7 +5239,7 @@ msgid "Installed Items" msgstr "" #: report/templates/report/inventree_test_report_base.html:137 -#: templates/js/translated/stock.js:2177 +#: templates/js/translated/stock.js:2259 msgid "Serial" msgstr "" @@ -5220,9 +5247,9 @@ msgstr "" msgid "Quantity is required" msgstr "" -#: stock/forms.py:91 stock/forms.py:265 stock/models.py:587 -#: stock/templates/stock/item_base.html:382 -#: templates/js/translated/stock.js:1276 +#: stock/forms.py:91 stock/forms.py:265 stock/models.py:577 +#: stock/templates/stock/item_base.html:186 +#: templates/js/translated/stock.js:1358 msgid "Expiry Date" msgstr "" @@ -5270,241 +5297,241 @@ msgstr "" msgid "Confirm removal of installed stock items" msgstr "" -#: stock/models.py:60 stock/models.py:624 -#: stock/templates/stock/item_base.html:422 +#: stock/models.py:60 stock/models.py:614 +#: stock/templates/stock/item_base.html:417 msgid "Owner" msgstr "" -#: stock/models.py:61 stock/models.py:625 +#: stock/models.py:61 stock/models.py:615 msgid "Select Owner" msgstr "" -#: stock/models.py:352 +#: stock/models.py:342 msgid "StockItem with this serial number already exists" msgstr "" -#: stock/models.py:388 +#: stock/models.py:378 #, python-brace-format msgid "Part type ('{pf}') must be {pe}" msgstr "" -#: stock/models.py:398 stock/models.py:407 +#: stock/models.py:388 stock/models.py:397 msgid "Quantity must be 1 for item with a serial number" msgstr "" -#: stock/models.py:399 +#: stock/models.py:389 msgid "Serial number cannot be set if quantity greater than 1" msgstr "" -#: stock/models.py:421 +#: stock/models.py:411 msgid "Item cannot belong to itself" msgstr "" -#: stock/models.py:427 +#: stock/models.py:417 msgid "Item must have a build reference if is_building=True" msgstr "" -#: stock/models.py:434 +#: stock/models.py:424 msgid "Build reference does not point to the same part object" msgstr "" -#: stock/models.py:476 +#: stock/models.py:466 msgid "Parent Stock Item" msgstr "" -#: stock/models.py:485 +#: stock/models.py:475 msgid "Base part" msgstr "" -#: stock/models.py:493 +#: stock/models.py:483 msgid "Select a matching supplier part for this stock item" msgstr "" -#: stock/models.py:498 stock/templates/stock/location.html:12 +#: stock/models.py:488 stock/templates/stock/location.html:12 #: stock/templates/stock/stock_app_base.html:8 msgid "Stock Location" msgstr "" -#: stock/models.py:501 +#: stock/models.py:491 msgid "Where is this stock item located?" msgstr "" -#: stock/models.py:508 +#: stock/models.py:498 msgid "Packaging this stock item is stored in" msgstr "" -#: stock/models.py:513 stock/templates/stock/item_base.html:271 +#: stock/models.py:503 stock/templates/stock/item_base.html:299 msgid "Installed In" msgstr "" -#: stock/models.py:516 +#: stock/models.py:506 msgid "Is this item installed in another item?" msgstr "" -#: stock/models.py:532 +#: stock/models.py:522 msgid "Serial number for this item" msgstr "" -#: stock/models.py:546 +#: stock/models.py:536 msgid "Batch code for this stock item" msgstr "" -#: stock/models.py:550 +#: stock/models.py:540 msgid "Stock Quantity" msgstr "" -#: stock/models.py:559 +#: stock/models.py:549 msgid "Source Build" msgstr "" -#: stock/models.py:561 +#: stock/models.py:551 msgid "Build for this stock item" msgstr "" -#: stock/models.py:572 +#: stock/models.py:562 msgid "Source Purchase Order" msgstr "" -#: stock/models.py:575 +#: stock/models.py:565 msgid "Purchase order for this stock item" msgstr "" -#: stock/models.py:581 +#: stock/models.py:571 msgid "Destination Sales Order" msgstr "" -#: stock/models.py:588 +#: stock/models.py:578 msgid "Expiry date for stock item. Stock will be considered expired after this date" msgstr "" -#: stock/models.py:601 +#: stock/models.py:591 msgid "Delete on deplete" msgstr "" -#: stock/models.py:601 +#: stock/models.py:591 msgid "Delete this Stock Item when stock is depleted" msgstr "" -#: stock/models.py:611 stock/templates/stock/item.html:111 +#: stock/models.py:601 stock/templates/stock/item.html:111 msgid "Stock Item Notes" msgstr "" -#: stock/models.py:620 +#: stock/models.py:610 msgid "Single unit purchase price at time of purchase" msgstr "" -#: stock/models.py:630 +#: stock/models.py:620 msgid "Scheduled for deletion" msgstr "" -#: stock/models.py:631 +#: stock/models.py:621 msgid "This StockItem will be deleted by the background worker" msgstr "" -#: stock/models.py:1094 +#: stock/models.py:1084 msgid "Part is not set as trackable" msgstr "" -#: stock/models.py:1100 +#: stock/models.py:1090 msgid "Quantity must be integer" msgstr "" -#: stock/models.py:1106 +#: stock/models.py:1096 #, python-brace-format msgid "Quantity must not exceed available stock quantity ({n})" msgstr "" -#: stock/models.py:1109 +#: stock/models.py:1099 msgid "Serial numbers must be a list of integers" msgstr "" -#: stock/models.py:1112 +#: stock/models.py:1102 msgid "Quantity does not match serial numbers" msgstr "" -#: stock/models.py:1119 +#: stock/models.py:1109 #, python-brace-format msgid "Serial numbers already exist: {exists}" msgstr "" -#: stock/models.py:1277 +#: stock/models.py:1267 msgid "StockItem cannot be moved as it is not in stock" msgstr "" -#: stock/models.py:1775 +#: stock/models.py:1765 msgid "Entry notes" msgstr "" -#: stock/models.py:1832 +#: stock/models.py:1822 msgid "Value must be provided for this test" msgstr "" -#: stock/models.py:1838 +#: stock/models.py:1828 msgid "Attachment must be uploaded for this test" msgstr "" -#: stock/models.py:1856 +#: stock/models.py:1846 msgid "Test name" msgstr "" -#: stock/models.py:1862 templates/js/translated/table_filters.js:266 +#: stock/models.py:1852 templates/js/translated/table_filters.js:266 msgid "Test result" msgstr "" -#: stock/models.py:1868 +#: stock/models.py:1858 msgid "Test output value" msgstr "" -#: stock/models.py:1875 +#: stock/models.py:1865 msgid "Test result attachment" msgstr "" -#: stock/models.py:1881 +#: stock/models.py:1871 msgid "Test notes" msgstr "" -#: stock/serializers.py:166 +#: stock/serializers.py:171 msgid "Purchase price of this stock item" msgstr "" -#: stock/serializers.py:173 +#: stock/serializers.py:178 msgid "Purchase currency of this stock item" msgstr "" -#: stock/serializers.py:287 +#: stock/serializers.py:292 msgid "Enter number of stock items to serialize" msgstr "" -#: stock/serializers.py:302 +#: stock/serializers.py:307 #, python-brace-format msgid "Quantity must not exceed available stock quantity ({q})" msgstr "" -#: stock/serializers.py:308 +#: stock/serializers.py:313 msgid "Enter serial numbers for new items" msgstr "" -#: stock/serializers.py:319 stock/serializers.py:686 +#: stock/serializers.py:324 stock/serializers.py:691 msgid "Destination stock location" msgstr "" -#: stock/serializers.py:326 +#: stock/serializers.py:331 msgid "Optional note field" msgstr "" -#: stock/serializers.py:339 +#: stock/serializers.py:344 msgid "Serial numbers cannot be assigned to this part" msgstr "" -#: stock/serializers.py:556 +#: stock/serializers.py:561 msgid "StockItem primary key value" msgstr "" -#: stock/serializers.py:584 +#: stock/serializers.py:589 msgid "Stock transaction notes" msgstr "" -#: stock/serializers.py:594 +#: stock/serializers.py:599 msgid "A list of stock items must be provided" msgstr "" @@ -5629,125 +5656,131 @@ msgstr "" msgid "Install" msgstr "" -#: stock/templates/stock/item_base.html:106 +#: stock/templates/stock/item_base.html:108 msgid "Convert to variant" msgstr "" -#: stock/templates/stock/item_base.html:109 +#: stock/templates/stock/item_base.html:111 msgid "Duplicate stock item" msgstr "" -#: stock/templates/stock/item_base.html:111 +#: stock/templates/stock/item_base.html:113 msgid "Edit stock item" msgstr "" -#: stock/templates/stock/item_base.html:114 +#: stock/templates/stock/item_base.html:116 msgid "Delete stock item" msgstr "" -#: stock/templates/stock/item_base.html:136 -#: stock/templates/stock/item_base.html:386 -#: templates/js/translated/table_filters.js:247 -msgid "Expired" +#: stock/templates/stock/item_base.html:154 +msgid "previous page" msgstr "" -#: stock/templates/stock/item_base.html:146 -#: stock/templates/stock/item_base.html:388 -#: templates/js/translated/table_filters.js:253 -msgid "Stale" +#: stock/templates/stock/item_base.html:154 +msgid "Navigate to previous serial number" msgstr "" -#: stock/templates/stock/item_base.html:161 -msgid "You are not in the list of owners of this item. This stock item cannot be edited." +#: stock/templates/stock/item_base.html:163 +msgid "next page" msgstr "" -#: stock/templates/stock/item_base.html:168 -msgid "This stock item is in production and cannot be edited." -msgstr "" - -#: stock/templates/stock/item_base.html:169 -msgid "Edit the stock item from the build view." -msgstr "" - -#: stock/templates/stock/item_base.html:182 -msgid "This stock item has not passed all required tests" +#: stock/templates/stock/item_base.html:163 +msgid "Navigate to next serial number" msgstr "" #: stock/templates/stock/item_base.html:190 #, python-format -msgid "This stock item is allocated to Sales Order %(link)s (Quantity: %(qty)s)" -msgstr "" - -#: stock/templates/stock/item_base.html:198 -#, python-format -msgid "This stock item is allocated to Build %(link)s (Quantity: %(qty)s)" -msgstr "" - -#: stock/templates/stock/item_base.html:204 -msgid "This stock item is serialized - it has a unique serial number and the quantity cannot be adjusted." -msgstr "" - -#: stock/templates/stock/item_base.html:208 -msgid "This stock item cannot be deleted as it has child items" -msgstr "" - -#: stock/templates/stock/item_base.html:212 -msgid "This stock item will be automatically deleted when all stock is depleted." -msgstr "" - -#: stock/templates/stock/item_base.html:241 -msgid "previous page" -msgstr "" - -#: stock/templates/stock/item_base.html:247 -msgid "next page" -msgstr "" - -#: stock/templates/stock/item_base.html:290 -#: templates/js/translated/build.js:1035 -msgid "No location set" -msgstr "" - -#: stock/templates/stock/item_base.html:297 -msgid "Barcode Identifier" -msgstr "" - -#: stock/templates/stock/item_base.html:339 -msgid "Parent Item" -msgstr "" - -#: stock/templates/stock/item_base.html:357 -msgid "No manufacturer set" -msgstr "" - -#: stock/templates/stock/item_base.html:386 -#, python-format msgid "This StockItem expired on %(item.expiry_date)s" msgstr "" -#: stock/templates/stock/item_base.html:388 +#: stock/templates/stock/item_base.html:190 +#: templates/js/translated/table_filters.js:247 +msgid "Expired" +msgstr "" + +#: stock/templates/stock/item_base.html:192 #, python-format msgid "This StockItem expires on %(item.expiry_date)s" msgstr "" -#: stock/templates/stock/item_base.html:395 -#: templates/js/translated/stock.js:1289 +#: stock/templates/stock/item_base.html:192 +#: templates/js/translated/table_filters.js:253 +msgid "Stale" +msgstr "" + +#: stock/templates/stock/item_base.html:199 +#: templates/js/translated/stock.js:1371 msgid "Last Updated" msgstr "" -#: stock/templates/stock/item_base.html:400 +#: stock/templates/stock/item_base.html:204 msgid "Last Stocktake" msgstr "" -#: stock/templates/stock/item_base.html:404 +#: stock/templates/stock/item_base.html:208 msgid "No stocktake performed" msgstr "" -#: stock/templates/stock/item_base.html:415 +#: stock/templates/stock/item_base.html:226 +msgid "You are not in the list of owners of this item. This stock item cannot be edited." +msgstr "" + +#: stock/templates/stock/item_base.html:233 +msgid "This stock item is in production and cannot be edited." +msgstr "" + +#: stock/templates/stock/item_base.html:234 +msgid "Edit the stock item from the build view." +msgstr "" + +#: stock/templates/stock/item_base.html:247 +msgid "This stock item has not passed all required tests" +msgstr "" + +#: stock/templates/stock/item_base.html:255 +#, python-format +msgid "This stock item is allocated to Sales Order %(link)s (Quantity: %(qty)s)" +msgstr "" + +#: stock/templates/stock/item_base.html:263 +#, python-format +msgid "This stock item is allocated to Build %(link)s (Quantity: %(qty)s)" +msgstr "" + +#: stock/templates/stock/item_base.html:269 +msgid "This stock item is serialized - it has a unique serial number and the quantity cannot be adjusted." +msgstr "" + +#: stock/templates/stock/item_base.html:273 +msgid "This stock item cannot be deleted as it has child items" +msgstr "" + +#: stock/templates/stock/item_base.html:277 +msgid "This stock item will be automatically deleted when all stock is depleted." +msgstr "" + +#: stock/templates/stock/item_base.html:318 +#: templates/js/translated/build.js:1035 +msgid "No location set" +msgstr "" + +#: stock/templates/stock/item_base.html:325 +msgid "Barcode Identifier" +msgstr "" + +#: stock/templates/stock/item_base.html:367 +msgid "Parent Item" +msgstr "" + +#: stock/templates/stock/item_base.html:385 +msgid "No manufacturer set" +msgstr "" + +#: stock/templates/stock/item_base.html:410 msgid "Tests" msgstr "" -#: stock/templates/stock/item_base.html:505 +#: stock/templates/stock/item_base.html:500 msgid "Edit Stock Status" msgstr "" @@ -5825,30 +5858,35 @@ msgstr "" msgid "New Location" msgstr "" -#: stock/templates/stock/location.html:86 +#: stock/templates/stock/location.html:95 +#: stock/templates/stock/location.html:101 +msgid "Location Path" +msgstr "" + +#: stock/templates/stock/location.html:102 msgid "Top level stock location" msgstr "" -#: stock/templates/stock/location.html:95 +#: stock/templates/stock/location.html:115 msgid "You are not in the list of owners of this location. This stock location cannot be edited." msgstr "" -#: stock/templates/stock/location.html:113 -#: stock/templates/stock/location.html:160 +#: stock/templates/stock/location.html:128 +#: stock/templates/stock/location.html:175 #: stock/templates/stock/location_sidebar.html:5 msgid "Sublocations" msgstr "" -#: stock/templates/stock/location.html:127 templates/InvenTree/search.html:170 +#: stock/templates/stock/location.html:142 templates/InvenTree/search.html:170 #: templates/stats.html:97 users/models.py:42 msgid "Stock Locations" msgstr "" -#: stock/templates/stock/location.html:167 templates/stock_table.html:30 +#: stock/templates/stock/location.html:182 templates/stock_table.html:30 msgid "Printing Actions" msgstr "" -#: stock/templates/stock/location.html:171 templates/stock_table.html:34 +#: stock/templates/stock/location.html:186 templates/stock_table.html:34 msgid "Print labels" msgstr "" @@ -5942,7 +5980,7 @@ msgstr "" msgid "Uninstall Stock Items" msgstr "" -#: stock/views.py:760 templates/js/translated/stock.js:648 +#: stock/views.py:760 templates/js/translated/stock.js:730 msgid "Confirm stock adjustment" msgstr "" @@ -5950,7 +5988,7 @@ msgstr "" msgid "Uninstalled stock items" msgstr "" -#: stock/views.py:793 templates/js/translated/stock.js:318 +#: stock/views.py:793 templates/js/translated/stock.js:319 msgid "Edit Stock Item" msgstr "" @@ -5962,7 +6000,7 @@ msgstr "" msgid "Create new Stock Item" msgstr "" -#: stock/views.py:1186 templates/js/translated/stock.js:298 +#: stock/views.py:1186 templates/js/translated/stock.js:299 msgid "Duplicate Stock Item" msgstr "" @@ -6868,7 +6906,7 @@ msgstr "" msgid "Unlink" msgstr "" -#: templates/js/translated/barcode.js:397 templates/js/translated/stock.js:600 +#: templates/js/translated/barcode.js:397 templates/js/translated/stock.js:682 msgid "Remove stock item" msgstr "" @@ -6963,7 +7001,7 @@ msgid "View BOM" msgstr "" #: templates/js/translated/bom.js:608 templates/js/translated/build.js:1183 -#: templates/js/translated/order.js:1320 +#: templates/js/translated/order.js:1319 msgid "Actions" msgstr "" @@ -7055,7 +7093,7 @@ msgstr "" msgid "No build order allocations found" msgstr "" -#: templates/js/translated/build.js:424 templates/js/translated/order.js:1194 +#: templates/js/translated/build.js:424 templates/js/translated/order.js:1193 msgid "Location not specified" msgstr "" @@ -7064,12 +7102,12 @@ msgid "No active build outputs found" msgstr "" #: templates/js/translated/build.js:1052 templates/js/translated/build.js:1760 -#: templates/js/translated/order.js:1327 +#: templates/js/translated/order.js:1326 msgid "Edit stock allocation" msgstr "" #: templates/js/translated/build.js:1054 templates/js/translated/build.js:1761 -#: templates/js/translated/order.js:1328 +#: templates/js/translated/order.js:1327 msgid "Delete stock allocation" msgstr "" @@ -7090,11 +7128,11 @@ msgid "Quantity Per" msgstr "" #: templates/js/translated/build.js:1134 templates/js/translated/build.js:1360 -#: templates/js/translated/build.js:1756 templates/js/translated/order.js:1557 +#: templates/js/translated/build.js:1756 templates/js/translated/order.js:1556 msgid "Allocated" msgstr "" -#: templates/js/translated/build.js:1190 templates/js/translated/order.js:1611 +#: templates/js/translated/build.js:1190 templates/js/translated/order.js:1610 msgid "Build stock" msgstr "" @@ -7102,7 +7140,7 @@ msgstr "" msgid "Order stock" msgstr "" -#: templates/js/translated/build.js:1197 templates/js/translated/order.js:1604 +#: templates/js/translated/build.js:1197 templates/js/translated/order.js:1603 msgid "Allocate stock" msgstr "" @@ -7143,9 +7181,9 @@ msgstr "" msgid "No builds matching query" msgstr "" -#: templates/js/translated/build.js:1593 templates/js/translated/part.js:966 -#: templates/js/translated/part.js:1377 templates/js/translated/stock.js:1094 -#: templates/js/translated/stock.js:1871 +#: templates/js/translated/build.js:1593 templates/js/translated/part.js:1147 +#: templates/js/translated/part.js:1558 templates/js/translated/stock.js:1176 +#: templates/js/translated/stock.js:1953 msgid "Select" msgstr "" @@ -7153,7 +7191,7 @@ msgstr "" msgid "Build order is overdue" msgstr "" -#: templates/js/translated/build.js:1674 templates/js/translated/stock.js:2090 +#: templates/js/translated/build.js:1674 templates/js/translated/stock.js:2172 msgid "No user information" msgstr "" @@ -7197,10 +7235,6 @@ msgstr "" msgid "Delete Supplier Part" msgstr "" -#: templates/js/translated/company.js:265 -msgid "Edit Company" -msgstr "" - #: templates/js/translated/company.js:286 msgid "Add new Company" msgstr "" @@ -7230,34 +7264,34 @@ msgid "No manufacturer parts found" msgstr "" #: templates/js/translated/company.js:497 -#: templates/js/translated/company.js:754 templates/js/translated/part.js:449 -#: templates/js/translated/part.js:534 +#: templates/js/translated/company.js:754 templates/js/translated/part.js:456 +#: templates/js/translated/part.js:541 msgid "Template part" msgstr "" #: templates/js/translated/company.js:501 -#: templates/js/translated/company.js:758 templates/js/translated/part.js:453 -#: templates/js/translated/part.js:538 +#: templates/js/translated/company.js:758 templates/js/translated/part.js:460 +#: templates/js/translated/part.js:545 msgid "Assembled part" msgstr "" -#: templates/js/translated/company.js:628 templates/js/translated/part.js:626 +#: templates/js/translated/company.js:628 templates/js/translated/part.js:633 msgid "No parameters found" msgstr "" -#: templates/js/translated/company.js:665 templates/js/translated/part.js:668 +#: templates/js/translated/company.js:665 templates/js/translated/part.js:675 msgid "Edit parameter" msgstr "" -#: templates/js/translated/company.js:666 templates/js/translated/part.js:669 +#: templates/js/translated/company.js:666 templates/js/translated/part.js:676 msgid "Delete parameter" msgstr "" -#: templates/js/translated/company.js:685 templates/js/translated/part.js:686 +#: templates/js/translated/company.js:685 templates/js/translated/part.js:693 msgid "Edit Parameter" msgstr "" -#: templates/js/translated/company.js:696 templates/js/translated/part.js:698 +#: templates/js/translated/company.js:696 templates/js/translated/part.js:705 msgid "Delete Parameter" msgstr "" @@ -7346,7 +7380,7 @@ msgid "NO" msgstr "" #: templates/js/translated/label.js:29 templates/js/translated/report.js:118 -#: templates/js/translated/stock.js:624 +#: templates/js/translated/stock.js:706 msgid "Select Stock Items" msgstr "" @@ -7502,11 +7536,11 @@ msgstr "" msgid "Export Order" msgstr "" -#: templates/js/translated/order.js:211 templates/js/translated/stock.js:423 +#: templates/js/translated/order.js:211 templates/js/translated/stock.js:505 msgid "Format" msgstr "" -#: templates/js/translated/order.js:212 templates/js/translated/stock.js:424 +#: templates/js/translated/order.js:212 templates/js/translated/stock.js:506 msgid "Select file format" msgstr "" @@ -7522,7 +7556,7 @@ msgstr "" msgid "Quantity to receive" msgstr "" -#: templates/js/translated/order.js:360 templates/js/translated/stock.js:1673 +#: templates/js/translated/order.js:360 templates/js/translated/stock.js:1755 msgid "Stock Status" msgstr "" @@ -7546,321 +7580,321 @@ msgstr "" msgid "Receive Purchase Order Items" msgstr "" -#: templates/js/translated/order.js:627 +#: templates/js/translated/order.js:627 templates/js/translated/part.js:746 msgid "No purchase orders found" msgstr "" -#: templates/js/translated/order.js:652 templates/js/translated/order.js:1063 +#: templates/js/translated/order.js:659 templates/js/translated/order.js:1062 msgid "Order is overdue" msgstr "" -#: templates/js/translated/order.js:772 templates/js/translated/order.js:1646 +#: templates/js/translated/order.js:771 templates/js/translated/order.js:1645 msgid "Edit Line Item" msgstr "" -#: templates/js/translated/order.js:784 templates/js/translated/order.js:1657 +#: templates/js/translated/order.js:783 templates/js/translated/order.js:1656 msgid "Delete Line Item" msgstr "" -#: templates/js/translated/order.js:823 +#: templates/js/translated/order.js:822 msgid "No line items found" msgstr "" -#: templates/js/translated/order.js:850 templates/js/translated/order.js:1467 +#: templates/js/translated/order.js:849 templates/js/translated/order.js:1466 msgid "Total" msgstr "" -#: templates/js/translated/order.js:904 templates/js/translated/order.js:1492 -#: templates/js/translated/part.js:1594 templates/js/translated/part.js:1805 +#: templates/js/translated/order.js:903 templates/js/translated/order.js:1491 +#: templates/js/translated/part.js:1775 templates/js/translated/part.js:1986 msgid "Unit Price" msgstr "" -#: templates/js/translated/order.js:919 templates/js/translated/order.js:1508 +#: templates/js/translated/order.js:918 templates/js/translated/order.js:1507 msgid "Total Price" msgstr "" -#: templates/js/translated/order.js:997 templates/js/translated/order.js:1617 +#: templates/js/translated/order.js:996 templates/js/translated/order.js:1616 msgid "Edit line item" msgstr "" -#: templates/js/translated/order.js:998 +#: templates/js/translated/order.js:997 msgid "Delete line item" msgstr "" -#: templates/js/translated/order.js:1002 +#: templates/js/translated/order.js:1001 templates/js/translated/part.js:878 msgid "Receive line item" msgstr "" -#: templates/js/translated/order.js:1039 +#: templates/js/translated/order.js:1038 msgid "No sales orders found" msgstr "" -#: templates/js/translated/order.js:1077 +#: templates/js/translated/order.js:1076 msgid "Invalid Customer" msgstr "" -#: templates/js/translated/order.js:1155 +#: templates/js/translated/order.js:1154 msgid "No sales order allocations found" msgstr "" -#: templates/js/translated/order.js:1248 +#: templates/js/translated/order.js:1247 msgid "Edit Stock Allocation" msgstr "" -#: templates/js/translated/order.js:1265 +#: templates/js/translated/order.js:1264 msgid "Confirm Delete Operation" msgstr "" -#: templates/js/translated/order.js:1266 +#: templates/js/translated/order.js:1265 msgid "Delete Stock Allocation" msgstr "" -#: templates/js/translated/order.js:1308 +#: templates/js/translated/order.js:1307 msgid "Stock location not specified" msgstr "" -#: templates/js/translated/order.js:1557 +#: templates/js/translated/order.js:1556 msgid "Fulfilled" msgstr "" -#: templates/js/translated/order.js:1601 +#: templates/js/translated/order.js:1600 msgid "Allocate serial numbers" msgstr "" -#: templates/js/translated/order.js:1607 +#: templates/js/translated/order.js:1606 msgid "Purchase stock" msgstr "" -#: templates/js/translated/order.js:1614 templates/js/translated/order.js:1793 +#: templates/js/translated/order.js:1613 templates/js/translated/order.js:1792 msgid "Calculate price" msgstr "" -#: templates/js/translated/order.js:1618 +#: templates/js/translated/order.js:1617 msgid "Delete line item " msgstr "" -#: templates/js/translated/order.js:1741 +#: templates/js/translated/order.js:1740 msgid "Allocate Stock Item" msgstr "" -#: templates/js/translated/order.js:1801 +#: templates/js/translated/order.js:1800 msgid "Update Unit Price" msgstr "" -#: templates/js/translated/order.js:1815 +#: templates/js/translated/order.js:1814 msgid "No matching line items" msgstr "" -#: templates/js/translated/part.js:51 +#: templates/js/translated/part.js:52 msgid "Part Attributes" msgstr "" -#: templates/js/translated/part.js:55 +#: templates/js/translated/part.js:56 msgid "Part Creation Options" msgstr "" -#: templates/js/translated/part.js:59 +#: templates/js/translated/part.js:60 msgid "Part Duplication Options" msgstr "" -#: templates/js/translated/part.js:63 +#: templates/js/translated/part.js:64 msgid "Supplier Options" msgstr "" -#: templates/js/translated/part.js:77 +#: templates/js/translated/part.js:78 msgid "Add Part Category" msgstr "" -#: templates/js/translated/part.js:166 +#: templates/js/translated/part.js:162 msgid "Create Initial Stock" msgstr "" -#: templates/js/translated/part.js:167 +#: templates/js/translated/part.js:163 msgid "Create an initial stock item for this part" msgstr "" -#: templates/js/translated/part.js:174 +#: templates/js/translated/part.js:170 msgid "Initial Stock Quantity" msgstr "" -#: templates/js/translated/part.js:175 +#: templates/js/translated/part.js:171 msgid "Specify initial stock quantity for this part" msgstr "" -#: templates/js/translated/part.js:182 +#: templates/js/translated/part.js:178 msgid "Select destination stock location" msgstr "" -#: templates/js/translated/part.js:193 +#: templates/js/translated/part.js:196 msgid "Copy Category Parameters" msgstr "" -#: templates/js/translated/part.js:194 +#: templates/js/translated/part.js:197 msgid "Copy parameter templates from selected part category" msgstr "" -#: templates/js/translated/part.js:202 +#: templates/js/translated/part.js:205 msgid "Add Supplier Data" msgstr "" -#: templates/js/translated/part.js:203 +#: templates/js/translated/part.js:206 msgid "Create initial supplier data for this part" msgstr "" -#: templates/js/translated/part.js:259 +#: templates/js/translated/part.js:262 msgid "Copy Image" msgstr "" -#: templates/js/translated/part.js:260 +#: templates/js/translated/part.js:263 msgid "Copy image from original part" msgstr "" -#: templates/js/translated/part.js:268 +#: templates/js/translated/part.js:271 msgid "Copy bill of materials from original part" msgstr "" -#: templates/js/translated/part.js:275 +#: templates/js/translated/part.js:278 msgid "Copy Parameters" msgstr "" -#: templates/js/translated/part.js:276 +#: templates/js/translated/part.js:279 msgid "Copy parameter data from original part" msgstr "" -#: templates/js/translated/part.js:289 +#: templates/js/translated/part.js:292 msgid "Parent part category" msgstr "" -#: templates/js/translated/part.js:333 +#: templates/js/translated/part.js:336 msgid "Edit Part" msgstr "" -#: templates/js/translated/part.js:335 +#: templates/js/translated/part.js:338 msgid "Part edited" msgstr "" -#: templates/js/translated/part.js:403 +#: templates/js/translated/part.js:410 msgid "You are subscribed to notifications for this item" msgstr "" -#: templates/js/translated/part.js:405 +#: templates/js/translated/part.js:412 msgid "You have subscribed to notifications for this item" msgstr "" -#: templates/js/translated/part.js:410 +#: templates/js/translated/part.js:417 msgid "Subscribe to notifications for this item" msgstr "" -#: templates/js/translated/part.js:412 +#: templates/js/translated/part.js:419 msgid "You have unsubscribed to notifications for this item" msgstr "" -#: templates/js/translated/part.js:441 templates/js/translated/part.js:526 +#: templates/js/translated/part.js:448 templates/js/translated/part.js:533 msgid "Trackable part" msgstr "" -#: templates/js/translated/part.js:445 templates/js/translated/part.js:530 +#: templates/js/translated/part.js:452 templates/js/translated/part.js:537 msgid "Virtual part" msgstr "" -#: templates/js/translated/part.js:457 +#: templates/js/translated/part.js:464 msgid "Subscribed part" msgstr "" -#: templates/js/translated/part.js:461 +#: templates/js/translated/part.js:468 msgid "Salable part" msgstr "" -#: templates/js/translated/part.js:576 +#: templates/js/translated/part.js:583 msgid "No variants found" msgstr "" -#: templates/js/translated/part.js:765 +#: templates/js/translated/part.js:946 msgid "Delete part relationship" msgstr "" -#: templates/js/translated/part.js:789 +#: templates/js/translated/part.js:970 msgid "Delete Part Relationship" msgstr "" -#: templates/js/translated/part.js:856 templates/js/translated/part.js:1116 +#: templates/js/translated/part.js:1037 templates/js/translated/part.js:1297 msgid "No parts found" msgstr "" -#: templates/js/translated/part.js:1026 +#: templates/js/translated/part.js:1207 msgid "No category" msgstr "" -#: templates/js/translated/part.js:1049 +#: templates/js/translated/part.js:1230 #: templates/js/translated/table_filters.js:381 msgid "Low stock" msgstr "" -#: templates/js/translated/part.js:1140 templates/js/translated/part.js:1312 -#: templates/js/translated/stock.js:1832 +#: templates/js/translated/part.js:1321 templates/js/translated/part.js:1493 +#: templates/js/translated/stock.js:1914 msgid "Display as list" msgstr "" -#: templates/js/translated/part.js:1156 +#: templates/js/translated/part.js:1337 msgid "Display as grid" msgstr "" -#: templates/js/translated/part.js:1331 templates/js/translated/stock.js:1851 +#: templates/js/translated/part.js:1512 templates/js/translated/stock.js:1933 msgid "Display as tree" msgstr "" -#: templates/js/translated/part.js:1395 +#: templates/js/translated/part.js:1576 msgid "Subscribed category" msgstr "" -#: templates/js/translated/part.js:1409 templates/js/translated/stock.js:1895 +#: templates/js/translated/part.js:1590 templates/js/translated/stock.js:1977 msgid "Path" msgstr "" -#: templates/js/translated/part.js:1453 +#: templates/js/translated/part.js:1634 msgid "No test templates matching query" msgstr "" -#: templates/js/translated/part.js:1504 templates/js/translated/stock.js:816 +#: templates/js/translated/part.js:1685 templates/js/translated/stock.js:898 msgid "Edit test result" msgstr "" -#: templates/js/translated/part.js:1505 templates/js/translated/stock.js:817 +#: templates/js/translated/part.js:1686 templates/js/translated/stock.js:899 msgid "Delete test result" msgstr "" -#: templates/js/translated/part.js:1511 +#: templates/js/translated/part.js:1692 msgid "This test is defined for a parent part" msgstr "" -#: templates/js/translated/part.js:1533 +#: templates/js/translated/part.js:1714 msgid "Edit Test Result Template" msgstr "" -#: templates/js/translated/part.js:1547 +#: templates/js/translated/part.js:1728 msgid "Delete Test Result Template" msgstr "" -#: templates/js/translated/part.js:1572 +#: templates/js/translated/part.js:1753 #, python-brace-format msgid "No ${human_name} information found" msgstr "" -#: templates/js/translated/part.js:1627 +#: templates/js/translated/part.js:1808 #, python-brace-format msgid "Edit ${human_name}" msgstr "" -#: templates/js/translated/part.js:1628 +#: templates/js/translated/part.js:1809 #, python-brace-format msgid "Delete ${human_name}" msgstr "" -#: templates/js/translated/part.js:1729 +#: templates/js/translated/part.js:1910 msgid "Single Price" msgstr "" -#: templates/js/translated/part.js:1748 +#: templates/js/translated/part.js:1929 msgid "Single Price Difference" msgstr "" @@ -7930,276 +7964,300 @@ msgstr "" msgid "Sales Order(s) must be selected before printing report" msgstr "" -#: templates/js/translated/stock.js:70 +#: templates/js/translated/stock.js:71 msgid "Serialize Stock Item" msgstr "" -#: templates/js/translated/stock.js:88 templates/js/translated/stock.js:167 +#: templates/js/translated/stock.js:89 templates/js/translated/stock.js:168 msgid "Next available serial number" msgstr "" -#: templates/js/translated/stock.js:90 templates/js/translated/stock.js:169 +#: templates/js/translated/stock.js:91 templates/js/translated/stock.js:170 msgid "Latest serial number" msgstr "" -#: templates/js/translated/stock.js:104 +#: templates/js/translated/stock.js:105 msgid "Parent stock location" msgstr "" -#: templates/js/translated/stock.js:140 +#: templates/js/translated/stock.js:141 msgid "New Stock Location" msgstr "" -#: templates/js/translated/stock.js:180 +#: templates/js/translated/stock.js:181 msgid "This part cannot be serialized" msgstr "" -#: templates/js/translated/stock.js:219 +#: templates/js/translated/stock.js:220 msgid "Enter initial quantity for this stock item" msgstr "" -#: templates/js/translated/stock.js:225 +#: templates/js/translated/stock.js:226 msgid "Enter serial numbers for new stock (or leave blank)" msgstr "" -#: templates/js/translated/stock.js:368 +#: templates/js/translated/stock.js:369 msgid "Created new stock item" msgstr "" -#: templates/js/translated/stock.js:381 +#: templates/js/translated/stock.js:382 msgid "Created multiple stock items" msgstr "" -#: templates/js/translated/stock.js:420 +#: templates/js/translated/stock.js:407 +msgid "Find Serial Number" +msgstr "" + +#: templates/js/translated/stock.js:411 templates/js/translated/stock.js:412 +msgid "Enter serial number" +msgstr "" + +#: templates/js/translated/stock.js:428 +msgid "Enter a serial number" +msgstr "" + +#: templates/js/translated/stock.js:448 +msgid "No matching serial number" +msgstr "" + +#: templates/js/translated/stock.js:457 +msgid "More than one matching result found" +msgstr "" + +#: templates/js/translated/stock.js:502 msgid "Export Stock" msgstr "" -#: templates/js/translated/stock.js:431 +#: templates/js/translated/stock.js:513 msgid "Include Sublocations" msgstr "" -#: templates/js/translated/stock.js:432 +#: templates/js/translated/stock.js:514 msgid "Include stock items in sublocations" msgstr "" -#: templates/js/translated/stock.js:474 +#: templates/js/translated/stock.js:556 msgid "Transfer Stock" msgstr "" -#: templates/js/translated/stock.js:475 +#: templates/js/translated/stock.js:557 msgid "Move" msgstr "" -#: templates/js/translated/stock.js:481 +#: templates/js/translated/stock.js:563 msgid "Count Stock" msgstr "" -#: templates/js/translated/stock.js:482 +#: templates/js/translated/stock.js:564 msgid "Count" msgstr "" -#: templates/js/translated/stock.js:486 +#: templates/js/translated/stock.js:568 msgid "Remove Stock" msgstr "" -#: templates/js/translated/stock.js:487 +#: templates/js/translated/stock.js:569 msgid "Take" msgstr "" -#: templates/js/translated/stock.js:491 +#: templates/js/translated/stock.js:573 msgid "Add Stock" msgstr "" -#: templates/js/translated/stock.js:492 users/models.py:200 +#: templates/js/translated/stock.js:574 users/models.py:200 msgid "Add" msgstr "" -#: templates/js/translated/stock.js:496 templates/stock_table.html:56 +#: templates/js/translated/stock.js:578 templates/stock_table.html:56 msgid "Delete Stock" msgstr "" -#: templates/js/translated/stock.js:585 +#: templates/js/translated/stock.js:667 msgid "Quantity cannot be adjusted for serialized stock" msgstr "" -#: templates/js/translated/stock.js:585 +#: templates/js/translated/stock.js:667 msgid "Specify stock quantity" msgstr "" -#: templates/js/translated/stock.js:625 +#: templates/js/translated/stock.js:707 msgid "You must select at least one available stock item" msgstr "" -#: templates/js/translated/stock.js:783 +#: templates/js/translated/stock.js:865 msgid "PASS" msgstr "" -#: templates/js/translated/stock.js:785 +#: templates/js/translated/stock.js:867 msgid "FAIL" msgstr "" -#: templates/js/translated/stock.js:790 +#: templates/js/translated/stock.js:872 msgid "NO RESULT" msgstr "" -#: templates/js/translated/stock.js:812 +#: templates/js/translated/stock.js:894 msgid "Add test result" msgstr "" -#: templates/js/translated/stock.js:838 +#: templates/js/translated/stock.js:920 msgid "No test results found" msgstr "" -#: templates/js/translated/stock.js:895 +#: templates/js/translated/stock.js:977 msgid "Test Date" msgstr "" -#: templates/js/translated/stock.js:1002 +#: templates/js/translated/stock.js:1084 msgid "In production" msgstr "" -#: templates/js/translated/stock.js:1006 +#: templates/js/translated/stock.js:1088 msgid "Installed in Stock Item" msgstr "" -#: templates/js/translated/stock.js:1010 +#: templates/js/translated/stock.js:1092 msgid "Shipped to customer" msgstr "" -#: templates/js/translated/stock.js:1014 +#: templates/js/translated/stock.js:1096 msgid "Assigned to Sales Order" msgstr "" -#: templates/js/translated/stock.js:1020 +#: templates/js/translated/stock.js:1102 msgid "No stock location set" msgstr "" -#: templates/js/translated/stock.js:1178 +#: templates/js/translated/stock.js:1260 msgid "Stock item is in production" msgstr "" -#: templates/js/translated/stock.js:1183 +#: templates/js/translated/stock.js:1265 msgid "Stock item assigned to sales order" msgstr "" -#: templates/js/translated/stock.js:1186 +#: templates/js/translated/stock.js:1268 msgid "Stock item assigned to customer" msgstr "" -#: templates/js/translated/stock.js:1190 +#: templates/js/translated/stock.js:1272 msgid "Stock item has expired" msgstr "" -#: templates/js/translated/stock.js:1192 +#: templates/js/translated/stock.js:1274 msgid "Stock item will expire soon" msgstr "" -#: templates/js/translated/stock.js:1196 +#: templates/js/translated/stock.js:1278 msgid "Stock item has been allocated" msgstr "" -#: templates/js/translated/stock.js:1200 +#: templates/js/translated/stock.js:1282 msgid "Stock item has been installed in another item" msgstr "" -#: templates/js/translated/stock.js:1207 +#: templates/js/translated/stock.js:1289 msgid "Stock item has been rejected" msgstr "" -#: templates/js/translated/stock.js:1209 +#: templates/js/translated/stock.js:1291 msgid "Stock item is lost" msgstr "" -#: templates/js/translated/stock.js:1211 +#: templates/js/translated/stock.js:1293 msgid "Stock item is destroyed" msgstr "" -#: templates/js/translated/stock.js:1215 +#: templates/js/translated/stock.js:1297 #: templates/js/translated/table_filters.js:183 msgid "Depleted" msgstr "" -#: templates/js/translated/stock.js:1265 +#: templates/js/translated/stock.js:1347 msgid "Stocktake" msgstr "" -#: templates/js/translated/stock.js:1338 +#: templates/js/translated/stock.js:1420 msgid "Supplier part not specified" msgstr "" -#: templates/js/translated/stock.js:1376 +#: templates/js/translated/stock.js:1458 msgid "No stock items matching query" msgstr "" -#: templates/js/translated/stock.js:1397 templates/js/translated/stock.js:1445 +#: templates/js/translated/stock.js:1479 templates/js/translated/stock.js:1527 msgid "items" msgstr "" -#: templates/js/translated/stock.js:1485 +#: templates/js/translated/stock.js:1567 msgid "batches" msgstr "" -#: templates/js/translated/stock.js:1512 +#: templates/js/translated/stock.js:1594 msgid "locations" msgstr "" -#: templates/js/translated/stock.js:1514 +#: templates/js/translated/stock.js:1596 msgid "Undefined location" msgstr "" -#: templates/js/translated/stock.js:1688 +#: templates/js/translated/stock.js:1770 msgid "Set Stock Status" msgstr "" -#: templates/js/translated/stock.js:1702 +#: templates/js/translated/stock.js:1784 msgid "Select Status Code" msgstr "" -#: templates/js/translated/stock.js:1703 +#: templates/js/translated/stock.js:1785 msgid "Status code must be selected" msgstr "" -#: templates/js/translated/stock.js:1927 +#: templates/js/translated/stock.js:2009 msgid "Invalid date" msgstr "" -#: templates/js/translated/stock.js:1974 +#: templates/js/translated/stock.js:2031 +msgid "Details" +msgstr "" + +#: templates/js/translated/stock.js:2056 msgid "Location no longer exists" msgstr "" -#: templates/js/translated/stock.js:1993 +#: templates/js/translated/stock.js:2075 msgid "Purchase order no longer exists" msgstr "" -#: templates/js/translated/stock.js:2012 +#: templates/js/translated/stock.js:2094 msgid "Customer no longer exists" msgstr "" -#: templates/js/translated/stock.js:2030 +#: templates/js/translated/stock.js:2112 msgid "Stock item no longer exists" msgstr "" -#: templates/js/translated/stock.js:2053 +#: templates/js/translated/stock.js:2135 msgid "Added" msgstr "" -#: templates/js/translated/stock.js:2061 +#: templates/js/translated/stock.js:2143 msgid "Removed" msgstr "" -#: templates/js/translated/stock.js:2102 +#: templates/js/translated/stock.js:2184 msgid "Edit tracking entry" msgstr "" -#: templates/js/translated/stock.js:2103 +#: templates/js/translated/stock.js:2185 msgid "Delete tracking entry" msgstr "" -#: templates/js/translated/stock.js:2154 +#: templates/js/translated/stock.js:2236 msgid "No installed items" msgstr "" -#: templates/js/translated/stock.js:2205 +#: templates/js/translated/stock.js:2287 msgid "Uninstall Stock Item" msgstr "" diff --git a/InvenTree/locale/pl/LC_MESSAGES/django.po b/InvenTree/locale/pl/LC_MESSAGES/django.po index 035a0f00a1..ce000b6277 100644 --- a/InvenTree/locale/pl/LC_MESSAGES/django.po +++ b/InvenTree/locale/pl/LC_MESSAGES/django.po @@ -2,8 +2,8 @@ msgid "" msgstr "" "Project-Id-Version: inventree\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2021-11-30 21:49+0000\n" -"PO-Revision-Date: 2021-11-30 21:52\n" +"POT-Creation-Date: 2021-12-03 10:37+0000\n" +"PO-Revision-Date: 2021-12-03 11:26\n" "Last-Translator: \n" "Language-Team: Polish\n" "Language: pl_PL\n" @@ -114,129 +114,130 @@ msgstr "Nie znaleziono numerów seryjnych" msgid "Number of unique serial number ({s}) must match quantity ({q})" msgstr "Ilość numerów seryjnych ({s}) musi odpowiadać ilości ({q})" -#: InvenTree/models.py:114 +#: InvenTree/models.py:120 msgid "Missing file" msgstr "" -#: InvenTree/models.py:115 +#: InvenTree/models.py:121 msgid "Missing external link" msgstr "" -#: InvenTree/models.py:126 stock/models.py:1874 +#: InvenTree/models.py:132 stock/models.py:1864 #: templates/js/translated/attachment.js:117 msgid "Attachment" msgstr "Załącznik" -#: InvenTree/models.py:127 +#: InvenTree/models.py:133 msgid "Select file to attach" msgstr "Wybierz plik do załączenia" -#: InvenTree/models.py:133 company/models.py:131 company/models.py:348 +#: InvenTree/models.py:139 company/models.py:131 company/models.py:348 #: company/models.py:564 order/models.py:163 part/models.py:797 #: report/templates/report/inventree_build_order_base.html:165 #: templates/js/translated/company.js:537 -#: templates/js/translated/company.js:826 templates/js/translated/part.js:1077 +#: templates/js/translated/company.js:826 templates/js/translated/part.js:1258 msgid "Link" msgstr "Łącze" -#: InvenTree/models.py:134 build/models.py:330 part/models.py:798 -#: stock/models.py:540 +#: InvenTree/models.py:140 build/models.py:330 part/models.py:798 +#: stock/models.py:530 msgid "Link to external URL" msgstr "Link do zewnętrznego adresu URL" -#: InvenTree/models.py:137 templates/js/translated/attachment.js:161 +#: InvenTree/models.py:143 templates/js/translated/attachment.js:161 msgid "Comment" msgstr "Komentarz" -#: InvenTree/models.py:137 +#: InvenTree/models.py:143 msgid "File comment" msgstr "Komentarz pliku" -#: InvenTree/models.py:143 InvenTree/models.py:144 common/models.py:1185 +#: InvenTree/models.py:149 InvenTree/models.py:150 common/models.py:1185 #: common/models.py:1186 part/models.py:2205 part/models.py:2225 #: report/templates/report/inventree_test_report_base.html:96 -#: templates/js/translated/stock.js:2084 +#: templates/js/translated/stock.js:2166 msgid "User" msgstr "Użytkownik" -#: InvenTree/models.py:147 +#: InvenTree/models.py:153 msgid "upload date" msgstr "data przesłania" -#: InvenTree/models.py:170 +#: InvenTree/models.py:176 msgid "Filename must not be empty" msgstr "" -#: InvenTree/models.py:193 +#: InvenTree/models.py:199 msgid "Invalid attachment directory" msgstr "" -#: InvenTree/models.py:203 +#: InvenTree/models.py:209 #, python-brace-format msgid "Filename contains illegal character '{c}'" msgstr "" -#: InvenTree/models.py:206 +#: InvenTree/models.py:212 msgid "Filename missing extension" msgstr "" -#: InvenTree/models.py:213 +#: InvenTree/models.py:219 msgid "Attachment with this filename already exists" msgstr "" -#: InvenTree/models.py:220 +#: InvenTree/models.py:226 msgid "Error renaming file" msgstr "Błąd zmiany nazwy pliku" -#: InvenTree/models.py:255 +#: InvenTree/models.py:261 msgid "Invalid choice" msgstr "Błędny wybór" -#: InvenTree/models.py:271 InvenTree/models.py:272 company/models.py:415 +#: InvenTree/models.py:277 InvenTree/models.py:278 company/models.py:415 #: label/models.py:112 part/models.py:741 part/models.py:2389 -#: part/templates/part/detail.html:25 report/models.py:181 -#: templates/InvenTree/settings/settings.html:259 -#: templates/js/translated/company.js:638 templates/js/translated/part.js:499 -#: templates/js/translated/part.js:636 templates/js/translated/part.js:1384 -#: templates/js/translated/stock.js:1877 +#: report/models.py:181 templates/InvenTree/settings/settings.html:259 +#: templates/js/translated/company.js:638 templates/js/translated/part.js:506 +#: templates/js/translated/part.js:643 templates/js/translated/part.js:1565 +#: templates/js/translated/stock.js:1959 msgid "Name" msgstr "Nazwa" -#: InvenTree/models.py:278 build/models.py:207 +#: InvenTree/models.py:284 build/models.py:207 #: build/templates/build/detail.html:25 company/models.py:354 -#: company/models.py:570 company/templates/company/manufacturer_part.html:80 -#: company/templates/company/supplier_part.html:81 label/models.py:119 -#: order/models.py:161 part/models.py:764 part/templates/part/detail.html:30 +#: company/models.py:570 company/templates/company/company_base.html:68 +#: company/templates/company/manufacturer_part.html:76 +#: company/templates/company/supplier_part.html:73 label/models.py:119 +#: order/models.py:161 part/models.py:764 part/templates/part/category.html:70 +#: part/templates/part/part_base.html:163 #: part/templates/part/set_category.html:14 report/models.py:194 #: report/models.py:553 report/models.py:592 #: report/templates/report/inventree_build_order_base.html:118 -#: stock/templates/stock/location.html:108 templates/js/translated/bom.js:215 +#: stock/templates/stock/location.html:89 templates/js/translated/bom.js:215 #: templates/js/translated/bom.js:428 templates/js/translated/build.js:1621 #: templates/js/translated/company.js:345 #: templates/js/translated/company.js:548 -#: templates/js/translated/company.js:837 templates/js/translated/order.js:673 -#: templates/js/translated/order.js:855 templates/js/translated/order.js:1091 -#: templates/js/translated/part.js:558 templates/js/translated/part.js:752 -#: templates/js/translated/part.js:837 templates/js/translated/part.js:1007 -#: templates/js/translated/part.js:1403 templates/js/translated/part.js:1472 -#: templates/js/translated/stock.js:1151 templates/js/translated/stock.js:1889 -#: templates/js/translated/stock.js:1934 +#: templates/js/translated/company.js:837 templates/js/translated/order.js:680 +#: templates/js/translated/order.js:854 templates/js/translated/order.js:1090 +#: templates/js/translated/part.js:565 templates/js/translated/part.js:933 +#: templates/js/translated/part.js:1018 templates/js/translated/part.js:1188 +#: templates/js/translated/part.js:1584 templates/js/translated/part.js:1653 +#: templates/js/translated/stock.js:1233 templates/js/translated/stock.js:1971 +#: templates/js/translated/stock.js:2016 msgid "Description" msgstr "Opis" -#: InvenTree/models.py:279 +#: InvenTree/models.py:285 msgid "Description (optional)" msgstr "Opis (opcjonalny)" -#: InvenTree/models.py:287 +#: InvenTree/models.py:293 msgid "parent" msgstr "nadrzędny" -#: InvenTree/serializers.py:62 part/models.py:2674 +#: InvenTree/serializers.py:65 part/models.py:2674 msgid "Must be a valid number" msgstr "Numer musi być prawidłowy" -#: InvenTree/serializers.py:285 +#: InvenTree/serializers.py:299 msgid "Filename" msgstr "Nazwa pliku" @@ -361,7 +362,7 @@ msgid "Returned" msgstr "Zwrócone" #: InvenTree/status_codes.py:143 -#: order/templates/order/sales_order_base.html:147 +#: order/templates/order/sales_order_base.html:148 msgid "Shipped" msgstr "Wysłane" @@ -566,7 +567,7 @@ msgid "Barcode associated with StockItem" msgstr "" #: build/forms.py:36 build/models.py:1283 -#: build/templates/build/build_base.html:124 +#: build/templates/build/build_base.html:132 #: build/templates/build/detail.html:35 common/models.py:1225 #: company/forms.py:42 company/templates/company/supplier_part.html:251 #: order/forms.py:102 order/models.py:729 order/models.py:991 @@ -574,26 +575,27 @@ msgstr "" #: order/templates/order/order_wizard/select_parts.html:34 part/forms.py:223 #: part/forms.py:239 part/forms.py:255 part/models.py:2576 #: part/templates/part/bom_upload/match_parts.html:31 -#: part/templates/part/detail.html:1076 part/templates/part/detail.html:1162 +#: part/templates/part/detail.html:967 part/templates/part/detail.html:1053 #: part/templates/part/part_pricing.html:16 #: report/templates/report/inventree_build_order_base.html:114 #: report/templates/report/inventree_po_report.html:91 #: report/templates/report/inventree_so_report.html:91 #: report/templates/report/inventree_test_report_base.html:81 #: report/templates/report/inventree_test_report_base.html:139 -#: stock/forms.py:156 stock/serializers.py:286 -#: stock/templates/stock/item_base.html:256 +#: stock/forms.py:156 stock/serializers.py:291 +#: stock/templates/stock/item_base.html:174 #: templates/js/translated/barcode.js:385 templates/js/translated/bom.js:443 #: templates/js/translated/build.js:235 templates/js/translated/build.js:435 #: templates/js/translated/build.js:629 templates/js/translated/build.js:639 #: templates/js/translated/build.js:1015 templates/js/translated/build.js:1362 #: templates/js/translated/model_renderers.js:99 -#: templates/js/translated/order.js:892 templates/js/translated/order.js:1205 -#: templates/js/translated/order.js:1283 templates/js/translated/order.js:1290 -#: templates/js/translated/order.js:1379 templates/js/translated/order.js:1479 -#: templates/js/translated/part.js:1615 templates/js/translated/part.js:1738 -#: templates/js/translated/part.js:1816 templates/js/translated/stock.js:377 -#: templates/js/translated/stock.js:2069 templates/js/translated/stock.js:2171 +#: templates/js/translated/order.js:891 templates/js/translated/order.js:1204 +#: templates/js/translated/order.js:1282 templates/js/translated/order.js:1289 +#: templates/js/translated/order.js:1378 templates/js/translated/order.js:1478 +#: templates/js/translated/part.js:843 templates/js/translated/part.js:1796 +#: templates/js/translated/part.js:1919 templates/js/translated/part.js:1997 +#: templates/js/translated/stock.js:378 templates/js/translated/stock.js:2151 +#: templates/js/translated/stock.js:2253 msgid "Quantity" msgstr "Ilość" @@ -602,8 +604,8 @@ msgid "Enter quantity for build output" msgstr "" #: build/forms.py:41 order/forms.py:96 stock/forms.py:95 -#: stock/serializers.py:307 templates/js/translated/stock.js:224 -#: templates/js/translated/stock.js:378 +#: stock/serializers.py:312 templates/js/translated/stock.js:225 +#: templates/js/translated/stock.js:379 msgid "Serial Numbers" msgstr "Numer seryjny" @@ -646,7 +648,7 @@ msgstr "Zlecenie Budowy" #: build/templates/build/index.html:8 build/templates/build/index.html:12 #: order/templates/order/sales_order_detail.html:42 #: order/templates/order/so_sidebar.html:7 -#: part/templates/part/part_sidebar.html:22 templates/InvenTree/index.html:221 +#: part/templates/part/part_sidebar.html:20 templates/InvenTree/index.html:221 #: templates/InvenTree/search.html:145 #: templates/InvenTree/settings/sidebar.html:42 users/models.py:44 msgid "Build Orders" @@ -662,7 +664,7 @@ msgstr "Odwołanie do zamówienia wykonania" #: report/templates/report/inventree_po_report.html:92 #: report/templates/report/inventree_so_report.html:92 #: templates/js/translated/bom.js:435 templates/js/translated/build.js:1119 -#: templates/js/translated/order.js:886 templates/js/translated/order.js:1473 +#: templates/js/translated/order.js:885 templates/js/translated/order.js:1472 msgid "Reference" msgstr "Referencja" @@ -670,7 +672,7 @@ msgstr "Referencja" msgid "Brief description of the build" msgstr "Krótki opis budowy" -#: build/models.py:219 build/templates/build/build_base.html:156 +#: build/models.py:219 build/templates/build/build_base.html:164 #: build/templates/build/detail.html:88 msgid "Parent Build" msgstr "Budowa nadrzędna" @@ -679,7 +681,7 @@ msgstr "Budowa nadrzędna" msgid "BuildOrder to which this build is allocated" msgstr "Zamówienie budowy, do którego budowa jest przypisana" -#: build/models.py:225 build/templates/build/build_base.html:119 +#: build/models.py:225 build/templates/build/build_base.html:77 #: build/templates/build/detail.html:30 company/models.py:705 #: order/models.py:789 order/models.py:860 #: order/templates/order/order_wizard/select_parts.html:32 part/models.py:357 @@ -700,10 +702,10 @@ msgstr "Zamówienie budowy, do którego budowa jest przypisana" #: templates/js/translated/build.js:988 templates/js/translated/build.js:1359 #: templates/js/translated/build.js:1626 templates/js/translated/company.js:489 #: templates/js/translated/company.js:746 templates/js/translated/order.js:426 -#: templates/js/translated/order.js:840 templates/js/translated/order.js:1457 -#: templates/js/translated/part.js:737 templates/js/translated/part.js:818 -#: templates/js/translated/part.js:985 templates/js/translated/stock.js:508 -#: templates/js/translated/stock.js:1108 templates/js/translated/stock.js:2159 +#: templates/js/translated/order.js:839 templates/js/translated/order.js:1456 +#: templates/js/translated/part.js:918 templates/js/translated/part.js:999 +#: templates/js/translated/part.js:1166 templates/js/translated/stock.js:590 +#: templates/js/translated/stock.js:1190 templates/js/translated/stock.js:2241 msgid "Part" msgstr "Część" @@ -751,7 +753,7 @@ msgstr "Ukończone elementy" msgid "Number of stock items which have been completed" msgstr "Ilość produktów magazynowych które zostały ukończone" -#: build/models.py:277 part/templates/part/part_base.html:216 +#: build/models.py:277 part/templates/part/part_base.html:234 msgid "Build Status" msgstr "Status budowania" @@ -759,7 +761,7 @@ msgstr "Status budowania" msgid "Build status code" msgstr "Kod statusu budowania" -#: build/models.py:285 stock/models.py:544 +#: build/models.py:285 stock/models.py:534 msgid "Batch Code" msgstr "Kod partii" @@ -768,7 +770,7 @@ msgid "Batch code for this build output" msgstr "Kod partii dla wyjścia budowy" #: build/models.py:292 order/models.py:165 part/models.py:936 -#: part/templates/part/detail.html:86 templates/js/translated/order.js:1104 +#: part/templates/part/part_base.html:313 templates/js/translated/order.js:1103 msgid "Creation Date" msgstr "Data utworzenia" @@ -797,12 +799,12 @@ msgstr "Wydany przez" msgid "User who issued this build order" msgstr "Użytkownik, który wydał to zamówienie" -#: build/models.py:323 build/templates/build/build_base.html:177 +#: build/models.py:323 build/templates/build/build_base.html:185 #: build/templates/build/detail.html:116 order/models.py:179 -#: order/templates/order/order_base.html:154 -#: order/templates/order/sales_order_base.html:161 part/models.py:940 +#: order/templates/order/order_base.html:158 +#: order/templates/order/sales_order_base.html:162 part/models.py:940 #: report/templates/report/inventree_build_order_base.html:159 -#: templates/js/translated/build.js:1680 templates/js/translated/order.js:700 +#: templates/js/translated/build.js:1680 templates/js/translated/order.js:699 msgid "Responsible" msgstr "Odpowiedzialny" @@ -811,10 +813,10 @@ msgid "User responsible for this build order" msgstr "Użytkownik odpowiedzialny za to zamówienie budowy" #: build/models.py:329 build/templates/build/detail.html:102 -#: company/templates/company/manufacturer_part.html:87 -#: company/templates/company/supplier_part.html:88 -#: part/templates/part/detail.html:80 stock/models.py:538 -#: stock/templates/stock/item_base.html:346 +#: company/templates/company/manufacturer_part.html:102 +#: company/templates/company/supplier_part.html:126 +#: part/templates/part/part_base.html:354 stock/models.py:528 +#: stock/templates/stock/item_base.html:374 msgid "External Link" msgstr "Link Zewnętrzny" @@ -824,15 +826,15 @@ msgstr "Link Zewnętrzny" #: order/models.py:183 order/models.py:738 #: order/templates/order/po_sidebar.html:11 #: order/templates/order/so_sidebar.html:11 part/models.py:925 -#: part/templates/part/detail.html:223 part/templates/part/part_sidebar.html:52 +#: part/templates/part/detail.html:116 part/templates/part/part_sidebar.html:50 #: report/templates/report/inventree_build_order_base.html:173 -#: stock/forms.py:154 stock/forms.py:204 stock/forms.py:238 stock/models.py:610 -#: stock/models.py:1774 stock/models.py:1880 stock/serializers.py:325 -#: stock/serializers.py:583 stock/templates/stock/stock_sidebar.html:21 +#: stock/forms.py:154 stock/forms.py:204 stock/forms.py:238 stock/models.py:600 +#: stock/models.py:1764 stock/models.py:1870 stock/serializers.py:330 +#: stock/serializers.py:588 stock/templates/stock/stock_sidebar.html:21 #: templates/js/translated/barcode.js:58 templates/js/translated/bom.js:599 -#: templates/js/translated/company.js:842 templates/js/translated/order.js:985 -#: templates/js/translated/order.js:1583 templates/js/translated/stock.js:891 -#: templates/js/translated/stock.js:1370 +#: templates/js/translated/company.js:842 templates/js/translated/order.js:984 +#: templates/js/translated/order.js:1582 templates/js/translated/stock.js:973 +#: templates/js/translated/stock.js:1452 msgid "Notes" msgstr "Uwagi" @@ -877,7 +879,7 @@ msgstr "" msgid "Selected stock item not found in BOM" msgstr "" -#: build/models.py:1253 stock/templates/stock/item_base.html:318 +#: build/models.py:1253 stock/templates/stock/item_base.html:346 #: templates/InvenTree/search.html:143 templates/js/translated/build.js:1599 #: templates/navbar.html:33 msgid "Build" @@ -890,11 +892,11 @@ msgstr "" #: build/models.py:1270 build/serializers.py:328 #: stock/templates/stock/item_base.html:8 #: stock/templates/stock/item_base.html:16 -#: stock/templates/stock/item_base.html:340 +#: stock/templates/stock/item_base.html:368 #: templates/js/translated/build.js:408 templates/js/translated/build.js:413 #: templates/js/translated/build.js:1361 templates/js/translated/build.js:1742 -#: templates/js/translated/order.js:1178 templates/js/translated/order.js:1183 -#: templates/js/translated/stock.js:2020 +#: templates/js/translated/order.js:1177 templates/js/translated/order.js:1182 +#: templates/js/translated/stock.js:2102 msgid "Stock Item" msgstr "Element magazynowy" @@ -934,16 +936,16 @@ msgstr "" msgid "This build output is not fully allocated" msgstr "" -#: build/serializers.py:190 order/serializers.py:219 order/serializers.py:287 -#: stock/forms.py:236 stock/serializers.py:318 stock/serializers.py:685 -#: stock/templates/stock/item_base.html:286 +#: build/serializers.py:190 order/serializers.py:228 order/serializers.py:296 +#: stock/forms.py:236 stock/serializers.py:323 stock/serializers.py:690 +#: stock/templates/stock/item_base.html:314 #: templates/js/translated/barcode.js:384 #: templates/js/translated/barcode.js:557 templates/js/translated/build.js:420 #: templates/js/translated/build.js:1027 templates/js/translated/order.js:348 -#: templates/js/translated/order.js:1190 templates/js/translated/order.js:1298 -#: templates/js/translated/order.js:1304 templates/js/translated/part.js:181 -#: templates/js/translated/stock.js:510 templates/js/translated/stock.js:1251 -#: templates/js/translated/stock.js:1961 +#: templates/js/translated/order.js:1189 templates/js/translated/order.js:1297 +#: templates/js/translated/order.js:1303 templates/js/translated/part.js:177 +#: templates/js/translated/stock.js:592 templates/js/translated/stock.js:1333 +#: templates/js/translated/stock.js:2043 msgid "Location" msgstr "Lokalizacja" @@ -951,13 +953,13 @@ msgstr "Lokalizacja" msgid "Location for completed build outputs" msgstr "" -#: build/serializers.py:197 build/templates/build/build_base.html:129 +#: build/serializers.py:197 build/templates/build/build_base.html:137 #: build/templates/build/detail.html:63 order/models.py:572 -#: order/serializers.py:240 stock/templates/stock/item_base.html:409 +#: order/serializers.py:249 stock/templates/stock/item_base.html:180 #: templates/js/translated/barcode.js:140 templates/js/translated/build.js:1655 -#: templates/js/translated/order.js:431 templates/js/translated/order.js:677 -#: templates/js/translated/order.js:1096 templates/js/translated/stock.js:1226 -#: templates/js/translated/stock.js:2038 templates/js/translated/stock.js:2187 +#: templates/js/translated/order.js:431 templates/js/translated/order.js:1095 +#: templates/js/translated/stock.js:1308 templates/js/translated/stock.js:2120 +#: templates/js/translated/stock.js:2269 msgid "Status" msgstr "Status" @@ -986,8 +988,8 @@ msgstr "" msgid "Item must be in stock" msgstr "" -#: build/serializers.py:348 order/models.py:316 order/serializers.py:233 -#: stock/models.py:381 stock/models.py:1103 stock/serializers.py:298 +#: build/serializers.py:348 order/models.py:316 order/serializers.py:242 +#: stock/models.py:371 stock/models.py:1093 stock/serializers.py:303 msgid "Quantity must be greater than zero" msgstr "Ilość musi być większa niż zero" @@ -1031,7 +1033,7 @@ msgid "Edit Build" msgstr "Edytuj Budowę" #: build/templates/build/build_base.html:56 -#: build/templates/build/build_base.html:207 build/views.py:56 +#: build/templates/build/build_base.html:215 build/views.py:56 msgid "Cancel Build" msgstr "Anuluj Budowę" @@ -1041,93 +1043,95 @@ msgstr "" #: build/templates/build/build_base.html:64 #: build/templates/build/build_base.html:65 -#: build/templates/build/build_base.html:223 +#: build/templates/build/build_base.html:231 msgid "Complete Build" msgstr "" -#: build/templates/build/build_base.html:79 +#: build/templates/build/build_base.html:82 +msgid "Build Description" +msgstr "" + +#: build/templates/build/build_base.html:91 #, python-format msgid "This Build Order is allocated to Sales Order %(link)s" msgstr "" -#: build/templates/build/build_base.html:86 +#: build/templates/build/build_base.html:98 #, python-format msgid "This Build Order is a child of Build Order %(link)s" msgstr "" -#: build/templates/build/build_base.html:93 +#: build/templates/build/build_base.html:105 msgid "Build Order is ready to mark as completed" msgstr "" -#: build/templates/build/build_base.html:98 +#: build/templates/build/build_base.html:110 msgid "Build Order cannot be completed as outstanding outputs remain" msgstr "" -#: build/templates/build/build_base.html:103 +#: build/templates/build/build_base.html:115 msgid "Required build quantity has not yet been completed" msgstr "" -#: build/templates/build/build_base.html:108 +#: build/templates/build/build_base.html:120 msgid "Stock has not been fully allocated to this Build Order" msgstr "" -#: build/templates/build/build_base.html:138 +#: build/templates/build/build_base.html:146 #: build/templates/build/detail.html:132 -#: order/templates/order/order_base.html:140 -#: order/templates/order/sales_order_base.html:140 +#: order/templates/order/order_base.html:144 +#: order/templates/order/sales_order_base.html:141 #: report/templates/report/inventree_build_order_base.html:126 -#: templates/js/translated/build.js:1692 templates/js/translated/order.js:690 -#: templates/js/translated/order.js:1109 +#: templates/js/translated/build.js:1692 templates/js/translated/order.js:689 +#: templates/js/translated/order.js:1108 msgid "Target Date" msgstr "Data docelowa" -#: build/templates/build/build_base.html:143 +#: build/templates/build/build_base.html:151 #, python-format msgid "This build was due on %(target)s" msgstr "" -#: build/templates/build/build_base.html:143 -#: build/templates/build/build_base.html:188 -#: order/templates/order/order_base.html:81 -#: order/templates/order/order_base.html:102 -#: order/templates/order/sales_order_base.html:78 -#: order/templates/order/sales_order_base.html:107 +#: build/templates/build/build_base.html:151 +#: build/templates/build/build_base.html:196 +#: order/templates/order/order_base.html:98 +#: order/templates/order/sales_order_base.html:93 #: templates/js/translated/table_filters.js:294 #: templates/js/translated/table_filters.js:322 #: templates/js/translated/table_filters.js:339 msgid "Overdue" msgstr "Zaległe" -#: build/templates/build/build_base.html:150 +#: build/templates/build/build_base.html:158 #: build/templates/build/detail.html:68 build/templates/build/detail.html:143 #: templates/js/translated/build.js:1641 #: templates/js/translated/table_filters.js:304 msgid "Completed" msgstr "Zakończone" -#: build/templates/build/build_base.html:163 +#: build/templates/build/build_base.html:171 #: build/templates/build/detail.html:95 order/models.py:857 #: order/templates/order/sales_order_base.html:9 #: order/templates/order/sales_order_base.html:28 #: order/templates/order/sales_order_ship.html:25 #: report/templates/report/inventree_build_order_base.html:136 #: report/templates/report/inventree_so_report.html:77 -#: stock/templates/stock/item_base.html:280 -#: templates/js/translated/order.js:1051 +#: stock/templates/stock/item_base.html:308 +#: templates/js/translated/order.js:1050 msgid "Sales Order" msgstr "Zamówienie zakupu" -#: build/templates/build/build_base.html:170 +#: build/templates/build/build_base.html:178 #: build/templates/build/detail.html:109 #: report/templates/report/inventree_build_order_base.html:153 msgid "Issued By" msgstr "Dodane przez" -#: build/templates/build/build_base.html:215 +#: build/templates/build/build_base.html:223 msgid "Incomplete Outputs" msgstr "" -#: build/templates/build/build_base.html:216 +#: build/templates/build/build_base.html:224 msgid "Build Order cannot be completed as incomplete build outputs remain" msgstr "" @@ -1188,7 +1192,7 @@ msgid "Stock can be taken from any available location." msgstr "" #: build/templates/build/detail.html:50 order/models.py:811 stock/forms.py:150 -#: templates/js/translated/order.js:432 templates/js/translated/order.js:974 +#: templates/js/translated/order.js:432 templates/js/translated/order.js:973 msgid "Destination" msgstr "Przeznaczenie" @@ -1201,16 +1205,16 @@ msgid "Allocated Parts" msgstr "" #: build/templates/build/detail.html:81 -#: stock/templates/stock/item_base.html:304 -#: templates/js/translated/stock.js:1240 templates/js/translated/stock.js:2194 +#: stock/templates/stock/item_base.html:332 +#: templates/js/translated/stock.js:1322 templates/js/translated/stock.js:2276 #: templates/js/translated/table_filters.js:151 #: templates/js/translated/table_filters.js:233 msgid "Batch" msgstr "Partia" #: build/templates/build/detail.html:127 -#: order/templates/order/order_base.html:127 -#: order/templates/order/sales_order_base.html:134 +#: order/templates/order/order_base.html:131 +#: order/templates/order/sales_order_base.html:135 #: templates/js/translated/build.js:1663 msgid "Created" msgstr "Utworzony" @@ -1254,7 +1258,7 @@ msgstr "Zamów wymagane komponenty" #: build/templates/build/detail.html:185 #: company/templates/company/detail.html:38 #: company/templates/company/detail.html:85 order/views.py:509 -#: part/templates/part/category.html:166 +#: part/templates/part/category.html:173 msgid "Order Parts" msgstr "Zamów części" @@ -1306,8 +1310,8 @@ msgstr "" #: order/templates/order/po_sidebar.html:9 #: order/templates/order/purchase_order_detail.html:60 #: order/templates/order/sales_order_detail.html:52 -#: order/templates/order/so_sidebar.html:9 part/templates/part/detail.html:300 -#: part/templates/part/part_sidebar.html:50 stock/templates/stock/item.html:95 +#: order/templates/order/so_sidebar.html:9 part/templates/part/detail.html:193 +#: part/templates/part/part_sidebar.html:48 stock/templates/stock/item.html:95 #: stock/templates/stock/stock_sidebar.html:19 msgid "Attachments" msgstr "Załączniki" @@ -1323,7 +1327,7 @@ msgstr "Notatki tworzenia" #: order/templates/order/purchase_order_detail.html:108 #: order/templates/order/sales_order_detail.html:72 #: order/templates/order/sales_order_detail.html:99 -#: part/templates/part/detail.html:227 stock/templates/stock/item.html:115 +#: part/templates/part/detail.html:120 stock/templates/stock/item.html:115 #: stock/templates/stock/item.html:205 msgid "Edit Notes" msgstr "" @@ -1336,7 +1340,7 @@ msgstr "" msgid "All untracked stock items have been allocated" msgstr "" -#: build/templates/build/index.html:18 part/templates/part/detail.html:407 +#: build/templates/build/index.html:18 part/templates/part/detail.html:300 msgid "New Build Order" msgstr "Nowe zlecenie budowy" @@ -1380,7 +1384,7 @@ msgstr "Utwórz zlecenie budowy" msgid "Maximum output quantity is " msgstr "" -#: build/views.py:122 stock/serializers.py:356 stock/views.py:1290 +#: build/views.py:122 stock/serializers.py:361 stock/views.py:1290 msgid "Serial numbers already exist" msgstr "Numer seryjny już istnieje" @@ -1675,7 +1679,7 @@ msgid "Parts are trackable by default" msgstr "Części są domyślnie z możliwością śledzenia" #: common/models.py:745 part/models.py:920 -#: part/templates/part/part_base.html:144 +#: part/templates/part/part_base.html:147 #: templates/js/translated/table_filters.js:42 msgid "Virtual" msgstr "Wirtualny" @@ -2142,7 +2146,7 @@ msgstr "" #: common/models.py:1233 company/serializers.py:264 #: company/templates/company/supplier_part.html:256 -#: templates/js/translated/part.js:1620 +#: templates/js/translated/part.js:852 templates/js/translated/part.js:1801 msgid "Price" msgstr "Cena" @@ -2206,7 +2210,7 @@ msgstr "Opis firmy" msgid "Description of the company" msgstr "Opis firmy" -#: company/models.py:112 company/templates/company/company_base.html:70 +#: company/models.py:112 company/templates/company/company_base.html:97 #: templates/js/translated/company.js:349 msgid "Website" msgstr "Strona WWW" @@ -2215,7 +2219,7 @@ msgstr "Strona WWW" msgid "Company website URL" msgstr "Witryna internetowa firmy" -#: company/models.py:117 company/templates/company/company_base.html:88 +#: company/models.py:117 company/templates/company/company_base.html:115 msgid "Address" msgstr "Adres" @@ -2231,7 +2235,7 @@ msgstr "Numer telefonu" msgid "Contact phone number" msgstr "Numer telefonu kontaktowego" -#: company/models.py:125 company/templates/company/company_base.html:102 +#: company/models.py:125 company/templates/company/company_base.html:129 #: templates/InvenTree/settings/user.html:47 msgid "Email" msgstr "Adres E-Mail" @@ -2240,7 +2244,7 @@ msgstr "Adres E-Mail" msgid "Contact email address" msgstr "Kontaktowy adres e-mail" -#: company/models.py:128 company/templates/company/company_base.html:109 +#: company/models.py:128 company/templates/company/company_base.html:136 msgid "Contact" msgstr "Kontakt" @@ -2281,7 +2285,7 @@ msgid "Does this company manufacture parts?" msgstr "Czy to przedsiębiorstwo produkuje części?" #: company/models.py:152 company/serializers.py:270 -#: company/templates/company/company_base.html:76 stock/serializers.py:172 +#: company/templates/company/company_base.html:103 stock/serializers.py:177 msgid "Currency" msgstr "Waluta" @@ -2289,8 +2293,8 @@ msgstr "Waluta" msgid "Default currency used for this company" msgstr "" -#: company/models.py:320 company/models.py:535 stock/models.py:484 -#: stock/templates/stock/item_base.html:224 +#: company/models.py:320 company/models.py:535 stock/models.py:474 +#: stock/templates/stock/item_base.html:135 msgid "Base Part" msgstr "Część bazowa" @@ -2298,29 +2302,29 @@ msgstr "Część bazowa" msgid "Select part" msgstr "Wybierz część" -#: company/models.py:335 company/templates/company/company_base.html:116 -#: company/templates/company/manufacturer_part.html:93 -#: company/templates/company/supplier_part.html:104 -#: stock/templates/stock/item_base.html:353 +#: company/models.py:335 company/templates/company/company_base.html:73 +#: company/templates/company/manufacturer_part.html:91 +#: company/templates/company/supplier_part.html:97 +#: stock/templates/stock/item_base.html:381 #: templates/js/translated/company.js:333 #: templates/js/translated/company.js:514 -#: templates/js/translated/company.js:797 templates/js/translated/part.js:229 +#: templates/js/translated/company.js:797 templates/js/translated/part.js:232 msgid "Manufacturer" msgstr "Producent" -#: company/models.py:336 templates/js/translated/part.js:230 +#: company/models.py:336 templates/js/translated/part.js:233 msgid "Select manufacturer" msgstr "Wybierz producenta" -#: company/models.py:342 company/templates/company/manufacturer_part.html:97 -#: company/templates/company/supplier_part.html:112 +#: company/models.py:342 company/templates/company/manufacturer_part.html:96 +#: company/templates/company/supplier_part.html:105 #: templates/js/translated/company.js:530 -#: templates/js/translated/company.js:815 templates/js/translated/order.js:874 -#: templates/js/translated/part.js:240 +#: templates/js/translated/company.js:815 templates/js/translated/order.js:873 +#: templates/js/translated/part.js:243 templates/js/translated/part.js:832 msgid "MPN" msgstr "MPN" -#: company/models.py:343 templates/js/translated/part.js:241 +#: company/models.py:343 templates/js/translated/part.js:244 msgid "Manufacturer Part Number" msgstr "Numer producenta" @@ -2335,7 +2339,7 @@ msgstr "" #: company/models.py:409 company/models.py:558 #: company/templates/company/manufacturer_part.html:6 #: company/templates/company/manufacturer_part.html:23 -#: stock/templates/stock/item_base.html:363 +#: stock/templates/stock/item_base.html:391 msgid "Manufacturer Part" msgstr "Część producenta" @@ -2345,8 +2349,8 @@ msgstr "" #: company/models.py:422 #: report/templates/report/inventree_test_report_base.html:95 -#: stock/models.py:1867 templates/js/translated/company.js:644 -#: templates/js/translated/part.js:645 templates/js/translated/stock.js:878 +#: stock/models.py:1857 templates/js/translated/company.js:644 +#: templates/js/translated/part.js:652 templates/js/translated/stock.js:960 msgid "Value" msgstr "" @@ -2355,9 +2359,9 @@ msgid "Parameter value" msgstr "" #: company/models.py:429 part/models.py:882 part/models.py:2397 -#: part/templates/part/detail.html:59 +#: part/templates/part/part_base.html:288 #: templates/InvenTree/settings/settings.html:264 -#: templates/js/translated/company.js:650 templates/js/translated/part.js:651 +#: templates/js/translated/company.js:650 templates/js/translated/part.js:658 msgid "Units" msgstr "Jednostki" @@ -2369,28 +2373,28 @@ msgstr "" msgid "Linked manufacturer part must reference the same base part" msgstr "" -#: company/models.py:545 company/templates/company/company_base.html:121 -#: company/templates/company/supplier_part.html:94 order/models.py:263 -#: order/templates/order/order_base.html:108 +#: company/models.py:545 company/templates/company/company_base.html:78 +#: company/templates/company/supplier_part.html:87 order/models.py:263 +#: order/templates/order/order_base.html:112 #: order/templates/order/order_wizard/select_pos.html:30 part/bom.py:219 -#: part/bom.py:247 stock/templates/stock/item_base.html:370 +#: part/bom.py:247 stock/templates/stock/item_base.html:398 #: templates/js/translated/company.js:337 -#: templates/js/translated/company.js:771 templates/js/translated/order.js:660 -#: templates/js/translated/part.js:210 +#: templates/js/translated/company.js:771 templates/js/translated/order.js:667 +#: templates/js/translated/part.js:213 templates/js/translated/part.js:800 msgid "Supplier" msgstr "Dostawca" -#: company/models.py:546 templates/js/translated/part.js:211 +#: company/models.py:546 templates/js/translated/part.js:214 msgid "Select supplier" msgstr "Wybierz dostawcę" -#: company/models.py:551 company/templates/company/supplier_part.html:98 -#: part/bom.py:220 part/bom.py:248 templates/js/translated/order.js:861 -#: templates/js/translated/part.js:221 +#: company/models.py:551 company/templates/company/supplier_part.html:91 +#: part/bom.py:220 part/bom.py:248 templates/js/translated/order.js:860 +#: templates/js/translated/part.js:224 templates/js/translated/part.js:818 msgid "SKU" msgstr "SKU" -#: company/models.py:552 templates/js/translated/part.js:222 +#: company/models.py:552 templates/js/translated/part.js:225 msgid "Supplier stock keeping unit" msgstr "" @@ -2406,7 +2410,7 @@ msgstr "" msgid "Supplier part description" msgstr "" -#: company/models.py:576 company/templates/company/supplier_part.html:126 +#: company/models.py:576 company/templates/company/supplier_part.html:119 #: part/models.py:2588 report/templates/report/inventree_po_report.html:93 #: report/templates/report/inventree_so_report.html:93 msgid "Note" @@ -2420,9 +2424,9 @@ msgstr "koszt podstawowy" msgid "Minimum charge (e.g. stocking fee)" msgstr "" -#: company/models.py:582 company/templates/company/supplier_part.html:119 -#: stock/models.py:507 stock/templates/stock/item_base.html:311 -#: templates/js/translated/company.js:847 templates/js/translated/stock.js:1366 +#: company/models.py:582 company/templates/company/supplier_part.html:112 +#: stock/models.py:497 stock/templates/stock/item_base.html:339 +#: templates/js/translated/company.js:847 templates/js/translated/stock.js:1448 msgid "Packaging" msgstr "Opakowanie" @@ -2457,43 +2461,56 @@ msgstr "Firma" msgid "Create Purchase Order" msgstr "" -#: company/templates/company/company_base.html:27 +#: company/templates/company/company_base.html:26 +msgid "Company actions" +msgstr "" + +#: company/templates/company/company_base.html:31 msgid "Edit company information" msgstr "" #: company/templates/company/company_base.html:32 -#: company/templates/company/company_base.html:148 +#: templates/js/translated/company.js:265 +msgid "Edit Company" +msgstr "Edytuj firmę" + +#: company/templates/company/company_base.html:36 +msgid "Delete company" +msgstr "" + +#: company/templates/company/company_base.html:37 +#: company/templates/company/company_base.html:159 msgid "Delete Company" msgstr "" -#: company/templates/company/company_base.html:48 +#: company/templates/company/company_base.html:53 #: part/templates/part/part_thumb.html:12 msgid "Upload new image" msgstr "Prześlij nowy obraz" -#: company/templates/company/company_base.html:51 +#: company/templates/company/company_base.html:56 #: part/templates/part/part_thumb.html:14 msgid "Download image from URL" msgstr "" -#: company/templates/company/company_base.html:81 -msgid "Uses default currency" -msgstr "" - -#: company/templates/company/company_base.html:95 -msgid "Phone" -msgstr "Telefon" - -#: company/templates/company/company_base.html:126 order/models.py:567 -#: order/templates/order/sales_order_base.html:114 stock/models.py:525 -#: stock/models.py:526 stock/templates/stock/item_base.html:263 -#: templates/js/translated/company.js:329 templates/js/translated/order.js:1073 -#: templates/js/translated/stock.js:2002 +#: company/templates/company/company_base.html:83 order/models.py:567 +#: order/templates/order/sales_order_base.html:115 stock/models.py:515 +#: stock/models.py:516 stock/templates/stock/item_base.html:291 +#: templates/js/translated/company.js:329 templates/js/translated/order.js:1072 +#: templates/js/translated/stock.js:2084 msgid "Customer" msgstr "Klient" -#: company/templates/company/company_base.html:194 -#: part/templates/part/part_base.html:342 +#: company/templates/company/company_base.html:108 +msgid "Uses default currency" +msgstr "" + +#: company/templates/company/company_base.html:122 +msgid "Phone" +msgstr "Telefon" + +#: company/templates/company/company_base.html:205 +#: part/templates/part/part_base.html:471 msgid "Upload Image" msgstr "" @@ -2509,23 +2526,23 @@ msgid "Create new supplier part" msgstr "Utwórz nowego dostawcę części" #: company/templates/company/detail.html:20 -#: company/templates/company/manufacturer_part.html:112 -#: part/templates/part/detail.html:440 +#: company/templates/company/manufacturer_part.html:118 +#: part/templates/part/detail.html:333 msgid "New Supplier Part" msgstr "Nowy dostawca części" #: company/templates/company/detail.html:32 #: company/templates/company/detail.html:79 -#: company/templates/company/manufacturer_part.html:121 -#: company/templates/company/manufacturer_part.html:150 -#: part/templates/part/category.html:160 part/templates/part/detail.html:449 -#: part/templates/part/detail.html:477 +#: company/templates/company/manufacturer_part.html:127 +#: company/templates/company/manufacturer_part.html:156 +#: part/templates/part/category.html:167 part/templates/part/detail.html:342 +#: part/templates/part/detail.html:370 msgid "Options" msgstr "Opcje" #: company/templates/company/detail.html:37 #: company/templates/company/detail.html:84 -#: part/templates/part/category.html:166 +#: part/templates/part/category.html:173 msgid "Order parts" msgstr "Zamów części" @@ -2547,7 +2564,7 @@ msgstr "Części producenta" msgid "Create new manufacturer part" msgstr "Utwórz nową część producenta" -#: company/templates/company/detail.html:67 part/templates/part/detail.html:467 +#: company/templates/company/detail.html:67 part/templates/part/detail.html:360 msgid "New Manufacturer Part" msgstr "Nowa część producenta" @@ -2561,7 +2578,7 @@ msgstr "Zapasy dostawcy" #: order/templates/order/order_base.html:13 #: order/templates/order/purchase_orders.html:8 #: order/templates/order/purchase_orders.html:12 -#: part/templates/part/detail.html:171 part/templates/part/part_sidebar.html:35 +#: part/templates/part/detail.html:64 part/templates/part/part_sidebar.html:33 #: templates/InvenTree/index.html:252 templates/InvenTree/search.html:203 #: templates/InvenTree/settings/sidebar.html:44 templates/navbar.html:45 #: users/models.py:45 @@ -2583,7 +2600,7 @@ msgstr "" #: order/templates/order/sales_order_base.html:13 #: order/templates/order/sales_orders.html:8 #: order/templates/order/sales_orders.html:15 -#: part/templates/part/detail.html:194 part/templates/part/part_sidebar.html:39 +#: part/templates/part/detail.html:87 part/templates/part/part_sidebar.html:37 #: templates/InvenTree/index.html:283 templates/InvenTree/search.html:223 #: templates/InvenTree/settings/sidebar.html:46 templates/navbar.html:56 #: users/models.py:46 @@ -2610,14 +2627,14 @@ msgid "Company Notes" msgstr "" #: company/templates/company/detail.html:383 -#: company/templates/company/manufacturer_part.html:209 -#: part/templates/part/detail.html:520 +#: company/templates/company/manufacturer_part.html:215 +#: part/templates/part/detail.html:413 msgid "Delete Supplier Parts?" msgstr "" #: company/templates/company/detail.html:384 -#: company/templates/company/manufacturer_part.html:210 -#: part/templates/part/detail.html:521 +#: company/templates/company/manufacturer_part.html:216 +#: part/templates/part/detail.html:414 msgid "All selected supplier parts will be deleted" msgstr "" @@ -2634,7 +2651,7 @@ msgstr "Producenci" #: company/templates/company/manufacturer_part.html:35 #: company/templates/company/supplier_part.html:34 #: company/templates/company/supplier_part.html:159 -#: part/templates/part/detail.html:174 part/templates/part/part_base.html:76 +#: part/templates/part/detail.html:67 part/templates/part/part_base.html:76 msgid "Order part" msgstr "Zamów część" @@ -2648,60 +2665,60 @@ msgstr "Edytuj część producenta" msgid "Delete manufacturer part" msgstr "Usuń cześć producenta" -#: company/templates/company/manufacturer_part.html:70 -#: company/templates/company/supplier_part.html:71 +#: company/templates/company/manufacturer_part.html:66 +#: company/templates/company/supplier_part.html:63 msgid "Internal Part" msgstr "Część wewnętrzna" -#: company/templates/company/manufacturer_part.html:108 +#: company/templates/company/manufacturer_part.html:114 #: company/templates/company/supplier_part.html:15 company/views.py:49 -#: part/templates/part/part_sidebar.html:33 part/templates/part/prices.html:163 +#: part/templates/part/part_sidebar.html:31 part/templates/part/prices.html:163 #: templates/InvenTree/search.html:194 templates/navbar.html:43 msgid "Suppliers" msgstr "Dostawcy" -#: company/templates/company/manufacturer_part.html:123 -#: part/templates/part/detail.html:451 +#: company/templates/company/manufacturer_part.html:129 +#: part/templates/part/detail.html:344 msgid "Delete supplier parts" msgstr "" -#: company/templates/company/manufacturer_part.html:123 -#: company/templates/company/manufacturer_part.html:152 -#: company/templates/company/manufacturer_part.html:248 -#: part/templates/part/detail.html:451 part/templates/part/detail.html:479 +#: company/templates/company/manufacturer_part.html:129 +#: company/templates/company/manufacturer_part.html:158 +#: company/templates/company/manufacturer_part.html:254 +#: part/templates/part/detail.html:344 part/templates/part/detail.html:372 #: templates/js/translated/company.js:425 templates/js/translated/helpers.js:31 #: users/models.py:204 msgid "Delete" msgstr "Usuń" -#: company/templates/company/manufacturer_part.html:137 +#: company/templates/company/manufacturer_part.html:143 #: company/templates/company/manufacturer_part_sidebar.html:5 #: part/templates/part/category_sidebar.html:17 -#: part/templates/part/detail.html:277 part/templates/part/part_sidebar.html:10 +#: part/templates/part/detail.html:170 part/templates/part/part_sidebar.html:8 msgid "Parameters" msgstr "Parametry" -#: company/templates/company/manufacturer_part.html:141 -#: part/templates/part/detail.html:282 +#: company/templates/company/manufacturer_part.html:147 +#: part/templates/part/detail.html:175 #: templates/InvenTree/settings/category.html:12 #: templates/InvenTree/settings/part.html:65 msgid "New Parameter" msgstr "" -#: company/templates/company/manufacturer_part.html:152 +#: company/templates/company/manufacturer_part.html:158 msgid "Delete parameters" msgstr "" -#: company/templates/company/manufacturer_part.html:185 -#: part/templates/part/detail.html:976 +#: company/templates/company/manufacturer_part.html:191 +#: part/templates/part/detail.html:867 msgid "Add Parameter" msgstr "Dodaj parametr" -#: company/templates/company/manufacturer_part.html:233 +#: company/templates/company/manufacturer_part.html:239 msgid "Selected parameters will be deleted" msgstr "" -#: company/templates/company/manufacturer_part.html:245 +#: company/templates/company/manufacturer_part.html:251 msgid "Delete Parameters" msgstr "" @@ -2722,9 +2739,9 @@ msgid "Assigned Stock Items" msgstr "" #: company/templates/company/supplier_part.html:7 -#: company/templates/company/supplier_part.html:24 stock/models.py:492 -#: stock/templates/stock/item_base.html:375 -#: templates/js/translated/company.js:787 templates/js/translated/stock.js:1323 +#: company/templates/company/supplier_part.html:24 stock/models.py:482 +#: stock/templates/stock/item_base.html:403 +#: templates/js/translated/company.js:787 templates/js/translated/stock.js:1405 msgid "Supplier Part" msgstr "" @@ -2744,13 +2761,13 @@ msgid "Supplier Part Stock" msgstr "" #: company/templates/company/supplier_part.html:141 -#: part/templates/part/detail.html:127 stock/templates/stock/location.html:147 +#: part/templates/part/detail.html:20 stock/templates/stock/location.html:162 msgid "Create new stock item" msgstr "" #: company/templates/company/supplier_part.html:142 -#: part/templates/part/detail.html:128 stock/templates/stock/location.html:148 -#: templates/js/translated/stock.js:354 +#: part/templates/part/detail.html:21 stock/templates/stock/location.html:163 +#: templates/js/translated/stock.js:355 msgid "New Stock Item" msgstr "" @@ -2760,7 +2777,7 @@ msgid "Supplier Part Orders" msgstr "" #: company/templates/company/supplier_part.html:160 -#: part/templates/part/detail.html:175 +#: part/templates/part/detail.html:68 msgid "Order Part" msgstr "" @@ -2796,15 +2813,15 @@ msgid "Delete price break" msgstr "" #: company/templates/company/supplier_part_navbar.html:15 -#: part/templates/part/part_sidebar.html:16 +#: part/templates/part/part_sidebar.html:14 #: stock/templates/stock/loc_link.html:3 stock/templates/stock/location.html:14 #: stock/templates/stock/stock_app_base.html:10 #: templates/InvenTree/search.html:156 #: templates/InvenTree/settings/sidebar.html:40 -#: templates/js/translated/bom.js:216 templates/js/translated/part.js:427 -#: templates/js/translated/part.js:562 templates/js/translated/part.js:878 -#: templates/js/translated/part.js:1039 templates/js/translated/stock.js:509 -#: templates/js/translated/stock.js:1162 templates/navbar.html:26 +#: templates/js/translated/bom.js:216 templates/js/translated/part.js:434 +#: templates/js/translated/part.js:569 templates/js/translated/part.js:1059 +#: templates/js/translated/part.js:1220 templates/js/translated/stock.js:591 +#: templates/js/translated/stock.js:1244 templates/navbar.html:26 msgid "Stock" msgstr "Stan" @@ -2818,16 +2835,16 @@ msgid "Supplier Part Pricing" msgstr "" #: company/templates/company/supplier_part_navbar.html:29 -#: part/templates/part/part_sidebar.html:30 +#: part/templates/part/part_sidebar.html:28 msgid "Pricing" msgstr "Cennik" #: company/templates/company/supplier_part_sidebar.html:5 -#: stock/templates/stock/location.html:118 -#: stock/templates/stock/location.html:132 -#: stock/templates/stock/location.html:144 +#: stock/templates/stock/location.html:133 +#: stock/templates/stock/location.html:147 +#: stock/templates/stock/location.html:159 #: stock/templates/stock/location_sidebar.html:7 -#: templates/InvenTree/search.html:158 templates/js/translated/stock.js:1901 +#: templates/InvenTree/search.html:158 templates/js/translated/stock.js:1983 #: templates/stats.html:93 templates/stats.html:102 users/models.py:43 msgid "Stock Items" msgstr "" @@ -2947,7 +2964,7 @@ msgstr "" msgid "Place order" msgstr "Złóż zamówienie" -#: order/forms.py:37 order/templates/order/order_base.html:59 +#: order/forms.py:37 order/templates/order/order_base.html:60 msgid "Mark order as complete" msgstr "Oznacz zamówienie jako zakończone" @@ -3000,8 +3017,8 @@ msgstr "Status zamówienia zakupu" msgid "Company from which the items are being ordered" msgstr "" -#: order/models.py:267 order/templates/order/order_base.html:114 -#: templates/js/translated/order.js:669 +#: order/models.py:267 order/templates/order/order_base.html:118 +#: templates/js/translated/order.js:676 msgid "Supplier Reference" msgstr "" @@ -3061,7 +3078,7 @@ msgstr "" msgid "Target date for order completion. Order will be overdue after this date." msgstr "" -#: order/models.py:582 templates/js/translated/order.js:1114 +#: order/models.py:582 templates/js/translated/order.js:1113 msgid "Shipment Date" msgstr "Data wysyłki" @@ -3086,16 +3103,16 @@ msgid "Line item notes" msgstr "" #: order/models.py:768 order/models.py:856 -#: templates/js/translated/order.js:1166 +#: templates/js/translated/order.js:1165 msgid "Order" msgstr "Zamówienie" #: order/models.py:769 order/templates/order/order_base.html:9 #: order/templates/order/order_base.html:18 #: report/templates/report/inventree_po_report.html:77 -#: stock/templates/stock/item_base.html:325 -#: templates/js/translated/order.js:638 templates/js/translated/stock.js:1300 -#: templates/js/translated/stock.js:1983 +#: stock/templates/stock/item_base.html:353 +#: templates/js/translated/order.js:638 templates/js/translated/part.js:775 +#: templates/js/translated/stock.js:1382 templates/js/translated/stock.js:2065 msgid "Purchase Order" msgstr "Zlecenie zakupu" @@ -3103,9 +3120,10 @@ msgstr "Zlecenie zakupu" msgid "Supplier part" msgstr "" -#: order/models.py:797 order/templates/order/order_base.html:147 -#: order/templates/order/sales_order_base.html:154 -#: templates/js/translated/order.js:429 templates/js/translated/order.js:954 +#: order/models.py:797 order/templates/order/order_base.html:151 +#: order/templates/order/sales_order_base.html:155 +#: templates/js/translated/order.js:429 templates/js/translated/order.js:953 +#: templates/js/translated/part.js:847 templates/js/translated/part.js:873 msgid "Received" msgstr "Odebrane" @@ -3113,9 +3131,9 @@ msgstr "Odebrane" msgid "Number of items received" msgstr "" -#: order/models.py:805 part/templates/part/prices.html:176 stock/models.py:619 -#: stock/serializers.py:163 stock/templates/stock/item_base.html:332 -#: templates/js/translated/stock.js:1354 +#: order/models.py:805 part/templates/part/prices.html:176 stock/models.py:609 +#: stock/serializers.py:168 stock/templates/stock/item_base.html:360 +#: templates/js/translated/stock.js:1436 msgid "Purchase Price" msgstr "Cena zakupu" @@ -3176,47 +3194,47 @@ msgstr "" msgid "Enter stock allocation quantity" msgstr "" -#: order/serializers.py:169 +#: order/serializers.py:175 msgid "Purchase price currency" msgstr "" -#: order/serializers.py:204 +#: order/serializers.py:213 msgid "Line Item" msgstr "" -#: order/serializers.py:210 +#: order/serializers.py:219 msgid "Line item does not match purchase order" msgstr "" -#: order/serializers.py:220 order/serializers.py:288 +#: order/serializers.py:229 order/serializers.py:297 msgid "Select destination location for received items" msgstr "" -#: order/serializers.py:244 +#: order/serializers.py:253 msgid "Barcode Hash" msgstr "" -#: order/serializers.py:245 +#: order/serializers.py:254 msgid "Unique identifier field" msgstr "" -#: order/serializers.py:262 +#: order/serializers.py:271 msgid "Barcode is already in use" msgstr "" -#: order/serializers.py:300 +#: order/serializers.py:309 msgid "Line items must be provided" msgstr "" -#: order/serializers.py:317 +#: order/serializers.py:326 msgid "Destination location must be specified" msgstr "" -#: order/serializers.py:328 +#: order/serializers.py:337 msgid "Supplied barcode values must be unique" msgstr "" -#: order/serializers.py:569 +#: order/serializers.py:578 msgid "Sale price currency" msgstr "" @@ -3248,22 +3266,36 @@ msgstr "" msgid "Receive items" msgstr "" -#: order/templates/order/order_base.html:93 -#: order/templates/order/sales_order_base.html:98 +#: order/templates/order/order_base.html:58 +#: order/templates/order/purchase_order_detail.html:31 +msgid "Receive Items" +msgstr "" + +#: order/templates/order/order_base.html:62 order/views.py:185 +msgid "Complete Order" +msgstr "" + +#: order/templates/order/order_base.html:84 +#: order/templates/order/sales_order_base.html:79 msgid "Order Reference" msgstr "Numer zamówienia" -#: order/templates/order/order_base.html:98 -#: order/templates/order/sales_order_base.html:103 +#: order/templates/order/order_base.html:89 +#: order/templates/order/sales_order_base.html:84 +msgid "Order Description" +msgstr "" + +#: order/templates/order/order_base.html:94 +#: order/templates/order/sales_order_base.html:89 msgid "Order Status" msgstr "Status zamówienia" -#: order/templates/order/order_base.html:133 +#: order/templates/order/order_base.html:137 #: report/templates/report/inventree_build_order_base.html:122 msgid "Issued" msgstr "Wydany" -#: order/templates/order/order_base.html:203 +#: order/templates/order/order_base.html:207 msgid "Edit Purchase Order" msgstr "" @@ -3421,7 +3453,7 @@ msgid "Select existing purchase orders, or create new orders." msgstr "" #: order/templates/order/order_wizard/select_pos.html:31 -#: templates/js/translated/order.js:695 templates/js/translated/order.js:1119 +#: templates/js/translated/order.js:694 templates/js/translated/order.js:1118 msgid "Items" msgstr "Przedmioty" @@ -3465,10 +3497,6 @@ msgstr "Dodaj element zamówienia" msgid "Receive selected items" msgstr "" -#: order/templates/order/purchase_order_detail.html:31 -msgid "Receive Items" -msgstr "" - #: order/templates/order/purchase_order_detail.html:50 msgid "Received Items" msgstr "Otrzymane elementy" @@ -3496,16 +3524,16 @@ msgstr "" msgid "Ship Order" msgstr "Wyślij zamówienie" -#: order/templates/order/sales_order_base.html:86 +#: order/templates/order/sales_order_base.html:102 msgid "This Sales Order has not been fully allocated" msgstr "" -#: order/templates/order/sales_order_base.html:121 -#: templates/js/translated/order.js:1086 +#: order/templates/order/sales_order_base.html:122 +#: templates/js/translated/order.js:1085 msgid "Customer Reference" msgstr "" -#: order/templates/order/sales_order_base.html:194 +#: order/templates/order/sales_order_base.html:195 msgid "Edit Sales Order" msgstr "" @@ -3576,10 +3604,6 @@ msgstr "" msgid "Purchase order issued" msgstr "" -#: order/views.py:185 -msgid "Complete Order" -msgstr "" - #: order/views.py:201 msgid "Confirm order completion" msgstr "" @@ -3672,11 +3696,11 @@ msgid "This field is required" msgstr "" #: part/bom.py:125 part/models.py:81 part/models.py:816 -#: part/templates/part/category.html:90 part/templates/part/detail.html:104 +#: part/templates/part/category.html:104 part/templates/part/part_base.html:338 msgid "Default Location" msgstr "Domyślna lokalizacja" -#: part/bom.py:126 part/templates/part/part_base.html:167 +#: part/bom.py:126 part/templates/part/part_base.html:185 msgid "Available Stock" msgstr "Dostępna ilość" @@ -3793,19 +3817,19 @@ msgstr "" msgid "Part Category" msgstr "" -#: part/models.py:96 part/templates/part/category.html:117 +#: part/models.py:96 part/templates/part/category.html:124 #: templates/InvenTree/search.html:101 templates/stats.html:84 #: users/models.py:40 msgid "Part Categories" msgstr "" #: part/models.py:358 part/templates/part/cat_link.html:3 -#: part/templates/part/category.html:13 part/templates/part/category.html:122 -#: part/templates/part/category.html:142 +#: part/templates/part/category.html:13 part/templates/part/category.html:129 +#: part/templates/part/category.html:149 #: part/templates/part/category_sidebar.html:9 #: templates/InvenTree/index.html:85 templates/InvenTree/search.html:88 #: templates/InvenTree/settings/sidebar.html:36 -#: templates/js/translated/part.js:1416 templates/navbar.html:19 +#: templates/js/translated/part.js:1597 templates/navbar.html:19 #: templates/stats.html:80 templates/stats.html:89 users/models.py:41 msgid "Parts" msgstr "Części" @@ -3859,8 +3883,8 @@ msgstr "Wariant" msgid "Part description" msgstr "Opis części" -#: part/models.py:770 part/templates/part/category.html:97 -#: part/templates/part/detail.html:73 +#: part/models.py:770 part/templates/part/category.html:82 +#: part/templates/part/part_base.html:302 msgid "Keywords" msgstr "Słowa kluczowe" @@ -3869,9 +3893,10 @@ msgid "Part keywords to improve visibility in search results" msgstr "" #: part/models.py:778 part/models.py:2223 part/models.py:2472 -#: part/templates/part/detail.html:36 part/templates/part/set_category.html:15 +#: part/templates/part/part_base.html:265 +#: part/templates/part/set_category.html:15 #: templates/InvenTree/settings/settings.html:163 -#: templates/js/translated/part.js:1021 +#: templates/js/translated/part.js:1202 msgid "Category" msgstr "Kategoria" @@ -3879,9 +3904,9 @@ msgstr "Kategoria" msgid "Part category" msgstr "" -#: part/models.py:784 part/templates/part/detail.html:45 -#: templates/js/translated/part.js:550 templates/js/translated/part.js:974 -#: templates/js/translated/stock.js:1134 +#: part/models.py:784 part/templates/part/part_base.html:274 +#: templates/js/translated/part.js:557 templates/js/translated/part.js:1155 +#: templates/js/translated/stock.js:1216 msgid "IPN" msgstr "IPN" @@ -3893,8 +3918,8 @@ msgstr "" msgid "Part revision or version number" msgstr "" -#: part/models.py:792 part/templates/part/detail.html:52 report/models.py:200 -#: templates/js/translated/part.js:554 +#: part/models.py:792 part/templates/part/part_base.html:281 +#: report/models.py:200 templates/js/translated/part.js:561 msgid "Revision" msgstr "Wersja" @@ -3902,7 +3927,7 @@ msgstr "Wersja" msgid "Where is this item normally stored?" msgstr "" -#: part/models.py:861 part/templates/part/detail.html:113 +#: part/models.py:861 part/templates/part/part_base.html:347 msgid "Default Supplier" msgstr "" @@ -3918,7 +3943,7 @@ msgstr "" msgid "Expiry time (in days) for stock items of this part" msgstr "" -#: part/models.py:875 part/templates/part/part_base.html:178 +#: part/models.py:875 part/templates/part/part_base.html:196 msgid "Minimum Stock" msgstr "Minimalny stan magazynowy" @@ -4001,8 +4026,8 @@ msgstr "" msgid "Test with this name already exists for this part" msgstr "" -#: part/models.py:2310 templates/js/translated/part.js:1467 -#: templates/js/translated/stock.js:858 +#: part/models.py:2310 templates/js/translated/part.js:1648 +#: templates/js/translated/stock.js:940 msgid "Test Name" msgstr "Nazwa testu" @@ -4018,7 +4043,7 @@ msgstr "" msgid "Enter description for this test" msgstr "" -#: part/models.py:2322 templates/js/translated/part.js:1476 +#: part/models.py:2322 templates/js/translated/part.js:1657 #: templates/js/translated/table_filters.js:276 msgid "Required" msgstr "Wymagane" @@ -4027,7 +4052,7 @@ msgstr "Wymagane" msgid "Is this test required to pass?" msgstr "" -#: part/models.py:2328 templates/js/translated/part.js:1484 +#: part/models.py:2328 templates/js/translated/part.js:1665 msgid "Requires Value" msgstr "" @@ -4035,7 +4060,7 @@ msgstr "" msgid "Does this test require a value when adding a test result?" msgstr "" -#: part/models.py:2334 templates/js/translated/part.js:1491 +#: part/models.py:2334 templates/js/translated/part.js:1672 msgid "Requires Attachment" msgstr "" @@ -4150,7 +4175,7 @@ msgstr "" msgid "Stock items for variant parts can be used for this BOM item" msgstr "" -#: part/models.py:2686 stock/models.py:371 +#: part/models.py:2686 stock/models.py:361 msgid "Quantity must be integer value for trackable parts" msgstr "" @@ -4213,7 +4238,7 @@ msgstr "" msgid "The BOM for %(part)s has not been validated." msgstr "" -#: part/templates/part/bom.html:30 part/templates/part/detail.html:357 +#: part/templates/part/bom.html:30 part/templates/part/detail.html:250 msgid "BOM actions" msgstr "" @@ -4298,68 +4323,64 @@ msgstr "Stwórz nową kategorię komponentów" msgid "New Category" msgstr "" -#: part/templates/part/category.html:67 -msgid "Top level part category" -msgstr "" - -#: part/templates/part/category.html:79 +#: part/templates/part/category.html:76 part/templates/part/category.html:89 msgid "Category Path" msgstr "" -#: part/templates/part/category.html:84 -msgid "Category Description" +#: part/templates/part/category.html:90 +msgid "Top level part category" msgstr "" -#: part/templates/part/category.html:103 part/templates/part/category.html:194 +#: part/templates/part/category.html:110 part/templates/part/category.html:201 #: part/templates/part/category_sidebar.html:7 msgid "Subcategories" msgstr "" -#: part/templates/part/category.html:108 +#: part/templates/part/category.html:115 msgid "Parts (Including subcategories)" msgstr "" -#: part/templates/part/category.html:145 +#: part/templates/part/category.html:152 msgid "Export Part Data" msgstr "" -#: part/templates/part/category.html:146 part/templates/part/category.html:170 +#: part/templates/part/category.html:153 part/templates/part/category.html:177 msgid "Export" msgstr "Eksportuj" -#: part/templates/part/category.html:149 +#: part/templates/part/category.html:156 msgid "Create new part" msgstr "" -#: part/templates/part/category.html:150 templates/js/translated/bom.js:40 +#: part/templates/part/category.html:157 templates/js/translated/bom.js:40 msgid "New Part" msgstr "Nowy komponent" -#: part/templates/part/category.html:164 +#: part/templates/part/category.html:171 msgid "Set category" msgstr "Ustaw kategorię" -#: part/templates/part/category.html:164 +#: part/templates/part/category.html:171 msgid "Set Category" msgstr "Ustaw kategorię" -#: part/templates/part/category.html:168 +#: part/templates/part/category.html:175 msgid "Print Labels" msgstr "" -#: part/templates/part/category.html:170 +#: part/templates/part/category.html:177 msgid "Export Data" msgstr "Eksportuj dane" -#: part/templates/part/category.html:184 +#: part/templates/part/category.html:191 msgid "Part Parameters" msgstr "Parametry części" -#: part/templates/part/category.html:261 +#: part/templates/part/category.html:268 msgid "Create Part Category" msgstr "" -#: part/templates/part/category.html:288 +#: part/templates/part/category.html:295 msgid "Create Part" msgstr "" @@ -4402,7 +4423,7 @@ msgstr "" msgid "Import Parts" msgstr "" -#: part/templates/part/copy_part.html:9 templates/js/translated/part.js:366 +#: part/templates/part/copy_part.html:9 templates/js/translated/part.js:373 msgid "Duplicate Part" msgstr "Duplikuj część" @@ -4426,167 +4447,155 @@ msgstr "" msgid "%(full_name)s - %(desc)s (%(match_per)s%% match)" msgstr "" -#: part/templates/part/detail.html:16 -msgid "Part Details" -msgstr "" - -#: part/templates/part/detail.html:66 -msgid "Minimum stock level" -msgstr "" - -#: part/templates/part/detail.html:97 -msgid "Latest Serial Number" -msgstr "Ostatni numer seryjny" - -#: part/templates/part/detail.html:124 +#: part/templates/part/detail.html:17 msgid "Part Stock" msgstr "Zapasy części" -#: part/templates/part/detail.html:136 +#: part/templates/part/detail.html:29 #, python-format msgid "Showing stock for all variants of %(full_name)s" msgstr "" -#: part/templates/part/detail.html:146 +#: part/templates/part/detail.html:39 msgid "Part Test Templates" msgstr "" -#: part/templates/part/detail.html:151 +#: part/templates/part/detail.html:44 msgid "Add Test Template" msgstr "" -#: part/templates/part/detail.html:208 +#: part/templates/part/detail.html:101 msgid "Sales Order Allocations" msgstr "" -#: part/templates/part/detail.html:249 +#: part/templates/part/detail.html:142 msgid "Part Variants" msgstr "Warianty Części" -#: part/templates/part/detail.html:253 +#: part/templates/part/detail.html:146 msgid "Create new variant" msgstr "Utwórz nowy wariant" -#: part/templates/part/detail.html:254 +#: part/templates/part/detail.html:147 msgid "New Variant" msgstr "Nowy wariant" -#: part/templates/part/detail.html:281 +#: part/templates/part/detail.html:174 msgid "Add new parameter" msgstr "" -#: part/templates/part/detail.html:315 part/templates/part/part_sidebar.html:47 +#: part/templates/part/detail.html:208 part/templates/part/part_sidebar.html:45 msgid "Related Parts" msgstr "" -#: part/templates/part/detail.html:319 part/templates/part/detail.html:320 +#: part/templates/part/detail.html:212 part/templates/part/detail.html:213 msgid "Add Related" msgstr "Dodaj powiązane" -#: part/templates/part/detail.html:340 part/templates/part/part_sidebar.html:19 +#: part/templates/part/detail.html:233 part/templates/part/part_sidebar.html:17 msgid "Bill of Materials" msgstr "Zestawienie materiałowe" -#: part/templates/part/detail.html:345 +#: part/templates/part/detail.html:238 msgid "Export actions" msgstr "" -#: part/templates/part/detail.html:349 +#: part/templates/part/detail.html:242 msgid "Export BOM" msgstr "" -#: part/templates/part/detail.html:351 +#: part/templates/part/detail.html:244 msgid "Print BOM Report" msgstr "" -#: part/templates/part/detail.html:361 +#: part/templates/part/detail.html:254 msgid "Upload BOM" msgstr "" -#: part/templates/part/detail.html:363 templates/js/translated/part.js:267 +#: part/templates/part/detail.html:256 templates/js/translated/part.js:270 msgid "Copy BOM" msgstr "Kopiuj BOM" -#: part/templates/part/detail.html:365 part/views.py:755 +#: part/templates/part/detail.html:258 part/views.py:755 msgid "Validate BOM" msgstr "" -#: part/templates/part/detail.html:370 +#: part/templates/part/detail.html:263 msgid "New BOM Item" msgstr "" -#: part/templates/part/detail.html:371 +#: part/templates/part/detail.html:264 msgid "Add BOM Item" msgstr "" -#: part/templates/part/detail.html:384 +#: part/templates/part/detail.html:277 msgid "Assemblies" msgstr "" -#: part/templates/part/detail.html:401 +#: part/templates/part/detail.html:294 msgid "Part Builds" msgstr "" -#: part/templates/part/detail.html:426 +#: part/templates/part/detail.html:319 msgid "Build Order Allocations" msgstr "" -#: part/templates/part/detail.html:436 +#: part/templates/part/detail.html:329 msgid "Part Suppliers" msgstr "" -#: part/templates/part/detail.html:463 +#: part/templates/part/detail.html:356 msgid "Part Manufacturers" msgstr "" -#: part/templates/part/detail.html:479 +#: part/templates/part/detail.html:372 msgid "Delete manufacturer parts" msgstr "" -#: part/templates/part/detail.html:660 +#: part/templates/part/detail.html:553 msgid "Delete selected BOM items?" msgstr "" -#: part/templates/part/detail.html:661 +#: part/templates/part/detail.html:554 msgid "All selected BOM items will be deleted" msgstr "" -#: part/templates/part/detail.html:712 +#: part/templates/part/detail.html:605 msgid "Create BOM Item" msgstr "" -#: part/templates/part/detail.html:764 +#: part/templates/part/detail.html:657 msgid "Related Part" msgstr "Powiązane części" -#: part/templates/part/detail.html:772 +#: part/templates/part/detail.html:665 msgid "Add Related Part" msgstr "Dodaj powiązaną część" -#: part/templates/part/detail.html:869 +#: part/templates/part/detail.html:760 msgid "Add Test Result Template" msgstr "" -#: part/templates/part/detail.html:926 +#: part/templates/part/detail.html:817 msgid "Edit Part Notes" msgstr "" -#: part/templates/part/detail.html:1039 +#: part/templates/part/detail.html:930 #, python-format msgid "Purchase Unit Price - %(currency)s" msgstr "" -#: part/templates/part/detail.html:1051 +#: part/templates/part/detail.html:942 #, python-format msgid "Unit Price-Cost Difference - %(currency)s" msgstr "" -#: part/templates/part/detail.html:1063 +#: part/templates/part/detail.html:954 #, python-format msgid "Supplier Unit Cost - %(currency)s" msgstr "" -#: part/templates/part/detail.html:1152 +#: part/templates/part/detail.html:1043 #, python-format msgid "Unit Price - %(currency)s" msgstr "" @@ -4668,86 +4677,108 @@ msgstr "Edytuj część" msgid "Delete part" msgstr "Usuń część" -#: part/templates/part/part_base.html:109 +#: part/templates/part/part_base.html:112 msgid "Part is a template part (variants can be made from this part)" msgstr "" -#: part/templates/part/part_base.html:113 +#: part/templates/part/part_base.html:116 msgid "Part can be assembled from other parts" msgstr "" -#: part/templates/part/part_base.html:117 +#: part/templates/part/part_base.html:120 msgid "Part can be used in assemblies" msgstr "" -#: part/templates/part/part_base.html:121 +#: part/templates/part/part_base.html:124 msgid "Part stock is tracked by serial number" msgstr "" -#: part/templates/part/part_base.html:125 +#: part/templates/part/part_base.html:128 msgid "Part can be purchased from external suppliers" msgstr "" -#: part/templates/part/part_base.html:129 +#: part/templates/part/part_base.html:132 msgid "Part can be sold to customers" msgstr "" -#: part/templates/part/part_base.html:135 -#: part/templates/part/part_base.html:143 +#: part/templates/part/part_base.html:138 +#: part/templates/part/part_base.html:146 msgid "Part is virtual (not a physical part)" msgstr "Część jest wirtualna (nie fizyczna)" -#: part/templates/part/part_base.html:136 +#: part/templates/part/part_base.html:139 #: templates/js/translated/company.js:505 #: templates/js/translated/company.js:762 #: templates/js/translated/model_renderers.js:175 -#: templates/js/translated/part.js:465 templates/js/translated/part.js:542 +#: templates/js/translated/part.js:472 templates/js/translated/part.js:549 msgid "Inactive" msgstr "Nieaktywny" -#: part/templates/part/part_base.html:155 +#: part/templates/part/part_base.html:156 +#: part/templates/part/part_base.html:579 +msgid "Show Part Details" +msgstr "" + +#: part/templates/part/part_base.html:173 #, python-format msgid "This part is a variant of %(link)s" msgstr "" -#: part/templates/part/part_base.html:172 templates/js/translated/order.js:1546 +#: part/templates/part/part_base.html:190 templates/js/translated/order.js:1545 #: templates/js/translated/table_filters.js:188 msgid "In Stock" msgstr "" -#: part/templates/part/part_base.html:185 templates/js/translated/part.js:1054 +#: part/templates/part/part_base.html:203 templates/js/translated/part.js:1235 msgid "On Order" msgstr "" -#: part/templates/part/part_base.html:192 templates/InvenTree/index.html:178 +#: part/templates/part/part_base.html:210 templates/InvenTree/index.html:178 msgid "Required for Build Orders" msgstr "" -#: part/templates/part/part_base.html:199 +#: part/templates/part/part_base.html:217 msgid "Required for Sales Orders" msgstr "" -#: part/templates/part/part_base.html:206 +#: part/templates/part/part_base.html:224 msgid "Allocated to Orders" msgstr "" -#: part/templates/part/part_base.html:221 templates/js/translated/bom.js:566 +#: part/templates/part/part_base.html:239 templates/js/translated/bom.js:566 msgid "Can Build" msgstr "" -#: part/templates/part/part_base.html:227 templates/js/translated/part.js:885 -#: templates/js/translated/part.js:1058 +#: part/templates/part/part_base.html:245 templates/js/translated/part.js:1066 +#: templates/js/translated/part.js:1239 msgid "Building" msgstr "" -#: part/templates/part/part_base.html:320 part/templates/part/prices.html:144 +#: part/templates/part/part_base.html:295 +msgid "Minimum stock level" +msgstr "" + +#: part/templates/part/part_base.html:324 +msgid "Latest Serial Number" +msgstr "Ostatni numer seryjny" + +#: part/templates/part/part_base.html:328 +#: stock/templates/stock/item_base.html:159 +msgid "Search for serial number" +msgstr "" + +#: part/templates/part/part_base.html:449 part/templates/part/prices.html:144 msgid "Calculate" msgstr "" -#: part/templates/part/part_base.html:363 +#: part/templates/part/part_base.html:492 msgid "No matching images found" msgstr "" +#: part/templates/part/part_base.html:573 +msgid "Hide Part Details" +msgstr "" + #: part/templates/part/part_pricing.html:22 part/templates/part/prices.html:21 msgid "Supplier Pricing" msgstr "" @@ -4805,20 +4836,15 @@ msgstr "" msgid "No pricing information is available for this part." msgstr "" -#: part/templates/part/part_sidebar.html:8 -#: templates/js/translated/stock.js:1949 -msgid "Details" -msgstr "Szczegóły" - -#: part/templates/part/part_sidebar.html:13 +#: part/templates/part/part_sidebar.html:11 msgid "Variants" msgstr "" -#: part/templates/part/part_sidebar.html:27 +#: part/templates/part/part_sidebar.html:25 msgid "Used In" msgstr "" -#: part/templates/part/part_sidebar.html:43 +#: part/templates/part/part_sidebar.html:41 msgid "Test Templates" msgstr "" @@ -4934,8 +4960,8 @@ msgid "Set category for the following parts" msgstr "" #: part/templates/part/stock_count.html:7 templates/js/translated/bom.js:476 -#: templates/js/translated/part.js:429 templates/js/translated/part.js:875 -#: templates/js/translated/part.js:1062 +#: templates/js/translated/part.js:436 templates/js/translated/part.js:1056 +#: templates/js/translated/part.js:1243 msgid "No Stock" msgstr "" @@ -5037,7 +5063,7 @@ msgstr "" msgid "Delete Part Parameter Template" msgstr "" -#: part/views.py:1489 templates/js/translated/part.js:310 +#: part/views.py:1489 templates/js/translated/part.js:313 msgid "Edit Part Category" msgstr "Edytuj kategorię części" @@ -5171,11 +5197,12 @@ msgid "Stock Item Test Report" msgstr "" #: report/templates/report/inventree_test_report_base.html:79 -#: stock/models.py:530 stock/templates/stock/item_base.html:238 +#: stock/models.py:520 stock/templates/stock/item_base.html:149 #: templates/js/translated/build.js:233 templates/js/translated/build.js:637 #: templates/js/translated/build.js:1013 #: templates/js/translated/model_renderers.js:95 -#: templates/js/translated/order.js:1288 templates/js/translated/order.js:1377 +#: templates/js/translated/order.js:1287 templates/js/translated/order.js:1376 +#: templates/js/translated/stock.js:410 msgid "Serial Number" msgstr "Numer Seryjny" @@ -5184,17 +5211,17 @@ msgid "Test Results" msgstr "" #: report/templates/report/inventree_test_report_base.html:93 -#: stock/models.py:1855 +#: stock/models.py:1845 msgid "Test" msgstr "" #: report/templates/report/inventree_test_report_base.html:94 -#: stock/models.py:1861 +#: stock/models.py:1851 msgid "Result" msgstr "Wynik" #: report/templates/report/inventree_test_report_base.html:97 -#: templates/js/translated/order.js:685 templates/js/translated/stock.js:1917 +#: templates/js/translated/order.js:684 templates/js/translated/stock.js:1999 msgid "Date" msgstr "Data" @@ -5212,7 +5239,7 @@ msgid "Installed Items" msgstr "" #: report/templates/report/inventree_test_report_base.html:137 -#: templates/js/translated/stock.js:2177 +#: templates/js/translated/stock.js:2259 msgid "Serial" msgstr "" @@ -5220,9 +5247,9 @@ msgstr "" msgid "Quantity is required" msgstr "" -#: stock/forms.py:91 stock/forms.py:265 stock/models.py:587 -#: stock/templates/stock/item_base.html:382 -#: templates/js/translated/stock.js:1276 +#: stock/forms.py:91 stock/forms.py:265 stock/models.py:577 +#: stock/templates/stock/item_base.html:186 +#: templates/js/translated/stock.js:1358 msgid "Expiry Date" msgstr "Data ważności" @@ -5270,241 +5297,241 @@ msgstr "" msgid "Confirm removal of installed stock items" msgstr "" -#: stock/models.py:60 stock/models.py:624 -#: stock/templates/stock/item_base.html:422 +#: stock/models.py:60 stock/models.py:614 +#: stock/templates/stock/item_base.html:417 msgid "Owner" msgstr "" -#: stock/models.py:61 stock/models.py:625 +#: stock/models.py:61 stock/models.py:615 msgid "Select Owner" msgstr "" -#: stock/models.py:352 +#: stock/models.py:342 msgid "StockItem with this serial number already exists" msgstr "" -#: stock/models.py:388 +#: stock/models.py:378 #, python-brace-format msgid "Part type ('{pf}') must be {pe}" msgstr "" -#: stock/models.py:398 stock/models.py:407 +#: stock/models.py:388 stock/models.py:397 msgid "Quantity must be 1 for item with a serial number" msgstr "" -#: stock/models.py:399 +#: stock/models.py:389 msgid "Serial number cannot be set if quantity greater than 1" msgstr "" -#: stock/models.py:421 +#: stock/models.py:411 msgid "Item cannot belong to itself" msgstr "" -#: stock/models.py:427 +#: stock/models.py:417 msgid "Item must have a build reference if is_building=True" msgstr "" -#: stock/models.py:434 +#: stock/models.py:424 msgid "Build reference does not point to the same part object" msgstr "" -#: stock/models.py:476 +#: stock/models.py:466 msgid "Parent Stock Item" msgstr "" -#: stock/models.py:485 +#: stock/models.py:475 msgid "Base part" msgstr "Część podstawowa" -#: stock/models.py:493 +#: stock/models.py:483 msgid "Select a matching supplier part for this stock item" msgstr "" -#: stock/models.py:498 stock/templates/stock/location.html:12 +#: stock/models.py:488 stock/templates/stock/location.html:12 #: stock/templates/stock/stock_app_base.html:8 msgid "Stock Location" msgstr "" -#: stock/models.py:501 +#: stock/models.py:491 msgid "Where is this stock item located?" msgstr "" -#: stock/models.py:508 +#: stock/models.py:498 msgid "Packaging this stock item is stored in" msgstr "" -#: stock/models.py:513 stock/templates/stock/item_base.html:271 +#: stock/models.py:503 stock/templates/stock/item_base.html:299 msgid "Installed In" msgstr "" -#: stock/models.py:516 +#: stock/models.py:506 msgid "Is this item installed in another item?" msgstr "" -#: stock/models.py:532 +#: stock/models.py:522 msgid "Serial number for this item" msgstr "" -#: stock/models.py:546 +#: stock/models.py:536 msgid "Batch code for this stock item" msgstr "" -#: stock/models.py:550 +#: stock/models.py:540 msgid "Stock Quantity" msgstr "Ilość w magazynie" -#: stock/models.py:559 +#: stock/models.py:549 msgid "Source Build" msgstr "" -#: stock/models.py:561 +#: stock/models.py:551 msgid "Build for this stock item" msgstr "" -#: stock/models.py:572 +#: stock/models.py:562 msgid "Source Purchase Order" msgstr "" -#: stock/models.py:575 +#: stock/models.py:565 msgid "Purchase order for this stock item" msgstr "" -#: stock/models.py:581 +#: stock/models.py:571 msgid "Destination Sales Order" msgstr "" -#: stock/models.py:588 +#: stock/models.py:578 msgid "Expiry date for stock item. Stock will be considered expired after this date" msgstr "" -#: stock/models.py:601 +#: stock/models.py:591 msgid "Delete on deplete" msgstr "" -#: stock/models.py:601 +#: stock/models.py:591 msgid "Delete this Stock Item when stock is depleted" msgstr "" -#: stock/models.py:611 stock/templates/stock/item.html:111 +#: stock/models.py:601 stock/templates/stock/item.html:111 msgid "Stock Item Notes" msgstr "" -#: stock/models.py:620 +#: stock/models.py:610 msgid "Single unit purchase price at time of purchase" msgstr "" -#: stock/models.py:630 +#: stock/models.py:620 msgid "Scheduled for deletion" msgstr "" -#: stock/models.py:631 +#: stock/models.py:621 msgid "This StockItem will be deleted by the background worker" msgstr "" -#: stock/models.py:1094 +#: stock/models.py:1084 msgid "Part is not set as trackable" msgstr "" -#: stock/models.py:1100 +#: stock/models.py:1090 msgid "Quantity must be integer" msgstr "Ilość musi być liczbą całkowitą" -#: stock/models.py:1106 +#: stock/models.py:1096 #, python-brace-format msgid "Quantity must not exceed available stock quantity ({n})" msgstr "" -#: stock/models.py:1109 +#: stock/models.py:1099 msgid "Serial numbers must be a list of integers" msgstr "" -#: stock/models.py:1112 +#: stock/models.py:1102 msgid "Quantity does not match serial numbers" msgstr "" -#: stock/models.py:1119 +#: stock/models.py:1109 #, python-brace-format msgid "Serial numbers already exist: {exists}" msgstr "" -#: stock/models.py:1277 +#: stock/models.py:1267 msgid "StockItem cannot be moved as it is not in stock" msgstr "" -#: stock/models.py:1775 +#: stock/models.py:1765 msgid "Entry notes" msgstr "" -#: stock/models.py:1832 +#: stock/models.py:1822 msgid "Value must be provided for this test" msgstr "" -#: stock/models.py:1838 +#: stock/models.py:1828 msgid "Attachment must be uploaded for this test" msgstr "" -#: stock/models.py:1856 +#: stock/models.py:1846 msgid "Test name" msgstr "" -#: stock/models.py:1862 templates/js/translated/table_filters.js:266 +#: stock/models.py:1852 templates/js/translated/table_filters.js:266 msgid "Test result" msgstr "" -#: stock/models.py:1868 +#: stock/models.py:1858 msgid "Test output value" msgstr "" -#: stock/models.py:1875 +#: stock/models.py:1865 msgid "Test result attachment" msgstr "" -#: stock/models.py:1881 +#: stock/models.py:1871 msgid "Test notes" msgstr "" -#: stock/serializers.py:166 +#: stock/serializers.py:171 msgid "Purchase price of this stock item" msgstr "" -#: stock/serializers.py:173 +#: stock/serializers.py:178 msgid "Purchase currency of this stock item" msgstr "" -#: stock/serializers.py:287 +#: stock/serializers.py:292 msgid "Enter number of stock items to serialize" msgstr "" -#: stock/serializers.py:302 +#: stock/serializers.py:307 #, python-brace-format msgid "Quantity must not exceed available stock quantity ({q})" msgstr "" -#: stock/serializers.py:308 +#: stock/serializers.py:313 msgid "Enter serial numbers for new items" msgstr "" -#: stock/serializers.py:319 stock/serializers.py:686 +#: stock/serializers.py:324 stock/serializers.py:691 msgid "Destination stock location" msgstr "" -#: stock/serializers.py:326 +#: stock/serializers.py:331 msgid "Optional note field" msgstr "" -#: stock/serializers.py:339 +#: stock/serializers.py:344 msgid "Serial numbers cannot be assigned to this part" msgstr "" -#: stock/serializers.py:556 +#: stock/serializers.py:561 msgid "StockItem primary key value" msgstr "" -#: stock/serializers.py:584 +#: stock/serializers.py:589 msgid "Stock transaction notes" msgstr "" -#: stock/serializers.py:594 +#: stock/serializers.py:599 msgid "A list of stock items must be provided" msgstr "" @@ -5629,125 +5656,131 @@ msgstr "" msgid "Install" msgstr "" -#: stock/templates/stock/item_base.html:106 +#: stock/templates/stock/item_base.html:108 msgid "Convert to variant" msgstr "" -#: stock/templates/stock/item_base.html:109 +#: stock/templates/stock/item_base.html:111 msgid "Duplicate stock item" msgstr "" -#: stock/templates/stock/item_base.html:111 +#: stock/templates/stock/item_base.html:113 msgid "Edit stock item" msgstr "" -#: stock/templates/stock/item_base.html:114 +#: stock/templates/stock/item_base.html:116 msgid "Delete stock item" msgstr "" -#: stock/templates/stock/item_base.html:136 -#: stock/templates/stock/item_base.html:386 -#: templates/js/translated/table_filters.js:247 -msgid "Expired" -msgstr "Termin minął" - -#: stock/templates/stock/item_base.html:146 -#: stock/templates/stock/item_base.html:388 -#: templates/js/translated/table_filters.js:253 -msgid "Stale" +#: stock/templates/stock/item_base.html:154 +msgid "previous page" msgstr "" -#: stock/templates/stock/item_base.html:161 -msgid "You are not in the list of owners of this item. This stock item cannot be edited." +#: stock/templates/stock/item_base.html:154 +msgid "Navigate to previous serial number" msgstr "" -#: stock/templates/stock/item_base.html:168 -msgid "This stock item is in production and cannot be edited." +#: stock/templates/stock/item_base.html:163 +msgid "next page" msgstr "" -#: stock/templates/stock/item_base.html:169 -msgid "Edit the stock item from the build view." -msgstr "" - -#: stock/templates/stock/item_base.html:182 -msgid "This stock item has not passed all required tests" +#: stock/templates/stock/item_base.html:163 +msgid "Navigate to next serial number" msgstr "" #: stock/templates/stock/item_base.html:190 #, python-format -msgid "This stock item is allocated to Sales Order %(link)s (Quantity: %(qty)s)" -msgstr "" - -#: stock/templates/stock/item_base.html:198 -#, python-format -msgid "This stock item is allocated to Build %(link)s (Quantity: %(qty)s)" -msgstr "" - -#: stock/templates/stock/item_base.html:204 -msgid "This stock item is serialized - it has a unique serial number and the quantity cannot be adjusted." -msgstr "" - -#: stock/templates/stock/item_base.html:208 -msgid "This stock item cannot be deleted as it has child items" -msgstr "" - -#: stock/templates/stock/item_base.html:212 -msgid "This stock item will be automatically deleted when all stock is depleted." -msgstr "" - -#: stock/templates/stock/item_base.html:241 -msgid "previous page" -msgstr "" - -#: stock/templates/stock/item_base.html:247 -msgid "next page" -msgstr "" - -#: stock/templates/stock/item_base.html:290 -#: templates/js/translated/build.js:1035 -msgid "No location set" -msgstr "Lokacje nie są ustawione" - -#: stock/templates/stock/item_base.html:297 -msgid "Barcode Identifier" -msgstr "Skaner kodów" - -#: stock/templates/stock/item_base.html:339 -msgid "Parent Item" -msgstr "" - -#: stock/templates/stock/item_base.html:357 -msgid "No manufacturer set" -msgstr "" - -#: stock/templates/stock/item_base.html:386 -#, python-format msgid "This StockItem expired on %(item.expiry_date)s" msgstr "" -#: stock/templates/stock/item_base.html:388 +#: stock/templates/stock/item_base.html:190 +#: templates/js/translated/table_filters.js:247 +msgid "Expired" +msgstr "Termin minął" + +#: stock/templates/stock/item_base.html:192 #, python-format msgid "This StockItem expires on %(item.expiry_date)s" msgstr "" -#: stock/templates/stock/item_base.html:395 -#: templates/js/translated/stock.js:1289 +#: stock/templates/stock/item_base.html:192 +#: templates/js/translated/table_filters.js:253 +msgid "Stale" +msgstr "" + +#: stock/templates/stock/item_base.html:199 +#: templates/js/translated/stock.js:1371 msgid "Last Updated" msgstr "Ostatnia aktualizacja" -#: stock/templates/stock/item_base.html:400 +#: stock/templates/stock/item_base.html:204 msgid "Last Stocktake" msgstr "Ostatnia inwentaryzacja" -#: stock/templates/stock/item_base.html:404 +#: stock/templates/stock/item_base.html:208 msgid "No stocktake performed" msgstr "" -#: stock/templates/stock/item_base.html:415 +#: stock/templates/stock/item_base.html:226 +msgid "You are not in the list of owners of this item. This stock item cannot be edited." +msgstr "" + +#: stock/templates/stock/item_base.html:233 +msgid "This stock item is in production and cannot be edited." +msgstr "" + +#: stock/templates/stock/item_base.html:234 +msgid "Edit the stock item from the build view." +msgstr "" + +#: stock/templates/stock/item_base.html:247 +msgid "This stock item has not passed all required tests" +msgstr "" + +#: stock/templates/stock/item_base.html:255 +#, python-format +msgid "This stock item is allocated to Sales Order %(link)s (Quantity: %(qty)s)" +msgstr "" + +#: stock/templates/stock/item_base.html:263 +#, python-format +msgid "This stock item is allocated to Build %(link)s (Quantity: %(qty)s)" +msgstr "" + +#: stock/templates/stock/item_base.html:269 +msgid "This stock item is serialized - it has a unique serial number and the quantity cannot be adjusted." +msgstr "" + +#: stock/templates/stock/item_base.html:273 +msgid "This stock item cannot be deleted as it has child items" +msgstr "" + +#: stock/templates/stock/item_base.html:277 +msgid "This stock item will be automatically deleted when all stock is depleted." +msgstr "" + +#: stock/templates/stock/item_base.html:318 +#: templates/js/translated/build.js:1035 +msgid "No location set" +msgstr "Lokacje nie są ustawione" + +#: stock/templates/stock/item_base.html:325 +msgid "Barcode Identifier" +msgstr "Skaner kodów" + +#: stock/templates/stock/item_base.html:367 +msgid "Parent Item" +msgstr "" + +#: stock/templates/stock/item_base.html:385 +msgid "No manufacturer set" +msgstr "" + +#: stock/templates/stock/item_base.html:410 msgid "Tests" msgstr "" -#: stock/templates/stock/item_base.html:505 +#: stock/templates/stock/item_base.html:500 msgid "Edit Stock Status" msgstr "" @@ -5825,30 +5858,35 @@ msgstr "" msgid "New Location" msgstr "Nowa lokalizacja" -#: stock/templates/stock/location.html:86 +#: stock/templates/stock/location.html:95 +#: stock/templates/stock/location.html:101 +msgid "Location Path" +msgstr "" + +#: stock/templates/stock/location.html:102 msgid "Top level stock location" msgstr "" -#: stock/templates/stock/location.html:95 +#: stock/templates/stock/location.html:115 msgid "You are not in the list of owners of this location. This stock location cannot be edited." msgstr "" -#: stock/templates/stock/location.html:113 -#: stock/templates/stock/location.html:160 +#: stock/templates/stock/location.html:128 +#: stock/templates/stock/location.html:175 #: stock/templates/stock/location_sidebar.html:5 msgid "Sublocations" msgstr "" -#: stock/templates/stock/location.html:127 templates/InvenTree/search.html:170 +#: stock/templates/stock/location.html:142 templates/InvenTree/search.html:170 #: templates/stats.html:97 users/models.py:42 msgid "Stock Locations" msgstr "" -#: stock/templates/stock/location.html:167 templates/stock_table.html:30 +#: stock/templates/stock/location.html:182 templates/stock_table.html:30 msgid "Printing Actions" msgstr "" -#: stock/templates/stock/location.html:171 templates/stock_table.html:34 +#: stock/templates/stock/location.html:186 templates/stock_table.html:34 msgid "Print labels" msgstr "Drukuj etykiety" @@ -5942,7 +5980,7 @@ msgstr "" msgid "Uninstall Stock Items" msgstr "" -#: stock/views.py:760 templates/js/translated/stock.js:648 +#: stock/views.py:760 templates/js/translated/stock.js:730 msgid "Confirm stock adjustment" msgstr "" @@ -5950,7 +5988,7 @@ msgstr "" msgid "Uninstalled stock items" msgstr "" -#: stock/views.py:793 templates/js/translated/stock.js:318 +#: stock/views.py:793 templates/js/translated/stock.js:319 msgid "Edit Stock Item" msgstr "" @@ -5962,7 +6000,7 @@ msgstr "Utwórz nową lokalizację magazynową" msgid "Create new Stock Item" msgstr "" -#: stock/views.py:1186 templates/js/translated/stock.js:298 +#: stock/views.py:1186 templates/js/translated/stock.js:299 msgid "Duplicate Stock Item" msgstr "" @@ -6868,7 +6906,7 @@ msgstr "" msgid "Unlink" msgstr "" -#: templates/js/translated/barcode.js:397 templates/js/translated/stock.js:600 +#: templates/js/translated/barcode.js:397 templates/js/translated/stock.js:682 msgid "Remove stock item" msgstr "" @@ -6963,7 +7001,7 @@ msgid "View BOM" msgstr "" #: templates/js/translated/bom.js:608 templates/js/translated/build.js:1183 -#: templates/js/translated/order.js:1320 +#: templates/js/translated/order.js:1319 msgid "Actions" msgstr "Akcje" @@ -7055,7 +7093,7 @@ msgstr "" msgid "No build order allocations found" msgstr "" -#: templates/js/translated/build.js:424 templates/js/translated/order.js:1194 +#: templates/js/translated/build.js:424 templates/js/translated/order.js:1193 msgid "Location not specified" msgstr "" @@ -7064,12 +7102,12 @@ msgid "No active build outputs found" msgstr "" #: templates/js/translated/build.js:1052 templates/js/translated/build.js:1760 -#: templates/js/translated/order.js:1327 +#: templates/js/translated/order.js:1326 msgid "Edit stock allocation" msgstr "" #: templates/js/translated/build.js:1054 templates/js/translated/build.js:1761 -#: templates/js/translated/order.js:1328 +#: templates/js/translated/order.js:1327 msgid "Delete stock allocation" msgstr "" @@ -7090,11 +7128,11 @@ msgid "Quantity Per" msgstr "Ilość za" #: templates/js/translated/build.js:1134 templates/js/translated/build.js:1360 -#: templates/js/translated/build.js:1756 templates/js/translated/order.js:1557 +#: templates/js/translated/build.js:1756 templates/js/translated/order.js:1556 msgid "Allocated" msgstr "Przydzielono" -#: templates/js/translated/build.js:1190 templates/js/translated/order.js:1611 +#: templates/js/translated/build.js:1190 templates/js/translated/order.js:1610 msgid "Build stock" msgstr "" @@ -7102,7 +7140,7 @@ msgstr "" msgid "Order stock" msgstr "" -#: templates/js/translated/build.js:1197 templates/js/translated/order.js:1604 +#: templates/js/translated/build.js:1197 templates/js/translated/order.js:1603 msgid "Allocate stock" msgstr "" @@ -7143,9 +7181,9 @@ msgstr "" msgid "No builds matching query" msgstr "" -#: templates/js/translated/build.js:1593 templates/js/translated/part.js:966 -#: templates/js/translated/part.js:1377 templates/js/translated/stock.js:1094 -#: templates/js/translated/stock.js:1871 +#: templates/js/translated/build.js:1593 templates/js/translated/part.js:1147 +#: templates/js/translated/part.js:1558 templates/js/translated/stock.js:1176 +#: templates/js/translated/stock.js:1953 msgid "Select" msgstr "" @@ -7153,7 +7191,7 @@ msgstr "" msgid "Build order is overdue" msgstr "" -#: templates/js/translated/build.js:1674 templates/js/translated/stock.js:2090 +#: templates/js/translated/build.js:1674 templates/js/translated/stock.js:2172 msgid "No user information" msgstr "" @@ -7197,10 +7235,6 @@ msgstr "" msgid "Delete Supplier Part" msgstr "" -#: templates/js/translated/company.js:265 -msgid "Edit Company" -msgstr "Edytuj firmę" - #: templates/js/translated/company.js:286 msgid "Add new Company" msgstr "Dodaj nową firmę" @@ -7230,34 +7264,34 @@ msgid "No manufacturer parts found" msgstr "" #: templates/js/translated/company.js:497 -#: templates/js/translated/company.js:754 templates/js/translated/part.js:449 -#: templates/js/translated/part.js:534 +#: templates/js/translated/company.js:754 templates/js/translated/part.js:456 +#: templates/js/translated/part.js:541 msgid "Template part" msgstr "" #: templates/js/translated/company.js:501 -#: templates/js/translated/company.js:758 templates/js/translated/part.js:453 -#: templates/js/translated/part.js:538 +#: templates/js/translated/company.js:758 templates/js/translated/part.js:460 +#: templates/js/translated/part.js:545 msgid "Assembled part" msgstr "" -#: templates/js/translated/company.js:628 templates/js/translated/part.js:626 +#: templates/js/translated/company.js:628 templates/js/translated/part.js:633 msgid "No parameters found" msgstr "" -#: templates/js/translated/company.js:665 templates/js/translated/part.js:668 +#: templates/js/translated/company.js:665 templates/js/translated/part.js:675 msgid "Edit parameter" msgstr "" -#: templates/js/translated/company.js:666 templates/js/translated/part.js:669 +#: templates/js/translated/company.js:666 templates/js/translated/part.js:676 msgid "Delete parameter" msgstr "" -#: templates/js/translated/company.js:685 templates/js/translated/part.js:686 +#: templates/js/translated/company.js:685 templates/js/translated/part.js:693 msgid "Edit Parameter" msgstr "" -#: templates/js/translated/company.js:696 templates/js/translated/part.js:698 +#: templates/js/translated/company.js:696 templates/js/translated/part.js:705 msgid "Delete Parameter" msgstr "" @@ -7346,7 +7380,7 @@ msgid "NO" msgstr "" #: templates/js/translated/label.js:29 templates/js/translated/report.js:118 -#: templates/js/translated/stock.js:624 +#: templates/js/translated/stock.js:706 msgid "Select Stock Items" msgstr "" @@ -7502,11 +7536,11 @@ msgstr "" msgid "Export Order" msgstr "" -#: templates/js/translated/order.js:211 templates/js/translated/stock.js:423 +#: templates/js/translated/order.js:211 templates/js/translated/stock.js:505 msgid "Format" msgstr "" -#: templates/js/translated/order.js:212 templates/js/translated/stock.js:424 +#: templates/js/translated/order.js:212 templates/js/translated/stock.js:506 msgid "Select file format" msgstr "" @@ -7522,7 +7556,7 @@ msgstr "" msgid "Quantity to receive" msgstr "" -#: templates/js/translated/order.js:360 templates/js/translated/stock.js:1673 +#: templates/js/translated/order.js:360 templates/js/translated/stock.js:1755 msgid "Stock Status" msgstr "" @@ -7546,321 +7580,321 @@ msgstr "" msgid "Receive Purchase Order Items" msgstr "" -#: templates/js/translated/order.js:627 +#: templates/js/translated/order.js:627 templates/js/translated/part.js:746 msgid "No purchase orders found" msgstr "" -#: templates/js/translated/order.js:652 templates/js/translated/order.js:1063 +#: templates/js/translated/order.js:659 templates/js/translated/order.js:1062 msgid "Order is overdue" msgstr "" -#: templates/js/translated/order.js:772 templates/js/translated/order.js:1646 +#: templates/js/translated/order.js:771 templates/js/translated/order.js:1645 msgid "Edit Line Item" msgstr "" -#: templates/js/translated/order.js:784 templates/js/translated/order.js:1657 +#: templates/js/translated/order.js:783 templates/js/translated/order.js:1656 msgid "Delete Line Item" msgstr "" -#: templates/js/translated/order.js:823 +#: templates/js/translated/order.js:822 msgid "No line items found" msgstr "" -#: templates/js/translated/order.js:850 templates/js/translated/order.js:1467 +#: templates/js/translated/order.js:849 templates/js/translated/order.js:1466 msgid "Total" msgstr "" -#: templates/js/translated/order.js:904 templates/js/translated/order.js:1492 -#: templates/js/translated/part.js:1594 templates/js/translated/part.js:1805 +#: templates/js/translated/order.js:903 templates/js/translated/order.js:1491 +#: templates/js/translated/part.js:1775 templates/js/translated/part.js:1986 msgid "Unit Price" msgstr "Cena jednostkowa" -#: templates/js/translated/order.js:919 templates/js/translated/order.js:1508 +#: templates/js/translated/order.js:918 templates/js/translated/order.js:1507 msgid "Total Price" msgstr "" -#: templates/js/translated/order.js:997 templates/js/translated/order.js:1617 +#: templates/js/translated/order.js:996 templates/js/translated/order.js:1616 msgid "Edit line item" msgstr "" -#: templates/js/translated/order.js:998 +#: templates/js/translated/order.js:997 msgid "Delete line item" msgstr "" -#: templates/js/translated/order.js:1002 +#: templates/js/translated/order.js:1001 templates/js/translated/part.js:878 msgid "Receive line item" msgstr "" -#: templates/js/translated/order.js:1039 +#: templates/js/translated/order.js:1038 msgid "No sales orders found" msgstr "" -#: templates/js/translated/order.js:1077 +#: templates/js/translated/order.js:1076 msgid "Invalid Customer" msgstr "" -#: templates/js/translated/order.js:1155 +#: templates/js/translated/order.js:1154 msgid "No sales order allocations found" msgstr "" -#: templates/js/translated/order.js:1248 +#: templates/js/translated/order.js:1247 msgid "Edit Stock Allocation" msgstr "" -#: templates/js/translated/order.js:1265 +#: templates/js/translated/order.js:1264 msgid "Confirm Delete Operation" msgstr "" -#: templates/js/translated/order.js:1266 +#: templates/js/translated/order.js:1265 msgid "Delete Stock Allocation" msgstr "" -#: templates/js/translated/order.js:1308 +#: templates/js/translated/order.js:1307 msgid "Stock location not specified" msgstr "" -#: templates/js/translated/order.js:1557 +#: templates/js/translated/order.js:1556 msgid "Fulfilled" msgstr "" -#: templates/js/translated/order.js:1601 +#: templates/js/translated/order.js:1600 msgid "Allocate serial numbers" msgstr "" -#: templates/js/translated/order.js:1607 +#: templates/js/translated/order.js:1606 msgid "Purchase stock" msgstr "Cena zakupu" -#: templates/js/translated/order.js:1614 templates/js/translated/order.js:1793 +#: templates/js/translated/order.js:1613 templates/js/translated/order.js:1792 msgid "Calculate price" msgstr "Oblicz cenę" -#: templates/js/translated/order.js:1618 +#: templates/js/translated/order.js:1617 msgid "Delete line item " msgstr "" -#: templates/js/translated/order.js:1741 +#: templates/js/translated/order.js:1740 msgid "Allocate Stock Item" msgstr "" -#: templates/js/translated/order.js:1801 +#: templates/js/translated/order.js:1800 msgid "Update Unit Price" msgstr "Zaktualizuj cenę jednostkową" -#: templates/js/translated/order.js:1815 +#: templates/js/translated/order.js:1814 msgid "No matching line items" msgstr "" -#: templates/js/translated/part.js:51 +#: templates/js/translated/part.js:52 msgid "Part Attributes" msgstr "" -#: templates/js/translated/part.js:55 +#: templates/js/translated/part.js:56 msgid "Part Creation Options" msgstr "" -#: templates/js/translated/part.js:59 +#: templates/js/translated/part.js:60 msgid "Part Duplication Options" msgstr "" -#: templates/js/translated/part.js:63 +#: templates/js/translated/part.js:64 msgid "Supplier Options" msgstr "" -#: templates/js/translated/part.js:77 +#: templates/js/translated/part.js:78 msgid "Add Part Category" msgstr "" -#: templates/js/translated/part.js:166 +#: templates/js/translated/part.js:162 msgid "Create Initial Stock" msgstr "" -#: templates/js/translated/part.js:167 +#: templates/js/translated/part.js:163 msgid "Create an initial stock item for this part" msgstr "" -#: templates/js/translated/part.js:174 +#: templates/js/translated/part.js:170 msgid "Initial Stock Quantity" msgstr "" -#: templates/js/translated/part.js:175 +#: templates/js/translated/part.js:171 msgid "Specify initial stock quantity for this part" msgstr "" -#: templates/js/translated/part.js:182 +#: templates/js/translated/part.js:178 msgid "Select destination stock location" msgstr "" -#: templates/js/translated/part.js:193 +#: templates/js/translated/part.js:196 msgid "Copy Category Parameters" msgstr "" -#: templates/js/translated/part.js:194 +#: templates/js/translated/part.js:197 msgid "Copy parameter templates from selected part category" msgstr "" -#: templates/js/translated/part.js:202 +#: templates/js/translated/part.js:205 msgid "Add Supplier Data" msgstr "" -#: templates/js/translated/part.js:203 +#: templates/js/translated/part.js:206 msgid "Create initial supplier data for this part" msgstr "" -#: templates/js/translated/part.js:259 +#: templates/js/translated/part.js:262 msgid "Copy Image" msgstr "" -#: templates/js/translated/part.js:260 +#: templates/js/translated/part.js:263 msgid "Copy image from original part" msgstr "" -#: templates/js/translated/part.js:268 +#: templates/js/translated/part.js:271 msgid "Copy bill of materials from original part" msgstr "" -#: templates/js/translated/part.js:275 +#: templates/js/translated/part.js:278 msgid "Copy Parameters" msgstr "" -#: templates/js/translated/part.js:276 +#: templates/js/translated/part.js:279 msgid "Copy parameter data from original part" msgstr "" -#: templates/js/translated/part.js:289 +#: templates/js/translated/part.js:292 msgid "Parent part category" msgstr "" -#: templates/js/translated/part.js:333 +#: templates/js/translated/part.js:336 msgid "Edit Part" msgstr "" -#: templates/js/translated/part.js:335 +#: templates/js/translated/part.js:338 msgid "Part edited" msgstr "" -#: templates/js/translated/part.js:403 +#: templates/js/translated/part.js:410 msgid "You are subscribed to notifications for this item" msgstr "" -#: templates/js/translated/part.js:405 +#: templates/js/translated/part.js:412 msgid "You have subscribed to notifications for this item" msgstr "" -#: templates/js/translated/part.js:410 +#: templates/js/translated/part.js:417 msgid "Subscribe to notifications for this item" msgstr "" -#: templates/js/translated/part.js:412 +#: templates/js/translated/part.js:419 msgid "You have unsubscribed to notifications for this item" msgstr "" -#: templates/js/translated/part.js:441 templates/js/translated/part.js:526 +#: templates/js/translated/part.js:448 templates/js/translated/part.js:533 msgid "Trackable part" msgstr "" -#: templates/js/translated/part.js:445 templates/js/translated/part.js:530 +#: templates/js/translated/part.js:452 templates/js/translated/part.js:537 msgid "Virtual part" msgstr "" -#: templates/js/translated/part.js:457 +#: templates/js/translated/part.js:464 msgid "Subscribed part" msgstr "" -#: templates/js/translated/part.js:461 +#: templates/js/translated/part.js:468 msgid "Salable part" msgstr "" -#: templates/js/translated/part.js:576 +#: templates/js/translated/part.js:583 msgid "No variants found" msgstr "" -#: templates/js/translated/part.js:765 +#: templates/js/translated/part.js:946 msgid "Delete part relationship" msgstr "" -#: templates/js/translated/part.js:789 +#: templates/js/translated/part.js:970 msgid "Delete Part Relationship" msgstr "" -#: templates/js/translated/part.js:856 templates/js/translated/part.js:1116 +#: templates/js/translated/part.js:1037 templates/js/translated/part.js:1297 msgid "No parts found" msgstr "" -#: templates/js/translated/part.js:1026 +#: templates/js/translated/part.js:1207 msgid "No category" msgstr "" -#: templates/js/translated/part.js:1049 +#: templates/js/translated/part.js:1230 #: templates/js/translated/table_filters.js:381 msgid "Low stock" msgstr "" -#: templates/js/translated/part.js:1140 templates/js/translated/part.js:1312 -#: templates/js/translated/stock.js:1832 +#: templates/js/translated/part.js:1321 templates/js/translated/part.js:1493 +#: templates/js/translated/stock.js:1914 msgid "Display as list" msgstr "" -#: templates/js/translated/part.js:1156 +#: templates/js/translated/part.js:1337 msgid "Display as grid" msgstr "" -#: templates/js/translated/part.js:1331 templates/js/translated/stock.js:1851 +#: templates/js/translated/part.js:1512 templates/js/translated/stock.js:1933 msgid "Display as tree" msgstr "" -#: templates/js/translated/part.js:1395 +#: templates/js/translated/part.js:1576 msgid "Subscribed category" msgstr "" -#: templates/js/translated/part.js:1409 templates/js/translated/stock.js:1895 +#: templates/js/translated/part.js:1590 templates/js/translated/stock.js:1977 msgid "Path" msgstr "" -#: templates/js/translated/part.js:1453 +#: templates/js/translated/part.js:1634 msgid "No test templates matching query" msgstr "" -#: templates/js/translated/part.js:1504 templates/js/translated/stock.js:816 +#: templates/js/translated/part.js:1685 templates/js/translated/stock.js:898 msgid "Edit test result" msgstr "" -#: templates/js/translated/part.js:1505 templates/js/translated/stock.js:817 +#: templates/js/translated/part.js:1686 templates/js/translated/stock.js:899 msgid "Delete test result" msgstr "" -#: templates/js/translated/part.js:1511 +#: templates/js/translated/part.js:1692 msgid "This test is defined for a parent part" msgstr "" -#: templates/js/translated/part.js:1533 +#: templates/js/translated/part.js:1714 msgid "Edit Test Result Template" msgstr "" -#: templates/js/translated/part.js:1547 +#: templates/js/translated/part.js:1728 msgid "Delete Test Result Template" msgstr "" -#: templates/js/translated/part.js:1572 +#: templates/js/translated/part.js:1753 #, python-brace-format msgid "No ${human_name} information found" msgstr "" -#: templates/js/translated/part.js:1627 +#: templates/js/translated/part.js:1808 #, python-brace-format msgid "Edit ${human_name}" msgstr "" -#: templates/js/translated/part.js:1628 +#: templates/js/translated/part.js:1809 #, python-brace-format msgid "Delete ${human_name}" msgstr "" -#: templates/js/translated/part.js:1729 +#: templates/js/translated/part.js:1910 msgid "Single Price" msgstr "Cena jednostkowa" -#: templates/js/translated/part.js:1748 +#: templates/js/translated/part.js:1929 msgid "Single Price Difference" msgstr "" @@ -7930,276 +7964,300 @@ msgstr "" msgid "Sales Order(s) must be selected before printing report" msgstr "" -#: templates/js/translated/stock.js:70 +#: templates/js/translated/stock.js:71 msgid "Serialize Stock Item" msgstr "" -#: templates/js/translated/stock.js:88 templates/js/translated/stock.js:167 +#: templates/js/translated/stock.js:89 templates/js/translated/stock.js:168 msgid "Next available serial number" msgstr "" -#: templates/js/translated/stock.js:90 templates/js/translated/stock.js:169 +#: templates/js/translated/stock.js:91 templates/js/translated/stock.js:170 msgid "Latest serial number" msgstr "" -#: templates/js/translated/stock.js:104 +#: templates/js/translated/stock.js:105 msgid "Parent stock location" msgstr "" -#: templates/js/translated/stock.js:140 +#: templates/js/translated/stock.js:141 msgid "New Stock Location" msgstr "" -#: templates/js/translated/stock.js:180 +#: templates/js/translated/stock.js:181 msgid "This part cannot be serialized" msgstr "" -#: templates/js/translated/stock.js:219 +#: templates/js/translated/stock.js:220 msgid "Enter initial quantity for this stock item" msgstr "" -#: templates/js/translated/stock.js:225 +#: templates/js/translated/stock.js:226 msgid "Enter serial numbers for new stock (or leave blank)" msgstr "" -#: templates/js/translated/stock.js:368 +#: templates/js/translated/stock.js:369 msgid "Created new stock item" msgstr "" -#: templates/js/translated/stock.js:381 +#: templates/js/translated/stock.js:382 msgid "Created multiple stock items" msgstr "" -#: templates/js/translated/stock.js:420 +#: templates/js/translated/stock.js:407 +msgid "Find Serial Number" +msgstr "" + +#: templates/js/translated/stock.js:411 templates/js/translated/stock.js:412 +msgid "Enter serial number" +msgstr "" + +#: templates/js/translated/stock.js:428 +msgid "Enter a serial number" +msgstr "" + +#: templates/js/translated/stock.js:448 +msgid "No matching serial number" +msgstr "" + +#: templates/js/translated/stock.js:457 +msgid "More than one matching result found" +msgstr "" + +#: templates/js/translated/stock.js:502 msgid "Export Stock" msgstr "" -#: templates/js/translated/stock.js:431 +#: templates/js/translated/stock.js:513 msgid "Include Sublocations" msgstr "" -#: templates/js/translated/stock.js:432 +#: templates/js/translated/stock.js:514 msgid "Include stock items in sublocations" msgstr "" -#: templates/js/translated/stock.js:474 +#: templates/js/translated/stock.js:556 msgid "Transfer Stock" msgstr "" -#: templates/js/translated/stock.js:475 +#: templates/js/translated/stock.js:557 msgid "Move" msgstr "" -#: templates/js/translated/stock.js:481 +#: templates/js/translated/stock.js:563 msgid "Count Stock" msgstr "" -#: templates/js/translated/stock.js:482 +#: templates/js/translated/stock.js:564 msgid "Count" msgstr "" -#: templates/js/translated/stock.js:486 +#: templates/js/translated/stock.js:568 msgid "Remove Stock" msgstr "" -#: templates/js/translated/stock.js:487 +#: templates/js/translated/stock.js:569 msgid "Take" msgstr "" -#: templates/js/translated/stock.js:491 +#: templates/js/translated/stock.js:573 msgid "Add Stock" msgstr "Dodaj stan" -#: templates/js/translated/stock.js:492 users/models.py:200 +#: templates/js/translated/stock.js:574 users/models.py:200 msgid "Add" msgstr "Dodaj" -#: templates/js/translated/stock.js:496 templates/stock_table.html:56 +#: templates/js/translated/stock.js:578 templates/stock_table.html:56 msgid "Delete Stock" msgstr "" -#: templates/js/translated/stock.js:585 +#: templates/js/translated/stock.js:667 msgid "Quantity cannot be adjusted for serialized stock" msgstr "" -#: templates/js/translated/stock.js:585 +#: templates/js/translated/stock.js:667 msgid "Specify stock quantity" msgstr "" -#: templates/js/translated/stock.js:625 +#: templates/js/translated/stock.js:707 msgid "You must select at least one available stock item" msgstr "" -#: templates/js/translated/stock.js:783 +#: templates/js/translated/stock.js:865 msgid "PASS" msgstr "" -#: templates/js/translated/stock.js:785 +#: templates/js/translated/stock.js:867 msgid "FAIL" msgstr "" -#: templates/js/translated/stock.js:790 +#: templates/js/translated/stock.js:872 msgid "NO RESULT" msgstr "" -#: templates/js/translated/stock.js:812 +#: templates/js/translated/stock.js:894 msgid "Add test result" msgstr "" -#: templates/js/translated/stock.js:838 +#: templates/js/translated/stock.js:920 msgid "No test results found" msgstr "" -#: templates/js/translated/stock.js:895 +#: templates/js/translated/stock.js:977 msgid "Test Date" msgstr "" -#: templates/js/translated/stock.js:1002 +#: templates/js/translated/stock.js:1084 msgid "In production" msgstr "" -#: templates/js/translated/stock.js:1006 +#: templates/js/translated/stock.js:1088 msgid "Installed in Stock Item" msgstr "" -#: templates/js/translated/stock.js:1010 +#: templates/js/translated/stock.js:1092 msgid "Shipped to customer" msgstr "" -#: templates/js/translated/stock.js:1014 +#: templates/js/translated/stock.js:1096 msgid "Assigned to Sales Order" msgstr "" -#: templates/js/translated/stock.js:1020 +#: templates/js/translated/stock.js:1102 msgid "No stock location set" msgstr "" -#: templates/js/translated/stock.js:1178 +#: templates/js/translated/stock.js:1260 msgid "Stock item is in production" msgstr "" -#: templates/js/translated/stock.js:1183 +#: templates/js/translated/stock.js:1265 msgid "Stock item assigned to sales order" msgstr "" -#: templates/js/translated/stock.js:1186 +#: templates/js/translated/stock.js:1268 msgid "Stock item assigned to customer" msgstr "" -#: templates/js/translated/stock.js:1190 +#: templates/js/translated/stock.js:1272 msgid "Stock item has expired" msgstr "" -#: templates/js/translated/stock.js:1192 +#: templates/js/translated/stock.js:1274 msgid "Stock item will expire soon" msgstr "" -#: templates/js/translated/stock.js:1196 +#: templates/js/translated/stock.js:1278 msgid "Stock item has been allocated" msgstr "" -#: templates/js/translated/stock.js:1200 +#: templates/js/translated/stock.js:1282 msgid "Stock item has been installed in another item" msgstr "" -#: templates/js/translated/stock.js:1207 +#: templates/js/translated/stock.js:1289 msgid "Stock item has been rejected" msgstr "" -#: templates/js/translated/stock.js:1209 +#: templates/js/translated/stock.js:1291 msgid "Stock item is lost" msgstr "" -#: templates/js/translated/stock.js:1211 +#: templates/js/translated/stock.js:1293 msgid "Stock item is destroyed" msgstr "" -#: templates/js/translated/stock.js:1215 +#: templates/js/translated/stock.js:1297 #: templates/js/translated/table_filters.js:183 msgid "Depleted" msgstr "" -#: templates/js/translated/stock.js:1265 +#: templates/js/translated/stock.js:1347 msgid "Stocktake" msgstr "" -#: templates/js/translated/stock.js:1338 +#: templates/js/translated/stock.js:1420 msgid "Supplier part not specified" msgstr "" -#: templates/js/translated/stock.js:1376 +#: templates/js/translated/stock.js:1458 msgid "No stock items matching query" msgstr "" -#: templates/js/translated/stock.js:1397 templates/js/translated/stock.js:1445 +#: templates/js/translated/stock.js:1479 templates/js/translated/stock.js:1527 msgid "items" msgstr "" -#: templates/js/translated/stock.js:1485 +#: templates/js/translated/stock.js:1567 msgid "batches" msgstr "" -#: templates/js/translated/stock.js:1512 +#: templates/js/translated/stock.js:1594 msgid "locations" msgstr "" -#: templates/js/translated/stock.js:1514 +#: templates/js/translated/stock.js:1596 msgid "Undefined location" msgstr "" -#: templates/js/translated/stock.js:1688 +#: templates/js/translated/stock.js:1770 msgid "Set Stock Status" msgstr "" -#: templates/js/translated/stock.js:1702 +#: templates/js/translated/stock.js:1784 msgid "Select Status Code" msgstr "" -#: templates/js/translated/stock.js:1703 +#: templates/js/translated/stock.js:1785 msgid "Status code must be selected" msgstr "" -#: templates/js/translated/stock.js:1927 +#: templates/js/translated/stock.js:2009 msgid "Invalid date" msgstr "" -#: templates/js/translated/stock.js:1974 +#: templates/js/translated/stock.js:2031 +msgid "Details" +msgstr "Szczegóły" + +#: templates/js/translated/stock.js:2056 msgid "Location no longer exists" msgstr "" -#: templates/js/translated/stock.js:1993 +#: templates/js/translated/stock.js:2075 msgid "Purchase order no longer exists" msgstr "" -#: templates/js/translated/stock.js:2012 +#: templates/js/translated/stock.js:2094 msgid "Customer no longer exists" msgstr "" -#: templates/js/translated/stock.js:2030 +#: templates/js/translated/stock.js:2112 msgid "Stock item no longer exists" msgstr "" -#: templates/js/translated/stock.js:2053 +#: templates/js/translated/stock.js:2135 msgid "Added" msgstr "Dodano" -#: templates/js/translated/stock.js:2061 +#: templates/js/translated/stock.js:2143 msgid "Removed" msgstr "" -#: templates/js/translated/stock.js:2102 +#: templates/js/translated/stock.js:2184 msgid "Edit tracking entry" msgstr "" -#: templates/js/translated/stock.js:2103 +#: templates/js/translated/stock.js:2185 msgid "Delete tracking entry" msgstr "" -#: templates/js/translated/stock.js:2154 +#: templates/js/translated/stock.js:2236 msgid "No installed items" msgstr "" -#: templates/js/translated/stock.js:2205 +#: templates/js/translated/stock.js:2287 msgid "Uninstall Stock Item" msgstr "" diff --git a/InvenTree/locale/pt/LC_MESSAGES/django.po b/InvenTree/locale/pt/LC_MESSAGES/django.po index 61da5feab6..03d5295103 100644 --- a/InvenTree/locale/pt/LC_MESSAGES/django.po +++ b/InvenTree/locale/pt/LC_MESSAGES/django.po @@ -2,8 +2,8 @@ msgid "" msgstr "" "Project-Id-Version: inventree\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2021-11-30 21:49+0000\n" -"PO-Revision-Date: 2021-11-30 21:51\n" +"POT-Creation-Date: 2021-12-03 10:37+0000\n" +"PO-Revision-Date: 2021-12-03 11:25\n" "Last-Translator: \n" "Language-Team: Portuguese\n" "Language: pt_PT\n" @@ -114,129 +114,130 @@ msgstr "" msgid "Number of unique serial number ({s}) must match quantity ({q})" msgstr "" -#: InvenTree/models.py:114 +#: InvenTree/models.py:120 msgid "Missing file" msgstr "" -#: InvenTree/models.py:115 +#: InvenTree/models.py:121 msgid "Missing external link" msgstr "" -#: InvenTree/models.py:126 stock/models.py:1874 +#: InvenTree/models.py:132 stock/models.py:1864 #: templates/js/translated/attachment.js:117 msgid "Attachment" msgstr "" -#: InvenTree/models.py:127 +#: InvenTree/models.py:133 msgid "Select file to attach" msgstr "" -#: InvenTree/models.py:133 company/models.py:131 company/models.py:348 +#: InvenTree/models.py:139 company/models.py:131 company/models.py:348 #: company/models.py:564 order/models.py:163 part/models.py:797 #: report/templates/report/inventree_build_order_base.html:165 #: templates/js/translated/company.js:537 -#: templates/js/translated/company.js:826 templates/js/translated/part.js:1077 +#: templates/js/translated/company.js:826 templates/js/translated/part.js:1258 msgid "Link" msgstr "" -#: InvenTree/models.py:134 build/models.py:330 part/models.py:798 -#: stock/models.py:540 +#: InvenTree/models.py:140 build/models.py:330 part/models.py:798 +#: stock/models.py:530 msgid "Link to external URL" msgstr "" -#: InvenTree/models.py:137 templates/js/translated/attachment.js:161 +#: InvenTree/models.py:143 templates/js/translated/attachment.js:161 msgid "Comment" msgstr "" -#: InvenTree/models.py:137 +#: InvenTree/models.py:143 msgid "File comment" msgstr "" -#: InvenTree/models.py:143 InvenTree/models.py:144 common/models.py:1185 +#: InvenTree/models.py:149 InvenTree/models.py:150 common/models.py:1185 #: common/models.py:1186 part/models.py:2205 part/models.py:2225 #: report/templates/report/inventree_test_report_base.html:96 -#: templates/js/translated/stock.js:2084 +#: templates/js/translated/stock.js:2166 msgid "User" msgstr "" -#: InvenTree/models.py:147 +#: InvenTree/models.py:153 msgid "upload date" msgstr "" -#: InvenTree/models.py:170 +#: InvenTree/models.py:176 msgid "Filename must not be empty" msgstr "" -#: InvenTree/models.py:193 +#: InvenTree/models.py:199 msgid "Invalid attachment directory" msgstr "" -#: InvenTree/models.py:203 +#: InvenTree/models.py:209 #, python-brace-format msgid "Filename contains illegal character '{c}'" msgstr "" -#: InvenTree/models.py:206 +#: InvenTree/models.py:212 msgid "Filename missing extension" msgstr "" -#: InvenTree/models.py:213 +#: InvenTree/models.py:219 msgid "Attachment with this filename already exists" msgstr "" -#: InvenTree/models.py:220 +#: InvenTree/models.py:226 msgid "Error renaming file" msgstr "" -#: InvenTree/models.py:255 +#: InvenTree/models.py:261 msgid "Invalid choice" msgstr "" -#: InvenTree/models.py:271 InvenTree/models.py:272 company/models.py:415 +#: InvenTree/models.py:277 InvenTree/models.py:278 company/models.py:415 #: label/models.py:112 part/models.py:741 part/models.py:2389 -#: part/templates/part/detail.html:25 report/models.py:181 -#: templates/InvenTree/settings/settings.html:259 -#: templates/js/translated/company.js:638 templates/js/translated/part.js:499 -#: templates/js/translated/part.js:636 templates/js/translated/part.js:1384 -#: templates/js/translated/stock.js:1877 +#: report/models.py:181 templates/InvenTree/settings/settings.html:259 +#: templates/js/translated/company.js:638 templates/js/translated/part.js:506 +#: templates/js/translated/part.js:643 templates/js/translated/part.js:1565 +#: templates/js/translated/stock.js:1959 msgid "Name" msgstr "" -#: InvenTree/models.py:278 build/models.py:207 +#: InvenTree/models.py:284 build/models.py:207 #: build/templates/build/detail.html:25 company/models.py:354 -#: company/models.py:570 company/templates/company/manufacturer_part.html:80 -#: company/templates/company/supplier_part.html:81 label/models.py:119 -#: order/models.py:161 part/models.py:764 part/templates/part/detail.html:30 +#: company/models.py:570 company/templates/company/company_base.html:68 +#: company/templates/company/manufacturer_part.html:76 +#: company/templates/company/supplier_part.html:73 label/models.py:119 +#: order/models.py:161 part/models.py:764 part/templates/part/category.html:70 +#: part/templates/part/part_base.html:163 #: part/templates/part/set_category.html:14 report/models.py:194 #: report/models.py:553 report/models.py:592 #: report/templates/report/inventree_build_order_base.html:118 -#: stock/templates/stock/location.html:108 templates/js/translated/bom.js:215 +#: stock/templates/stock/location.html:89 templates/js/translated/bom.js:215 #: templates/js/translated/bom.js:428 templates/js/translated/build.js:1621 #: templates/js/translated/company.js:345 #: templates/js/translated/company.js:548 -#: templates/js/translated/company.js:837 templates/js/translated/order.js:673 -#: templates/js/translated/order.js:855 templates/js/translated/order.js:1091 -#: templates/js/translated/part.js:558 templates/js/translated/part.js:752 -#: templates/js/translated/part.js:837 templates/js/translated/part.js:1007 -#: templates/js/translated/part.js:1403 templates/js/translated/part.js:1472 -#: templates/js/translated/stock.js:1151 templates/js/translated/stock.js:1889 -#: templates/js/translated/stock.js:1934 +#: templates/js/translated/company.js:837 templates/js/translated/order.js:680 +#: templates/js/translated/order.js:854 templates/js/translated/order.js:1090 +#: templates/js/translated/part.js:565 templates/js/translated/part.js:933 +#: templates/js/translated/part.js:1018 templates/js/translated/part.js:1188 +#: templates/js/translated/part.js:1584 templates/js/translated/part.js:1653 +#: templates/js/translated/stock.js:1233 templates/js/translated/stock.js:1971 +#: templates/js/translated/stock.js:2016 msgid "Description" msgstr "" -#: InvenTree/models.py:279 +#: InvenTree/models.py:285 msgid "Description (optional)" msgstr "" -#: InvenTree/models.py:287 +#: InvenTree/models.py:293 msgid "parent" msgstr "" -#: InvenTree/serializers.py:62 part/models.py:2674 +#: InvenTree/serializers.py:65 part/models.py:2674 msgid "Must be a valid number" msgstr "" -#: InvenTree/serializers.py:285 +#: InvenTree/serializers.py:299 msgid "Filename" msgstr "" @@ -361,7 +362,7 @@ msgid "Returned" msgstr "" #: InvenTree/status_codes.py:143 -#: order/templates/order/sales_order_base.html:147 +#: order/templates/order/sales_order_base.html:148 msgid "Shipped" msgstr "" @@ -566,7 +567,7 @@ msgid "Barcode associated with StockItem" msgstr "" #: build/forms.py:36 build/models.py:1283 -#: build/templates/build/build_base.html:124 +#: build/templates/build/build_base.html:132 #: build/templates/build/detail.html:35 common/models.py:1225 #: company/forms.py:42 company/templates/company/supplier_part.html:251 #: order/forms.py:102 order/models.py:729 order/models.py:991 @@ -574,26 +575,27 @@ msgstr "" #: order/templates/order/order_wizard/select_parts.html:34 part/forms.py:223 #: part/forms.py:239 part/forms.py:255 part/models.py:2576 #: part/templates/part/bom_upload/match_parts.html:31 -#: part/templates/part/detail.html:1076 part/templates/part/detail.html:1162 +#: part/templates/part/detail.html:967 part/templates/part/detail.html:1053 #: part/templates/part/part_pricing.html:16 #: report/templates/report/inventree_build_order_base.html:114 #: report/templates/report/inventree_po_report.html:91 #: report/templates/report/inventree_so_report.html:91 #: report/templates/report/inventree_test_report_base.html:81 #: report/templates/report/inventree_test_report_base.html:139 -#: stock/forms.py:156 stock/serializers.py:286 -#: stock/templates/stock/item_base.html:256 +#: stock/forms.py:156 stock/serializers.py:291 +#: stock/templates/stock/item_base.html:174 #: templates/js/translated/barcode.js:385 templates/js/translated/bom.js:443 #: templates/js/translated/build.js:235 templates/js/translated/build.js:435 #: templates/js/translated/build.js:629 templates/js/translated/build.js:639 #: templates/js/translated/build.js:1015 templates/js/translated/build.js:1362 #: templates/js/translated/model_renderers.js:99 -#: templates/js/translated/order.js:892 templates/js/translated/order.js:1205 -#: templates/js/translated/order.js:1283 templates/js/translated/order.js:1290 -#: templates/js/translated/order.js:1379 templates/js/translated/order.js:1479 -#: templates/js/translated/part.js:1615 templates/js/translated/part.js:1738 -#: templates/js/translated/part.js:1816 templates/js/translated/stock.js:377 -#: templates/js/translated/stock.js:2069 templates/js/translated/stock.js:2171 +#: templates/js/translated/order.js:891 templates/js/translated/order.js:1204 +#: templates/js/translated/order.js:1282 templates/js/translated/order.js:1289 +#: templates/js/translated/order.js:1378 templates/js/translated/order.js:1478 +#: templates/js/translated/part.js:843 templates/js/translated/part.js:1796 +#: templates/js/translated/part.js:1919 templates/js/translated/part.js:1997 +#: templates/js/translated/stock.js:378 templates/js/translated/stock.js:2151 +#: templates/js/translated/stock.js:2253 msgid "Quantity" msgstr "" @@ -602,8 +604,8 @@ msgid "Enter quantity for build output" msgstr "" #: build/forms.py:41 order/forms.py:96 stock/forms.py:95 -#: stock/serializers.py:307 templates/js/translated/stock.js:224 -#: templates/js/translated/stock.js:378 +#: stock/serializers.py:312 templates/js/translated/stock.js:225 +#: templates/js/translated/stock.js:379 msgid "Serial Numbers" msgstr "" @@ -646,7 +648,7 @@ msgstr "" #: build/templates/build/index.html:8 build/templates/build/index.html:12 #: order/templates/order/sales_order_detail.html:42 #: order/templates/order/so_sidebar.html:7 -#: part/templates/part/part_sidebar.html:22 templates/InvenTree/index.html:221 +#: part/templates/part/part_sidebar.html:20 templates/InvenTree/index.html:221 #: templates/InvenTree/search.html:145 #: templates/InvenTree/settings/sidebar.html:42 users/models.py:44 msgid "Build Orders" @@ -662,7 +664,7 @@ msgstr "" #: report/templates/report/inventree_po_report.html:92 #: report/templates/report/inventree_so_report.html:92 #: templates/js/translated/bom.js:435 templates/js/translated/build.js:1119 -#: templates/js/translated/order.js:886 templates/js/translated/order.js:1473 +#: templates/js/translated/order.js:885 templates/js/translated/order.js:1472 msgid "Reference" msgstr "" @@ -670,7 +672,7 @@ msgstr "" msgid "Brief description of the build" msgstr "" -#: build/models.py:219 build/templates/build/build_base.html:156 +#: build/models.py:219 build/templates/build/build_base.html:164 #: build/templates/build/detail.html:88 msgid "Parent Build" msgstr "" @@ -679,7 +681,7 @@ msgstr "" msgid "BuildOrder to which this build is allocated" msgstr "" -#: build/models.py:225 build/templates/build/build_base.html:119 +#: build/models.py:225 build/templates/build/build_base.html:77 #: build/templates/build/detail.html:30 company/models.py:705 #: order/models.py:789 order/models.py:860 #: order/templates/order/order_wizard/select_parts.html:32 part/models.py:357 @@ -700,10 +702,10 @@ msgstr "" #: templates/js/translated/build.js:988 templates/js/translated/build.js:1359 #: templates/js/translated/build.js:1626 templates/js/translated/company.js:489 #: templates/js/translated/company.js:746 templates/js/translated/order.js:426 -#: templates/js/translated/order.js:840 templates/js/translated/order.js:1457 -#: templates/js/translated/part.js:737 templates/js/translated/part.js:818 -#: templates/js/translated/part.js:985 templates/js/translated/stock.js:508 -#: templates/js/translated/stock.js:1108 templates/js/translated/stock.js:2159 +#: templates/js/translated/order.js:839 templates/js/translated/order.js:1456 +#: templates/js/translated/part.js:918 templates/js/translated/part.js:999 +#: templates/js/translated/part.js:1166 templates/js/translated/stock.js:590 +#: templates/js/translated/stock.js:1190 templates/js/translated/stock.js:2241 msgid "Part" msgstr "" @@ -751,7 +753,7 @@ msgstr "" msgid "Number of stock items which have been completed" msgstr "" -#: build/models.py:277 part/templates/part/part_base.html:216 +#: build/models.py:277 part/templates/part/part_base.html:234 msgid "Build Status" msgstr "" @@ -759,7 +761,7 @@ msgstr "" msgid "Build status code" msgstr "" -#: build/models.py:285 stock/models.py:544 +#: build/models.py:285 stock/models.py:534 msgid "Batch Code" msgstr "" @@ -768,7 +770,7 @@ msgid "Batch code for this build output" msgstr "" #: build/models.py:292 order/models.py:165 part/models.py:936 -#: part/templates/part/detail.html:86 templates/js/translated/order.js:1104 +#: part/templates/part/part_base.html:313 templates/js/translated/order.js:1103 msgid "Creation Date" msgstr "" @@ -797,12 +799,12 @@ msgstr "" msgid "User who issued this build order" msgstr "" -#: build/models.py:323 build/templates/build/build_base.html:177 +#: build/models.py:323 build/templates/build/build_base.html:185 #: build/templates/build/detail.html:116 order/models.py:179 -#: order/templates/order/order_base.html:154 -#: order/templates/order/sales_order_base.html:161 part/models.py:940 +#: order/templates/order/order_base.html:158 +#: order/templates/order/sales_order_base.html:162 part/models.py:940 #: report/templates/report/inventree_build_order_base.html:159 -#: templates/js/translated/build.js:1680 templates/js/translated/order.js:700 +#: templates/js/translated/build.js:1680 templates/js/translated/order.js:699 msgid "Responsible" msgstr "" @@ -811,10 +813,10 @@ msgid "User responsible for this build order" msgstr "" #: build/models.py:329 build/templates/build/detail.html:102 -#: company/templates/company/manufacturer_part.html:87 -#: company/templates/company/supplier_part.html:88 -#: part/templates/part/detail.html:80 stock/models.py:538 -#: stock/templates/stock/item_base.html:346 +#: company/templates/company/manufacturer_part.html:102 +#: company/templates/company/supplier_part.html:126 +#: part/templates/part/part_base.html:354 stock/models.py:528 +#: stock/templates/stock/item_base.html:374 msgid "External Link" msgstr "" @@ -824,15 +826,15 @@ msgstr "" #: order/models.py:183 order/models.py:738 #: order/templates/order/po_sidebar.html:11 #: order/templates/order/so_sidebar.html:11 part/models.py:925 -#: part/templates/part/detail.html:223 part/templates/part/part_sidebar.html:52 +#: part/templates/part/detail.html:116 part/templates/part/part_sidebar.html:50 #: report/templates/report/inventree_build_order_base.html:173 -#: stock/forms.py:154 stock/forms.py:204 stock/forms.py:238 stock/models.py:610 -#: stock/models.py:1774 stock/models.py:1880 stock/serializers.py:325 -#: stock/serializers.py:583 stock/templates/stock/stock_sidebar.html:21 +#: stock/forms.py:154 stock/forms.py:204 stock/forms.py:238 stock/models.py:600 +#: stock/models.py:1764 stock/models.py:1870 stock/serializers.py:330 +#: stock/serializers.py:588 stock/templates/stock/stock_sidebar.html:21 #: templates/js/translated/barcode.js:58 templates/js/translated/bom.js:599 -#: templates/js/translated/company.js:842 templates/js/translated/order.js:985 -#: templates/js/translated/order.js:1583 templates/js/translated/stock.js:891 -#: templates/js/translated/stock.js:1370 +#: templates/js/translated/company.js:842 templates/js/translated/order.js:984 +#: templates/js/translated/order.js:1582 templates/js/translated/stock.js:973 +#: templates/js/translated/stock.js:1452 msgid "Notes" msgstr "" @@ -877,7 +879,7 @@ msgstr "" msgid "Selected stock item not found in BOM" msgstr "" -#: build/models.py:1253 stock/templates/stock/item_base.html:318 +#: build/models.py:1253 stock/templates/stock/item_base.html:346 #: templates/InvenTree/search.html:143 templates/js/translated/build.js:1599 #: templates/navbar.html:33 msgid "Build" @@ -890,11 +892,11 @@ msgstr "" #: build/models.py:1270 build/serializers.py:328 #: stock/templates/stock/item_base.html:8 #: stock/templates/stock/item_base.html:16 -#: stock/templates/stock/item_base.html:340 +#: stock/templates/stock/item_base.html:368 #: templates/js/translated/build.js:408 templates/js/translated/build.js:413 #: templates/js/translated/build.js:1361 templates/js/translated/build.js:1742 -#: templates/js/translated/order.js:1178 templates/js/translated/order.js:1183 -#: templates/js/translated/stock.js:2020 +#: templates/js/translated/order.js:1177 templates/js/translated/order.js:1182 +#: templates/js/translated/stock.js:2102 msgid "Stock Item" msgstr "" @@ -934,16 +936,16 @@ msgstr "" msgid "This build output is not fully allocated" msgstr "" -#: build/serializers.py:190 order/serializers.py:219 order/serializers.py:287 -#: stock/forms.py:236 stock/serializers.py:318 stock/serializers.py:685 -#: stock/templates/stock/item_base.html:286 +#: build/serializers.py:190 order/serializers.py:228 order/serializers.py:296 +#: stock/forms.py:236 stock/serializers.py:323 stock/serializers.py:690 +#: stock/templates/stock/item_base.html:314 #: templates/js/translated/barcode.js:384 #: templates/js/translated/barcode.js:557 templates/js/translated/build.js:420 #: templates/js/translated/build.js:1027 templates/js/translated/order.js:348 -#: templates/js/translated/order.js:1190 templates/js/translated/order.js:1298 -#: templates/js/translated/order.js:1304 templates/js/translated/part.js:181 -#: templates/js/translated/stock.js:510 templates/js/translated/stock.js:1251 -#: templates/js/translated/stock.js:1961 +#: templates/js/translated/order.js:1189 templates/js/translated/order.js:1297 +#: templates/js/translated/order.js:1303 templates/js/translated/part.js:177 +#: templates/js/translated/stock.js:592 templates/js/translated/stock.js:1333 +#: templates/js/translated/stock.js:2043 msgid "Location" msgstr "" @@ -951,13 +953,13 @@ msgstr "" msgid "Location for completed build outputs" msgstr "" -#: build/serializers.py:197 build/templates/build/build_base.html:129 +#: build/serializers.py:197 build/templates/build/build_base.html:137 #: build/templates/build/detail.html:63 order/models.py:572 -#: order/serializers.py:240 stock/templates/stock/item_base.html:409 +#: order/serializers.py:249 stock/templates/stock/item_base.html:180 #: templates/js/translated/barcode.js:140 templates/js/translated/build.js:1655 -#: templates/js/translated/order.js:431 templates/js/translated/order.js:677 -#: templates/js/translated/order.js:1096 templates/js/translated/stock.js:1226 -#: templates/js/translated/stock.js:2038 templates/js/translated/stock.js:2187 +#: templates/js/translated/order.js:431 templates/js/translated/order.js:1095 +#: templates/js/translated/stock.js:1308 templates/js/translated/stock.js:2120 +#: templates/js/translated/stock.js:2269 msgid "Status" msgstr "" @@ -986,8 +988,8 @@ msgstr "" msgid "Item must be in stock" msgstr "" -#: build/serializers.py:348 order/models.py:316 order/serializers.py:233 -#: stock/models.py:381 stock/models.py:1103 stock/serializers.py:298 +#: build/serializers.py:348 order/models.py:316 order/serializers.py:242 +#: stock/models.py:371 stock/models.py:1093 stock/serializers.py:303 msgid "Quantity must be greater than zero" msgstr "" @@ -1031,7 +1033,7 @@ msgid "Edit Build" msgstr "" #: build/templates/build/build_base.html:56 -#: build/templates/build/build_base.html:207 build/views.py:56 +#: build/templates/build/build_base.html:215 build/views.py:56 msgid "Cancel Build" msgstr "" @@ -1041,93 +1043,95 @@ msgstr "" #: build/templates/build/build_base.html:64 #: build/templates/build/build_base.html:65 -#: build/templates/build/build_base.html:223 +#: build/templates/build/build_base.html:231 msgid "Complete Build" msgstr "" -#: build/templates/build/build_base.html:79 +#: build/templates/build/build_base.html:82 +msgid "Build Description" +msgstr "" + +#: build/templates/build/build_base.html:91 #, python-format msgid "This Build Order is allocated to Sales Order %(link)s" msgstr "" -#: build/templates/build/build_base.html:86 +#: build/templates/build/build_base.html:98 #, python-format msgid "This Build Order is a child of Build Order %(link)s" msgstr "" -#: build/templates/build/build_base.html:93 +#: build/templates/build/build_base.html:105 msgid "Build Order is ready to mark as completed" msgstr "" -#: build/templates/build/build_base.html:98 +#: build/templates/build/build_base.html:110 msgid "Build Order cannot be completed as outstanding outputs remain" msgstr "" -#: build/templates/build/build_base.html:103 +#: build/templates/build/build_base.html:115 msgid "Required build quantity has not yet been completed" msgstr "" -#: build/templates/build/build_base.html:108 +#: build/templates/build/build_base.html:120 msgid "Stock has not been fully allocated to this Build Order" msgstr "" -#: build/templates/build/build_base.html:138 +#: build/templates/build/build_base.html:146 #: build/templates/build/detail.html:132 -#: order/templates/order/order_base.html:140 -#: order/templates/order/sales_order_base.html:140 +#: order/templates/order/order_base.html:144 +#: order/templates/order/sales_order_base.html:141 #: report/templates/report/inventree_build_order_base.html:126 -#: templates/js/translated/build.js:1692 templates/js/translated/order.js:690 -#: templates/js/translated/order.js:1109 +#: templates/js/translated/build.js:1692 templates/js/translated/order.js:689 +#: templates/js/translated/order.js:1108 msgid "Target Date" msgstr "" -#: build/templates/build/build_base.html:143 +#: build/templates/build/build_base.html:151 #, python-format msgid "This build was due on %(target)s" msgstr "" -#: build/templates/build/build_base.html:143 -#: build/templates/build/build_base.html:188 -#: order/templates/order/order_base.html:81 -#: order/templates/order/order_base.html:102 -#: order/templates/order/sales_order_base.html:78 -#: order/templates/order/sales_order_base.html:107 +#: build/templates/build/build_base.html:151 +#: build/templates/build/build_base.html:196 +#: order/templates/order/order_base.html:98 +#: order/templates/order/sales_order_base.html:93 #: templates/js/translated/table_filters.js:294 #: templates/js/translated/table_filters.js:322 #: templates/js/translated/table_filters.js:339 msgid "Overdue" msgstr "" -#: build/templates/build/build_base.html:150 +#: build/templates/build/build_base.html:158 #: build/templates/build/detail.html:68 build/templates/build/detail.html:143 #: templates/js/translated/build.js:1641 #: templates/js/translated/table_filters.js:304 msgid "Completed" msgstr "" -#: build/templates/build/build_base.html:163 +#: build/templates/build/build_base.html:171 #: build/templates/build/detail.html:95 order/models.py:857 #: order/templates/order/sales_order_base.html:9 #: order/templates/order/sales_order_base.html:28 #: order/templates/order/sales_order_ship.html:25 #: report/templates/report/inventree_build_order_base.html:136 #: report/templates/report/inventree_so_report.html:77 -#: stock/templates/stock/item_base.html:280 -#: templates/js/translated/order.js:1051 +#: stock/templates/stock/item_base.html:308 +#: templates/js/translated/order.js:1050 msgid "Sales Order" msgstr "" -#: build/templates/build/build_base.html:170 +#: build/templates/build/build_base.html:178 #: build/templates/build/detail.html:109 #: report/templates/report/inventree_build_order_base.html:153 msgid "Issued By" msgstr "" -#: build/templates/build/build_base.html:215 +#: build/templates/build/build_base.html:223 msgid "Incomplete Outputs" msgstr "" -#: build/templates/build/build_base.html:216 +#: build/templates/build/build_base.html:224 msgid "Build Order cannot be completed as incomplete build outputs remain" msgstr "" @@ -1188,7 +1192,7 @@ msgid "Stock can be taken from any available location." msgstr "" #: build/templates/build/detail.html:50 order/models.py:811 stock/forms.py:150 -#: templates/js/translated/order.js:432 templates/js/translated/order.js:974 +#: templates/js/translated/order.js:432 templates/js/translated/order.js:973 msgid "Destination" msgstr "" @@ -1201,16 +1205,16 @@ msgid "Allocated Parts" msgstr "" #: build/templates/build/detail.html:81 -#: stock/templates/stock/item_base.html:304 -#: templates/js/translated/stock.js:1240 templates/js/translated/stock.js:2194 +#: stock/templates/stock/item_base.html:332 +#: templates/js/translated/stock.js:1322 templates/js/translated/stock.js:2276 #: templates/js/translated/table_filters.js:151 #: templates/js/translated/table_filters.js:233 msgid "Batch" msgstr "" #: build/templates/build/detail.html:127 -#: order/templates/order/order_base.html:127 -#: order/templates/order/sales_order_base.html:134 +#: order/templates/order/order_base.html:131 +#: order/templates/order/sales_order_base.html:135 #: templates/js/translated/build.js:1663 msgid "Created" msgstr "" @@ -1254,7 +1258,7 @@ msgstr "" #: build/templates/build/detail.html:185 #: company/templates/company/detail.html:38 #: company/templates/company/detail.html:85 order/views.py:509 -#: part/templates/part/category.html:166 +#: part/templates/part/category.html:173 msgid "Order Parts" msgstr "" @@ -1306,8 +1310,8 @@ msgstr "" #: order/templates/order/po_sidebar.html:9 #: order/templates/order/purchase_order_detail.html:60 #: order/templates/order/sales_order_detail.html:52 -#: order/templates/order/so_sidebar.html:9 part/templates/part/detail.html:300 -#: part/templates/part/part_sidebar.html:50 stock/templates/stock/item.html:95 +#: order/templates/order/so_sidebar.html:9 part/templates/part/detail.html:193 +#: part/templates/part/part_sidebar.html:48 stock/templates/stock/item.html:95 #: stock/templates/stock/stock_sidebar.html:19 msgid "Attachments" msgstr "" @@ -1323,7 +1327,7 @@ msgstr "" #: order/templates/order/purchase_order_detail.html:108 #: order/templates/order/sales_order_detail.html:72 #: order/templates/order/sales_order_detail.html:99 -#: part/templates/part/detail.html:227 stock/templates/stock/item.html:115 +#: part/templates/part/detail.html:120 stock/templates/stock/item.html:115 #: stock/templates/stock/item.html:205 msgid "Edit Notes" msgstr "" @@ -1336,7 +1340,7 @@ msgstr "" msgid "All untracked stock items have been allocated" msgstr "" -#: build/templates/build/index.html:18 part/templates/part/detail.html:407 +#: build/templates/build/index.html:18 part/templates/part/detail.html:300 msgid "New Build Order" msgstr "" @@ -1380,7 +1384,7 @@ msgstr "" msgid "Maximum output quantity is " msgstr "" -#: build/views.py:122 stock/serializers.py:356 stock/views.py:1290 +#: build/views.py:122 stock/serializers.py:361 stock/views.py:1290 msgid "Serial numbers already exist" msgstr "" @@ -1675,7 +1679,7 @@ msgid "Parts are trackable by default" msgstr "" #: common/models.py:745 part/models.py:920 -#: part/templates/part/part_base.html:144 +#: part/templates/part/part_base.html:147 #: templates/js/translated/table_filters.js:42 msgid "Virtual" msgstr "" @@ -2142,7 +2146,7 @@ msgstr "" #: common/models.py:1233 company/serializers.py:264 #: company/templates/company/supplier_part.html:256 -#: templates/js/translated/part.js:1620 +#: templates/js/translated/part.js:852 templates/js/translated/part.js:1801 msgid "Price" msgstr "" @@ -2206,7 +2210,7 @@ msgstr "" msgid "Description of the company" msgstr "" -#: company/models.py:112 company/templates/company/company_base.html:70 +#: company/models.py:112 company/templates/company/company_base.html:97 #: templates/js/translated/company.js:349 msgid "Website" msgstr "" @@ -2215,7 +2219,7 @@ msgstr "" msgid "Company website URL" msgstr "" -#: company/models.py:117 company/templates/company/company_base.html:88 +#: company/models.py:117 company/templates/company/company_base.html:115 msgid "Address" msgstr "" @@ -2231,7 +2235,7 @@ msgstr "" msgid "Contact phone number" msgstr "" -#: company/models.py:125 company/templates/company/company_base.html:102 +#: company/models.py:125 company/templates/company/company_base.html:129 #: templates/InvenTree/settings/user.html:47 msgid "Email" msgstr "" @@ -2240,7 +2244,7 @@ msgstr "" msgid "Contact email address" msgstr "" -#: company/models.py:128 company/templates/company/company_base.html:109 +#: company/models.py:128 company/templates/company/company_base.html:136 msgid "Contact" msgstr "" @@ -2281,7 +2285,7 @@ msgid "Does this company manufacture parts?" msgstr "" #: company/models.py:152 company/serializers.py:270 -#: company/templates/company/company_base.html:76 stock/serializers.py:172 +#: company/templates/company/company_base.html:103 stock/serializers.py:177 msgid "Currency" msgstr "" @@ -2289,8 +2293,8 @@ msgstr "" msgid "Default currency used for this company" msgstr "" -#: company/models.py:320 company/models.py:535 stock/models.py:484 -#: stock/templates/stock/item_base.html:224 +#: company/models.py:320 company/models.py:535 stock/models.py:474 +#: stock/templates/stock/item_base.html:135 msgid "Base Part" msgstr "" @@ -2298,29 +2302,29 @@ msgstr "" msgid "Select part" msgstr "" -#: company/models.py:335 company/templates/company/company_base.html:116 -#: company/templates/company/manufacturer_part.html:93 -#: company/templates/company/supplier_part.html:104 -#: stock/templates/stock/item_base.html:353 +#: company/models.py:335 company/templates/company/company_base.html:73 +#: company/templates/company/manufacturer_part.html:91 +#: company/templates/company/supplier_part.html:97 +#: stock/templates/stock/item_base.html:381 #: templates/js/translated/company.js:333 #: templates/js/translated/company.js:514 -#: templates/js/translated/company.js:797 templates/js/translated/part.js:229 +#: templates/js/translated/company.js:797 templates/js/translated/part.js:232 msgid "Manufacturer" msgstr "" -#: company/models.py:336 templates/js/translated/part.js:230 +#: company/models.py:336 templates/js/translated/part.js:233 msgid "Select manufacturer" msgstr "" -#: company/models.py:342 company/templates/company/manufacturer_part.html:97 -#: company/templates/company/supplier_part.html:112 +#: company/models.py:342 company/templates/company/manufacturer_part.html:96 +#: company/templates/company/supplier_part.html:105 #: templates/js/translated/company.js:530 -#: templates/js/translated/company.js:815 templates/js/translated/order.js:874 -#: templates/js/translated/part.js:240 +#: templates/js/translated/company.js:815 templates/js/translated/order.js:873 +#: templates/js/translated/part.js:243 templates/js/translated/part.js:832 msgid "MPN" msgstr "" -#: company/models.py:343 templates/js/translated/part.js:241 +#: company/models.py:343 templates/js/translated/part.js:244 msgid "Manufacturer Part Number" msgstr "" @@ -2335,7 +2339,7 @@ msgstr "" #: company/models.py:409 company/models.py:558 #: company/templates/company/manufacturer_part.html:6 #: company/templates/company/manufacturer_part.html:23 -#: stock/templates/stock/item_base.html:363 +#: stock/templates/stock/item_base.html:391 msgid "Manufacturer Part" msgstr "" @@ -2345,8 +2349,8 @@ msgstr "" #: company/models.py:422 #: report/templates/report/inventree_test_report_base.html:95 -#: stock/models.py:1867 templates/js/translated/company.js:644 -#: templates/js/translated/part.js:645 templates/js/translated/stock.js:878 +#: stock/models.py:1857 templates/js/translated/company.js:644 +#: templates/js/translated/part.js:652 templates/js/translated/stock.js:960 msgid "Value" msgstr "" @@ -2355,9 +2359,9 @@ msgid "Parameter value" msgstr "" #: company/models.py:429 part/models.py:882 part/models.py:2397 -#: part/templates/part/detail.html:59 +#: part/templates/part/part_base.html:288 #: templates/InvenTree/settings/settings.html:264 -#: templates/js/translated/company.js:650 templates/js/translated/part.js:651 +#: templates/js/translated/company.js:650 templates/js/translated/part.js:658 msgid "Units" msgstr "" @@ -2369,28 +2373,28 @@ msgstr "" msgid "Linked manufacturer part must reference the same base part" msgstr "" -#: company/models.py:545 company/templates/company/company_base.html:121 -#: company/templates/company/supplier_part.html:94 order/models.py:263 -#: order/templates/order/order_base.html:108 +#: company/models.py:545 company/templates/company/company_base.html:78 +#: company/templates/company/supplier_part.html:87 order/models.py:263 +#: order/templates/order/order_base.html:112 #: order/templates/order/order_wizard/select_pos.html:30 part/bom.py:219 -#: part/bom.py:247 stock/templates/stock/item_base.html:370 +#: part/bom.py:247 stock/templates/stock/item_base.html:398 #: templates/js/translated/company.js:337 -#: templates/js/translated/company.js:771 templates/js/translated/order.js:660 -#: templates/js/translated/part.js:210 +#: templates/js/translated/company.js:771 templates/js/translated/order.js:667 +#: templates/js/translated/part.js:213 templates/js/translated/part.js:800 msgid "Supplier" msgstr "" -#: company/models.py:546 templates/js/translated/part.js:211 +#: company/models.py:546 templates/js/translated/part.js:214 msgid "Select supplier" msgstr "" -#: company/models.py:551 company/templates/company/supplier_part.html:98 -#: part/bom.py:220 part/bom.py:248 templates/js/translated/order.js:861 -#: templates/js/translated/part.js:221 +#: company/models.py:551 company/templates/company/supplier_part.html:91 +#: part/bom.py:220 part/bom.py:248 templates/js/translated/order.js:860 +#: templates/js/translated/part.js:224 templates/js/translated/part.js:818 msgid "SKU" msgstr "" -#: company/models.py:552 templates/js/translated/part.js:222 +#: company/models.py:552 templates/js/translated/part.js:225 msgid "Supplier stock keeping unit" msgstr "" @@ -2406,7 +2410,7 @@ msgstr "" msgid "Supplier part description" msgstr "" -#: company/models.py:576 company/templates/company/supplier_part.html:126 +#: company/models.py:576 company/templates/company/supplier_part.html:119 #: part/models.py:2588 report/templates/report/inventree_po_report.html:93 #: report/templates/report/inventree_so_report.html:93 msgid "Note" @@ -2420,9 +2424,9 @@ msgstr "" msgid "Minimum charge (e.g. stocking fee)" msgstr "" -#: company/models.py:582 company/templates/company/supplier_part.html:119 -#: stock/models.py:507 stock/templates/stock/item_base.html:311 -#: templates/js/translated/company.js:847 templates/js/translated/stock.js:1366 +#: company/models.py:582 company/templates/company/supplier_part.html:112 +#: stock/models.py:497 stock/templates/stock/item_base.html:339 +#: templates/js/translated/company.js:847 templates/js/translated/stock.js:1448 msgid "Packaging" msgstr "" @@ -2457,43 +2461,56 @@ msgstr "" msgid "Create Purchase Order" msgstr "" -#: company/templates/company/company_base.html:27 +#: company/templates/company/company_base.html:26 +msgid "Company actions" +msgstr "" + +#: company/templates/company/company_base.html:31 msgid "Edit company information" msgstr "" #: company/templates/company/company_base.html:32 -#: company/templates/company/company_base.html:148 +#: templates/js/translated/company.js:265 +msgid "Edit Company" +msgstr "" + +#: company/templates/company/company_base.html:36 +msgid "Delete company" +msgstr "" + +#: company/templates/company/company_base.html:37 +#: company/templates/company/company_base.html:159 msgid "Delete Company" msgstr "" -#: company/templates/company/company_base.html:48 +#: company/templates/company/company_base.html:53 #: part/templates/part/part_thumb.html:12 msgid "Upload new image" msgstr "" -#: company/templates/company/company_base.html:51 +#: company/templates/company/company_base.html:56 #: part/templates/part/part_thumb.html:14 msgid "Download image from URL" msgstr "" -#: company/templates/company/company_base.html:81 -msgid "Uses default currency" -msgstr "" - -#: company/templates/company/company_base.html:95 -msgid "Phone" -msgstr "" - -#: company/templates/company/company_base.html:126 order/models.py:567 -#: order/templates/order/sales_order_base.html:114 stock/models.py:525 -#: stock/models.py:526 stock/templates/stock/item_base.html:263 -#: templates/js/translated/company.js:329 templates/js/translated/order.js:1073 -#: templates/js/translated/stock.js:2002 +#: company/templates/company/company_base.html:83 order/models.py:567 +#: order/templates/order/sales_order_base.html:115 stock/models.py:515 +#: stock/models.py:516 stock/templates/stock/item_base.html:291 +#: templates/js/translated/company.js:329 templates/js/translated/order.js:1072 +#: templates/js/translated/stock.js:2084 msgid "Customer" msgstr "" -#: company/templates/company/company_base.html:194 -#: part/templates/part/part_base.html:342 +#: company/templates/company/company_base.html:108 +msgid "Uses default currency" +msgstr "" + +#: company/templates/company/company_base.html:122 +msgid "Phone" +msgstr "" + +#: company/templates/company/company_base.html:205 +#: part/templates/part/part_base.html:471 msgid "Upload Image" msgstr "" @@ -2509,23 +2526,23 @@ msgid "Create new supplier part" msgstr "" #: company/templates/company/detail.html:20 -#: company/templates/company/manufacturer_part.html:112 -#: part/templates/part/detail.html:440 +#: company/templates/company/manufacturer_part.html:118 +#: part/templates/part/detail.html:333 msgid "New Supplier Part" msgstr "" #: company/templates/company/detail.html:32 #: company/templates/company/detail.html:79 -#: company/templates/company/manufacturer_part.html:121 -#: company/templates/company/manufacturer_part.html:150 -#: part/templates/part/category.html:160 part/templates/part/detail.html:449 -#: part/templates/part/detail.html:477 +#: company/templates/company/manufacturer_part.html:127 +#: company/templates/company/manufacturer_part.html:156 +#: part/templates/part/category.html:167 part/templates/part/detail.html:342 +#: part/templates/part/detail.html:370 msgid "Options" msgstr "" #: company/templates/company/detail.html:37 #: company/templates/company/detail.html:84 -#: part/templates/part/category.html:166 +#: part/templates/part/category.html:173 msgid "Order parts" msgstr "" @@ -2547,7 +2564,7 @@ msgstr "" msgid "Create new manufacturer part" msgstr "" -#: company/templates/company/detail.html:67 part/templates/part/detail.html:467 +#: company/templates/company/detail.html:67 part/templates/part/detail.html:360 msgid "New Manufacturer Part" msgstr "" @@ -2561,7 +2578,7 @@ msgstr "" #: order/templates/order/order_base.html:13 #: order/templates/order/purchase_orders.html:8 #: order/templates/order/purchase_orders.html:12 -#: part/templates/part/detail.html:171 part/templates/part/part_sidebar.html:35 +#: part/templates/part/detail.html:64 part/templates/part/part_sidebar.html:33 #: templates/InvenTree/index.html:252 templates/InvenTree/search.html:203 #: templates/InvenTree/settings/sidebar.html:44 templates/navbar.html:45 #: users/models.py:45 @@ -2583,7 +2600,7 @@ msgstr "" #: order/templates/order/sales_order_base.html:13 #: order/templates/order/sales_orders.html:8 #: order/templates/order/sales_orders.html:15 -#: part/templates/part/detail.html:194 part/templates/part/part_sidebar.html:39 +#: part/templates/part/detail.html:87 part/templates/part/part_sidebar.html:37 #: templates/InvenTree/index.html:283 templates/InvenTree/search.html:223 #: templates/InvenTree/settings/sidebar.html:46 templates/navbar.html:56 #: users/models.py:46 @@ -2610,14 +2627,14 @@ msgid "Company Notes" msgstr "" #: company/templates/company/detail.html:383 -#: company/templates/company/manufacturer_part.html:209 -#: part/templates/part/detail.html:520 +#: company/templates/company/manufacturer_part.html:215 +#: part/templates/part/detail.html:413 msgid "Delete Supplier Parts?" msgstr "" #: company/templates/company/detail.html:384 -#: company/templates/company/manufacturer_part.html:210 -#: part/templates/part/detail.html:521 +#: company/templates/company/manufacturer_part.html:216 +#: part/templates/part/detail.html:414 msgid "All selected supplier parts will be deleted" msgstr "" @@ -2634,7 +2651,7 @@ msgstr "" #: company/templates/company/manufacturer_part.html:35 #: company/templates/company/supplier_part.html:34 #: company/templates/company/supplier_part.html:159 -#: part/templates/part/detail.html:174 part/templates/part/part_base.html:76 +#: part/templates/part/detail.html:67 part/templates/part/part_base.html:76 msgid "Order part" msgstr "" @@ -2648,60 +2665,60 @@ msgstr "" msgid "Delete manufacturer part" msgstr "" -#: company/templates/company/manufacturer_part.html:70 -#: company/templates/company/supplier_part.html:71 +#: company/templates/company/manufacturer_part.html:66 +#: company/templates/company/supplier_part.html:63 msgid "Internal Part" msgstr "" -#: company/templates/company/manufacturer_part.html:108 +#: company/templates/company/manufacturer_part.html:114 #: company/templates/company/supplier_part.html:15 company/views.py:49 -#: part/templates/part/part_sidebar.html:33 part/templates/part/prices.html:163 +#: part/templates/part/part_sidebar.html:31 part/templates/part/prices.html:163 #: templates/InvenTree/search.html:194 templates/navbar.html:43 msgid "Suppliers" msgstr "" -#: company/templates/company/manufacturer_part.html:123 -#: part/templates/part/detail.html:451 +#: company/templates/company/manufacturer_part.html:129 +#: part/templates/part/detail.html:344 msgid "Delete supplier parts" msgstr "" -#: company/templates/company/manufacturer_part.html:123 -#: company/templates/company/manufacturer_part.html:152 -#: company/templates/company/manufacturer_part.html:248 -#: part/templates/part/detail.html:451 part/templates/part/detail.html:479 +#: company/templates/company/manufacturer_part.html:129 +#: company/templates/company/manufacturer_part.html:158 +#: company/templates/company/manufacturer_part.html:254 +#: part/templates/part/detail.html:344 part/templates/part/detail.html:372 #: templates/js/translated/company.js:425 templates/js/translated/helpers.js:31 #: users/models.py:204 msgid "Delete" msgstr "" -#: company/templates/company/manufacturer_part.html:137 +#: company/templates/company/manufacturer_part.html:143 #: company/templates/company/manufacturer_part_sidebar.html:5 #: part/templates/part/category_sidebar.html:17 -#: part/templates/part/detail.html:277 part/templates/part/part_sidebar.html:10 +#: part/templates/part/detail.html:170 part/templates/part/part_sidebar.html:8 msgid "Parameters" msgstr "" -#: company/templates/company/manufacturer_part.html:141 -#: part/templates/part/detail.html:282 +#: company/templates/company/manufacturer_part.html:147 +#: part/templates/part/detail.html:175 #: templates/InvenTree/settings/category.html:12 #: templates/InvenTree/settings/part.html:65 msgid "New Parameter" msgstr "" -#: company/templates/company/manufacturer_part.html:152 +#: company/templates/company/manufacturer_part.html:158 msgid "Delete parameters" msgstr "" -#: company/templates/company/manufacturer_part.html:185 -#: part/templates/part/detail.html:976 +#: company/templates/company/manufacturer_part.html:191 +#: part/templates/part/detail.html:867 msgid "Add Parameter" msgstr "" -#: company/templates/company/manufacturer_part.html:233 +#: company/templates/company/manufacturer_part.html:239 msgid "Selected parameters will be deleted" msgstr "" -#: company/templates/company/manufacturer_part.html:245 +#: company/templates/company/manufacturer_part.html:251 msgid "Delete Parameters" msgstr "" @@ -2722,9 +2739,9 @@ msgid "Assigned Stock Items" msgstr "" #: company/templates/company/supplier_part.html:7 -#: company/templates/company/supplier_part.html:24 stock/models.py:492 -#: stock/templates/stock/item_base.html:375 -#: templates/js/translated/company.js:787 templates/js/translated/stock.js:1323 +#: company/templates/company/supplier_part.html:24 stock/models.py:482 +#: stock/templates/stock/item_base.html:403 +#: templates/js/translated/company.js:787 templates/js/translated/stock.js:1405 msgid "Supplier Part" msgstr "" @@ -2744,13 +2761,13 @@ msgid "Supplier Part Stock" msgstr "" #: company/templates/company/supplier_part.html:141 -#: part/templates/part/detail.html:127 stock/templates/stock/location.html:147 +#: part/templates/part/detail.html:20 stock/templates/stock/location.html:162 msgid "Create new stock item" msgstr "" #: company/templates/company/supplier_part.html:142 -#: part/templates/part/detail.html:128 stock/templates/stock/location.html:148 -#: templates/js/translated/stock.js:354 +#: part/templates/part/detail.html:21 stock/templates/stock/location.html:163 +#: templates/js/translated/stock.js:355 msgid "New Stock Item" msgstr "" @@ -2760,7 +2777,7 @@ msgid "Supplier Part Orders" msgstr "" #: company/templates/company/supplier_part.html:160 -#: part/templates/part/detail.html:175 +#: part/templates/part/detail.html:68 msgid "Order Part" msgstr "" @@ -2796,15 +2813,15 @@ msgid "Delete price break" msgstr "" #: company/templates/company/supplier_part_navbar.html:15 -#: part/templates/part/part_sidebar.html:16 +#: part/templates/part/part_sidebar.html:14 #: stock/templates/stock/loc_link.html:3 stock/templates/stock/location.html:14 #: stock/templates/stock/stock_app_base.html:10 #: templates/InvenTree/search.html:156 #: templates/InvenTree/settings/sidebar.html:40 -#: templates/js/translated/bom.js:216 templates/js/translated/part.js:427 -#: templates/js/translated/part.js:562 templates/js/translated/part.js:878 -#: templates/js/translated/part.js:1039 templates/js/translated/stock.js:509 -#: templates/js/translated/stock.js:1162 templates/navbar.html:26 +#: templates/js/translated/bom.js:216 templates/js/translated/part.js:434 +#: templates/js/translated/part.js:569 templates/js/translated/part.js:1059 +#: templates/js/translated/part.js:1220 templates/js/translated/stock.js:591 +#: templates/js/translated/stock.js:1244 templates/navbar.html:26 msgid "Stock" msgstr "" @@ -2818,16 +2835,16 @@ msgid "Supplier Part Pricing" msgstr "" #: company/templates/company/supplier_part_navbar.html:29 -#: part/templates/part/part_sidebar.html:30 +#: part/templates/part/part_sidebar.html:28 msgid "Pricing" msgstr "" #: company/templates/company/supplier_part_sidebar.html:5 -#: stock/templates/stock/location.html:118 -#: stock/templates/stock/location.html:132 -#: stock/templates/stock/location.html:144 +#: stock/templates/stock/location.html:133 +#: stock/templates/stock/location.html:147 +#: stock/templates/stock/location.html:159 #: stock/templates/stock/location_sidebar.html:7 -#: templates/InvenTree/search.html:158 templates/js/translated/stock.js:1901 +#: templates/InvenTree/search.html:158 templates/js/translated/stock.js:1983 #: templates/stats.html:93 templates/stats.html:102 users/models.py:43 msgid "Stock Items" msgstr "" @@ -2947,7 +2964,7 @@ msgstr "" msgid "Place order" msgstr "" -#: order/forms.py:37 order/templates/order/order_base.html:59 +#: order/forms.py:37 order/templates/order/order_base.html:60 msgid "Mark order as complete" msgstr "" @@ -3000,8 +3017,8 @@ msgstr "" msgid "Company from which the items are being ordered" msgstr "" -#: order/models.py:267 order/templates/order/order_base.html:114 -#: templates/js/translated/order.js:669 +#: order/models.py:267 order/templates/order/order_base.html:118 +#: templates/js/translated/order.js:676 msgid "Supplier Reference" msgstr "" @@ -3061,7 +3078,7 @@ msgstr "" msgid "Target date for order completion. Order will be overdue after this date." msgstr "" -#: order/models.py:582 templates/js/translated/order.js:1114 +#: order/models.py:582 templates/js/translated/order.js:1113 msgid "Shipment Date" msgstr "" @@ -3086,16 +3103,16 @@ msgid "Line item notes" msgstr "" #: order/models.py:768 order/models.py:856 -#: templates/js/translated/order.js:1166 +#: templates/js/translated/order.js:1165 msgid "Order" msgstr "" #: order/models.py:769 order/templates/order/order_base.html:9 #: order/templates/order/order_base.html:18 #: report/templates/report/inventree_po_report.html:77 -#: stock/templates/stock/item_base.html:325 -#: templates/js/translated/order.js:638 templates/js/translated/stock.js:1300 -#: templates/js/translated/stock.js:1983 +#: stock/templates/stock/item_base.html:353 +#: templates/js/translated/order.js:638 templates/js/translated/part.js:775 +#: templates/js/translated/stock.js:1382 templates/js/translated/stock.js:2065 msgid "Purchase Order" msgstr "" @@ -3103,9 +3120,10 @@ msgstr "" msgid "Supplier part" msgstr "" -#: order/models.py:797 order/templates/order/order_base.html:147 -#: order/templates/order/sales_order_base.html:154 -#: templates/js/translated/order.js:429 templates/js/translated/order.js:954 +#: order/models.py:797 order/templates/order/order_base.html:151 +#: order/templates/order/sales_order_base.html:155 +#: templates/js/translated/order.js:429 templates/js/translated/order.js:953 +#: templates/js/translated/part.js:847 templates/js/translated/part.js:873 msgid "Received" msgstr "" @@ -3113,9 +3131,9 @@ msgstr "" msgid "Number of items received" msgstr "" -#: order/models.py:805 part/templates/part/prices.html:176 stock/models.py:619 -#: stock/serializers.py:163 stock/templates/stock/item_base.html:332 -#: templates/js/translated/stock.js:1354 +#: order/models.py:805 part/templates/part/prices.html:176 stock/models.py:609 +#: stock/serializers.py:168 stock/templates/stock/item_base.html:360 +#: templates/js/translated/stock.js:1436 msgid "Purchase Price" msgstr "" @@ -3176,47 +3194,47 @@ msgstr "" msgid "Enter stock allocation quantity" msgstr "" -#: order/serializers.py:169 +#: order/serializers.py:175 msgid "Purchase price currency" msgstr "" -#: order/serializers.py:204 +#: order/serializers.py:213 msgid "Line Item" msgstr "" -#: order/serializers.py:210 +#: order/serializers.py:219 msgid "Line item does not match purchase order" msgstr "" -#: order/serializers.py:220 order/serializers.py:288 +#: order/serializers.py:229 order/serializers.py:297 msgid "Select destination location for received items" msgstr "" -#: order/serializers.py:244 +#: order/serializers.py:253 msgid "Barcode Hash" msgstr "" -#: order/serializers.py:245 +#: order/serializers.py:254 msgid "Unique identifier field" msgstr "" -#: order/serializers.py:262 +#: order/serializers.py:271 msgid "Barcode is already in use" msgstr "" -#: order/serializers.py:300 +#: order/serializers.py:309 msgid "Line items must be provided" msgstr "" -#: order/serializers.py:317 +#: order/serializers.py:326 msgid "Destination location must be specified" msgstr "" -#: order/serializers.py:328 +#: order/serializers.py:337 msgid "Supplied barcode values must be unique" msgstr "" -#: order/serializers.py:569 +#: order/serializers.py:578 msgid "Sale price currency" msgstr "" @@ -3248,22 +3266,36 @@ msgstr "" msgid "Receive items" msgstr "" -#: order/templates/order/order_base.html:93 -#: order/templates/order/sales_order_base.html:98 +#: order/templates/order/order_base.html:58 +#: order/templates/order/purchase_order_detail.html:31 +msgid "Receive Items" +msgstr "" + +#: order/templates/order/order_base.html:62 order/views.py:185 +msgid "Complete Order" +msgstr "" + +#: order/templates/order/order_base.html:84 +#: order/templates/order/sales_order_base.html:79 msgid "Order Reference" msgstr "" -#: order/templates/order/order_base.html:98 -#: order/templates/order/sales_order_base.html:103 +#: order/templates/order/order_base.html:89 +#: order/templates/order/sales_order_base.html:84 +msgid "Order Description" +msgstr "" + +#: order/templates/order/order_base.html:94 +#: order/templates/order/sales_order_base.html:89 msgid "Order Status" msgstr "" -#: order/templates/order/order_base.html:133 +#: order/templates/order/order_base.html:137 #: report/templates/report/inventree_build_order_base.html:122 msgid "Issued" msgstr "" -#: order/templates/order/order_base.html:203 +#: order/templates/order/order_base.html:207 msgid "Edit Purchase Order" msgstr "" @@ -3421,7 +3453,7 @@ msgid "Select existing purchase orders, or create new orders." msgstr "" #: order/templates/order/order_wizard/select_pos.html:31 -#: templates/js/translated/order.js:695 templates/js/translated/order.js:1119 +#: templates/js/translated/order.js:694 templates/js/translated/order.js:1118 msgid "Items" msgstr "" @@ -3465,10 +3497,6 @@ msgstr "" msgid "Receive selected items" msgstr "" -#: order/templates/order/purchase_order_detail.html:31 -msgid "Receive Items" -msgstr "" - #: order/templates/order/purchase_order_detail.html:50 msgid "Received Items" msgstr "" @@ -3496,16 +3524,16 @@ msgstr "" msgid "Ship Order" msgstr "" -#: order/templates/order/sales_order_base.html:86 +#: order/templates/order/sales_order_base.html:102 msgid "This Sales Order has not been fully allocated" msgstr "" -#: order/templates/order/sales_order_base.html:121 -#: templates/js/translated/order.js:1086 +#: order/templates/order/sales_order_base.html:122 +#: templates/js/translated/order.js:1085 msgid "Customer Reference" msgstr "" -#: order/templates/order/sales_order_base.html:194 +#: order/templates/order/sales_order_base.html:195 msgid "Edit Sales Order" msgstr "" @@ -3576,10 +3604,6 @@ msgstr "" msgid "Purchase order issued" msgstr "" -#: order/views.py:185 -msgid "Complete Order" -msgstr "" - #: order/views.py:201 msgid "Confirm order completion" msgstr "" @@ -3672,11 +3696,11 @@ msgid "This field is required" msgstr "" #: part/bom.py:125 part/models.py:81 part/models.py:816 -#: part/templates/part/category.html:90 part/templates/part/detail.html:104 +#: part/templates/part/category.html:104 part/templates/part/part_base.html:338 msgid "Default Location" msgstr "" -#: part/bom.py:126 part/templates/part/part_base.html:167 +#: part/bom.py:126 part/templates/part/part_base.html:185 msgid "Available Stock" msgstr "" @@ -3793,19 +3817,19 @@ msgstr "" msgid "Part Category" msgstr "" -#: part/models.py:96 part/templates/part/category.html:117 +#: part/models.py:96 part/templates/part/category.html:124 #: templates/InvenTree/search.html:101 templates/stats.html:84 #: users/models.py:40 msgid "Part Categories" msgstr "" #: part/models.py:358 part/templates/part/cat_link.html:3 -#: part/templates/part/category.html:13 part/templates/part/category.html:122 -#: part/templates/part/category.html:142 +#: part/templates/part/category.html:13 part/templates/part/category.html:129 +#: part/templates/part/category.html:149 #: part/templates/part/category_sidebar.html:9 #: templates/InvenTree/index.html:85 templates/InvenTree/search.html:88 #: templates/InvenTree/settings/sidebar.html:36 -#: templates/js/translated/part.js:1416 templates/navbar.html:19 +#: templates/js/translated/part.js:1597 templates/navbar.html:19 #: templates/stats.html:80 templates/stats.html:89 users/models.py:41 msgid "Parts" msgstr "" @@ -3859,8 +3883,8 @@ msgstr "" msgid "Part description" msgstr "" -#: part/models.py:770 part/templates/part/category.html:97 -#: part/templates/part/detail.html:73 +#: part/models.py:770 part/templates/part/category.html:82 +#: part/templates/part/part_base.html:302 msgid "Keywords" msgstr "" @@ -3869,9 +3893,10 @@ msgid "Part keywords to improve visibility in search results" msgstr "" #: part/models.py:778 part/models.py:2223 part/models.py:2472 -#: part/templates/part/detail.html:36 part/templates/part/set_category.html:15 +#: part/templates/part/part_base.html:265 +#: part/templates/part/set_category.html:15 #: templates/InvenTree/settings/settings.html:163 -#: templates/js/translated/part.js:1021 +#: templates/js/translated/part.js:1202 msgid "Category" msgstr "" @@ -3879,9 +3904,9 @@ msgstr "" msgid "Part category" msgstr "" -#: part/models.py:784 part/templates/part/detail.html:45 -#: templates/js/translated/part.js:550 templates/js/translated/part.js:974 -#: templates/js/translated/stock.js:1134 +#: part/models.py:784 part/templates/part/part_base.html:274 +#: templates/js/translated/part.js:557 templates/js/translated/part.js:1155 +#: templates/js/translated/stock.js:1216 msgid "IPN" msgstr "" @@ -3893,8 +3918,8 @@ msgstr "" msgid "Part revision or version number" msgstr "" -#: part/models.py:792 part/templates/part/detail.html:52 report/models.py:200 -#: templates/js/translated/part.js:554 +#: part/models.py:792 part/templates/part/part_base.html:281 +#: report/models.py:200 templates/js/translated/part.js:561 msgid "Revision" msgstr "" @@ -3902,7 +3927,7 @@ msgstr "" msgid "Where is this item normally stored?" msgstr "" -#: part/models.py:861 part/templates/part/detail.html:113 +#: part/models.py:861 part/templates/part/part_base.html:347 msgid "Default Supplier" msgstr "" @@ -3918,7 +3943,7 @@ msgstr "" msgid "Expiry time (in days) for stock items of this part" msgstr "" -#: part/models.py:875 part/templates/part/part_base.html:178 +#: part/models.py:875 part/templates/part/part_base.html:196 msgid "Minimum Stock" msgstr "" @@ -4001,8 +4026,8 @@ msgstr "" msgid "Test with this name already exists for this part" msgstr "" -#: part/models.py:2310 templates/js/translated/part.js:1467 -#: templates/js/translated/stock.js:858 +#: part/models.py:2310 templates/js/translated/part.js:1648 +#: templates/js/translated/stock.js:940 msgid "Test Name" msgstr "" @@ -4018,7 +4043,7 @@ msgstr "" msgid "Enter description for this test" msgstr "" -#: part/models.py:2322 templates/js/translated/part.js:1476 +#: part/models.py:2322 templates/js/translated/part.js:1657 #: templates/js/translated/table_filters.js:276 msgid "Required" msgstr "" @@ -4027,7 +4052,7 @@ msgstr "" msgid "Is this test required to pass?" msgstr "" -#: part/models.py:2328 templates/js/translated/part.js:1484 +#: part/models.py:2328 templates/js/translated/part.js:1665 msgid "Requires Value" msgstr "" @@ -4035,7 +4060,7 @@ msgstr "" msgid "Does this test require a value when adding a test result?" msgstr "" -#: part/models.py:2334 templates/js/translated/part.js:1491 +#: part/models.py:2334 templates/js/translated/part.js:1672 msgid "Requires Attachment" msgstr "" @@ -4150,7 +4175,7 @@ msgstr "" msgid "Stock items for variant parts can be used for this BOM item" msgstr "" -#: part/models.py:2686 stock/models.py:371 +#: part/models.py:2686 stock/models.py:361 msgid "Quantity must be integer value for trackable parts" msgstr "" @@ -4213,7 +4238,7 @@ msgstr "" msgid "The BOM for %(part)s has not been validated." msgstr "" -#: part/templates/part/bom.html:30 part/templates/part/detail.html:357 +#: part/templates/part/bom.html:30 part/templates/part/detail.html:250 msgid "BOM actions" msgstr "" @@ -4298,68 +4323,64 @@ msgstr "" msgid "New Category" msgstr "" -#: part/templates/part/category.html:67 -msgid "Top level part category" -msgstr "" - -#: part/templates/part/category.html:79 +#: part/templates/part/category.html:76 part/templates/part/category.html:89 msgid "Category Path" msgstr "" -#: part/templates/part/category.html:84 -msgid "Category Description" +#: part/templates/part/category.html:90 +msgid "Top level part category" msgstr "" -#: part/templates/part/category.html:103 part/templates/part/category.html:194 +#: part/templates/part/category.html:110 part/templates/part/category.html:201 #: part/templates/part/category_sidebar.html:7 msgid "Subcategories" msgstr "" -#: part/templates/part/category.html:108 +#: part/templates/part/category.html:115 msgid "Parts (Including subcategories)" msgstr "" -#: part/templates/part/category.html:145 +#: part/templates/part/category.html:152 msgid "Export Part Data" msgstr "" -#: part/templates/part/category.html:146 part/templates/part/category.html:170 +#: part/templates/part/category.html:153 part/templates/part/category.html:177 msgid "Export" msgstr "" -#: part/templates/part/category.html:149 +#: part/templates/part/category.html:156 msgid "Create new part" msgstr "" -#: part/templates/part/category.html:150 templates/js/translated/bom.js:40 +#: part/templates/part/category.html:157 templates/js/translated/bom.js:40 msgid "New Part" msgstr "" -#: part/templates/part/category.html:164 +#: part/templates/part/category.html:171 msgid "Set category" msgstr "" -#: part/templates/part/category.html:164 +#: part/templates/part/category.html:171 msgid "Set Category" msgstr "" -#: part/templates/part/category.html:168 +#: part/templates/part/category.html:175 msgid "Print Labels" msgstr "" -#: part/templates/part/category.html:170 +#: part/templates/part/category.html:177 msgid "Export Data" msgstr "" -#: part/templates/part/category.html:184 +#: part/templates/part/category.html:191 msgid "Part Parameters" msgstr "" -#: part/templates/part/category.html:261 +#: part/templates/part/category.html:268 msgid "Create Part Category" msgstr "" -#: part/templates/part/category.html:288 +#: part/templates/part/category.html:295 msgid "Create Part" msgstr "" @@ -4402,7 +4423,7 @@ msgstr "" msgid "Import Parts" msgstr "" -#: part/templates/part/copy_part.html:9 templates/js/translated/part.js:366 +#: part/templates/part/copy_part.html:9 templates/js/translated/part.js:373 msgid "Duplicate Part" msgstr "" @@ -4426,167 +4447,155 @@ msgstr "" msgid "%(full_name)s - %(desc)s (%(match_per)s%% match)" msgstr "" -#: part/templates/part/detail.html:16 -msgid "Part Details" -msgstr "" - -#: part/templates/part/detail.html:66 -msgid "Minimum stock level" -msgstr "" - -#: part/templates/part/detail.html:97 -msgid "Latest Serial Number" -msgstr "" - -#: part/templates/part/detail.html:124 +#: part/templates/part/detail.html:17 msgid "Part Stock" msgstr "" -#: part/templates/part/detail.html:136 +#: part/templates/part/detail.html:29 #, python-format msgid "Showing stock for all variants of %(full_name)s" msgstr "" -#: part/templates/part/detail.html:146 +#: part/templates/part/detail.html:39 msgid "Part Test Templates" msgstr "" -#: part/templates/part/detail.html:151 +#: part/templates/part/detail.html:44 msgid "Add Test Template" msgstr "" -#: part/templates/part/detail.html:208 +#: part/templates/part/detail.html:101 msgid "Sales Order Allocations" msgstr "" -#: part/templates/part/detail.html:249 +#: part/templates/part/detail.html:142 msgid "Part Variants" msgstr "" -#: part/templates/part/detail.html:253 +#: part/templates/part/detail.html:146 msgid "Create new variant" msgstr "" -#: part/templates/part/detail.html:254 +#: part/templates/part/detail.html:147 msgid "New Variant" msgstr "" -#: part/templates/part/detail.html:281 +#: part/templates/part/detail.html:174 msgid "Add new parameter" msgstr "" -#: part/templates/part/detail.html:315 part/templates/part/part_sidebar.html:47 +#: part/templates/part/detail.html:208 part/templates/part/part_sidebar.html:45 msgid "Related Parts" msgstr "" -#: part/templates/part/detail.html:319 part/templates/part/detail.html:320 +#: part/templates/part/detail.html:212 part/templates/part/detail.html:213 msgid "Add Related" msgstr "" -#: part/templates/part/detail.html:340 part/templates/part/part_sidebar.html:19 +#: part/templates/part/detail.html:233 part/templates/part/part_sidebar.html:17 msgid "Bill of Materials" msgstr "" -#: part/templates/part/detail.html:345 +#: part/templates/part/detail.html:238 msgid "Export actions" msgstr "" -#: part/templates/part/detail.html:349 +#: part/templates/part/detail.html:242 msgid "Export BOM" msgstr "" -#: part/templates/part/detail.html:351 +#: part/templates/part/detail.html:244 msgid "Print BOM Report" msgstr "" -#: part/templates/part/detail.html:361 +#: part/templates/part/detail.html:254 msgid "Upload BOM" msgstr "" -#: part/templates/part/detail.html:363 templates/js/translated/part.js:267 +#: part/templates/part/detail.html:256 templates/js/translated/part.js:270 msgid "Copy BOM" msgstr "" -#: part/templates/part/detail.html:365 part/views.py:755 +#: part/templates/part/detail.html:258 part/views.py:755 msgid "Validate BOM" msgstr "" -#: part/templates/part/detail.html:370 +#: part/templates/part/detail.html:263 msgid "New BOM Item" msgstr "" -#: part/templates/part/detail.html:371 +#: part/templates/part/detail.html:264 msgid "Add BOM Item" msgstr "" -#: part/templates/part/detail.html:384 +#: part/templates/part/detail.html:277 msgid "Assemblies" msgstr "" -#: part/templates/part/detail.html:401 +#: part/templates/part/detail.html:294 msgid "Part Builds" msgstr "" -#: part/templates/part/detail.html:426 +#: part/templates/part/detail.html:319 msgid "Build Order Allocations" msgstr "" -#: part/templates/part/detail.html:436 +#: part/templates/part/detail.html:329 msgid "Part Suppliers" msgstr "" -#: part/templates/part/detail.html:463 +#: part/templates/part/detail.html:356 msgid "Part Manufacturers" msgstr "" -#: part/templates/part/detail.html:479 +#: part/templates/part/detail.html:372 msgid "Delete manufacturer parts" msgstr "" -#: part/templates/part/detail.html:660 +#: part/templates/part/detail.html:553 msgid "Delete selected BOM items?" msgstr "" -#: part/templates/part/detail.html:661 +#: part/templates/part/detail.html:554 msgid "All selected BOM items will be deleted" msgstr "" -#: part/templates/part/detail.html:712 +#: part/templates/part/detail.html:605 msgid "Create BOM Item" msgstr "" -#: part/templates/part/detail.html:764 +#: part/templates/part/detail.html:657 msgid "Related Part" msgstr "" -#: part/templates/part/detail.html:772 +#: part/templates/part/detail.html:665 msgid "Add Related Part" msgstr "" -#: part/templates/part/detail.html:869 +#: part/templates/part/detail.html:760 msgid "Add Test Result Template" msgstr "" -#: part/templates/part/detail.html:926 +#: part/templates/part/detail.html:817 msgid "Edit Part Notes" msgstr "" -#: part/templates/part/detail.html:1039 +#: part/templates/part/detail.html:930 #, python-format msgid "Purchase Unit Price - %(currency)s" msgstr "" -#: part/templates/part/detail.html:1051 +#: part/templates/part/detail.html:942 #, python-format msgid "Unit Price-Cost Difference - %(currency)s" msgstr "" -#: part/templates/part/detail.html:1063 +#: part/templates/part/detail.html:954 #, python-format msgid "Supplier Unit Cost - %(currency)s" msgstr "" -#: part/templates/part/detail.html:1152 +#: part/templates/part/detail.html:1043 #, python-format msgid "Unit Price - %(currency)s" msgstr "" @@ -4668,86 +4677,108 @@ msgstr "" msgid "Delete part" msgstr "" -#: part/templates/part/part_base.html:109 +#: part/templates/part/part_base.html:112 msgid "Part is a template part (variants can be made from this part)" msgstr "" -#: part/templates/part/part_base.html:113 +#: part/templates/part/part_base.html:116 msgid "Part can be assembled from other parts" msgstr "" -#: part/templates/part/part_base.html:117 +#: part/templates/part/part_base.html:120 msgid "Part can be used in assemblies" msgstr "" -#: part/templates/part/part_base.html:121 +#: part/templates/part/part_base.html:124 msgid "Part stock is tracked by serial number" msgstr "" -#: part/templates/part/part_base.html:125 +#: part/templates/part/part_base.html:128 msgid "Part can be purchased from external suppliers" msgstr "" -#: part/templates/part/part_base.html:129 +#: part/templates/part/part_base.html:132 msgid "Part can be sold to customers" msgstr "" -#: part/templates/part/part_base.html:135 -#: part/templates/part/part_base.html:143 +#: part/templates/part/part_base.html:138 +#: part/templates/part/part_base.html:146 msgid "Part is virtual (not a physical part)" msgstr "" -#: part/templates/part/part_base.html:136 +#: part/templates/part/part_base.html:139 #: templates/js/translated/company.js:505 #: templates/js/translated/company.js:762 #: templates/js/translated/model_renderers.js:175 -#: templates/js/translated/part.js:465 templates/js/translated/part.js:542 +#: templates/js/translated/part.js:472 templates/js/translated/part.js:549 msgid "Inactive" msgstr "" -#: part/templates/part/part_base.html:155 +#: part/templates/part/part_base.html:156 +#: part/templates/part/part_base.html:579 +msgid "Show Part Details" +msgstr "" + +#: part/templates/part/part_base.html:173 #, python-format msgid "This part is a variant of %(link)s" msgstr "" -#: part/templates/part/part_base.html:172 templates/js/translated/order.js:1546 +#: part/templates/part/part_base.html:190 templates/js/translated/order.js:1545 #: templates/js/translated/table_filters.js:188 msgid "In Stock" msgstr "" -#: part/templates/part/part_base.html:185 templates/js/translated/part.js:1054 +#: part/templates/part/part_base.html:203 templates/js/translated/part.js:1235 msgid "On Order" msgstr "" -#: part/templates/part/part_base.html:192 templates/InvenTree/index.html:178 +#: part/templates/part/part_base.html:210 templates/InvenTree/index.html:178 msgid "Required for Build Orders" msgstr "" -#: part/templates/part/part_base.html:199 +#: part/templates/part/part_base.html:217 msgid "Required for Sales Orders" msgstr "" -#: part/templates/part/part_base.html:206 +#: part/templates/part/part_base.html:224 msgid "Allocated to Orders" msgstr "" -#: part/templates/part/part_base.html:221 templates/js/translated/bom.js:566 +#: part/templates/part/part_base.html:239 templates/js/translated/bom.js:566 msgid "Can Build" msgstr "" -#: part/templates/part/part_base.html:227 templates/js/translated/part.js:885 -#: templates/js/translated/part.js:1058 +#: part/templates/part/part_base.html:245 templates/js/translated/part.js:1066 +#: templates/js/translated/part.js:1239 msgid "Building" msgstr "" -#: part/templates/part/part_base.html:320 part/templates/part/prices.html:144 +#: part/templates/part/part_base.html:295 +msgid "Minimum stock level" +msgstr "" + +#: part/templates/part/part_base.html:324 +msgid "Latest Serial Number" +msgstr "" + +#: part/templates/part/part_base.html:328 +#: stock/templates/stock/item_base.html:159 +msgid "Search for serial number" +msgstr "" + +#: part/templates/part/part_base.html:449 part/templates/part/prices.html:144 msgid "Calculate" msgstr "" -#: part/templates/part/part_base.html:363 +#: part/templates/part/part_base.html:492 msgid "No matching images found" msgstr "" +#: part/templates/part/part_base.html:573 +msgid "Hide Part Details" +msgstr "" + #: part/templates/part/part_pricing.html:22 part/templates/part/prices.html:21 msgid "Supplier Pricing" msgstr "" @@ -4805,20 +4836,15 @@ msgstr "" msgid "No pricing information is available for this part." msgstr "" -#: part/templates/part/part_sidebar.html:8 -#: templates/js/translated/stock.js:1949 -msgid "Details" -msgstr "" - -#: part/templates/part/part_sidebar.html:13 +#: part/templates/part/part_sidebar.html:11 msgid "Variants" msgstr "" -#: part/templates/part/part_sidebar.html:27 +#: part/templates/part/part_sidebar.html:25 msgid "Used In" msgstr "" -#: part/templates/part/part_sidebar.html:43 +#: part/templates/part/part_sidebar.html:41 msgid "Test Templates" msgstr "" @@ -4934,8 +4960,8 @@ msgid "Set category for the following parts" msgstr "" #: part/templates/part/stock_count.html:7 templates/js/translated/bom.js:476 -#: templates/js/translated/part.js:429 templates/js/translated/part.js:875 -#: templates/js/translated/part.js:1062 +#: templates/js/translated/part.js:436 templates/js/translated/part.js:1056 +#: templates/js/translated/part.js:1243 msgid "No Stock" msgstr "" @@ -5037,7 +5063,7 @@ msgstr "" msgid "Delete Part Parameter Template" msgstr "" -#: part/views.py:1489 templates/js/translated/part.js:310 +#: part/views.py:1489 templates/js/translated/part.js:313 msgid "Edit Part Category" msgstr "" @@ -5171,11 +5197,12 @@ msgid "Stock Item Test Report" msgstr "" #: report/templates/report/inventree_test_report_base.html:79 -#: stock/models.py:530 stock/templates/stock/item_base.html:238 +#: stock/models.py:520 stock/templates/stock/item_base.html:149 #: templates/js/translated/build.js:233 templates/js/translated/build.js:637 #: templates/js/translated/build.js:1013 #: templates/js/translated/model_renderers.js:95 -#: templates/js/translated/order.js:1288 templates/js/translated/order.js:1377 +#: templates/js/translated/order.js:1287 templates/js/translated/order.js:1376 +#: templates/js/translated/stock.js:410 msgid "Serial Number" msgstr "" @@ -5184,17 +5211,17 @@ msgid "Test Results" msgstr "" #: report/templates/report/inventree_test_report_base.html:93 -#: stock/models.py:1855 +#: stock/models.py:1845 msgid "Test" msgstr "" #: report/templates/report/inventree_test_report_base.html:94 -#: stock/models.py:1861 +#: stock/models.py:1851 msgid "Result" msgstr "" #: report/templates/report/inventree_test_report_base.html:97 -#: templates/js/translated/order.js:685 templates/js/translated/stock.js:1917 +#: templates/js/translated/order.js:684 templates/js/translated/stock.js:1999 msgid "Date" msgstr "" @@ -5212,7 +5239,7 @@ msgid "Installed Items" msgstr "" #: report/templates/report/inventree_test_report_base.html:137 -#: templates/js/translated/stock.js:2177 +#: templates/js/translated/stock.js:2259 msgid "Serial" msgstr "" @@ -5220,9 +5247,9 @@ msgstr "" msgid "Quantity is required" msgstr "" -#: stock/forms.py:91 stock/forms.py:265 stock/models.py:587 -#: stock/templates/stock/item_base.html:382 -#: templates/js/translated/stock.js:1276 +#: stock/forms.py:91 stock/forms.py:265 stock/models.py:577 +#: stock/templates/stock/item_base.html:186 +#: templates/js/translated/stock.js:1358 msgid "Expiry Date" msgstr "" @@ -5270,241 +5297,241 @@ msgstr "" msgid "Confirm removal of installed stock items" msgstr "" -#: stock/models.py:60 stock/models.py:624 -#: stock/templates/stock/item_base.html:422 +#: stock/models.py:60 stock/models.py:614 +#: stock/templates/stock/item_base.html:417 msgid "Owner" msgstr "" -#: stock/models.py:61 stock/models.py:625 +#: stock/models.py:61 stock/models.py:615 msgid "Select Owner" msgstr "" -#: stock/models.py:352 +#: stock/models.py:342 msgid "StockItem with this serial number already exists" msgstr "" -#: stock/models.py:388 +#: stock/models.py:378 #, python-brace-format msgid "Part type ('{pf}') must be {pe}" msgstr "" -#: stock/models.py:398 stock/models.py:407 +#: stock/models.py:388 stock/models.py:397 msgid "Quantity must be 1 for item with a serial number" msgstr "" -#: stock/models.py:399 +#: stock/models.py:389 msgid "Serial number cannot be set if quantity greater than 1" msgstr "" -#: stock/models.py:421 +#: stock/models.py:411 msgid "Item cannot belong to itself" msgstr "" -#: stock/models.py:427 +#: stock/models.py:417 msgid "Item must have a build reference if is_building=True" msgstr "" -#: stock/models.py:434 +#: stock/models.py:424 msgid "Build reference does not point to the same part object" msgstr "" -#: stock/models.py:476 +#: stock/models.py:466 msgid "Parent Stock Item" msgstr "" -#: stock/models.py:485 +#: stock/models.py:475 msgid "Base part" msgstr "" -#: stock/models.py:493 +#: stock/models.py:483 msgid "Select a matching supplier part for this stock item" msgstr "" -#: stock/models.py:498 stock/templates/stock/location.html:12 +#: stock/models.py:488 stock/templates/stock/location.html:12 #: stock/templates/stock/stock_app_base.html:8 msgid "Stock Location" msgstr "" -#: stock/models.py:501 +#: stock/models.py:491 msgid "Where is this stock item located?" msgstr "" -#: stock/models.py:508 +#: stock/models.py:498 msgid "Packaging this stock item is stored in" msgstr "" -#: stock/models.py:513 stock/templates/stock/item_base.html:271 +#: stock/models.py:503 stock/templates/stock/item_base.html:299 msgid "Installed In" msgstr "" -#: stock/models.py:516 +#: stock/models.py:506 msgid "Is this item installed in another item?" msgstr "" -#: stock/models.py:532 +#: stock/models.py:522 msgid "Serial number for this item" msgstr "" -#: stock/models.py:546 +#: stock/models.py:536 msgid "Batch code for this stock item" msgstr "" -#: stock/models.py:550 +#: stock/models.py:540 msgid "Stock Quantity" msgstr "" -#: stock/models.py:559 +#: stock/models.py:549 msgid "Source Build" msgstr "" -#: stock/models.py:561 +#: stock/models.py:551 msgid "Build for this stock item" msgstr "" -#: stock/models.py:572 +#: stock/models.py:562 msgid "Source Purchase Order" msgstr "" -#: stock/models.py:575 +#: stock/models.py:565 msgid "Purchase order for this stock item" msgstr "" -#: stock/models.py:581 +#: stock/models.py:571 msgid "Destination Sales Order" msgstr "" -#: stock/models.py:588 +#: stock/models.py:578 msgid "Expiry date for stock item. Stock will be considered expired after this date" msgstr "" -#: stock/models.py:601 +#: stock/models.py:591 msgid "Delete on deplete" msgstr "" -#: stock/models.py:601 +#: stock/models.py:591 msgid "Delete this Stock Item when stock is depleted" msgstr "" -#: stock/models.py:611 stock/templates/stock/item.html:111 +#: stock/models.py:601 stock/templates/stock/item.html:111 msgid "Stock Item Notes" msgstr "" -#: stock/models.py:620 +#: stock/models.py:610 msgid "Single unit purchase price at time of purchase" msgstr "" -#: stock/models.py:630 +#: stock/models.py:620 msgid "Scheduled for deletion" msgstr "" -#: stock/models.py:631 +#: stock/models.py:621 msgid "This StockItem will be deleted by the background worker" msgstr "" -#: stock/models.py:1094 +#: stock/models.py:1084 msgid "Part is not set as trackable" msgstr "" -#: stock/models.py:1100 +#: stock/models.py:1090 msgid "Quantity must be integer" msgstr "" -#: stock/models.py:1106 +#: stock/models.py:1096 #, python-brace-format msgid "Quantity must not exceed available stock quantity ({n})" msgstr "" -#: stock/models.py:1109 +#: stock/models.py:1099 msgid "Serial numbers must be a list of integers" msgstr "" -#: stock/models.py:1112 +#: stock/models.py:1102 msgid "Quantity does not match serial numbers" msgstr "" -#: stock/models.py:1119 +#: stock/models.py:1109 #, python-brace-format msgid "Serial numbers already exist: {exists}" msgstr "" -#: stock/models.py:1277 +#: stock/models.py:1267 msgid "StockItem cannot be moved as it is not in stock" msgstr "" -#: stock/models.py:1775 +#: stock/models.py:1765 msgid "Entry notes" msgstr "" -#: stock/models.py:1832 +#: stock/models.py:1822 msgid "Value must be provided for this test" msgstr "" -#: stock/models.py:1838 +#: stock/models.py:1828 msgid "Attachment must be uploaded for this test" msgstr "" -#: stock/models.py:1856 +#: stock/models.py:1846 msgid "Test name" msgstr "" -#: stock/models.py:1862 templates/js/translated/table_filters.js:266 +#: stock/models.py:1852 templates/js/translated/table_filters.js:266 msgid "Test result" msgstr "" -#: stock/models.py:1868 +#: stock/models.py:1858 msgid "Test output value" msgstr "" -#: stock/models.py:1875 +#: stock/models.py:1865 msgid "Test result attachment" msgstr "" -#: stock/models.py:1881 +#: stock/models.py:1871 msgid "Test notes" msgstr "" -#: stock/serializers.py:166 +#: stock/serializers.py:171 msgid "Purchase price of this stock item" msgstr "" -#: stock/serializers.py:173 +#: stock/serializers.py:178 msgid "Purchase currency of this stock item" msgstr "" -#: stock/serializers.py:287 +#: stock/serializers.py:292 msgid "Enter number of stock items to serialize" msgstr "" -#: stock/serializers.py:302 +#: stock/serializers.py:307 #, python-brace-format msgid "Quantity must not exceed available stock quantity ({q})" msgstr "" -#: stock/serializers.py:308 +#: stock/serializers.py:313 msgid "Enter serial numbers for new items" msgstr "" -#: stock/serializers.py:319 stock/serializers.py:686 +#: stock/serializers.py:324 stock/serializers.py:691 msgid "Destination stock location" msgstr "" -#: stock/serializers.py:326 +#: stock/serializers.py:331 msgid "Optional note field" msgstr "" -#: stock/serializers.py:339 +#: stock/serializers.py:344 msgid "Serial numbers cannot be assigned to this part" msgstr "" -#: stock/serializers.py:556 +#: stock/serializers.py:561 msgid "StockItem primary key value" msgstr "" -#: stock/serializers.py:584 +#: stock/serializers.py:589 msgid "Stock transaction notes" msgstr "" -#: stock/serializers.py:594 +#: stock/serializers.py:599 msgid "A list of stock items must be provided" msgstr "" @@ -5629,125 +5656,131 @@ msgstr "" msgid "Install" msgstr "" -#: stock/templates/stock/item_base.html:106 +#: stock/templates/stock/item_base.html:108 msgid "Convert to variant" msgstr "" -#: stock/templates/stock/item_base.html:109 +#: stock/templates/stock/item_base.html:111 msgid "Duplicate stock item" msgstr "" -#: stock/templates/stock/item_base.html:111 +#: stock/templates/stock/item_base.html:113 msgid "Edit stock item" msgstr "" -#: stock/templates/stock/item_base.html:114 +#: stock/templates/stock/item_base.html:116 msgid "Delete stock item" msgstr "" -#: stock/templates/stock/item_base.html:136 -#: stock/templates/stock/item_base.html:386 -#: templates/js/translated/table_filters.js:247 -msgid "Expired" +#: stock/templates/stock/item_base.html:154 +msgid "previous page" msgstr "" -#: stock/templates/stock/item_base.html:146 -#: stock/templates/stock/item_base.html:388 -#: templates/js/translated/table_filters.js:253 -msgid "Stale" +#: stock/templates/stock/item_base.html:154 +msgid "Navigate to previous serial number" msgstr "" -#: stock/templates/stock/item_base.html:161 -msgid "You are not in the list of owners of this item. This stock item cannot be edited." +#: stock/templates/stock/item_base.html:163 +msgid "next page" msgstr "" -#: stock/templates/stock/item_base.html:168 -msgid "This stock item is in production and cannot be edited." -msgstr "" - -#: stock/templates/stock/item_base.html:169 -msgid "Edit the stock item from the build view." -msgstr "" - -#: stock/templates/stock/item_base.html:182 -msgid "This stock item has not passed all required tests" +#: stock/templates/stock/item_base.html:163 +msgid "Navigate to next serial number" msgstr "" #: stock/templates/stock/item_base.html:190 #, python-format -msgid "This stock item is allocated to Sales Order %(link)s (Quantity: %(qty)s)" -msgstr "" - -#: stock/templates/stock/item_base.html:198 -#, python-format -msgid "This stock item is allocated to Build %(link)s (Quantity: %(qty)s)" -msgstr "" - -#: stock/templates/stock/item_base.html:204 -msgid "This stock item is serialized - it has a unique serial number and the quantity cannot be adjusted." -msgstr "" - -#: stock/templates/stock/item_base.html:208 -msgid "This stock item cannot be deleted as it has child items" -msgstr "" - -#: stock/templates/stock/item_base.html:212 -msgid "This stock item will be automatically deleted when all stock is depleted." -msgstr "" - -#: stock/templates/stock/item_base.html:241 -msgid "previous page" -msgstr "" - -#: stock/templates/stock/item_base.html:247 -msgid "next page" -msgstr "" - -#: stock/templates/stock/item_base.html:290 -#: templates/js/translated/build.js:1035 -msgid "No location set" -msgstr "" - -#: stock/templates/stock/item_base.html:297 -msgid "Barcode Identifier" -msgstr "" - -#: stock/templates/stock/item_base.html:339 -msgid "Parent Item" -msgstr "" - -#: stock/templates/stock/item_base.html:357 -msgid "No manufacturer set" -msgstr "" - -#: stock/templates/stock/item_base.html:386 -#, python-format msgid "This StockItem expired on %(item.expiry_date)s" msgstr "" -#: stock/templates/stock/item_base.html:388 +#: stock/templates/stock/item_base.html:190 +#: templates/js/translated/table_filters.js:247 +msgid "Expired" +msgstr "" + +#: stock/templates/stock/item_base.html:192 #, python-format msgid "This StockItem expires on %(item.expiry_date)s" msgstr "" -#: stock/templates/stock/item_base.html:395 -#: templates/js/translated/stock.js:1289 +#: stock/templates/stock/item_base.html:192 +#: templates/js/translated/table_filters.js:253 +msgid "Stale" +msgstr "" + +#: stock/templates/stock/item_base.html:199 +#: templates/js/translated/stock.js:1371 msgid "Last Updated" msgstr "" -#: stock/templates/stock/item_base.html:400 +#: stock/templates/stock/item_base.html:204 msgid "Last Stocktake" msgstr "" -#: stock/templates/stock/item_base.html:404 +#: stock/templates/stock/item_base.html:208 msgid "No stocktake performed" msgstr "" -#: stock/templates/stock/item_base.html:415 +#: stock/templates/stock/item_base.html:226 +msgid "You are not in the list of owners of this item. This stock item cannot be edited." +msgstr "" + +#: stock/templates/stock/item_base.html:233 +msgid "This stock item is in production and cannot be edited." +msgstr "" + +#: stock/templates/stock/item_base.html:234 +msgid "Edit the stock item from the build view." +msgstr "" + +#: stock/templates/stock/item_base.html:247 +msgid "This stock item has not passed all required tests" +msgstr "" + +#: stock/templates/stock/item_base.html:255 +#, python-format +msgid "This stock item is allocated to Sales Order %(link)s (Quantity: %(qty)s)" +msgstr "" + +#: stock/templates/stock/item_base.html:263 +#, python-format +msgid "This stock item is allocated to Build %(link)s (Quantity: %(qty)s)" +msgstr "" + +#: stock/templates/stock/item_base.html:269 +msgid "This stock item is serialized - it has a unique serial number and the quantity cannot be adjusted." +msgstr "" + +#: stock/templates/stock/item_base.html:273 +msgid "This stock item cannot be deleted as it has child items" +msgstr "" + +#: stock/templates/stock/item_base.html:277 +msgid "This stock item will be automatically deleted when all stock is depleted." +msgstr "" + +#: stock/templates/stock/item_base.html:318 +#: templates/js/translated/build.js:1035 +msgid "No location set" +msgstr "" + +#: stock/templates/stock/item_base.html:325 +msgid "Barcode Identifier" +msgstr "" + +#: stock/templates/stock/item_base.html:367 +msgid "Parent Item" +msgstr "" + +#: stock/templates/stock/item_base.html:385 +msgid "No manufacturer set" +msgstr "" + +#: stock/templates/stock/item_base.html:410 msgid "Tests" msgstr "" -#: stock/templates/stock/item_base.html:505 +#: stock/templates/stock/item_base.html:500 msgid "Edit Stock Status" msgstr "" @@ -5825,30 +5858,35 @@ msgstr "" msgid "New Location" msgstr "" -#: stock/templates/stock/location.html:86 +#: stock/templates/stock/location.html:95 +#: stock/templates/stock/location.html:101 +msgid "Location Path" +msgstr "" + +#: stock/templates/stock/location.html:102 msgid "Top level stock location" msgstr "" -#: stock/templates/stock/location.html:95 +#: stock/templates/stock/location.html:115 msgid "You are not in the list of owners of this location. This stock location cannot be edited." msgstr "" -#: stock/templates/stock/location.html:113 -#: stock/templates/stock/location.html:160 +#: stock/templates/stock/location.html:128 +#: stock/templates/stock/location.html:175 #: stock/templates/stock/location_sidebar.html:5 msgid "Sublocations" msgstr "" -#: stock/templates/stock/location.html:127 templates/InvenTree/search.html:170 +#: stock/templates/stock/location.html:142 templates/InvenTree/search.html:170 #: templates/stats.html:97 users/models.py:42 msgid "Stock Locations" msgstr "" -#: stock/templates/stock/location.html:167 templates/stock_table.html:30 +#: stock/templates/stock/location.html:182 templates/stock_table.html:30 msgid "Printing Actions" msgstr "" -#: stock/templates/stock/location.html:171 templates/stock_table.html:34 +#: stock/templates/stock/location.html:186 templates/stock_table.html:34 msgid "Print labels" msgstr "" @@ -5942,7 +5980,7 @@ msgstr "" msgid "Uninstall Stock Items" msgstr "" -#: stock/views.py:760 templates/js/translated/stock.js:648 +#: stock/views.py:760 templates/js/translated/stock.js:730 msgid "Confirm stock adjustment" msgstr "" @@ -5950,7 +5988,7 @@ msgstr "" msgid "Uninstalled stock items" msgstr "" -#: stock/views.py:793 templates/js/translated/stock.js:318 +#: stock/views.py:793 templates/js/translated/stock.js:319 msgid "Edit Stock Item" msgstr "" @@ -5962,7 +6000,7 @@ msgstr "" msgid "Create new Stock Item" msgstr "" -#: stock/views.py:1186 templates/js/translated/stock.js:298 +#: stock/views.py:1186 templates/js/translated/stock.js:299 msgid "Duplicate Stock Item" msgstr "" @@ -6868,7 +6906,7 @@ msgstr "" msgid "Unlink" msgstr "" -#: templates/js/translated/barcode.js:397 templates/js/translated/stock.js:600 +#: templates/js/translated/barcode.js:397 templates/js/translated/stock.js:682 msgid "Remove stock item" msgstr "" @@ -6963,7 +7001,7 @@ msgid "View BOM" msgstr "" #: templates/js/translated/bom.js:608 templates/js/translated/build.js:1183 -#: templates/js/translated/order.js:1320 +#: templates/js/translated/order.js:1319 msgid "Actions" msgstr "" @@ -7055,7 +7093,7 @@ msgstr "" msgid "No build order allocations found" msgstr "" -#: templates/js/translated/build.js:424 templates/js/translated/order.js:1194 +#: templates/js/translated/build.js:424 templates/js/translated/order.js:1193 msgid "Location not specified" msgstr "" @@ -7064,12 +7102,12 @@ msgid "No active build outputs found" msgstr "" #: templates/js/translated/build.js:1052 templates/js/translated/build.js:1760 -#: templates/js/translated/order.js:1327 +#: templates/js/translated/order.js:1326 msgid "Edit stock allocation" msgstr "" #: templates/js/translated/build.js:1054 templates/js/translated/build.js:1761 -#: templates/js/translated/order.js:1328 +#: templates/js/translated/order.js:1327 msgid "Delete stock allocation" msgstr "" @@ -7090,11 +7128,11 @@ msgid "Quantity Per" msgstr "" #: templates/js/translated/build.js:1134 templates/js/translated/build.js:1360 -#: templates/js/translated/build.js:1756 templates/js/translated/order.js:1557 +#: templates/js/translated/build.js:1756 templates/js/translated/order.js:1556 msgid "Allocated" msgstr "" -#: templates/js/translated/build.js:1190 templates/js/translated/order.js:1611 +#: templates/js/translated/build.js:1190 templates/js/translated/order.js:1610 msgid "Build stock" msgstr "" @@ -7102,7 +7140,7 @@ msgstr "" msgid "Order stock" msgstr "" -#: templates/js/translated/build.js:1197 templates/js/translated/order.js:1604 +#: templates/js/translated/build.js:1197 templates/js/translated/order.js:1603 msgid "Allocate stock" msgstr "" @@ -7143,9 +7181,9 @@ msgstr "" msgid "No builds matching query" msgstr "" -#: templates/js/translated/build.js:1593 templates/js/translated/part.js:966 -#: templates/js/translated/part.js:1377 templates/js/translated/stock.js:1094 -#: templates/js/translated/stock.js:1871 +#: templates/js/translated/build.js:1593 templates/js/translated/part.js:1147 +#: templates/js/translated/part.js:1558 templates/js/translated/stock.js:1176 +#: templates/js/translated/stock.js:1953 msgid "Select" msgstr "" @@ -7153,7 +7191,7 @@ msgstr "" msgid "Build order is overdue" msgstr "" -#: templates/js/translated/build.js:1674 templates/js/translated/stock.js:2090 +#: templates/js/translated/build.js:1674 templates/js/translated/stock.js:2172 msgid "No user information" msgstr "" @@ -7197,10 +7235,6 @@ msgstr "" msgid "Delete Supplier Part" msgstr "" -#: templates/js/translated/company.js:265 -msgid "Edit Company" -msgstr "" - #: templates/js/translated/company.js:286 msgid "Add new Company" msgstr "" @@ -7230,34 +7264,34 @@ msgid "No manufacturer parts found" msgstr "" #: templates/js/translated/company.js:497 -#: templates/js/translated/company.js:754 templates/js/translated/part.js:449 -#: templates/js/translated/part.js:534 +#: templates/js/translated/company.js:754 templates/js/translated/part.js:456 +#: templates/js/translated/part.js:541 msgid "Template part" msgstr "" #: templates/js/translated/company.js:501 -#: templates/js/translated/company.js:758 templates/js/translated/part.js:453 -#: templates/js/translated/part.js:538 +#: templates/js/translated/company.js:758 templates/js/translated/part.js:460 +#: templates/js/translated/part.js:545 msgid "Assembled part" msgstr "" -#: templates/js/translated/company.js:628 templates/js/translated/part.js:626 +#: templates/js/translated/company.js:628 templates/js/translated/part.js:633 msgid "No parameters found" msgstr "" -#: templates/js/translated/company.js:665 templates/js/translated/part.js:668 +#: templates/js/translated/company.js:665 templates/js/translated/part.js:675 msgid "Edit parameter" msgstr "" -#: templates/js/translated/company.js:666 templates/js/translated/part.js:669 +#: templates/js/translated/company.js:666 templates/js/translated/part.js:676 msgid "Delete parameter" msgstr "" -#: templates/js/translated/company.js:685 templates/js/translated/part.js:686 +#: templates/js/translated/company.js:685 templates/js/translated/part.js:693 msgid "Edit Parameter" msgstr "" -#: templates/js/translated/company.js:696 templates/js/translated/part.js:698 +#: templates/js/translated/company.js:696 templates/js/translated/part.js:705 msgid "Delete Parameter" msgstr "" @@ -7346,7 +7380,7 @@ msgid "NO" msgstr "" #: templates/js/translated/label.js:29 templates/js/translated/report.js:118 -#: templates/js/translated/stock.js:624 +#: templates/js/translated/stock.js:706 msgid "Select Stock Items" msgstr "" @@ -7502,11 +7536,11 @@ msgstr "" msgid "Export Order" msgstr "" -#: templates/js/translated/order.js:211 templates/js/translated/stock.js:423 +#: templates/js/translated/order.js:211 templates/js/translated/stock.js:505 msgid "Format" msgstr "" -#: templates/js/translated/order.js:212 templates/js/translated/stock.js:424 +#: templates/js/translated/order.js:212 templates/js/translated/stock.js:506 msgid "Select file format" msgstr "" @@ -7522,7 +7556,7 @@ msgstr "" msgid "Quantity to receive" msgstr "" -#: templates/js/translated/order.js:360 templates/js/translated/stock.js:1673 +#: templates/js/translated/order.js:360 templates/js/translated/stock.js:1755 msgid "Stock Status" msgstr "" @@ -7546,321 +7580,321 @@ msgstr "" msgid "Receive Purchase Order Items" msgstr "" -#: templates/js/translated/order.js:627 +#: templates/js/translated/order.js:627 templates/js/translated/part.js:746 msgid "No purchase orders found" msgstr "" -#: templates/js/translated/order.js:652 templates/js/translated/order.js:1063 +#: templates/js/translated/order.js:659 templates/js/translated/order.js:1062 msgid "Order is overdue" msgstr "" -#: templates/js/translated/order.js:772 templates/js/translated/order.js:1646 +#: templates/js/translated/order.js:771 templates/js/translated/order.js:1645 msgid "Edit Line Item" msgstr "" -#: templates/js/translated/order.js:784 templates/js/translated/order.js:1657 +#: templates/js/translated/order.js:783 templates/js/translated/order.js:1656 msgid "Delete Line Item" msgstr "" -#: templates/js/translated/order.js:823 +#: templates/js/translated/order.js:822 msgid "No line items found" msgstr "" -#: templates/js/translated/order.js:850 templates/js/translated/order.js:1467 +#: templates/js/translated/order.js:849 templates/js/translated/order.js:1466 msgid "Total" msgstr "" -#: templates/js/translated/order.js:904 templates/js/translated/order.js:1492 -#: templates/js/translated/part.js:1594 templates/js/translated/part.js:1805 +#: templates/js/translated/order.js:903 templates/js/translated/order.js:1491 +#: templates/js/translated/part.js:1775 templates/js/translated/part.js:1986 msgid "Unit Price" msgstr "" -#: templates/js/translated/order.js:919 templates/js/translated/order.js:1508 +#: templates/js/translated/order.js:918 templates/js/translated/order.js:1507 msgid "Total Price" msgstr "" -#: templates/js/translated/order.js:997 templates/js/translated/order.js:1617 +#: templates/js/translated/order.js:996 templates/js/translated/order.js:1616 msgid "Edit line item" msgstr "" -#: templates/js/translated/order.js:998 +#: templates/js/translated/order.js:997 msgid "Delete line item" msgstr "" -#: templates/js/translated/order.js:1002 +#: templates/js/translated/order.js:1001 templates/js/translated/part.js:878 msgid "Receive line item" msgstr "" -#: templates/js/translated/order.js:1039 +#: templates/js/translated/order.js:1038 msgid "No sales orders found" msgstr "" -#: templates/js/translated/order.js:1077 +#: templates/js/translated/order.js:1076 msgid "Invalid Customer" msgstr "" -#: templates/js/translated/order.js:1155 +#: templates/js/translated/order.js:1154 msgid "No sales order allocations found" msgstr "" -#: templates/js/translated/order.js:1248 +#: templates/js/translated/order.js:1247 msgid "Edit Stock Allocation" msgstr "" -#: templates/js/translated/order.js:1265 +#: templates/js/translated/order.js:1264 msgid "Confirm Delete Operation" msgstr "" -#: templates/js/translated/order.js:1266 +#: templates/js/translated/order.js:1265 msgid "Delete Stock Allocation" msgstr "" -#: templates/js/translated/order.js:1308 +#: templates/js/translated/order.js:1307 msgid "Stock location not specified" msgstr "" -#: templates/js/translated/order.js:1557 +#: templates/js/translated/order.js:1556 msgid "Fulfilled" msgstr "" -#: templates/js/translated/order.js:1601 +#: templates/js/translated/order.js:1600 msgid "Allocate serial numbers" msgstr "" -#: templates/js/translated/order.js:1607 +#: templates/js/translated/order.js:1606 msgid "Purchase stock" msgstr "" -#: templates/js/translated/order.js:1614 templates/js/translated/order.js:1793 +#: templates/js/translated/order.js:1613 templates/js/translated/order.js:1792 msgid "Calculate price" msgstr "" -#: templates/js/translated/order.js:1618 +#: templates/js/translated/order.js:1617 msgid "Delete line item " msgstr "" -#: templates/js/translated/order.js:1741 +#: templates/js/translated/order.js:1740 msgid "Allocate Stock Item" msgstr "" -#: templates/js/translated/order.js:1801 +#: templates/js/translated/order.js:1800 msgid "Update Unit Price" msgstr "" -#: templates/js/translated/order.js:1815 +#: templates/js/translated/order.js:1814 msgid "No matching line items" msgstr "" -#: templates/js/translated/part.js:51 +#: templates/js/translated/part.js:52 msgid "Part Attributes" msgstr "" -#: templates/js/translated/part.js:55 +#: templates/js/translated/part.js:56 msgid "Part Creation Options" msgstr "" -#: templates/js/translated/part.js:59 +#: templates/js/translated/part.js:60 msgid "Part Duplication Options" msgstr "" -#: templates/js/translated/part.js:63 +#: templates/js/translated/part.js:64 msgid "Supplier Options" msgstr "" -#: templates/js/translated/part.js:77 +#: templates/js/translated/part.js:78 msgid "Add Part Category" msgstr "" -#: templates/js/translated/part.js:166 +#: templates/js/translated/part.js:162 msgid "Create Initial Stock" msgstr "" -#: templates/js/translated/part.js:167 +#: templates/js/translated/part.js:163 msgid "Create an initial stock item for this part" msgstr "" -#: templates/js/translated/part.js:174 +#: templates/js/translated/part.js:170 msgid "Initial Stock Quantity" msgstr "" -#: templates/js/translated/part.js:175 +#: templates/js/translated/part.js:171 msgid "Specify initial stock quantity for this part" msgstr "" -#: templates/js/translated/part.js:182 +#: templates/js/translated/part.js:178 msgid "Select destination stock location" msgstr "" -#: templates/js/translated/part.js:193 +#: templates/js/translated/part.js:196 msgid "Copy Category Parameters" msgstr "" -#: templates/js/translated/part.js:194 +#: templates/js/translated/part.js:197 msgid "Copy parameter templates from selected part category" msgstr "" -#: templates/js/translated/part.js:202 +#: templates/js/translated/part.js:205 msgid "Add Supplier Data" msgstr "" -#: templates/js/translated/part.js:203 +#: templates/js/translated/part.js:206 msgid "Create initial supplier data for this part" msgstr "" -#: templates/js/translated/part.js:259 +#: templates/js/translated/part.js:262 msgid "Copy Image" msgstr "" -#: templates/js/translated/part.js:260 +#: templates/js/translated/part.js:263 msgid "Copy image from original part" msgstr "" -#: templates/js/translated/part.js:268 +#: templates/js/translated/part.js:271 msgid "Copy bill of materials from original part" msgstr "" -#: templates/js/translated/part.js:275 +#: templates/js/translated/part.js:278 msgid "Copy Parameters" msgstr "" -#: templates/js/translated/part.js:276 +#: templates/js/translated/part.js:279 msgid "Copy parameter data from original part" msgstr "" -#: templates/js/translated/part.js:289 +#: templates/js/translated/part.js:292 msgid "Parent part category" msgstr "" -#: templates/js/translated/part.js:333 +#: templates/js/translated/part.js:336 msgid "Edit Part" msgstr "" -#: templates/js/translated/part.js:335 +#: templates/js/translated/part.js:338 msgid "Part edited" msgstr "" -#: templates/js/translated/part.js:403 +#: templates/js/translated/part.js:410 msgid "You are subscribed to notifications for this item" msgstr "" -#: templates/js/translated/part.js:405 +#: templates/js/translated/part.js:412 msgid "You have subscribed to notifications for this item" msgstr "" -#: templates/js/translated/part.js:410 +#: templates/js/translated/part.js:417 msgid "Subscribe to notifications for this item" msgstr "" -#: templates/js/translated/part.js:412 +#: templates/js/translated/part.js:419 msgid "You have unsubscribed to notifications for this item" msgstr "" -#: templates/js/translated/part.js:441 templates/js/translated/part.js:526 +#: templates/js/translated/part.js:448 templates/js/translated/part.js:533 msgid "Trackable part" msgstr "" -#: templates/js/translated/part.js:445 templates/js/translated/part.js:530 +#: templates/js/translated/part.js:452 templates/js/translated/part.js:537 msgid "Virtual part" msgstr "" -#: templates/js/translated/part.js:457 +#: templates/js/translated/part.js:464 msgid "Subscribed part" msgstr "" -#: templates/js/translated/part.js:461 +#: templates/js/translated/part.js:468 msgid "Salable part" msgstr "" -#: templates/js/translated/part.js:576 +#: templates/js/translated/part.js:583 msgid "No variants found" msgstr "" -#: templates/js/translated/part.js:765 +#: templates/js/translated/part.js:946 msgid "Delete part relationship" msgstr "" -#: templates/js/translated/part.js:789 +#: templates/js/translated/part.js:970 msgid "Delete Part Relationship" msgstr "" -#: templates/js/translated/part.js:856 templates/js/translated/part.js:1116 +#: templates/js/translated/part.js:1037 templates/js/translated/part.js:1297 msgid "No parts found" msgstr "" -#: templates/js/translated/part.js:1026 +#: templates/js/translated/part.js:1207 msgid "No category" msgstr "" -#: templates/js/translated/part.js:1049 +#: templates/js/translated/part.js:1230 #: templates/js/translated/table_filters.js:381 msgid "Low stock" msgstr "" -#: templates/js/translated/part.js:1140 templates/js/translated/part.js:1312 -#: templates/js/translated/stock.js:1832 +#: templates/js/translated/part.js:1321 templates/js/translated/part.js:1493 +#: templates/js/translated/stock.js:1914 msgid "Display as list" msgstr "" -#: templates/js/translated/part.js:1156 +#: templates/js/translated/part.js:1337 msgid "Display as grid" msgstr "" -#: templates/js/translated/part.js:1331 templates/js/translated/stock.js:1851 +#: templates/js/translated/part.js:1512 templates/js/translated/stock.js:1933 msgid "Display as tree" msgstr "" -#: templates/js/translated/part.js:1395 +#: templates/js/translated/part.js:1576 msgid "Subscribed category" msgstr "" -#: templates/js/translated/part.js:1409 templates/js/translated/stock.js:1895 +#: templates/js/translated/part.js:1590 templates/js/translated/stock.js:1977 msgid "Path" msgstr "" -#: templates/js/translated/part.js:1453 +#: templates/js/translated/part.js:1634 msgid "No test templates matching query" msgstr "" -#: templates/js/translated/part.js:1504 templates/js/translated/stock.js:816 +#: templates/js/translated/part.js:1685 templates/js/translated/stock.js:898 msgid "Edit test result" msgstr "" -#: templates/js/translated/part.js:1505 templates/js/translated/stock.js:817 +#: templates/js/translated/part.js:1686 templates/js/translated/stock.js:899 msgid "Delete test result" msgstr "" -#: templates/js/translated/part.js:1511 +#: templates/js/translated/part.js:1692 msgid "This test is defined for a parent part" msgstr "" -#: templates/js/translated/part.js:1533 +#: templates/js/translated/part.js:1714 msgid "Edit Test Result Template" msgstr "" -#: templates/js/translated/part.js:1547 +#: templates/js/translated/part.js:1728 msgid "Delete Test Result Template" msgstr "" -#: templates/js/translated/part.js:1572 +#: templates/js/translated/part.js:1753 #, python-brace-format msgid "No ${human_name} information found" msgstr "" -#: templates/js/translated/part.js:1627 +#: templates/js/translated/part.js:1808 #, python-brace-format msgid "Edit ${human_name}" msgstr "" -#: templates/js/translated/part.js:1628 +#: templates/js/translated/part.js:1809 #, python-brace-format msgid "Delete ${human_name}" msgstr "" -#: templates/js/translated/part.js:1729 +#: templates/js/translated/part.js:1910 msgid "Single Price" msgstr "" -#: templates/js/translated/part.js:1748 +#: templates/js/translated/part.js:1929 msgid "Single Price Difference" msgstr "" @@ -7930,276 +7964,300 @@ msgstr "" msgid "Sales Order(s) must be selected before printing report" msgstr "" -#: templates/js/translated/stock.js:70 +#: templates/js/translated/stock.js:71 msgid "Serialize Stock Item" msgstr "" -#: templates/js/translated/stock.js:88 templates/js/translated/stock.js:167 +#: templates/js/translated/stock.js:89 templates/js/translated/stock.js:168 msgid "Next available serial number" msgstr "" -#: templates/js/translated/stock.js:90 templates/js/translated/stock.js:169 +#: templates/js/translated/stock.js:91 templates/js/translated/stock.js:170 msgid "Latest serial number" msgstr "" -#: templates/js/translated/stock.js:104 +#: templates/js/translated/stock.js:105 msgid "Parent stock location" msgstr "" -#: templates/js/translated/stock.js:140 +#: templates/js/translated/stock.js:141 msgid "New Stock Location" msgstr "" -#: templates/js/translated/stock.js:180 +#: templates/js/translated/stock.js:181 msgid "This part cannot be serialized" msgstr "" -#: templates/js/translated/stock.js:219 +#: templates/js/translated/stock.js:220 msgid "Enter initial quantity for this stock item" msgstr "" -#: templates/js/translated/stock.js:225 +#: templates/js/translated/stock.js:226 msgid "Enter serial numbers for new stock (or leave blank)" msgstr "" -#: templates/js/translated/stock.js:368 +#: templates/js/translated/stock.js:369 msgid "Created new stock item" msgstr "" -#: templates/js/translated/stock.js:381 +#: templates/js/translated/stock.js:382 msgid "Created multiple stock items" msgstr "" -#: templates/js/translated/stock.js:420 +#: templates/js/translated/stock.js:407 +msgid "Find Serial Number" +msgstr "" + +#: templates/js/translated/stock.js:411 templates/js/translated/stock.js:412 +msgid "Enter serial number" +msgstr "" + +#: templates/js/translated/stock.js:428 +msgid "Enter a serial number" +msgstr "" + +#: templates/js/translated/stock.js:448 +msgid "No matching serial number" +msgstr "" + +#: templates/js/translated/stock.js:457 +msgid "More than one matching result found" +msgstr "" + +#: templates/js/translated/stock.js:502 msgid "Export Stock" msgstr "" -#: templates/js/translated/stock.js:431 +#: templates/js/translated/stock.js:513 msgid "Include Sublocations" msgstr "" -#: templates/js/translated/stock.js:432 +#: templates/js/translated/stock.js:514 msgid "Include stock items in sublocations" msgstr "" -#: templates/js/translated/stock.js:474 +#: templates/js/translated/stock.js:556 msgid "Transfer Stock" msgstr "" -#: templates/js/translated/stock.js:475 +#: templates/js/translated/stock.js:557 msgid "Move" msgstr "" -#: templates/js/translated/stock.js:481 +#: templates/js/translated/stock.js:563 msgid "Count Stock" msgstr "" -#: templates/js/translated/stock.js:482 +#: templates/js/translated/stock.js:564 msgid "Count" msgstr "" -#: templates/js/translated/stock.js:486 +#: templates/js/translated/stock.js:568 msgid "Remove Stock" msgstr "" -#: templates/js/translated/stock.js:487 +#: templates/js/translated/stock.js:569 msgid "Take" msgstr "" -#: templates/js/translated/stock.js:491 +#: templates/js/translated/stock.js:573 msgid "Add Stock" msgstr "" -#: templates/js/translated/stock.js:492 users/models.py:200 +#: templates/js/translated/stock.js:574 users/models.py:200 msgid "Add" msgstr "" -#: templates/js/translated/stock.js:496 templates/stock_table.html:56 +#: templates/js/translated/stock.js:578 templates/stock_table.html:56 msgid "Delete Stock" msgstr "" -#: templates/js/translated/stock.js:585 +#: templates/js/translated/stock.js:667 msgid "Quantity cannot be adjusted for serialized stock" msgstr "" -#: templates/js/translated/stock.js:585 +#: templates/js/translated/stock.js:667 msgid "Specify stock quantity" msgstr "" -#: templates/js/translated/stock.js:625 +#: templates/js/translated/stock.js:707 msgid "You must select at least one available stock item" msgstr "" -#: templates/js/translated/stock.js:783 +#: templates/js/translated/stock.js:865 msgid "PASS" msgstr "" -#: templates/js/translated/stock.js:785 +#: templates/js/translated/stock.js:867 msgid "FAIL" msgstr "" -#: templates/js/translated/stock.js:790 +#: templates/js/translated/stock.js:872 msgid "NO RESULT" msgstr "" -#: templates/js/translated/stock.js:812 +#: templates/js/translated/stock.js:894 msgid "Add test result" msgstr "" -#: templates/js/translated/stock.js:838 +#: templates/js/translated/stock.js:920 msgid "No test results found" msgstr "" -#: templates/js/translated/stock.js:895 +#: templates/js/translated/stock.js:977 msgid "Test Date" msgstr "" -#: templates/js/translated/stock.js:1002 +#: templates/js/translated/stock.js:1084 msgid "In production" msgstr "" -#: templates/js/translated/stock.js:1006 +#: templates/js/translated/stock.js:1088 msgid "Installed in Stock Item" msgstr "" -#: templates/js/translated/stock.js:1010 +#: templates/js/translated/stock.js:1092 msgid "Shipped to customer" msgstr "" -#: templates/js/translated/stock.js:1014 +#: templates/js/translated/stock.js:1096 msgid "Assigned to Sales Order" msgstr "" -#: templates/js/translated/stock.js:1020 +#: templates/js/translated/stock.js:1102 msgid "No stock location set" msgstr "" -#: templates/js/translated/stock.js:1178 +#: templates/js/translated/stock.js:1260 msgid "Stock item is in production" msgstr "" -#: templates/js/translated/stock.js:1183 +#: templates/js/translated/stock.js:1265 msgid "Stock item assigned to sales order" msgstr "" -#: templates/js/translated/stock.js:1186 +#: templates/js/translated/stock.js:1268 msgid "Stock item assigned to customer" msgstr "" -#: templates/js/translated/stock.js:1190 +#: templates/js/translated/stock.js:1272 msgid "Stock item has expired" msgstr "" -#: templates/js/translated/stock.js:1192 +#: templates/js/translated/stock.js:1274 msgid "Stock item will expire soon" msgstr "" -#: templates/js/translated/stock.js:1196 +#: templates/js/translated/stock.js:1278 msgid "Stock item has been allocated" msgstr "" -#: templates/js/translated/stock.js:1200 +#: templates/js/translated/stock.js:1282 msgid "Stock item has been installed in another item" msgstr "" -#: templates/js/translated/stock.js:1207 +#: templates/js/translated/stock.js:1289 msgid "Stock item has been rejected" msgstr "" -#: templates/js/translated/stock.js:1209 +#: templates/js/translated/stock.js:1291 msgid "Stock item is lost" msgstr "" -#: templates/js/translated/stock.js:1211 +#: templates/js/translated/stock.js:1293 msgid "Stock item is destroyed" msgstr "" -#: templates/js/translated/stock.js:1215 +#: templates/js/translated/stock.js:1297 #: templates/js/translated/table_filters.js:183 msgid "Depleted" msgstr "" -#: templates/js/translated/stock.js:1265 +#: templates/js/translated/stock.js:1347 msgid "Stocktake" msgstr "" -#: templates/js/translated/stock.js:1338 +#: templates/js/translated/stock.js:1420 msgid "Supplier part not specified" msgstr "" -#: templates/js/translated/stock.js:1376 +#: templates/js/translated/stock.js:1458 msgid "No stock items matching query" msgstr "" -#: templates/js/translated/stock.js:1397 templates/js/translated/stock.js:1445 +#: templates/js/translated/stock.js:1479 templates/js/translated/stock.js:1527 msgid "items" msgstr "" -#: templates/js/translated/stock.js:1485 +#: templates/js/translated/stock.js:1567 msgid "batches" msgstr "" -#: templates/js/translated/stock.js:1512 +#: templates/js/translated/stock.js:1594 msgid "locations" msgstr "" -#: templates/js/translated/stock.js:1514 +#: templates/js/translated/stock.js:1596 msgid "Undefined location" msgstr "" -#: templates/js/translated/stock.js:1688 +#: templates/js/translated/stock.js:1770 msgid "Set Stock Status" msgstr "" -#: templates/js/translated/stock.js:1702 +#: templates/js/translated/stock.js:1784 msgid "Select Status Code" msgstr "" -#: templates/js/translated/stock.js:1703 +#: templates/js/translated/stock.js:1785 msgid "Status code must be selected" msgstr "" -#: templates/js/translated/stock.js:1927 +#: templates/js/translated/stock.js:2009 msgid "Invalid date" msgstr "" -#: templates/js/translated/stock.js:1974 +#: templates/js/translated/stock.js:2031 +msgid "Details" +msgstr "" + +#: templates/js/translated/stock.js:2056 msgid "Location no longer exists" msgstr "" -#: templates/js/translated/stock.js:1993 +#: templates/js/translated/stock.js:2075 msgid "Purchase order no longer exists" msgstr "" -#: templates/js/translated/stock.js:2012 +#: templates/js/translated/stock.js:2094 msgid "Customer no longer exists" msgstr "" -#: templates/js/translated/stock.js:2030 +#: templates/js/translated/stock.js:2112 msgid "Stock item no longer exists" msgstr "" -#: templates/js/translated/stock.js:2053 +#: templates/js/translated/stock.js:2135 msgid "Added" msgstr "" -#: templates/js/translated/stock.js:2061 +#: templates/js/translated/stock.js:2143 msgid "Removed" msgstr "" -#: templates/js/translated/stock.js:2102 +#: templates/js/translated/stock.js:2184 msgid "Edit tracking entry" msgstr "" -#: templates/js/translated/stock.js:2103 +#: templates/js/translated/stock.js:2185 msgid "Delete tracking entry" msgstr "" -#: templates/js/translated/stock.js:2154 +#: templates/js/translated/stock.js:2236 msgid "No installed items" msgstr "" -#: templates/js/translated/stock.js:2205 +#: templates/js/translated/stock.js:2287 msgid "Uninstall Stock Item" msgstr "" diff --git a/InvenTree/locale/ru/LC_MESSAGES/django.po b/InvenTree/locale/ru/LC_MESSAGES/django.po index 4a84b664f2..3b0f4954b2 100644 --- a/InvenTree/locale/ru/LC_MESSAGES/django.po +++ b/InvenTree/locale/ru/LC_MESSAGES/django.po @@ -2,8 +2,8 @@ msgid "" msgstr "" "Project-Id-Version: inventree\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2021-11-30 21:49+0000\n" -"PO-Revision-Date: 2021-11-30 21:52\n" +"POT-Creation-Date: 2021-12-03 10:37+0000\n" +"PO-Revision-Date: 2021-12-03 11:26\n" "Last-Translator: \n" "Language-Team: Russian\n" "Language: ru_RU\n" @@ -114,129 +114,130 @@ msgstr "Серийных номеров не найдено" msgid "Number of unique serial number ({s}) must match quantity ({q})" msgstr "Число уникальных серийных номеров ({s}) должно соответствовать количеству ({q})" -#: InvenTree/models.py:114 +#: InvenTree/models.py:120 msgid "Missing file" -msgstr "" +msgstr "Файл не найден" -#: InvenTree/models.py:115 +#: InvenTree/models.py:121 msgid "Missing external link" -msgstr "" +msgstr "Отсутствует внешняя ссылка" -#: InvenTree/models.py:126 stock/models.py:1874 +#: InvenTree/models.py:132 stock/models.py:1864 #: templates/js/translated/attachment.js:117 msgid "Attachment" msgstr "Вложения" -#: InvenTree/models.py:127 +#: InvenTree/models.py:133 msgid "Select file to attach" msgstr "Выберите файл для вложения" -#: InvenTree/models.py:133 company/models.py:131 company/models.py:348 +#: InvenTree/models.py:139 company/models.py:131 company/models.py:348 #: company/models.py:564 order/models.py:163 part/models.py:797 #: report/templates/report/inventree_build_order_base.html:165 #: templates/js/translated/company.js:537 -#: templates/js/translated/company.js:826 templates/js/translated/part.js:1077 +#: templates/js/translated/company.js:826 templates/js/translated/part.js:1258 msgid "Link" -msgstr "" +msgstr "Ссылка" -#: InvenTree/models.py:134 build/models.py:330 part/models.py:798 -#: stock/models.py:540 +#: InvenTree/models.py:140 build/models.py:330 part/models.py:798 +#: stock/models.py:530 msgid "Link to external URL" msgstr "Ссылка на внешний URL" -#: InvenTree/models.py:137 templates/js/translated/attachment.js:161 +#: InvenTree/models.py:143 templates/js/translated/attachment.js:161 msgid "Comment" msgstr "Комментарий" -#: InvenTree/models.py:137 +#: InvenTree/models.py:143 msgid "File comment" msgstr "Комментарий к файлу" -#: InvenTree/models.py:143 InvenTree/models.py:144 common/models.py:1185 +#: InvenTree/models.py:149 InvenTree/models.py:150 common/models.py:1185 #: common/models.py:1186 part/models.py:2205 part/models.py:2225 #: report/templates/report/inventree_test_report_base.html:96 -#: templates/js/translated/stock.js:2084 +#: templates/js/translated/stock.js:2166 msgid "User" msgstr "Пользователь" -#: InvenTree/models.py:147 +#: InvenTree/models.py:153 msgid "upload date" msgstr "дата загрузки" -#: InvenTree/models.py:170 +#: InvenTree/models.py:176 msgid "Filename must not be empty" msgstr "Имя файла не должно быть пустым" -#: InvenTree/models.py:193 +#: InvenTree/models.py:199 msgid "Invalid attachment directory" msgstr "Неверная директория вложений" -#: InvenTree/models.py:203 +#: InvenTree/models.py:209 #, python-brace-format msgid "Filename contains illegal character '{c}'" -msgstr "" +msgstr "Имя файла содержит запрещенные символы '{c}'" -#: InvenTree/models.py:206 +#: InvenTree/models.py:212 msgid "Filename missing extension" -msgstr "" +msgstr "Отсутствует расширение для имени файла" -#: InvenTree/models.py:213 +#: InvenTree/models.py:219 msgid "Attachment with this filename already exists" -msgstr "" +msgstr "Вложение с таким именем файла уже существует" -#: InvenTree/models.py:220 +#: InvenTree/models.py:226 msgid "Error renaming file" -msgstr "" +msgstr "Ошибка переименования файла" -#: InvenTree/models.py:255 +#: InvenTree/models.py:261 msgid "Invalid choice" -msgstr "" +msgstr "Неверный выбор" -#: InvenTree/models.py:271 InvenTree/models.py:272 company/models.py:415 +#: InvenTree/models.py:277 InvenTree/models.py:278 company/models.py:415 #: label/models.py:112 part/models.py:741 part/models.py:2389 -#: part/templates/part/detail.html:25 report/models.py:181 -#: templates/InvenTree/settings/settings.html:259 -#: templates/js/translated/company.js:638 templates/js/translated/part.js:499 -#: templates/js/translated/part.js:636 templates/js/translated/part.js:1384 -#: templates/js/translated/stock.js:1877 +#: report/models.py:181 templates/InvenTree/settings/settings.html:259 +#: templates/js/translated/company.js:638 templates/js/translated/part.js:506 +#: templates/js/translated/part.js:643 templates/js/translated/part.js:1565 +#: templates/js/translated/stock.js:1959 msgid "Name" msgstr "Название" -#: InvenTree/models.py:278 build/models.py:207 +#: InvenTree/models.py:284 build/models.py:207 #: build/templates/build/detail.html:25 company/models.py:354 -#: company/models.py:570 company/templates/company/manufacturer_part.html:80 -#: company/templates/company/supplier_part.html:81 label/models.py:119 -#: order/models.py:161 part/models.py:764 part/templates/part/detail.html:30 +#: company/models.py:570 company/templates/company/company_base.html:68 +#: company/templates/company/manufacturer_part.html:76 +#: company/templates/company/supplier_part.html:73 label/models.py:119 +#: order/models.py:161 part/models.py:764 part/templates/part/category.html:70 +#: part/templates/part/part_base.html:163 #: part/templates/part/set_category.html:14 report/models.py:194 #: report/models.py:553 report/models.py:592 #: report/templates/report/inventree_build_order_base.html:118 -#: stock/templates/stock/location.html:108 templates/js/translated/bom.js:215 +#: stock/templates/stock/location.html:89 templates/js/translated/bom.js:215 #: templates/js/translated/bom.js:428 templates/js/translated/build.js:1621 #: templates/js/translated/company.js:345 #: templates/js/translated/company.js:548 -#: templates/js/translated/company.js:837 templates/js/translated/order.js:673 -#: templates/js/translated/order.js:855 templates/js/translated/order.js:1091 -#: templates/js/translated/part.js:558 templates/js/translated/part.js:752 -#: templates/js/translated/part.js:837 templates/js/translated/part.js:1007 -#: templates/js/translated/part.js:1403 templates/js/translated/part.js:1472 -#: templates/js/translated/stock.js:1151 templates/js/translated/stock.js:1889 -#: templates/js/translated/stock.js:1934 +#: templates/js/translated/company.js:837 templates/js/translated/order.js:680 +#: templates/js/translated/order.js:854 templates/js/translated/order.js:1090 +#: templates/js/translated/part.js:565 templates/js/translated/part.js:933 +#: templates/js/translated/part.js:1018 templates/js/translated/part.js:1188 +#: templates/js/translated/part.js:1584 templates/js/translated/part.js:1653 +#: templates/js/translated/stock.js:1233 templates/js/translated/stock.js:1971 +#: templates/js/translated/stock.js:2016 msgid "Description" msgstr "Описание" -#: InvenTree/models.py:279 +#: InvenTree/models.py:285 msgid "Description (optional)" msgstr "Описание (необязательно)" -#: InvenTree/models.py:287 +#: InvenTree/models.py:293 msgid "parent" msgstr "родитель" -#: InvenTree/serializers.py:62 part/models.py:2674 +#: InvenTree/serializers.py:65 part/models.py:2674 msgid "Must be a valid number" -msgstr "" +msgstr "Должно быть действительным номером" -#: InvenTree/serializers.py:285 +#: InvenTree/serializers.py:299 msgid "Filename" msgstr "Имя файла" @@ -258,7 +259,7 @@ msgstr "Испанский" #: InvenTree/settings.py:674 msgid "Spanish (Mexican)" -msgstr "" +msgstr "Испанский (Мексика)" #: InvenTree/settings.py:675 msgid "French" @@ -294,7 +295,7 @@ msgstr "Польский" #: InvenTree/settings.py:683 msgid "Portugese" -msgstr "" +msgstr "Португальский" #: InvenTree/settings.py:684 msgid "Russian" @@ -361,7 +362,7 @@ msgid "Returned" msgstr "Возвращено" #: InvenTree/status_codes.py:143 -#: order/templates/order/sales_order_base.html:147 +#: order/templates/order/sales_order_base.html:148 msgid "Shipped" msgstr "Доставлено" @@ -566,7 +567,7 @@ msgid "Barcode associated with StockItem" msgstr "Штрих-код, связанный с инвентарем" #: build/forms.py:36 build/models.py:1283 -#: build/templates/build/build_base.html:124 +#: build/templates/build/build_base.html:132 #: build/templates/build/detail.html:35 common/models.py:1225 #: company/forms.py:42 company/templates/company/supplier_part.html:251 #: order/forms.py:102 order/models.py:729 order/models.py:991 @@ -574,26 +575,27 @@ msgstr "Штрих-код, связанный с инвентарем" #: order/templates/order/order_wizard/select_parts.html:34 part/forms.py:223 #: part/forms.py:239 part/forms.py:255 part/models.py:2576 #: part/templates/part/bom_upload/match_parts.html:31 -#: part/templates/part/detail.html:1076 part/templates/part/detail.html:1162 +#: part/templates/part/detail.html:967 part/templates/part/detail.html:1053 #: part/templates/part/part_pricing.html:16 #: report/templates/report/inventree_build_order_base.html:114 #: report/templates/report/inventree_po_report.html:91 #: report/templates/report/inventree_so_report.html:91 #: report/templates/report/inventree_test_report_base.html:81 #: report/templates/report/inventree_test_report_base.html:139 -#: stock/forms.py:156 stock/serializers.py:286 -#: stock/templates/stock/item_base.html:256 +#: stock/forms.py:156 stock/serializers.py:291 +#: stock/templates/stock/item_base.html:174 #: templates/js/translated/barcode.js:385 templates/js/translated/bom.js:443 #: templates/js/translated/build.js:235 templates/js/translated/build.js:435 #: templates/js/translated/build.js:629 templates/js/translated/build.js:639 #: templates/js/translated/build.js:1015 templates/js/translated/build.js:1362 #: templates/js/translated/model_renderers.js:99 -#: templates/js/translated/order.js:892 templates/js/translated/order.js:1205 -#: templates/js/translated/order.js:1283 templates/js/translated/order.js:1290 -#: templates/js/translated/order.js:1379 templates/js/translated/order.js:1479 -#: templates/js/translated/part.js:1615 templates/js/translated/part.js:1738 -#: templates/js/translated/part.js:1816 templates/js/translated/stock.js:377 -#: templates/js/translated/stock.js:2069 templates/js/translated/stock.js:2171 +#: templates/js/translated/order.js:891 templates/js/translated/order.js:1204 +#: templates/js/translated/order.js:1282 templates/js/translated/order.js:1289 +#: templates/js/translated/order.js:1378 templates/js/translated/order.js:1478 +#: templates/js/translated/part.js:843 templates/js/translated/part.js:1796 +#: templates/js/translated/part.js:1919 templates/js/translated/part.js:1997 +#: templates/js/translated/stock.js:378 templates/js/translated/stock.js:2151 +#: templates/js/translated/stock.js:2253 msgid "Quantity" msgstr "Количество" @@ -602,8 +604,8 @@ msgid "Enter quantity for build output" msgstr "Введите количество для вывода сборки" #: build/forms.py:41 order/forms.py:96 stock/forms.py:95 -#: stock/serializers.py:307 templates/js/translated/stock.js:224 -#: templates/js/translated/stock.js:378 +#: stock/serializers.py:312 templates/js/translated/stock.js:225 +#: templates/js/translated/stock.js:379 msgid "Serial Numbers" msgstr "Серийные номера" @@ -633,7 +635,7 @@ msgstr "Подтвердите отмену сборки" #: build/models.py:133 msgid "Invalid choice for parent build" -msgstr "" +msgstr "Неверный выбор для родительской сборки" #: build/models.py:137 build/templates/build/build_base.html:9 #: build/templates/build/build_base.html:27 @@ -646,7 +648,7 @@ msgstr "Порядок сборки" #: build/templates/build/index.html:8 build/templates/build/index.html:12 #: order/templates/order/sales_order_detail.html:42 #: order/templates/order/so_sidebar.html:7 -#: part/templates/part/part_sidebar.html:22 templates/InvenTree/index.html:221 +#: part/templates/part/part_sidebar.html:20 templates/InvenTree/index.html:221 #: templates/InvenTree/search.html:145 #: templates/InvenTree/settings/sidebar.html:42 users/models.py:44 msgid "Build Orders" @@ -662,24 +664,24 @@ msgstr "Ссылка на заказ" #: report/templates/report/inventree_po_report.html:92 #: report/templates/report/inventree_so_report.html:92 #: templates/js/translated/bom.js:435 templates/js/translated/build.js:1119 -#: templates/js/translated/order.js:886 templates/js/translated/order.js:1473 +#: templates/js/translated/order.js:885 templates/js/translated/order.js:1472 msgid "Reference" -msgstr "" +msgstr "Отсылка" #: build/models.py:210 msgid "Brief description of the build" -msgstr "" +msgstr "Краткое описание сборки" -#: build/models.py:219 build/templates/build/build_base.html:156 +#: build/models.py:219 build/templates/build/build_base.html:164 #: build/templates/build/detail.html:88 msgid "Parent Build" -msgstr "" +msgstr "Родительская сборка" #: build/models.py:220 msgid "BuildOrder to which this build is allocated" msgstr "" -#: build/models.py:225 build/templates/build/build_base.html:119 +#: build/models.py:225 build/templates/build/build_base.html:77 #: build/templates/build/detail.html:30 company/models.py:705 #: order/models.py:789 order/models.py:860 #: order/templates/order/order_wizard/select_parts.html:32 part/models.py:357 @@ -700,20 +702,20 @@ msgstr "" #: templates/js/translated/build.js:988 templates/js/translated/build.js:1359 #: templates/js/translated/build.js:1626 templates/js/translated/company.js:489 #: templates/js/translated/company.js:746 templates/js/translated/order.js:426 -#: templates/js/translated/order.js:840 templates/js/translated/order.js:1457 -#: templates/js/translated/part.js:737 templates/js/translated/part.js:818 -#: templates/js/translated/part.js:985 templates/js/translated/stock.js:508 -#: templates/js/translated/stock.js:1108 templates/js/translated/stock.js:2159 +#: templates/js/translated/order.js:839 templates/js/translated/order.js:1456 +#: templates/js/translated/part.js:918 templates/js/translated/part.js:999 +#: templates/js/translated/part.js:1166 templates/js/translated/stock.js:590 +#: templates/js/translated/stock.js:1190 templates/js/translated/stock.js:2241 msgid "Part" msgstr "Детали" #: build/models.py:233 msgid "Select part to build" -msgstr "" +msgstr "Выберите часть для сборки" #: build/models.py:238 msgid "Sales Order Reference" -msgstr "" +msgstr "Отсылка на заказ" #: build/models.py:242 msgid "SalesOrder to which this build is allocated" @@ -721,7 +723,7 @@ msgstr "" #: build/models.py:247 templates/js/translated/build.js:1347 msgid "Source Location" -msgstr "" +msgstr "Расположение источника" #: build/models.py:251 msgid "Select location to take stock from for this build (leave blank to take from any stock location)" @@ -729,52 +731,52 @@ msgstr "" #: build/models.py:256 msgid "Destination Location" -msgstr "" +msgstr "Место назначения" #: build/models.py:260 msgid "Select location where the completed items will be stored" -msgstr "" +msgstr "Выберите место хранения завершенных элементов" #: build/models.py:264 msgid "Build Quantity" -msgstr "" +msgstr "Количество сборки" #: build/models.py:267 msgid "Number of stock items to build" -msgstr "" +msgstr "Количество складских предметов для сборки" #: build/models.py:271 msgid "Completed items" -msgstr "" +msgstr "Завершенные предметы" #: build/models.py:273 msgid "Number of stock items which have been completed" -msgstr "" +msgstr "Количество предметов на складе, которые были завершены" -#: build/models.py:277 part/templates/part/part_base.html:216 +#: build/models.py:277 part/templates/part/part_base.html:234 msgid "Build Status" -msgstr "" +msgstr "Статус сборки" #: build/models.py:281 msgid "Build status code" -msgstr "" +msgstr "Код статуса сборки" -#: build/models.py:285 stock/models.py:544 +#: build/models.py:285 stock/models.py:534 msgid "Batch Code" -msgstr "" +msgstr "Штрих код" #: build/models.py:289 msgid "Batch code for this build output" -msgstr "" +msgstr "Штрих код для этого вывода сборки" #: build/models.py:292 order/models.py:165 part/models.py:936 -#: part/templates/part/detail.html:86 templates/js/translated/order.js:1104 +#: part/templates/part/part_base.html:313 templates/js/translated/order.js:1103 msgid "Creation Date" -msgstr "" +msgstr "Дата создания" #: build/models.py:296 order/models.py:578 msgid "Target completion date" -msgstr "" +msgstr "Целевая дата завершения" #: build/models.py:297 msgid "Target date for build completion. Build will be overdue after this date." @@ -783,7 +785,7 @@ msgstr "Целевая дата для сборки. Сборка будет п #: build/models.py:300 order/models.py:291 #: templates/js/translated/build.js:1697 msgid "Completion Date" -msgstr "" +msgstr "Дата завершения" #: build/models.py:306 msgid "completed by" @@ -791,30 +793,30 @@ msgstr "выполнено" #: build/models.py:314 templates/js/translated/build.js:1668 msgid "Issued by" -msgstr "" +msgstr "Выдал/ла" #: build/models.py:315 msgid "User who issued this build order" -msgstr "" +msgstr "Пользователь, выпустивший этот заказ на сборку" -#: build/models.py:323 build/templates/build/build_base.html:177 +#: build/models.py:323 build/templates/build/build_base.html:185 #: build/templates/build/detail.html:116 order/models.py:179 -#: order/templates/order/order_base.html:154 -#: order/templates/order/sales_order_base.html:161 part/models.py:940 +#: order/templates/order/order_base.html:158 +#: order/templates/order/sales_order_base.html:162 part/models.py:940 #: report/templates/report/inventree_build_order_base.html:159 -#: templates/js/translated/build.js:1680 templates/js/translated/order.js:700 +#: templates/js/translated/build.js:1680 templates/js/translated/order.js:699 msgid "Responsible" msgstr "Ответственный" #: build/models.py:324 msgid "User responsible for this build order" -msgstr "" +msgstr "Пользователь ответственный за этот заказ сборки" #: build/models.py:329 build/templates/build/detail.html:102 -#: company/templates/company/manufacturer_part.html:87 -#: company/templates/company/supplier_part.html:88 -#: part/templates/part/detail.html:80 stock/models.py:538 -#: stock/templates/stock/item_base.html:346 +#: company/templates/company/manufacturer_part.html:102 +#: company/templates/company/supplier_part.html:126 +#: part/templates/part/part_base.html:354 stock/models.py:528 +#: stock/templates/stock/item_base.html:374 msgid "External Link" msgstr "Внешняя ссылка" @@ -824,60 +826,60 @@ msgstr "Внешняя ссылка" #: order/models.py:183 order/models.py:738 #: order/templates/order/po_sidebar.html:11 #: order/templates/order/so_sidebar.html:11 part/models.py:925 -#: part/templates/part/detail.html:223 part/templates/part/part_sidebar.html:52 +#: part/templates/part/detail.html:116 part/templates/part/part_sidebar.html:50 #: report/templates/report/inventree_build_order_base.html:173 -#: stock/forms.py:154 stock/forms.py:204 stock/forms.py:238 stock/models.py:610 -#: stock/models.py:1774 stock/models.py:1880 stock/serializers.py:325 -#: stock/serializers.py:583 stock/templates/stock/stock_sidebar.html:21 +#: stock/forms.py:154 stock/forms.py:204 stock/forms.py:238 stock/models.py:600 +#: stock/models.py:1764 stock/models.py:1870 stock/serializers.py:330 +#: stock/serializers.py:588 stock/templates/stock/stock_sidebar.html:21 #: templates/js/translated/barcode.js:58 templates/js/translated/bom.js:599 -#: templates/js/translated/company.js:842 templates/js/translated/order.js:985 -#: templates/js/translated/order.js:1583 templates/js/translated/stock.js:891 -#: templates/js/translated/stock.js:1370 +#: templates/js/translated/company.js:842 templates/js/translated/order.js:984 +#: templates/js/translated/order.js:1582 templates/js/translated/stock.js:973 +#: templates/js/translated/stock.js:1452 msgid "Notes" msgstr "Заметки" #: build/models.py:335 msgid "Extra build notes" -msgstr "" +msgstr "Дополнительные заметки к сборке" #: build/models.py:710 msgid "No build output specified" -msgstr "" +msgstr "Вывод сборки не указан" #: build/models.py:713 msgid "Build output is already completed" -msgstr "" +msgstr "Вывод сборки уже завершен" #: build/models.py:716 msgid "Build output does not match Build Order" -msgstr "" +msgstr "Вывод сборки не совпадает с порядком сборки" #: build/models.py:1108 msgid "Build item must specify a build output, as master part is marked as trackable" -msgstr "" +msgstr "Элемент сборки должен указать вывод сборки, так как основная часть помечена как отслеживаемая" #: build/models.py:1117 #, python-brace-format msgid "Allocated quantity ({q}) must not execed available stock quantity ({a})" -msgstr "" +msgstr "Выделенное количество ({q}) не должно превышать доступное количество на складе ({a})" #: build/models.py:1127 msgid "Stock item is over-allocated" -msgstr "" +msgstr "Предмет на складе перераспределен" #: build/models.py:1133 order/models.py:964 msgid "Allocation quantity must be greater than zero" -msgstr "" +msgstr "Выделенное количество должно быть больше нуля" #: build/models.py:1139 msgid "Quantity must be 1 for serialized stock" -msgstr "" +msgstr "Количество должно быть 1 для сериализованных запасов" #: build/models.py:1193 msgid "Selected stock item not found in BOM" -msgstr "" +msgstr "Выбранный предмет со складом не найден в BOM" -#: build/models.py:1253 stock/templates/stock/item_base.html:318 +#: build/models.py:1253 stock/templates/stock/item_base.html:346 #: templates/InvenTree/search.html:143 templates/js/translated/build.js:1599 #: templates/navbar.html:33 msgid "Build" @@ -890,17 +892,17 @@ msgstr "" #: build/models.py:1270 build/serializers.py:328 #: stock/templates/stock/item_base.html:8 #: stock/templates/stock/item_base.html:16 -#: stock/templates/stock/item_base.html:340 +#: stock/templates/stock/item_base.html:368 #: templates/js/translated/build.js:408 templates/js/translated/build.js:413 #: templates/js/translated/build.js:1361 templates/js/translated/build.js:1742 -#: templates/js/translated/order.js:1178 templates/js/translated/order.js:1183 -#: templates/js/translated/stock.js:2020 +#: templates/js/translated/order.js:1177 templates/js/translated/order.js:1182 +#: templates/js/translated/stock.js:2102 msgid "Stock Item" -msgstr "" +msgstr "Предметы на складе" #: build/models.py:1271 msgid "Source stock item" -msgstr "" +msgstr "Исходный складской предмет" #: build/models.py:1284 msgid "Stock quantity to allocate to build" @@ -934,16 +936,16 @@ msgstr "" msgid "This build output is not fully allocated" msgstr "" -#: build/serializers.py:190 order/serializers.py:219 order/serializers.py:287 -#: stock/forms.py:236 stock/serializers.py:318 stock/serializers.py:685 -#: stock/templates/stock/item_base.html:286 +#: build/serializers.py:190 order/serializers.py:228 order/serializers.py:296 +#: stock/forms.py:236 stock/serializers.py:323 stock/serializers.py:690 +#: stock/templates/stock/item_base.html:314 #: templates/js/translated/barcode.js:384 #: templates/js/translated/barcode.js:557 templates/js/translated/build.js:420 #: templates/js/translated/build.js:1027 templates/js/translated/order.js:348 -#: templates/js/translated/order.js:1190 templates/js/translated/order.js:1298 -#: templates/js/translated/order.js:1304 templates/js/translated/part.js:181 -#: templates/js/translated/stock.js:510 templates/js/translated/stock.js:1251 -#: templates/js/translated/stock.js:1961 +#: templates/js/translated/order.js:1189 templates/js/translated/order.js:1297 +#: templates/js/translated/order.js:1303 templates/js/translated/part.js:177 +#: templates/js/translated/stock.js:592 templates/js/translated/stock.js:1333 +#: templates/js/translated/stock.js:2043 msgid "Location" msgstr "Расположение" @@ -951,13 +953,13 @@ msgstr "Расположение" msgid "Location for completed build outputs" msgstr "" -#: build/serializers.py:197 build/templates/build/build_base.html:129 +#: build/serializers.py:197 build/templates/build/build_base.html:137 #: build/templates/build/detail.html:63 order/models.py:572 -#: order/serializers.py:240 stock/templates/stock/item_base.html:409 +#: order/serializers.py:249 stock/templates/stock/item_base.html:180 #: templates/js/translated/barcode.js:140 templates/js/translated/build.js:1655 -#: templates/js/translated/order.js:431 templates/js/translated/order.js:677 -#: templates/js/translated/order.js:1096 templates/js/translated/stock.js:1226 -#: templates/js/translated/stock.js:2038 templates/js/translated/stock.js:2187 +#: templates/js/translated/order.js:431 templates/js/translated/order.js:1095 +#: templates/js/translated/stock.js:1308 templates/js/translated/stock.js:2120 +#: templates/js/translated/stock.js:2269 msgid "Status" msgstr "Статус" @@ -986,8 +988,8 @@ msgstr "" msgid "Item must be in stock" msgstr "" -#: build/serializers.py:348 order/models.py:316 order/serializers.py:233 -#: stock/models.py:381 stock/models.py:1103 stock/serializers.py:298 +#: build/serializers.py:348 order/models.py:316 order/serializers.py:242 +#: stock/models.py:371 stock/models.py:1093 stock/serializers.py:303 msgid "Quantity must be greater than zero" msgstr "" @@ -1031,7 +1033,7 @@ msgid "Edit Build" msgstr "" #: build/templates/build/build_base.html:56 -#: build/templates/build/build_base.html:207 build/views.py:56 +#: build/templates/build/build_base.html:215 build/views.py:56 msgid "Cancel Build" msgstr "" @@ -1041,93 +1043,95 @@ msgstr "" #: build/templates/build/build_base.html:64 #: build/templates/build/build_base.html:65 -#: build/templates/build/build_base.html:223 +#: build/templates/build/build_base.html:231 msgid "Complete Build" msgstr "Завершить сборку" -#: build/templates/build/build_base.html:79 +#: build/templates/build/build_base.html:82 +msgid "Build Description" +msgstr "" + +#: build/templates/build/build_base.html:91 #, python-format msgid "This Build Order is allocated to Sales Order %(link)s" msgstr "" -#: build/templates/build/build_base.html:86 +#: build/templates/build/build_base.html:98 #, python-format msgid "This Build Order is a child of Build Order %(link)s" msgstr "" -#: build/templates/build/build_base.html:93 +#: build/templates/build/build_base.html:105 msgid "Build Order is ready to mark as completed" msgstr "" -#: build/templates/build/build_base.html:98 +#: build/templates/build/build_base.html:110 msgid "Build Order cannot be completed as outstanding outputs remain" msgstr "" -#: build/templates/build/build_base.html:103 +#: build/templates/build/build_base.html:115 msgid "Required build quantity has not yet been completed" msgstr "" -#: build/templates/build/build_base.html:108 +#: build/templates/build/build_base.html:120 msgid "Stock has not been fully allocated to this Build Order" msgstr "" -#: build/templates/build/build_base.html:138 +#: build/templates/build/build_base.html:146 #: build/templates/build/detail.html:132 -#: order/templates/order/order_base.html:140 -#: order/templates/order/sales_order_base.html:140 +#: order/templates/order/order_base.html:144 +#: order/templates/order/sales_order_base.html:141 #: report/templates/report/inventree_build_order_base.html:126 -#: templates/js/translated/build.js:1692 templates/js/translated/order.js:690 -#: templates/js/translated/order.js:1109 +#: templates/js/translated/build.js:1692 templates/js/translated/order.js:689 +#: templates/js/translated/order.js:1108 msgid "Target Date" msgstr "Целевая дата" -#: build/templates/build/build_base.html:143 +#: build/templates/build/build_base.html:151 #, python-format msgid "This build was due on %(target)s" msgstr "" -#: build/templates/build/build_base.html:143 -#: build/templates/build/build_base.html:188 -#: order/templates/order/order_base.html:81 -#: order/templates/order/order_base.html:102 -#: order/templates/order/sales_order_base.html:78 -#: order/templates/order/sales_order_base.html:107 +#: build/templates/build/build_base.html:151 +#: build/templates/build/build_base.html:196 +#: order/templates/order/order_base.html:98 +#: order/templates/order/sales_order_base.html:93 #: templates/js/translated/table_filters.js:294 #: templates/js/translated/table_filters.js:322 #: templates/js/translated/table_filters.js:339 msgid "Overdue" msgstr "Просрочено" -#: build/templates/build/build_base.html:150 +#: build/templates/build/build_base.html:158 #: build/templates/build/detail.html:68 build/templates/build/detail.html:143 #: templates/js/translated/build.js:1641 #: templates/js/translated/table_filters.js:304 msgid "Completed" msgstr "" -#: build/templates/build/build_base.html:163 +#: build/templates/build/build_base.html:171 #: build/templates/build/detail.html:95 order/models.py:857 #: order/templates/order/sales_order_base.html:9 #: order/templates/order/sales_order_base.html:28 #: order/templates/order/sales_order_ship.html:25 #: report/templates/report/inventree_build_order_base.html:136 #: report/templates/report/inventree_so_report.html:77 -#: stock/templates/stock/item_base.html:280 -#: templates/js/translated/order.js:1051 +#: stock/templates/stock/item_base.html:308 +#: templates/js/translated/order.js:1050 msgid "Sales Order" msgstr "" -#: build/templates/build/build_base.html:170 +#: build/templates/build/build_base.html:178 #: build/templates/build/detail.html:109 #: report/templates/report/inventree_build_order_base.html:153 msgid "Issued By" msgstr "Выдано" -#: build/templates/build/build_base.html:215 +#: build/templates/build/build_base.html:223 msgid "Incomplete Outputs" msgstr "" -#: build/templates/build/build_base.html:216 +#: build/templates/build/build_base.html:224 msgid "Build Order cannot be completed as incomplete build outputs remain" msgstr "" @@ -1188,7 +1192,7 @@ msgid "Stock can be taken from any available location." msgstr "" #: build/templates/build/detail.html:50 order/models.py:811 stock/forms.py:150 -#: templates/js/translated/order.js:432 templates/js/translated/order.js:974 +#: templates/js/translated/order.js:432 templates/js/translated/order.js:973 msgid "Destination" msgstr "" @@ -1201,16 +1205,16 @@ msgid "Allocated Parts" msgstr "" #: build/templates/build/detail.html:81 -#: stock/templates/stock/item_base.html:304 -#: templates/js/translated/stock.js:1240 templates/js/translated/stock.js:2194 +#: stock/templates/stock/item_base.html:332 +#: templates/js/translated/stock.js:1322 templates/js/translated/stock.js:2276 #: templates/js/translated/table_filters.js:151 #: templates/js/translated/table_filters.js:233 msgid "Batch" msgstr "Партия" #: build/templates/build/detail.html:127 -#: order/templates/order/order_base.html:127 -#: order/templates/order/sales_order_base.html:134 +#: order/templates/order/order_base.html:131 +#: order/templates/order/sales_order_base.html:135 #: templates/js/translated/build.js:1663 msgid "Created" msgstr "Создано" @@ -1254,7 +1258,7 @@ msgstr "" #: build/templates/build/detail.html:185 #: company/templates/company/detail.html:38 #: company/templates/company/detail.html:85 order/views.py:509 -#: part/templates/part/category.html:166 +#: part/templates/part/category.html:173 msgid "Order Parts" msgstr "Заказать детали" @@ -1306,8 +1310,8 @@ msgstr "" #: order/templates/order/po_sidebar.html:9 #: order/templates/order/purchase_order_detail.html:60 #: order/templates/order/sales_order_detail.html:52 -#: order/templates/order/so_sidebar.html:9 part/templates/part/detail.html:300 -#: part/templates/part/part_sidebar.html:50 stock/templates/stock/item.html:95 +#: order/templates/order/so_sidebar.html:9 part/templates/part/detail.html:193 +#: part/templates/part/part_sidebar.html:48 stock/templates/stock/item.html:95 #: stock/templates/stock/stock_sidebar.html:19 msgid "Attachments" msgstr "Приложения" @@ -1323,7 +1327,7 @@ msgstr "Заметки сборки" #: order/templates/order/purchase_order_detail.html:108 #: order/templates/order/sales_order_detail.html:72 #: order/templates/order/sales_order_detail.html:99 -#: part/templates/part/detail.html:227 stock/templates/stock/item.html:115 +#: part/templates/part/detail.html:120 stock/templates/stock/item.html:115 #: stock/templates/stock/item.html:205 msgid "Edit Notes" msgstr "" @@ -1336,7 +1340,7 @@ msgstr "" msgid "All untracked stock items have been allocated" msgstr "" -#: build/templates/build/index.html:18 part/templates/part/detail.html:407 +#: build/templates/build/index.html:18 part/templates/part/detail.html:300 msgid "New Build Order" msgstr "" @@ -1380,7 +1384,7 @@ msgstr "" msgid "Maximum output quantity is " msgstr "" -#: build/views.py:122 stock/serializers.py:356 stock/views.py:1290 +#: build/views.py:122 stock/serializers.py:361 stock/views.py:1290 msgid "Serial numbers already exist" msgstr "" @@ -1675,7 +1679,7 @@ msgid "Parts are trackable by default" msgstr "" #: common/models.py:745 part/models.py:920 -#: part/templates/part/part_base.html:144 +#: part/templates/part/part_base.html:147 #: templates/js/translated/table_filters.js:42 msgid "Virtual" msgstr "" @@ -2142,7 +2146,7 @@ msgstr "" #: common/models.py:1233 company/serializers.py:264 #: company/templates/company/supplier_part.html:256 -#: templates/js/translated/part.js:1620 +#: templates/js/translated/part.js:852 templates/js/translated/part.js:1801 msgid "Price" msgstr "" @@ -2206,7 +2210,7 @@ msgstr "" msgid "Description of the company" msgstr "" -#: company/models.py:112 company/templates/company/company_base.html:70 +#: company/models.py:112 company/templates/company/company_base.html:97 #: templates/js/translated/company.js:349 msgid "Website" msgstr "" @@ -2215,7 +2219,7 @@ msgstr "" msgid "Company website URL" msgstr "" -#: company/models.py:117 company/templates/company/company_base.html:88 +#: company/models.py:117 company/templates/company/company_base.html:115 msgid "Address" msgstr "" @@ -2231,7 +2235,7 @@ msgstr "" msgid "Contact phone number" msgstr "" -#: company/models.py:125 company/templates/company/company_base.html:102 +#: company/models.py:125 company/templates/company/company_base.html:129 #: templates/InvenTree/settings/user.html:47 msgid "Email" msgstr "" @@ -2240,7 +2244,7 @@ msgstr "" msgid "Contact email address" msgstr "" -#: company/models.py:128 company/templates/company/company_base.html:109 +#: company/models.py:128 company/templates/company/company_base.html:136 msgid "Contact" msgstr "" @@ -2281,7 +2285,7 @@ msgid "Does this company manufacture parts?" msgstr "" #: company/models.py:152 company/serializers.py:270 -#: company/templates/company/company_base.html:76 stock/serializers.py:172 +#: company/templates/company/company_base.html:103 stock/serializers.py:177 msgid "Currency" msgstr "" @@ -2289,8 +2293,8 @@ msgstr "" msgid "Default currency used for this company" msgstr "" -#: company/models.py:320 company/models.py:535 stock/models.py:484 -#: stock/templates/stock/item_base.html:224 +#: company/models.py:320 company/models.py:535 stock/models.py:474 +#: stock/templates/stock/item_base.html:135 msgid "Base Part" msgstr "" @@ -2298,29 +2302,29 @@ msgstr "" msgid "Select part" msgstr "" -#: company/models.py:335 company/templates/company/company_base.html:116 -#: company/templates/company/manufacturer_part.html:93 -#: company/templates/company/supplier_part.html:104 -#: stock/templates/stock/item_base.html:353 +#: company/models.py:335 company/templates/company/company_base.html:73 +#: company/templates/company/manufacturer_part.html:91 +#: company/templates/company/supplier_part.html:97 +#: stock/templates/stock/item_base.html:381 #: templates/js/translated/company.js:333 #: templates/js/translated/company.js:514 -#: templates/js/translated/company.js:797 templates/js/translated/part.js:229 +#: templates/js/translated/company.js:797 templates/js/translated/part.js:232 msgid "Manufacturer" msgstr "" -#: company/models.py:336 templates/js/translated/part.js:230 +#: company/models.py:336 templates/js/translated/part.js:233 msgid "Select manufacturer" msgstr "" -#: company/models.py:342 company/templates/company/manufacturer_part.html:97 -#: company/templates/company/supplier_part.html:112 +#: company/models.py:342 company/templates/company/manufacturer_part.html:96 +#: company/templates/company/supplier_part.html:105 #: templates/js/translated/company.js:530 -#: templates/js/translated/company.js:815 templates/js/translated/order.js:874 -#: templates/js/translated/part.js:240 +#: templates/js/translated/company.js:815 templates/js/translated/order.js:873 +#: templates/js/translated/part.js:243 templates/js/translated/part.js:832 msgid "MPN" msgstr "" -#: company/models.py:343 templates/js/translated/part.js:241 +#: company/models.py:343 templates/js/translated/part.js:244 msgid "Manufacturer Part Number" msgstr "" @@ -2335,7 +2339,7 @@ msgstr "" #: company/models.py:409 company/models.py:558 #: company/templates/company/manufacturer_part.html:6 #: company/templates/company/manufacturer_part.html:23 -#: stock/templates/stock/item_base.html:363 +#: stock/templates/stock/item_base.html:391 msgid "Manufacturer Part" msgstr "" @@ -2345,8 +2349,8 @@ msgstr "" #: company/models.py:422 #: report/templates/report/inventree_test_report_base.html:95 -#: stock/models.py:1867 templates/js/translated/company.js:644 -#: templates/js/translated/part.js:645 templates/js/translated/stock.js:878 +#: stock/models.py:1857 templates/js/translated/company.js:644 +#: templates/js/translated/part.js:652 templates/js/translated/stock.js:960 msgid "Value" msgstr "" @@ -2355,9 +2359,9 @@ msgid "Parameter value" msgstr "" #: company/models.py:429 part/models.py:882 part/models.py:2397 -#: part/templates/part/detail.html:59 +#: part/templates/part/part_base.html:288 #: templates/InvenTree/settings/settings.html:264 -#: templates/js/translated/company.js:650 templates/js/translated/part.js:651 +#: templates/js/translated/company.js:650 templates/js/translated/part.js:658 msgid "Units" msgstr "" @@ -2369,28 +2373,28 @@ msgstr "" msgid "Linked manufacturer part must reference the same base part" msgstr "" -#: company/models.py:545 company/templates/company/company_base.html:121 -#: company/templates/company/supplier_part.html:94 order/models.py:263 -#: order/templates/order/order_base.html:108 +#: company/models.py:545 company/templates/company/company_base.html:78 +#: company/templates/company/supplier_part.html:87 order/models.py:263 +#: order/templates/order/order_base.html:112 #: order/templates/order/order_wizard/select_pos.html:30 part/bom.py:219 -#: part/bom.py:247 stock/templates/stock/item_base.html:370 +#: part/bom.py:247 stock/templates/stock/item_base.html:398 #: templates/js/translated/company.js:337 -#: templates/js/translated/company.js:771 templates/js/translated/order.js:660 -#: templates/js/translated/part.js:210 +#: templates/js/translated/company.js:771 templates/js/translated/order.js:667 +#: templates/js/translated/part.js:213 templates/js/translated/part.js:800 msgid "Supplier" msgstr "" -#: company/models.py:546 templates/js/translated/part.js:211 +#: company/models.py:546 templates/js/translated/part.js:214 msgid "Select supplier" msgstr "" -#: company/models.py:551 company/templates/company/supplier_part.html:98 -#: part/bom.py:220 part/bom.py:248 templates/js/translated/order.js:861 -#: templates/js/translated/part.js:221 +#: company/models.py:551 company/templates/company/supplier_part.html:91 +#: part/bom.py:220 part/bom.py:248 templates/js/translated/order.js:860 +#: templates/js/translated/part.js:224 templates/js/translated/part.js:818 msgid "SKU" msgstr "" -#: company/models.py:552 templates/js/translated/part.js:222 +#: company/models.py:552 templates/js/translated/part.js:225 msgid "Supplier stock keeping unit" msgstr "" @@ -2406,7 +2410,7 @@ msgstr "" msgid "Supplier part description" msgstr "" -#: company/models.py:576 company/templates/company/supplier_part.html:126 +#: company/models.py:576 company/templates/company/supplier_part.html:119 #: part/models.py:2588 report/templates/report/inventree_po_report.html:93 #: report/templates/report/inventree_so_report.html:93 msgid "Note" @@ -2420,9 +2424,9 @@ msgstr "" msgid "Minimum charge (e.g. stocking fee)" msgstr "" -#: company/models.py:582 company/templates/company/supplier_part.html:119 -#: stock/models.py:507 stock/templates/stock/item_base.html:311 -#: templates/js/translated/company.js:847 templates/js/translated/stock.js:1366 +#: company/models.py:582 company/templates/company/supplier_part.html:112 +#: stock/models.py:497 stock/templates/stock/item_base.html:339 +#: templates/js/translated/company.js:847 templates/js/translated/stock.js:1448 msgid "Packaging" msgstr "" @@ -2457,43 +2461,56 @@ msgstr "" msgid "Create Purchase Order" msgstr "" -#: company/templates/company/company_base.html:27 +#: company/templates/company/company_base.html:26 +msgid "Company actions" +msgstr "" + +#: company/templates/company/company_base.html:31 msgid "Edit company information" msgstr "" #: company/templates/company/company_base.html:32 -#: company/templates/company/company_base.html:148 +#: templates/js/translated/company.js:265 +msgid "Edit Company" +msgstr "" + +#: company/templates/company/company_base.html:36 +msgid "Delete company" +msgstr "" + +#: company/templates/company/company_base.html:37 +#: company/templates/company/company_base.html:159 msgid "Delete Company" msgstr "" -#: company/templates/company/company_base.html:48 +#: company/templates/company/company_base.html:53 #: part/templates/part/part_thumb.html:12 msgid "Upload new image" msgstr "" -#: company/templates/company/company_base.html:51 +#: company/templates/company/company_base.html:56 #: part/templates/part/part_thumb.html:14 msgid "Download image from URL" msgstr "" -#: company/templates/company/company_base.html:81 -msgid "Uses default currency" -msgstr "" - -#: company/templates/company/company_base.html:95 -msgid "Phone" -msgstr "" - -#: company/templates/company/company_base.html:126 order/models.py:567 -#: order/templates/order/sales_order_base.html:114 stock/models.py:525 -#: stock/models.py:526 stock/templates/stock/item_base.html:263 -#: templates/js/translated/company.js:329 templates/js/translated/order.js:1073 -#: templates/js/translated/stock.js:2002 +#: company/templates/company/company_base.html:83 order/models.py:567 +#: order/templates/order/sales_order_base.html:115 stock/models.py:515 +#: stock/models.py:516 stock/templates/stock/item_base.html:291 +#: templates/js/translated/company.js:329 templates/js/translated/order.js:1072 +#: templates/js/translated/stock.js:2084 msgid "Customer" msgstr "" -#: company/templates/company/company_base.html:194 -#: part/templates/part/part_base.html:342 +#: company/templates/company/company_base.html:108 +msgid "Uses default currency" +msgstr "" + +#: company/templates/company/company_base.html:122 +msgid "Phone" +msgstr "" + +#: company/templates/company/company_base.html:205 +#: part/templates/part/part_base.html:471 msgid "Upload Image" msgstr "" @@ -2509,23 +2526,23 @@ msgid "Create new supplier part" msgstr "" #: company/templates/company/detail.html:20 -#: company/templates/company/manufacturer_part.html:112 -#: part/templates/part/detail.html:440 +#: company/templates/company/manufacturer_part.html:118 +#: part/templates/part/detail.html:333 msgid "New Supplier Part" msgstr "" #: company/templates/company/detail.html:32 #: company/templates/company/detail.html:79 -#: company/templates/company/manufacturer_part.html:121 -#: company/templates/company/manufacturer_part.html:150 -#: part/templates/part/category.html:160 part/templates/part/detail.html:449 -#: part/templates/part/detail.html:477 +#: company/templates/company/manufacturer_part.html:127 +#: company/templates/company/manufacturer_part.html:156 +#: part/templates/part/category.html:167 part/templates/part/detail.html:342 +#: part/templates/part/detail.html:370 msgid "Options" msgstr "" #: company/templates/company/detail.html:37 #: company/templates/company/detail.html:84 -#: part/templates/part/category.html:166 +#: part/templates/part/category.html:173 msgid "Order parts" msgstr "" @@ -2547,7 +2564,7 @@ msgstr "" msgid "Create new manufacturer part" msgstr "" -#: company/templates/company/detail.html:67 part/templates/part/detail.html:467 +#: company/templates/company/detail.html:67 part/templates/part/detail.html:360 msgid "New Manufacturer Part" msgstr "" @@ -2561,7 +2578,7 @@ msgstr "" #: order/templates/order/order_base.html:13 #: order/templates/order/purchase_orders.html:8 #: order/templates/order/purchase_orders.html:12 -#: part/templates/part/detail.html:171 part/templates/part/part_sidebar.html:35 +#: part/templates/part/detail.html:64 part/templates/part/part_sidebar.html:33 #: templates/InvenTree/index.html:252 templates/InvenTree/search.html:203 #: templates/InvenTree/settings/sidebar.html:44 templates/navbar.html:45 #: users/models.py:45 @@ -2583,7 +2600,7 @@ msgstr "" #: order/templates/order/sales_order_base.html:13 #: order/templates/order/sales_orders.html:8 #: order/templates/order/sales_orders.html:15 -#: part/templates/part/detail.html:194 part/templates/part/part_sidebar.html:39 +#: part/templates/part/detail.html:87 part/templates/part/part_sidebar.html:37 #: templates/InvenTree/index.html:283 templates/InvenTree/search.html:223 #: templates/InvenTree/settings/sidebar.html:46 templates/navbar.html:56 #: users/models.py:46 @@ -2610,14 +2627,14 @@ msgid "Company Notes" msgstr "" #: company/templates/company/detail.html:383 -#: company/templates/company/manufacturer_part.html:209 -#: part/templates/part/detail.html:520 +#: company/templates/company/manufacturer_part.html:215 +#: part/templates/part/detail.html:413 msgid "Delete Supplier Parts?" msgstr "" #: company/templates/company/detail.html:384 -#: company/templates/company/manufacturer_part.html:210 -#: part/templates/part/detail.html:521 +#: company/templates/company/manufacturer_part.html:216 +#: part/templates/part/detail.html:414 msgid "All selected supplier parts will be deleted" msgstr "" @@ -2634,7 +2651,7 @@ msgstr "" #: company/templates/company/manufacturer_part.html:35 #: company/templates/company/supplier_part.html:34 #: company/templates/company/supplier_part.html:159 -#: part/templates/part/detail.html:174 part/templates/part/part_base.html:76 +#: part/templates/part/detail.html:67 part/templates/part/part_base.html:76 msgid "Order part" msgstr "" @@ -2648,60 +2665,60 @@ msgstr "" msgid "Delete manufacturer part" msgstr "" -#: company/templates/company/manufacturer_part.html:70 -#: company/templates/company/supplier_part.html:71 +#: company/templates/company/manufacturer_part.html:66 +#: company/templates/company/supplier_part.html:63 msgid "Internal Part" msgstr "" -#: company/templates/company/manufacturer_part.html:108 +#: company/templates/company/manufacturer_part.html:114 #: company/templates/company/supplier_part.html:15 company/views.py:49 -#: part/templates/part/part_sidebar.html:33 part/templates/part/prices.html:163 +#: part/templates/part/part_sidebar.html:31 part/templates/part/prices.html:163 #: templates/InvenTree/search.html:194 templates/navbar.html:43 msgid "Suppliers" msgstr "" -#: company/templates/company/manufacturer_part.html:123 -#: part/templates/part/detail.html:451 +#: company/templates/company/manufacturer_part.html:129 +#: part/templates/part/detail.html:344 msgid "Delete supplier parts" msgstr "" -#: company/templates/company/manufacturer_part.html:123 -#: company/templates/company/manufacturer_part.html:152 -#: company/templates/company/manufacturer_part.html:248 -#: part/templates/part/detail.html:451 part/templates/part/detail.html:479 +#: company/templates/company/manufacturer_part.html:129 +#: company/templates/company/manufacturer_part.html:158 +#: company/templates/company/manufacturer_part.html:254 +#: part/templates/part/detail.html:344 part/templates/part/detail.html:372 #: templates/js/translated/company.js:425 templates/js/translated/helpers.js:31 #: users/models.py:204 msgid "Delete" msgstr "" -#: company/templates/company/manufacturer_part.html:137 +#: company/templates/company/manufacturer_part.html:143 #: company/templates/company/manufacturer_part_sidebar.html:5 #: part/templates/part/category_sidebar.html:17 -#: part/templates/part/detail.html:277 part/templates/part/part_sidebar.html:10 +#: part/templates/part/detail.html:170 part/templates/part/part_sidebar.html:8 msgid "Parameters" msgstr "" -#: company/templates/company/manufacturer_part.html:141 -#: part/templates/part/detail.html:282 +#: company/templates/company/manufacturer_part.html:147 +#: part/templates/part/detail.html:175 #: templates/InvenTree/settings/category.html:12 #: templates/InvenTree/settings/part.html:65 msgid "New Parameter" msgstr "" -#: company/templates/company/manufacturer_part.html:152 +#: company/templates/company/manufacturer_part.html:158 msgid "Delete parameters" msgstr "" -#: company/templates/company/manufacturer_part.html:185 -#: part/templates/part/detail.html:976 +#: company/templates/company/manufacturer_part.html:191 +#: part/templates/part/detail.html:867 msgid "Add Parameter" msgstr "" -#: company/templates/company/manufacturer_part.html:233 +#: company/templates/company/manufacturer_part.html:239 msgid "Selected parameters will be deleted" msgstr "" -#: company/templates/company/manufacturer_part.html:245 +#: company/templates/company/manufacturer_part.html:251 msgid "Delete Parameters" msgstr "" @@ -2722,9 +2739,9 @@ msgid "Assigned Stock Items" msgstr "" #: company/templates/company/supplier_part.html:7 -#: company/templates/company/supplier_part.html:24 stock/models.py:492 -#: stock/templates/stock/item_base.html:375 -#: templates/js/translated/company.js:787 templates/js/translated/stock.js:1323 +#: company/templates/company/supplier_part.html:24 stock/models.py:482 +#: stock/templates/stock/item_base.html:403 +#: templates/js/translated/company.js:787 templates/js/translated/stock.js:1405 msgid "Supplier Part" msgstr "" @@ -2744,13 +2761,13 @@ msgid "Supplier Part Stock" msgstr "" #: company/templates/company/supplier_part.html:141 -#: part/templates/part/detail.html:127 stock/templates/stock/location.html:147 +#: part/templates/part/detail.html:20 stock/templates/stock/location.html:162 msgid "Create new stock item" msgstr "" #: company/templates/company/supplier_part.html:142 -#: part/templates/part/detail.html:128 stock/templates/stock/location.html:148 -#: templates/js/translated/stock.js:354 +#: part/templates/part/detail.html:21 stock/templates/stock/location.html:163 +#: templates/js/translated/stock.js:355 msgid "New Stock Item" msgstr "" @@ -2760,7 +2777,7 @@ msgid "Supplier Part Orders" msgstr "" #: company/templates/company/supplier_part.html:160 -#: part/templates/part/detail.html:175 +#: part/templates/part/detail.html:68 msgid "Order Part" msgstr "" @@ -2796,15 +2813,15 @@ msgid "Delete price break" msgstr "" #: company/templates/company/supplier_part_navbar.html:15 -#: part/templates/part/part_sidebar.html:16 +#: part/templates/part/part_sidebar.html:14 #: stock/templates/stock/loc_link.html:3 stock/templates/stock/location.html:14 #: stock/templates/stock/stock_app_base.html:10 #: templates/InvenTree/search.html:156 #: templates/InvenTree/settings/sidebar.html:40 -#: templates/js/translated/bom.js:216 templates/js/translated/part.js:427 -#: templates/js/translated/part.js:562 templates/js/translated/part.js:878 -#: templates/js/translated/part.js:1039 templates/js/translated/stock.js:509 -#: templates/js/translated/stock.js:1162 templates/navbar.html:26 +#: templates/js/translated/bom.js:216 templates/js/translated/part.js:434 +#: templates/js/translated/part.js:569 templates/js/translated/part.js:1059 +#: templates/js/translated/part.js:1220 templates/js/translated/stock.js:591 +#: templates/js/translated/stock.js:1244 templates/navbar.html:26 msgid "Stock" msgstr "" @@ -2818,16 +2835,16 @@ msgid "Supplier Part Pricing" msgstr "" #: company/templates/company/supplier_part_navbar.html:29 -#: part/templates/part/part_sidebar.html:30 +#: part/templates/part/part_sidebar.html:28 msgid "Pricing" msgstr "" #: company/templates/company/supplier_part_sidebar.html:5 -#: stock/templates/stock/location.html:118 -#: stock/templates/stock/location.html:132 -#: stock/templates/stock/location.html:144 +#: stock/templates/stock/location.html:133 +#: stock/templates/stock/location.html:147 +#: stock/templates/stock/location.html:159 #: stock/templates/stock/location_sidebar.html:7 -#: templates/InvenTree/search.html:158 templates/js/translated/stock.js:1901 +#: templates/InvenTree/search.html:158 templates/js/translated/stock.js:1983 #: templates/stats.html:93 templates/stats.html:102 users/models.py:43 msgid "Stock Items" msgstr "" @@ -2947,7 +2964,7 @@ msgstr "" msgid "Place order" msgstr "" -#: order/forms.py:37 order/templates/order/order_base.html:59 +#: order/forms.py:37 order/templates/order/order_base.html:60 msgid "Mark order as complete" msgstr "" @@ -3000,8 +3017,8 @@ msgstr "" msgid "Company from which the items are being ordered" msgstr "" -#: order/models.py:267 order/templates/order/order_base.html:114 -#: templates/js/translated/order.js:669 +#: order/models.py:267 order/templates/order/order_base.html:118 +#: templates/js/translated/order.js:676 msgid "Supplier Reference" msgstr "" @@ -3061,7 +3078,7 @@ msgstr "" msgid "Target date for order completion. Order will be overdue after this date." msgstr "" -#: order/models.py:582 templates/js/translated/order.js:1114 +#: order/models.py:582 templates/js/translated/order.js:1113 msgid "Shipment Date" msgstr "" @@ -3086,16 +3103,16 @@ msgid "Line item notes" msgstr "" #: order/models.py:768 order/models.py:856 -#: templates/js/translated/order.js:1166 +#: templates/js/translated/order.js:1165 msgid "Order" msgstr "" #: order/models.py:769 order/templates/order/order_base.html:9 #: order/templates/order/order_base.html:18 #: report/templates/report/inventree_po_report.html:77 -#: stock/templates/stock/item_base.html:325 -#: templates/js/translated/order.js:638 templates/js/translated/stock.js:1300 -#: templates/js/translated/stock.js:1983 +#: stock/templates/stock/item_base.html:353 +#: templates/js/translated/order.js:638 templates/js/translated/part.js:775 +#: templates/js/translated/stock.js:1382 templates/js/translated/stock.js:2065 msgid "Purchase Order" msgstr "" @@ -3103,9 +3120,10 @@ msgstr "" msgid "Supplier part" msgstr "" -#: order/models.py:797 order/templates/order/order_base.html:147 -#: order/templates/order/sales_order_base.html:154 -#: templates/js/translated/order.js:429 templates/js/translated/order.js:954 +#: order/models.py:797 order/templates/order/order_base.html:151 +#: order/templates/order/sales_order_base.html:155 +#: templates/js/translated/order.js:429 templates/js/translated/order.js:953 +#: templates/js/translated/part.js:847 templates/js/translated/part.js:873 msgid "Received" msgstr "" @@ -3113,9 +3131,9 @@ msgstr "" msgid "Number of items received" msgstr "" -#: order/models.py:805 part/templates/part/prices.html:176 stock/models.py:619 -#: stock/serializers.py:163 stock/templates/stock/item_base.html:332 -#: templates/js/translated/stock.js:1354 +#: order/models.py:805 part/templates/part/prices.html:176 stock/models.py:609 +#: stock/serializers.py:168 stock/templates/stock/item_base.html:360 +#: templates/js/translated/stock.js:1436 msgid "Purchase Price" msgstr "" @@ -3176,47 +3194,47 @@ msgstr "" msgid "Enter stock allocation quantity" msgstr "" -#: order/serializers.py:169 +#: order/serializers.py:175 msgid "Purchase price currency" msgstr "" -#: order/serializers.py:204 +#: order/serializers.py:213 msgid "Line Item" msgstr "" -#: order/serializers.py:210 +#: order/serializers.py:219 msgid "Line item does not match purchase order" msgstr "" -#: order/serializers.py:220 order/serializers.py:288 +#: order/serializers.py:229 order/serializers.py:297 msgid "Select destination location for received items" msgstr "" -#: order/serializers.py:244 +#: order/serializers.py:253 msgid "Barcode Hash" msgstr "" -#: order/serializers.py:245 +#: order/serializers.py:254 msgid "Unique identifier field" msgstr "" -#: order/serializers.py:262 +#: order/serializers.py:271 msgid "Barcode is already in use" msgstr "" -#: order/serializers.py:300 +#: order/serializers.py:309 msgid "Line items must be provided" msgstr "" -#: order/serializers.py:317 +#: order/serializers.py:326 msgid "Destination location must be specified" msgstr "" -#: order/serializers.py:328 +#: order/serializers.py:337 msgid "Supplied barcode values must be unique" msgstr "" -#: order/serializers.py:569 +#: order/serializers.py:578 msgid "Sale price currency" msgstr "" @@ -3248,22 +3266,36 @@ msgstr "" msgid "Receive items" msgstr "" -#: order/templates/order/order_base.html:93 -#: order/templates/order/sales_order_base.html:98 +#: order/templates/order/order_base.html:58 +#: order/templates/order/purchase_order_detail.html:31 +msgid "Receive Items" +msgstr "" + +#: order/templates/order/order_base.html:62 order/views.py:185 +msgid "Complete Order" +msgstr "" + +#: order/templates/order/order_base.html:84 +#: order/templates/order/sales_order_base.html:79 msgid "Order Reference" msgstr "" -#: order/templates/order/order_base.html:98 -#: order/templates/order/sales_order_base.html:103 +#: order/templates/order/order_base.html:89 +#: order/templates/order/sales_order_base.html:84 +msgid "Order Description" +msgstr "" + +#: order/templates/order/order_base.html:94 +#: order/templates/order/sales_order_base.html:89 msgid "Order Status" msgstr "" -#: order/templates/order/order_base.html:133 +#: order/templates/order/order_base.html:137 #: report/templates/report/inventree_build_order_base.html:122 msgid "Issued" msgstr "" -#: order/templates/order/order_base.html:203 +#: order/templates/order/order_base.html:207 msgid "Edit Purchase Order" msgstr "" @@ -3421,7 +3453,7 @@ msgid "Select existing purchase orders, or create new orders." msgstr "" #: order/templates/order/order_wizard/select_pos.html:31 -#: templates/js/translated/order.js:695 templates/js/translated/order.js:1119 +#: templates/js/translated/order.js:694 templates/js/translated/order.js:1118 msgid "Items" msgstr "" @@ -3465,10 +3497,6 @@ msgstr "" msgid "Receive selected items" msgstr "" -#: order/templates/order/purchase_order_detail.html:31 -msgid "Receive Items" -msgstr "" - #: order/templates/order/purchase_order_detail.html:50 msgid "Received Items" msgstr "" @@ -3496,16 +3524,16 @@ msgstr "" msgid "Ship Order" msgstr "" -#: order/templates/order/sales_order_base.html:86 +#: order/templates/order/sales_order_base.html:102 msgid "This Sales Order has not been fully allocated" msgstr "" -#: order/templates/order/sales_order_base.html:121 -#: templates/js/translated/order.js:1086 +#: order/templates/order/sales_order_base.html:122 +#: templates/js/translated/order.js:1085 msgid "Customer Reference" msgstr "" -#: order/templates/order/sales_order_base.html:194 +#: order/templates/order/sales_order_base.html:195 msgid "Edit Sales Order" msgstr "" @@ -3576,10 +3604,6 @@ msgstr "" msgid "Purchase order issued" msgstr "" -#: order/views.py:185 -msgid "Complete Order" -msgstr "" - #: order/views.py:201 msgid "Confirm order completion" msgstr "" @@ -3672,11 +3696,11 @@ msgid "This field is required" msgstr "" #: part/bom.py:125 part/models.py:81 part/models.py:816 -#: part/templates/part/category.html:90 part/templates/part/detail.html:104 +#: part/templates/part/category.html:104 part/templates/part/part_base.html:338 msgid "Default Location" msgstr "" -#: part/bom.py:126 part/templates/part/part_base.html:167 +#: part/bom.py:126 part/templates/part/part_base.html:185 msgid "Available Stock" msgstr "" @@ -3793,19 +3817,19 @@ msgstr "" msgid "Part Category" msgstr "" -#: part/models.py:96 part/templates/part/category.html:117 +#: part/models.py:96 part/templates/part/category.html:124 #: templates/InvenTree/search.html:101 templates/stats.html:84 #: users/models.py:40 msgid "Part Categories" msgstr "" #: part/models.py:358 part/templates/part/cat_link.html:3 -#: part/templates/part/category.html:13 part/templates/part/category.html:122 -#: part/templates/part/category.html:142 +#: part/templates/part/category.html:13 part/templates/part/category.html:129 +#: part/templates/part/category.html:149 #: part/templates/part/category_sidebar.html:9 #: templates/InvenTree/index.html:85 templates/InvenTree/search.html:88 #: templates/InvenTree/settings/sidebar.html:36 -#: templates/js/translated/part.js:1416 templates/navbar.html:19 +#: templates/js/translated/part.js:1597 templates/navbar.html:19 #: templates/stats.html:80 templates/stats.html:89 users/models.py:41 msgid "Parts" msgstr "" @@ -3859,8 +3883,8 @@ msgstr "" msgid "Part description" msgstr "" -#: part/models.py:770 part/templates/part/category.html:97 -#: part/templates/part/detail.html:73 +#: part/models.py:770 part/templates/part/category.html:82 +#: part/templates/part/part_base.html:302 msgid "Keywords" msgstr "" @@ -3869,9 +3893,10 @@ msgid "Part keywords to improve visibility in search results" msgstr "" #: part/models.py:778 part/models.py:2223 part/models.py:2472 -#: part/templates/part/detail.html:36 part/templates/part/set_category.html:15 +#: part/templates/part/part_base.html:265 +#: part/templates/part/set_category.html:15 #: templates/InvenTree/settings/settings.html:163 -#: templates/js/translated/part.js:1021 +#: templates/js/translated/part.js:1202 msgid "Category" msgstr "" @@ -3879,9 +3904,9 @@ msgstr "" msgid "Part category" msgstr "" -#: part/models.py:784 part/templates/part/detail.html:45 -#: templates/js/translated/part.js:550 templates/js/translated/part.js:974 -#: templates/js/translated/stock.js:1134 +#: part/models.py:784 part/templates/part/part_base.html:274 +#: templates/js/translated/part.js:557 templates/js/translated/part.js:1155 +#: templates/js/translated/stock.js:1216 msgid "IPN" msgstr "" @@ -3893,8 +3918,8 @@ msgstr "" msgid "Part revision or version number" msgstr "" -#: part/models.py:792 part/templates/part/detail.html:52 report/models.py:200 -#: templates/js/translated/part.js:554 +#: part/models.py:792 part/templates/part/part_base.html:281 +#: report/models.py:200 templates/js/translated/part.js:561 msgid "Revision" msgstr "" @@ -3902,7 +3927,7 @@ msgstr "" msgid "Where is this item normally stored?" msgstr "" -#: part/models.py:861 part/templates/part/detail.html:113 +#: part/models.py:861 part/templates/part/part_base.html:347 msgid "Default Supplier" msgstr "" @@ -3918,7 +3943,7 @@ msgstr "" msgid "Expiry time (in days) for stock items of this part" msgstr "" -#: part/models.py:875 part/templates/part/part_base.html:178 +#: part/models.py:875 part/templates/part/part_base.html:196 msgid "Minimum Stock" msgstr "" @@ -4001,8 +4026,8 @@ msgstr "" msgid "Test with this name already exists for this part" msgstr "" -#: part/models.py:2310 templates/js/translated/part.js:1467 -#: templates/js/translated/stock.js:858 +#: part/models.py:2310 templates/js/translated/part.js:1648 +#: templates/js/translated/stock.js:940 msgid "Test Name" msgstr "" @@ -4018,7 +4043,7 @@ msgstr "" msgid "Enter description for this test" msgstr "" -#: part/models.py:2322 templates/js/translated/part.js:1476 +#: part/models.py:2322 templates/js/translated/part.js:1657 #: templates/js/translated/table_filters.js:276 msgid "Required" msgstr "" @@ -4027,7 +4052,7 @@ msgstr "" msgid "Is this test required to pass?" msgstr "" -#: part/models.py:2328 templates/js/translated/part.js:1484 +#: part/models.py:2328 templates/js/translated/part.js:1665 msgid "Requires Value" msgstr "" @@ -4035,7 +4060,7 @@ msgstr "" msgid "Does this test require a value when adding a test result?" msgstr "" -#: part/models.py:2334 templates/js/translated/part.js:1491 +#: part/models.py:2334 templates/js/translated/part.js:1672 msgid "Requires Attachment" msgstr "" @@ -4150,7 +4175,7 @@ msgstr "" msgid "Stock items for variant parts can be used for this BOM item" msgstr "" -#: part/models.py:2686 stock/models.py:371 +#: part/models.py:2686 stock/models.py:361 msgid "Quantity must be integer value for trackable parts" msgstr "" @@ -4213,7 +4238,7 @@ msgstr "" msgid "The BOM for %(part)s has not been validated." msgstr "" -#: part/templates/part/bom.html:30 part/templates/part/detail.html:357 +#: part/templates/part/bom.html:30 part/templates/part/detail.html:250 msgid "BOM actions" msgstr "" @@ -4298,68 +4323,64 @@ msgstr "" msgid "New Category" msgstr "" -#: part/templates/part/category.html:67 -msgid "Top level part category" -msgstr "" - -#: part/templates/part/category.html:79 +#: part/templates/part/category.html:76 part/templates/part/category.html:89 msgid "Category Path" msgstr "" -#: part/templates/part/category.html:84 -msgid "Category Description" +#: part/templates/part/category.html:90 +msgid "Top level part category" msgstr "" -#: part/templates/part/category.html:103 part/templates/part/category.html:194 +#: part/templates/part/category.html:110 part/templates/part/category.html:201 #: part/templates/part/category_sidebar.html:7 msgid "Subcategories" msgstr "" -#: part/templates/part/category.html:108 +#: part/templates/part/category.html:115 msgid "Parts (Including subcategories)" msgstr "" -#: part/templates/part/category.html:145 +#: part/templates/part/category.html:152 msgid "Export Part Data" msgstr "" -#: part/templates/part/category.html:146 part/templates/part/category.html:170 +#: part/templates/part/category.html:153 part/templates/part/category.html:177 msgid "Export" msgstr "" -#: part/templates/part/category.html:149 +#: part/templates/part/category.html:156 msgid "Create new part" msgstr "" -#: part/templates/part/category.html:150 templates/js/translated/bom.js:40 +#: part/templates/part/category.html:157 templates/js/translated/bom.js:40 msgid "New Part" msgstr "" -#: part/templates/part/category.html:164 +#: part/templates/part/category.html:171 msgid "Set category" msgstr "" -#: part/templates/part/category.html:164 +#: part/templates/part/category.html:171 msgid "Set Category" msgstr "" -#: part/templates/part/category.html:168 +#: part/templates/part/category.html:175 msgid "Print Labels" msgstr "" -#: part/templates/part/category.html:170 +#: part/templates/part/category.html:177 msgid "Export Data" msgstr "" -#: part/templates/part/category.html:184 +#: part/templates/part/category.html:191 msgid "Part Parameters" msgstr "" -#: part/templates/part/category.html:261 +#: part/templates/part/category.html:268 msgid "Create Part Category" msgstr "" -#: part/templates/part/category.html:288 +#: part/templates/part/category.html:295 msgid "Create Part" msgstr "" @@ -4402,7 +4423,7 @@ msgstr "" msgid "Import Parts" msgstr "" -#: part/templates/part/copy_part.html:9 templates/js/translated/part.js:366 +#: part/templates/part/copy_part.html:9 templates/js/translated/part.js:373 msgid "Duplicate Part" msgstr "" @@ -4426,167 +4447,155 @@ msgstr "" msgid "%(full_name)s - %(desc)s (%(match_per)s%% match)" msgstr "" -#: part/templates/part/detail.html:16 -msgid "Part Details" -msgstr "" - -#: part/templates/part/detail.html:66 -msgid "Minimum stock level" -msgstr "" - -#: part/templates/part/detail.html:97 -msgid "Latest Serial Number" -msgstr "" - -#: part/templates/part/detail.html:124 +#: part/templates/part/detail.html:17 msgid "Part Stock" msgstr "" -#: part/templates/part/detail.html:136 +#: part/templates/part/detail.html:29 #, python-format msgid "Showing stock for all variants of %(full_name)s" msgstr "" -#: part/templates/part/detail.html:146 +#: part/templates/part/detail.html:39 msgid "Part Test Templates" msgstr "" -#: part/templates/part/detail.html:151 +#: part/templates/part/detail.html:44 msgid "Add Test Template" msgstr "" -#: part/templates/part/detail.html:208 +#: part/templates/part/detail.html:101 msgid "Sales Order Allocations" msgstr "" -#: part/templates/part/detail.html:249 +#: part/templates/part/detail.html:142 msgid "Part Variants" msgstr "" -#: part/templates/part/detail.html:253 +#: part/templates/part/detail.html:146 msgid "Create new variant" msgstr "" -#: part/templates/part/detail.html:254 +#: part/templates/part/detail.html:147 msgid "New Variant" msgstr "" -#: part/templates/part/detail.html:281 +#: part/templates/part/detail.html:174 msgid "Add new parameter" msgstr "" -#: part/templates/part/detail.html:315 part/templates/part/part_sidebar.html:47 +#: part/templates/part/detail.html:208 part/templates/part/part_sidebar.html:45 msgid "Related Parts" msgstr "" -#: part/templates/part/detail.html:319 part/templates/part/detail.html:320 +#: part/templates/part/detail.html:212 part/templates/part/detail.html:213 msgid "Add Related" msgstr "" -#: part/templates/part/detail.html:340 part/templates/part/part_sidebar.html:19 +#: part/templates/part/detail.html:233 part/templates/part/part_sidebar.html:17 msgid "Bill of Materials" msgstr "" -#: part/templates/part/detail.html:345 +#: part/templates/part/detail.html:238 msgid "Export actions" msgstr "" -#: part/templates/part/detail.html:349 +#: part/templates/part/detail.html:242 msgid "Export BOM" msgstr "" -#: part/templates/part/detail.html:351 +#: part/templates/part/detail.html:244 msgid "Print BOM Report" msgstr "" -#: part/templates/part/detail.html:361 +#: part/templates/part/detail.html:254 msgid "Upload BOM" msgstr "" -#: part/templates/part/detail.html:363 templates/js/translated/part.js:267 +#: part/templates/part/detail.html:256 templates/js/translated/part.js:270 msgid "Copy BOM" msgstr "" -#: part/templates/part/detail.html:365 part/views.py:755 +#: part/templates/part/detail.html:258 part/views.py:755 msgid "Validate BOM" msgstr "" -#: part/templates/part/detail.html:370 +#: part/templates/part/detail.html:263 msgid "New BOM Item" msgstr "" -#: part/templates/part/detail.html:371 +#: part/templates/part/detail.html:264 msgid "Add BOM Item" msgstr "" -#: part/templates/part/detail.html:384 +#: part/templates/part/detail.html:277 msgid "Assemblies" msgstr "" -#: part/templates/part/detail.html:401 +#: part/templates/part/detail.html:294 msgid "Part Builds" msgstr "" -#: part/templates/part/detail.html:426 +#: part/templates/part/detail.html:319 msgid "Build Order Allocations" msgstr "" -#: part/templates/part/detail.html:436 +#: part/templates/part/detail.html:329 msgid "Part Suppliers" msgstr "" -#: part/templates/part/detail.html:463 +#: part/templates/part/detail.html:356 msgid "Part Manufacturers" msgstr "" -#: part/templates/part/detail.html:479 +#: part/templates/part/detail.html:372 msgid "Delete manufacturer parts" msgstr "" -#: part/templates/part/detail.html:660 +#: part/templates/part/detail.html:553 msgid "Delete selected BOM items?" msgstr "" -#: part/templates/part/detail.html:661 +#: part/templates/part/detail.html:554 msgid "All selected BOM items will be deleted" msgstr "" -#: part/templates/part/detail.html:712 +#: part/templates/part/detail.html:605 msgid "Create BOM Item" msgstr "" -#: part/templates/part/detail.html:764 +#: part/templates/part/detail.html:657 msgid "Related Part" msgstr "" -#: part/templates/part/detail.html:772 +#: part/templates/part/detail.html:665 msgid "Add Related Part" msgstr "" -#: part/templates/part/detail.html:869 +#: part/templates/part/detail.html:760 msgid "Add Test Result Template" msgstr "" -#: part/templates/part/detail.html:926 +#: part/templates/part/detail.html:817 msgid "Edit Part Notes" msgstr "" -#: part/templates/part/detail.html:1039 +#: part/templates/part/detail.html:930 #, python-format msgid "Purchase Unit Price - %(currency)s" msgstr "" -#: part/templates/part/detail.html:1051 +#: part/templates/part/detail.html:942 #, python-format msgid "Unit Price-Cost Difference - %(currency)s" msgstr "" -#: part/templates/part/detail.html:1063 +#: part/templates/part/detail.html:954 #, python-format msgid "Supplier Unit Cost - %(currency)s" msgstr "" -#: part/templates/part/detail.html:1152 +#: part/templates/part/detail.html:1043 #, python-format msgid "Unit Price - %(currency)s" msgstr "" @@ -4668,86 +4677,108 @@ msgstr "" msgid "Delete part" msgstr "" -#: part/templates/part/part_base.html:109 +#: part/templates/part/part_base.html:112 msgid "Part is a template part (variants can be made from this part)" msgstr "" -#: part/templates/part/part_base.html:113 +#: part/templates/part/part_base.html:116 msgid "Part can be assembled from other parts" msgstr "" -#: part/templates/part/part_base.html:117 +#: part/templates/part/part_base.html:120 msgid "Part can be used in assemblies" msgstr "" -#: part/templates/part/part_base.html:121 +#: part/templates/part/part_base.html:124 msgid "Part stock is tracked by serial number" msgstr "" -#: part/templates/part/part_base.html:125 +#: part/templates/part/part_base.html:128 msgid "Part can be purchased from external suppliers" msgstr "" -#: part/templates/part/part_base.html:129 +#: part/templates/part/part_base.html:132 msgid "Part can be sold to customers" msgstr "" -#: part/templates/part/part_base.html:135 -#: part/templates/part/part_base.html:143 +#: part/templates/part/part_base.html:138 +#: part/templates/part/part_base.html:146 msgid "Part is virtual (not a physical part)" msgstr "" -#: part/templates/part/part_base.html:136 +#: part/templates/part/part_base.html:139 #: templates/js/translated/company.js:505 #: templates/js/translated/company.js:762 #: templates/js/translated/model_renderers.js:175 -#: templates/js/translated/part.js:465 templates/js/translated/part.js:542 +#: templates/js/translated/part.js:472 templates/js/translated/part.js:549 msgid "Inactive" msgstr "" -#: part/templates/part/part_base.html:155 +#: part/templates/part/part_base.html:156 +#: part/templates/part/part_base.html:579 +msgid "Show Part Details" +msgstr "" + +#: part/templates/part/part_base.html:173 #, python-format msgid "This part is a variant of %(link)s" msgstr "" -#: part/templates/part/part_base.html:172 templates/js/translated/order.js:1546 +#: part/templates/part/part_base.html:190 templates/js/translated/order.js:1545 #: templates/js/translated/table_filters.js:188 msgid "In Stock" msgstr "" -#: part/templates/part/part_base.html:185 templates/js/translated/part.js:1054 +#: part/templates/part/part_base.html:203 templates/js/translated/part.js:1235 msgid "On Order" msgstr "" -#: part/templates/part/part_base.html:192 templates/InvenTree/index.html:178 +#: part/templates/part/part_base.html:210 templates/InvenTree/index.html:178 msgid "Required for Build Orders" msgstr "" -#: part/templates/part/part_base.html:199 +#: part/templates/part/part_base.html:217 msgid "Required for Sales Orders" msgstr "" -#: part/templates/part/part_base.html:206 +#: part/templates/part/part_base.html:224 msgid "Allocated to Orders" msgstr "" -#: part/templates/part/part_base.html:221 templates/js/translated/bom.js:566 +#: part/templates/part/part_base.html:239 templates/js/translated/bom.js:566 msgid "Can Build" msgstr "" -#: part/templates/part/part_base.html:227 templates/js/translated/part.js:885 -#: templates/js/translated/part.js:1058 +#: part/templates/part/part_base.html:245 templates/js/translated/part.js:1066 +#: templates/js/translated/part.js:1239 msgid "Building" msgstr "" -#: part/templates/part/part_base.html:320 part/templates/part/prices.html:144 +#: part/templates/part/part_base.html:295 +msgid "Minimum stock level" +msgstr "" + +#: part/templates/part/part_base.html:324 +msgid "Latest Serial Number" +msgstr "" + +#: part/templates/part/part_base.html:328 +#: stock/templates/stock/item_base.html:159 +msgid "Search for serial number" +msgstr "" + +#: part/templates/part/part_base.html:449 part/templates/part/prices.html:144 msgid "Calculate" msgstr "" -#: part/templates/part/part_base.html:363 +#: part/templates/part/part_base.html:492 msgid "No matching images found" msgstr "" +#: part/templates/part/part_base.html:573 +msgid "Hide Part Details" +msgstr "" + #: part/templates/part/part_pricing.html:22 part/templates/part/prices.html:21 msgid "Supplier Pricing" msgstr "" @@ -4805,20 +4836,15 @@ msgstr "" msgid "No pricing information is available for this part." msgstr "" -#: part/templates/part/part_sidebar.html:8 -#: templates/js/translated/stock.js:1949 -msgid "Details" -msgstr "" - -#: part/templates/part/part_sidebar.html:13 +#: part/templates/part/part_sidebar.html:11 msgid "Variants" msgstr "" -#: part/templates/part/part_sidebar.html:27 +#: part/templates/part/part_sidebar.html:25 msgid "Used In" msgstr "" -#: part/templates/part/part_sidebar.html:43 +#: part/templates/part/part_sidebar.html:41 msgid "Test Templates" msgstr "" @@ -4934,8 +4960,8 @@ msgid "Set category for the following parts" msgstr "" #: part/templates/part/stock_count.html:7 templates/js/translated/bom.js:476 -#: templates/js/translated/part.js:429 templates/js/translated/part.js:875 -#: templates/js/translated/part.js:1062 +#: templates/js/translated/part.js:436 templates/js/translated/part.js:1056 +#: templates/js/translated/part.js:1243 msgid "No Stock" msgstr "" @@ -5037,7 +5063,7 @@ msgstr "" msgid "Delete Part Parameter Template" msgstr "" -#: part/views.py:1489 templates/js/translated/part.js:310 +#: part/views.py:1489 templates/js/translated/part.js:313 msgid "Edit Part Category" msgstr "" @@ -5171,11 +5197,12 @@ msgid "Stock Item Test Report" msgstr "" #: report/templates/report/inventree_test_report_base.html:79 -#: stock/models.py:530 stock/templates/stock/item_base.html:238 +#: stock/models.py:520 stock/templates/stock/item_base.html:149 #: templates/js/translated/build.js:233 templates/js/translated/build.js:637 #: templates/js/translated/build.js:1013 #: templates/js/translated/model_renderers.js:95 -#: templates/js/translated/order.js:1288 templates/js/translated/order.js:1377 +#: templates/js/translated/order.js:1287 templates/js/translated/order.js:1376 +#: templates/js/translated/stock.js:410 msgid "Serial Number" msgstr "" @@ -5184,17 +5211,17 @@ msgid "Test Results" msgstr "" #: report/templates/report/inventree_test_report_base.html:93 -#: stock/models.py:1855 +#: stock/models.py:1845 msgid "Test" msgstr "" #: report/templates/report/inventree_test_report_base.html:94 -#: stock/models.py:1861 +#: stock/models.py:1851 msgid "Result" msgstr "" #: report/templates/report/inventree_test_report_base.html:97 -#: templates/js/translated/order.js:685 templates/js/translated/stock.js:1917 +#: templates/js/translated/order.js:684 templates/js/translated/stock.js:1999 msgid "Date" msgstr "" @@ -5212,7 +5239,7 @@ msgid "Installed Items" msgstr "" #: report/templates/report/inventree_test_report_base.html:137 -#: templates/js/translated/stock.js:2177 +#: templates/js/translated/stock.js:2259 msgid "Serial" msgstr "" @@ -5220,9 +5247,9 @@ msgstr "" msgid "Quantity is required" msgstr "" -#: stock/forms.py:91 stock/forms.py:265 stock/models.py:587 -#: stock/templates/stock/item_base.html:382 -#: templates/js/translated/stock.js:1276 +#: stock/forms.py:91 stock/forms.py:265 stock/models.py:577 +#: stock/templates/stock/item_base.html:186 +#: templates/js/translated/stock.js:1358 msgid "Expiry Date" msgstr "" @@ -5270,241 +5297,241 @@ msgstr "" msgid "Confirm removal of installed stock items" msgstr "" -#: stock/models.py:60 stock/models.py:624 -#: stock/templates/stock/item_base.html:422 +#: stock/models.py:60 stock/models.py:614 +#: stock/templates/stock/item_base.html:417 msgid "Owner" msgstr "" -#: stock/models.py:61 stock/models.py:625 +#: stock/models.py:61 stock/models.py:615 msgid "Select Owner" msgstr "" -#: stock/models.py:352 +#: stock/models.py:342 msgid "StockItem with this serial number already exists" msgstr "" -#: stock/models.py:388 +#: stock/models.py:378 #, python-brace-format msgid "Part type ('{pf}') must be {pe}" msgstr "" -#: stock/models.py:398 stock/models.py:407 +#: stock/models.py:388 stock/models.py:397 msgid "Quantity must be 1 for item with a serial number" msgstr "" -#: stock/models.py:399 +#: stock/models.py:389 msgid "Serial number cannot be set if quantity greater than 1" msgstr "" -#: stock/models.py:421 +#: stock/models.py:411 msgid "Item cannot belong to itself" msgstr "" -#: stock/models.py:427 +#: stock/models.py:417 msgid "Item must have a build reference if is_building=True" msgstr "" -#: stock/models.py:434 +#: stock/models.py:424 msgid "Build reference does not point to the same part object" msgstr "" -#: stock/models.py:476 +#: stock/models.py:466 msgid "Parent Stock Item" msgstr "" -#: stock/models.py:485 +#: stock/models.py:475 msgid "Base part" msgstr "" -#: stock/models.py:493 +#: stock/models.py:483 msgid "Select a matching supplier part for this stock item" msgstr "" -#: stock/models.py:498 stock/templates/stock/location.html:12 +#: stock/models.py:488 stock/templates/stock/location.html:12 #: stock/templates/stock/stock_app_base.html:8 msgid "Stock Location" msgstr "" -#: stock/models.py:501 +#: stock/models.py:491 msgid "Where is this stock item located?" msgstr "" -#: stock/models.py:508 +#: stock/models.py:498 msgid "Packaging this stock item is stored in" msgstr "" -#: stock/models.py:513 stock/templates/stock/item_base.html:271 +#: stock/models.py:503 stock/templates/stock/item_base.html:299 msgid "Installed In" msgstr "" -#: stock/models.py:516 +#: stock/models.py:506 msgid "Is this item installed in another item?" msgstr "" -#: stock/models.py:532 +#: stock/models.py:522 msgid "Serial number for this item" msgstr "" -#: stock/models.py:546 +#: stock/models.py:536 msgid "Batch code for this stock item" msgstr "" -#: stock/models.py:550 +#: stock/models.py:540 msgid "Stock Quantity" msgstr "" -#: stock/models.py:559 +#: stock/models.py:549 msgid "Source Build" msgstr "" -#: stock/models.py:561 +#: stock/models.py:551 msgid "Build for this stock item" msgstr "" -#: stock/models.py:572 +#: stock/models.py:562 msgid "Source Purchase Order" msgstr "" -#: stock/models.py:575 +#: stock/models.py:565 msgid "Purchase order for this stock item" msgstr "" -#: stock/models.py:581 +#: stock/models.py:571 msgid "Destination Sales Order" msgstr "" -#: stock/models.py:588 +#: stock/models.py:578 msgid "Expiry date for stock item. Stock will be considered expired after this date" msgstr "" -#: stock/models.py:601 +#: stock/models.py:591 msgid "Delete on deplete" msgstr "" -#: stock/models.py:601 +#: stock/models.py:591 msgid "Delete this Stock Item when stock is depleted" msgstr "" -#: stock/models.py:611 stock/templates/stock/item.html:111 +#: stock/models.py:601 stock/templates/stock/item.html:111 msgid "Stock Item Notes" msgstr "" -#: stock/models.py:620 +#: stock/models.py:610 msgid "Single unit purchase price at time of purchase" msgstr "" -#: stock/models.py:630 +#: stock/models.py:620 msgid "Scheduled for deletion" msgstr "" -#: stock/models.py:631 +#: stock/models.py:621 msgid "This StockItem will be deleted by the background worker" msgstr "" -#: stock/models.py:1094 +#: stock/models.py:1084 msgid "Part is not set as trackable" msgstr "" -#: stock/models.py:1100 +#: stock/models.py:1090 msgid "Quantity must be integer" msgstr "" -#: stock/models.py:1106 +#: stock/models.py:1096 #, python-brace-format msgid "Quantity must not exceed available stock quantity ({n})" msgstr "" -#: stock/models.py:1109 +#: stock/models.py:1099 msgid "Serial numbers must be a list of integers" msgstr "" -#: stock/models.py:1112 +#: stock/models.py:1102 msgid "Quantity does not match serial numbers" msgstr "" -#: stock/models.py:1119 +#: stock/models.py:1109 #, python-brace-format msgid "Serial numbers already exist: {exists}" msgstr "" -#: stock/models.py:1277 +#: stock/models.py:1267 msgid "StockItem cannot be moved as it is not in stock" msgstr "" -#: stock/models.py:1775 +#: stock/models.py:1765 msgid "Entry notes" msgstr "" -#: stock/models.py:1832 +#: stock/models.py:1822 msgid "Value must be provided for this test" msgstr "" -#: stock/models.py:1838 +#: stock/models.py:1828 msgid "Attachment must be uploaded for this test" msgstr "" -#: stock/models.py:1856 +#: stock/models.py:1846 msgid "Test name" msgstr "" -#: stock/models.py:1862 templates/js/translated/table_filters.js:266 +#: stock/models.py:1852 templates/js/translated/table_filters.js:266 msgid "Test result" msgstr "" -#: stock/models.py:1868 +#: stock/models.py:1858 msgid "Test output value" msgstr "" -#: stock/models.py:1875 +#: stock/models.py:1865 msgid "Test result attachment" msgstr "" -#: stock/models.py:1881 +#: stock/models.py:1871 msgid "Test notes" msgstr "" -#: stock/serializers.py:166 +#: stock/serializers.py:171 msgid "Purchase price of this stock item" msgstr "" -#: stock/serializers.py:173 +#: stock/serializers.py:178 msgid "Purchase currency of this stock item" msgstr "" -#: stock/serializers.py:287 +#: stock/serializers.py:292 msgid "Enter number of stock items to serialize" msgstr "" -#: stock/serializers.py:302 +#: stock/serializers.py:307 #, python-brace-format msgid "Quantity must not exceed available stock quantity ({q})" msgstr "" -#: stock/serializers.py:308 +#: stock/serializers.py:313 msgid "Enter serial numbers for new items" msgstr "" -#: stock/serializers.py:319 stock/serializers.py:686 +#: stock/serializers.py:324 stock/serializers.py:691 msgid "Destination stock location" msgstr "" -#: stock/serializers.py:326 +#: stock/serializers.py:331 msgid "Optional note field" msgstr "" -#: stock/serializers.py:339 +#: stock/serializers.py:344 msgid "Serial numbers cannot be assigned to this part" msgstr "" -#: stock/serializers.py:556 +#: stock/serializers.py:561 msgid "StockItem primary key value" msgstr "" -#: stock/serializers.py:584 +#: stock/serializers.py:589 msgid "Stock transaction notes" msgstr "" -#: stock/serializers.py:594 +#: stock/serializers.py:599 msgid "A list of stock items must be provided" msgstr "" @@ -5629,125 +5656,131 @@ msgstr "" msgid "Install" msgstr "" -#: stock/templates/stock/item_base.html:106 +#: stock/templates/stock/item_base.html:108 msgid "Convert to variant" msgstr "" -#: stock/templates/stock/item_base.html:109 +#: stock/templates/stock/item_base.html:111 msgid "Duplicate stock item" msgstr "" -#: stock/templates/stock/item_base.html:111 +#: stock/templates/stock/item_base.html:113 msgid "Edit stock item" msgstr "" -#: stock/templates/stock/item_base.html:114 +#: stock/templates/stock/item_base.html:116 msgid "Delete stock item" msgstr "" -#: stock/templates/stock/item_base.html:136 -#: stock/templates/stock/item_base.html:386 -#: templates/js/translated/table_filters.js:247 -msgid "Expired" +#: stock/templates/stock/item_base.html:154 +msgid "previous page" msgstr "" -#: stock/templates/stock/item_base.html:146 -#: stock/templates/stock/item_base.html:388 -#: templates/js/translated/table_filters.js:253 -msgid "Stale" +#: stock/templates/stock/item_base.html:154 +msgid "Navigate to previous serial number" msgstr "" -#: stock/templates/stock/item_base.html:161 -msgid "You are not in the list of owners of this item. This stock item cannot be edited." +#: stock/templates/stock/item_base.html:163 +msgid "next page" msgstr "" -#: stock/templates/stock/item_base.html:168 -msgid "This stock item is in production and cannot be edited." -msgstr "" - -#: stock/templates/stock/item_base.html:169 -msgid "Edit the stock item from the build view." -msgstr "" - -#: stock/templates/stock/item_base.html:182 -msgid "This stock item has not passed all required tests" +#: stock/templates/stock/item_base.html:163 +msgid "Navigate to next serial number" msgstr "" #: stock/templates/stock/item_base.html:190 #, python-format -msgid "This stock item is allocated to Sales Order %(link)s (Quantity: %(qty)s)" -msgstr "" - -#: stock/templates/stock/item_base.html:198 -#, python-format -msgid "This stock item is allocated to Build %(link)s (Quantity: %(qty)s)" -msgstr "" - -#: stock/templates/stock/item_base.html:204 -msgid "This stock item is serialized - it has a unique serial number and the quantity cannot be adjusted." -msgstr "" - -#: stock/templates/stock/item_base.html:208 -msgid "This stock item cannot be deleted as it has child items" -msgstr "" - -#: stock/templates/stock/item_base.html:212 -msgid "This stock item will be automatically deleted when all stock is depleted." -msgstr "" - -#: stock/templates/stock/item_base.html:241 -msgid "previous page" -msgstr "" - -#: stock/templates/stock/item_base.html:247 -msgid "next page" -msgstr "" - -#: stock/templates/stock/item_base.html:290 -#: templates/js/translated/build.js:1035 -msgid "No location set" -msgstr "" - -#: stock/templates/stock/item_base.html:297 -msgid "Barcode Identifier" -msgstr "" - -#: stock/templates/stock/item_base.html:339 -msgid "Parent Item" -msgstr "" - -#: stock/templates/stock/item_base.html:357 -msgid "No manufacturer set" -msgstr "" - -#: stock/templates/stock/item_base.html:386 -#, python-format msgid "This StockItem expired on %(item.expiry_date)s" msgstr "" -#: stock/templates/stock/item_base.html:388 +#: stock/templates/stock/item_base.html:190 +#: templates/js/translated/table_filters.js:247 +msgid "Expired" +msgstr "" + +#: stock/templates/stock/item_base.html:192 #, python-format msgid "This StockItem expires on %(item.expiry_date)s" msgstr "" -#: stock/templates/stock/item_base.html:395 -#: templates/js/translated/stock.js:1289 +#: stock/templates/stock/item_base.html:192 +#: templates/js/translated/table_filters.js:253 +msgid "Stale" +msgstr "" + +#: stock/templates/stock/item_base.html:199 +#: templates/js/translated/stock.js:1371 msgid "Last Updated" msgstr "" -#: stock/templates/stock/item_base.html:400 +#: stock/templates/stock/item_base.html:204 msgid "Last Stocktake" msgstr "" -#: stock/templates/stock/item_base.html:404 +#: stock/templates/stock/item_base.html:208 msgid "No stocktake performed" msgstr "" -#: stock/templates/stock/item_base.html:415 +#: stock/templates/stock/item_base.html:226 +msgid "You are not in the list of owners of this item. This stock item cannot be edited." +msgstr "" + +#: stock/templates/stock/item_base.html:233 +msgid "This stock item is in production and cannot be edited." +msgstr "" + +#: stock/templates/stock/item_base.html:234 +msgid "Edit the stock item from the build view." +msgstr "" + +#: stock/templates/stock/item_base.html:247 +msgid "This stock item has not passed all required tests" +msgstr "" + +#: stock/templates/stock/item_base.html:255 +#, python-format +msgid "This stock item is allocated to Sales Order %(link)s (Quantity: %(qty)s)" +msgstr "" + +#: stock/templates/stock/item_base.html:263 +#, python-format +msgid "This stock item is allocated to Build %(link)s (Quantity: %(qty)s)" +msgstr "" + +#: stock/templates/stock/item_base.html:269 +msgid "This stock item is serialized - it has a unique serial number and the quantity cannot be adjusted." +msgstr "" + +#: stock/templates/stock/item_base.html:273 +msgid "This stock item cannot be deleted as it has child items" +msgstr "" + +#: stock/templates/stock/item_base.html:277 +msgid "This stock item will be automatically deleted when all stock is depleted." +msgstr "" + +#: stock/templates/stock/item_base.html:318 +#: templates/js/translated/build.js:1035 +msgid "No location set" +msgstr "" + +#: stock/templates/stock/item_base.html:325 +msgid "Barcode Identifier" +msgstr "" + +#: stock/templates/stock/item_base.html:367 +msgid "Parent Item" +msgstr "" + +#: stock/templates/stock/item_base.html:385 +msgid "No manufacturer set" +msgstr "" + +#: stock/templates/stock/item_base.html:410 msgid "Tests" msgstr "" -#: stock/templates/stock/item_base.html:505 +#: stock/templates/stock/item_base.html:500 msgid "Edit Stock Status" msgstr "" @@ -5825,30 +5858,35 @@ msgstr "" msgid "New Location" msgstr "" -#: stock/templates/stock/location.html:86 +#: stock/templates/stock/location.html:95 +#: stock/templates/stock/location.html:101 +msgid "Location Path" +msgstr "" + +#: stock/templates/stock/location.html:102 msgid "Top level stock location" msgstr "" -#: stock/templates/stock/location.html:95 +#: stock/templates/stock/location.html:115 msgid "You are not in the list of owners of this location. This stock location cannot be edited." msgstr "" -#: stock/templates/stock/location.html:113 -#: stock/templates/stock/location.html:160 +#: stock/templates/stock/location.html:128 +#: stock/templates/stock/location.html:175 #: stock/templates/stock/location_sidebar.html:5 msgid "Sublocations" msgstr "" -#: stock/templates/stock/location.html:127 templates/InvenTree/search.html:170 +#: stock/templates/stock/location.html:142 templates/InvenTree/search.html:170 #: templates/stats.html:97 users/models.py:42 msgid "Stock Locations" msgstr "" -#: stock/templates/stock/location.html:167 templates/stock_table.html:30 +#: stock/templates/stock/location.html:182 templates/stock_table.html:30 msgid "Printing Actions" msgstr "" -#: stock/templates/stock/location.html:171 templates/stock_table.html:34 +#: stock/templates/stock/location.html:186 templates/stock_table.html:34 msgid "Print labels" msgstr "" @@ -5942,7 +5980,7 @@ msgstr "" msgid "Uninstall Stock Items" msgstr "" -#: stock/views.py:760 templates/js/translated/stock.js:648 +#: stock/views.py:760 templates/js/translated/stock.js:730 msgid "Confirm stock adjustment" msgstr "" @@ -5950,7 +5988,7 @@ msgstr "" msgid "Uninstalled stock items" msgstr "" -#: stock/views.py:793 templates/js/translated/stock.js:318 +#: stock/views.py:793 templates/js/translated/stock.js:319 msgid "Edit Stock Item" msgstr "" @@ -5962,7 +6000,7 @@ msgstr "" msgid "Create new Stock Item" msgstr "" -#: stock/views.py:1186 templates/js/translated/stock.js:298 +#: stock/views.py:1186 templates/js/translated/stock.js:299 msgid "Duplicate Stock Item" msgstr "" @@ -6868,7 +6906,7 @@ msgstr "" msgid "Unlink" msgstr "" -#: templates/js/translated/barcode.js:397 templates/js/translated/stock.js:600 +#: templates/js/translated/barcode.js:397 templates/js/translated/stock.js:682 msgid "Remove stock item" msgstr "" @@ -6963,7 +7001,7 @@ msgid "View BOM" msgstr "" #: templates/js/translated/bom.js:608 templates/js/translated/build.js:1183 -#: templates/js/translated/order.js:1320 +#: templates/js/translated/order.js:1319 msgid "Actions" msgstr "" @@ -7055,7 +7093,7 @@ msgstr "" msgid "No build order allocations found" msgstr "" -#: templates/js/translated/build.js:424 templates/js/translated/order.js:1194 +#: templates/js/translated/build.js:424 templates/js/translated/order.js:1193 msgid "Location not specified" msgstr "" @@ -7064,12 +7102,12 @@ msgid "No active build outputs found" msgstr "" #: templates/js/translated/build.js:1052 templates/js/translated/build.js:1760 -#: templates/js/translated/order.js:1327 +#: templates/js/translated/order.js:1326 msgid "Edit stock allocation" msgstr "" #: templates/js/translated/build.js:1054 templates/js/translated/build.js:1761 -#: templates/js/translated/order.js:1328 +#: templates/js/translated/order.js:1327 msgid "Delete stock allocation" msgstr "" @@ -7090,11 +7128,11 @@ msgid "Quantity Per" msgstr "" #: templates/js/translated/build.js:1134 templates/js/translated/build.js:1360 -#: templates/js/translated/build.js:1756 templates/js/translated/order.js:1557 +#: templates/js/translated/build.js:1756 templates/js/translated/order.js:1556 msgid "Allocated" msgstr "" -#: templates/js/translated/build.js:1190 templates/js/translated/order.js:1611 +#: templates/js/translated/build.js:1190 templates/js/translated/order.js:1610 msgid "Build stock" msgstr "" @@ -7102,7 +7140,7 @@ msgstr "" msgid "Order stock" msgstr "" -#: templates/js/translated/build.js:1197 templates/js/translated/order.js:1604 +#: templates/js/translated/build.js:1197 templates/js/translated/order.js:1603 msgid "Allocate stock" msgstr "" @@ -7143,9 +7181,9 @@ msgstr "" msgid "No builds matching query" msgstr "" -#: templates/js/translated/build.js:1593 templates/js/translated/part.js:966 -#: templates/js/translated/part.js:1377 templates/js/translated/stock.js:1094 -#: templates/js/translated/stock.js:1871 +#: templates/js/translated/build.js:1593 templates/js/translated/part.js:1147 +#: templates/js/translated/part.js:1558 templates/js/translated/stock.js:1176 +#: templates/js/translated/stock.js:1953 msgid "Select" msgstr "" @@ -7153,7 +7191,7 @@ msgstr "" msgid "Build order is overdue" msgstr "" -#: templates/js/translated/build.js:1674 templates/js/translated/stock.js:2090 +#: templates/js/translated/build.js:1674 templates/js/translated/stock.js:2172 msgid "No user information" msgstr "" @@ -7197,10 +7235,6 @@ msgstr "" msgid "Delete Supplier Part" msgstr "" -#: templates/js/translated/company.js:265 -msgid "Edit Company" -msgstr "" - #: templates/js/translated/company.js:286 msgid "Add new Company" msgstr "" @@ -7230,34 +7264,34 @@ msgid "No manufacturer parts found" msgstr "" #: templates/js/translated/company.js:497 -#: templates/js/translated/company.js:754 templates/js/translated/part.js:449 -#: templates/js/translated/part.js:534 +#: templates/js/translated/company.js:754 templates/js/translated/part.js:456 +#: templates/js/translated/part.js:541 msgid "Template part" msgstr "" #: templates/js/translated/company.js:501 -#: templates/js/translated/company.js:758 templates/js/translated/part.js:453 -#: templates/js/translated/part.js:538 +#: templates/js/translated/company.js:758 templates/js/translated/part.js:460 +#: templates/js/translated/part.js:545 msgid "Assembled part" msgstr "" -#: templates/js/translated/company.js:628 templates/js/translated/part.js:626 +#: templates/js/translated/company.js:628 templates/js/translated/part.js:633 msgid "No parameters found" msgstr "" -#: templates/js/translated/company.js:665 templates/js/translated/part.js:668 +#: templates/js/translated/company.js:665 templates/js/translated/part.js:675 msgid "Edit parameter" msgstr "" -#: templates/js/translated/company.js:666 templates/js/translated/part.js:669 +#: templates/js/translated/company.js:666 templates/js/translated/part.js:676 msgid "Delete parameter" msgstr "" -#: templates/js/translated/company.js:685 templates/js/translated/part.js:686 +#: templates/js/translated/company.js:685 templates/js/translated/part.js:693 msgid "Edit Parameter" msgstr "" -#: templates/js/translated/company.js:696 templates/js/translated/part.js:698 +#: templates/js/translated/company.js:696 templates/js/translated/part.js:705 msgid "Delete Parameter" msgstr "" @@ -7346,7 +7380,7 @@ msgid "NO" msgstr "" #: templates/js/translated/label.js:29 templates/js/translated/report.js:118 -#: templates/js/translated/stock.js:624 +#: templates/js/translated/stock.js:706 msgid "Select Stock Items" msgstr "" @@ -7502,11 +7536,11 @@ msgstr "" msgid "Export Order" msgstr "" -#: templates/js/translated/order.js:211 templates/js/translated/stock.js:423 +#: templates/js/translated/order.js:211 templates/js/translated/stock.js:505 msgid "Format" msgstr "" -#: templates/js/translated/order.js:212 templates/js/translated/stock.js:424 +#: templates/js/translated/order.js:212 templates/js/translated/stock.js:506 msgid "Select file format" msgstr "" @@ -7522,7 +7556,7 @@ msgstr "" msgid "Quantity to receive" msgstr "" -#: templates/js/translated/order.js:360 templates/js/translated/stock.js:1673 +#: templates/js/translated/order.js:360 templates/js/translated/stock.js:1755 msgid "Stock Status" msgstr "" @@ -7546,321 +7580,321 @@ msgstr "" msgid "Receive Purchase Order Items" msgstr "" -#: templates/js/translated/order.js:627 +#: templates/js/translated/order.js:627 templates/js/translated/part.js:746 msgid "No purchase orders found" msgstr "" -#: templates/js/translated/order.js:652 templates/js/translated/order.js:1063 +#: templates/js/translated/order.js:659 templates/js/translated/order.js:1062 msgid "Order is overdue" msgstr "" -#: templates/js/translated/order.js:772 templates/js/translated/order.js:1646 +#: templates/js/translated/order.js:771 templates/js/translated/order.js:1645 msgid "Edit Line Item" msgstr "" -#: templates/js/translated/order.js:784 templates/js/translated/order.js:1657 +#: templates/js/translated/order.js:783 templates/js/translated/order.js:1656 msgid "Delete Line Item" msgstr "" -#: templates/js/translated/order.js:823 +#: templates/js/translated/order.js:822 msgid "No line items found" msgstr "" -#: templates/js/translated/order.js:850 templates/js/translated/order.js:1467 +#: templates/js/translated/order.js:849 templates/js/translated/order.js:1466 msgid "Total" msgstr "" -#: templates/js/translated/order.js:904 templates/js/translated/order.js:1492 -#: templates/js/translated/part.js:1594 templates/js/translated/part.js:1805 +#: templates/js/translated/order.js:903 templates/js/translated/order.js:1491 +#: templates/js/translated/part.js:1775 templates/js/translated/part.js:1986 msgid "Unit Price" msgstr "" -#: templates/js/translated/order.js:919 templates/js/translated/order.js:1508 +#: templates/js/translated/order.js:918 templates/js/translated/order.js:1507 msgid "Total Price" msgstr "" -#: templates/js/translated/order.js:997 templates/js/translated/order.js:1617 +#: templates/js/translated/order.js:996 templates/js/translated/order.js:1616 msgid "Edit line item" msgstr "" -#: templates/js/translated/order.js:998 +#: templates/js/translated/order.js:997 msgid "Delete line item" msgstr "" -#: templates/js/translated/order.js:1002 +#: templates/js/translated/order.js:1001 templates/js/translated/part.js:878 msgid "Receive line item" msgstr "" -#: templates/js/translated/order.js:1039 +#: templates/js/translated/order.js:1038 msgid "No sales orders found" msgstr "" -#: templates/js/translated/order.js:1077 +#: templates/js/translated/order.js:1076 msgid "Invalid Customer" msgstr "" -#: templates/js/translated/order.js:1155 +#: templates/js/translated/order.js:1154 msgid "No sales order allocations found" msgstr "" -#: templates/js/translated/order.js:1248 +#: templates/js/translated/order.js:1247 msgid "Edit Stock Allocation" msgstr "" -#: templates/js/translated/order.js:1265 +#: templates/js/translated/order.js:1264 msgid "Confirm Delete Operation" msgstr "" -#: templates/js/translated/order.js:1266 +#: templates/js/translated/order.js:1265 msgid "Delete Stock Allocation" msgstr "" -#: templates/js/translated/order.js:1308 +#: templates/js/translated/order.js:1307 msgid "Stock location not specified" msgstr "" -#: templates/js/translated/order.js:1557 +#: templates/js/translated/order.js:1556 msgid "Fulfilled" msgstr "" -#: templates/js/translated/order.js:1601 +#: templates/js/translated/order.js:1600 msgid "Allocate serial numbers" msgstr "" -#: templates/js/translated/order.js:1607 +#: templates/js/translated/order.js:1606 msgid "Purchase stock" msgstr "" -#: templates/js/translated/order.js:1614 templates/js/translated/order.js:1793 +#: templates/js/translated/order.js:1613 templates/js/translated/order.js:1792 msgid "Calculate price" msgstr "" -#: templates/js/translated/order.js:1618 +#: templates/js/translated/order.js:1617 msgid "Delete line item " msgstr "" -#: templates/js/translated/order.js:1741 +#: templates/js/translated/order.js:1740 msgid "Allocate Stock Item" msgstr "" -#: templates/js/translated/order.js:1801 +#: templates/js/translated/order.js:1800 msgid "Update Unit Price" msgstr "" -#: templates/js/translated/order.js:1815 +#: templates/js/translated/order.js:1814 msgid "No matching line items" msgstr "" -#: templates/js/translated/part.js:51 +#: templates/js/translated/part.js:52 msgid "Part Attributes" msgstr "" -#: templates/js/translated/part.js:55 +#: templates/js/translated/part.js:56 msgid "Part Creation Options" msgstr "" -#: templates/js/translated/part.js:59 +#: templates/js/translated/part.js:60 msgid "Part Duplication Options" msgstr "" -#: templates/js/translated/part.js:63 +#: templates/js/translated/part.js:64 msgid "Supplier Options" msgstr "" -#: templates/js/translated/part.js:77 +#: templates/js/translated/part.js:78 msgid "Add Part Category" msgstr "" -#: templates/js/translated/part.js:166 +#: templates/js/translated/part.js:162 msgid "Create Initial Stock" msgstr "" -#: templates/js/translated/part.js:167 +#: templates/js/translated/part.js:163 msgid "Create an initial stock item for this part" msgstr "" -#: templates/js/translated/part.js:174 +#: templates/js/translated/part.js:170 msgid "Initial Stock Quantity" msgstr "" -#: templates/js/translated/part.js:175 +#: templates/js/translated/part.js:171 msgid "Specify initial stock quantity for this part" msgstr "" -#: templates/js/translated/part.js:182 +#: templates/js/translated/part.js:178 msgid "Select destination stock location" msgstr "" -#: templates/js/translated/part.js:193 +#: templates/js/translated/part.js:196 msgid "Copy Category Parameters" msgstr "" -#: templates/js/translated/part.js:194 +#: templates/js/translated/part.js:197 msgid "Copy parameter templates from selected part category" msgstr "" -#: templates/js/translated/part.js:202 +#: templates/js/translated/part.js:205 msgid "Add Supplier Data" msgstr "" -#: templates/js/translated/part.js:203 +#: templates/js/translated/part.js:206 msgid "Create initial supplier data for this part" msgstr "" -#: templates/js/translated/part.js:259 +#: templates/js/translated/part.js:262 msgid "Copy Image" msgstr "" -#: templates/js/translated/part.js:260 +#: templates/js/translated/part.js:263 msgid "Copy image from original part" msgstr "" -#: templates/js/translated/part.js:268 +#: templates/js/translated/part.js:271 msgid "Copy bill of materials from original part" msgstr "" -#: templates/js/translated/part.js:275 +#: templates/js/translated/part.js:278 msgid "Copy Parameters" msgstr "" -#: templates/js/translated/part.js:276 +#: templates/js/translated/part.js:279 msgid "Copy parameter data from original part" msgstr "" -#: templates/js/translated/part.js:289 +#: templates/js/translated/part.js:292 msgid "Parent part category" msgstr "" -#: templates/js/translated/part.js:333 +#: templates/js/translated/part.js:336 msgid "Edit Part" msgstr "" -#: templates/js/translated/part.js:335 +#: templates/js/translated/part.js:338 msgid "Part edited" msgstr "" -#: templates/js/translated/part.js:403 +#: templates/js/translated/part.js:410 msgid "You are subscribed to notifications for this item" msgstr "" -#: templates/js/translated/part.js:405 +#: templates/js/translated/part.js:412 msgid "You have subscribed to notifications for this item" msgstr "" -#: templates/js/translated/part.js:410 +#: templates/js/translated/part.js:417 msgid "Subscribe to notifications for this item" msgstr "" -#: templates/js/translated/part.js:412 +#: templates/js/translated/part.js:419 msgid "You have unsubscribed to notifications for this item" msgstr "" -#: templates/js/translated/part.js:441 templates/js/translated/part.js:526 +#: templates/js/translated/part.js:448 templates/js/translated/part.js:533 msgid "Trackable part" msgstr "" -#: templates/js/translated/part.js:445 templates/js/translated/part.js:530 +#: templates/js/translated/part.js:452 templates/js/translated/part.js:537 msgid "Virtual part" msgstr "" -#: templates/js/translated/part.js:457 +#: templates/js/translated/part.js:464 msgid "Subscribed part" msgstr "" -#: templates/js/translated/part.js:461 +#: templates/js/translated/part.js:468 msgid "Salable part" msgstr "" -#: templates/js/translated/part.js:576 +#: templates/js/translated/part.js:583 msgid "No variants found" msgstr "" -#: templates/js/translated/part.js:765 +#: templates/js/translated/part.js:946 msgid "Delete part relationship" msgstr "" -#: templates/js/translated/part.js:789 +#: templates/js/translated/part.js:970 msgid "Delete Part Relationship" msgstr "" -#: templates/js/translated/part.js:856 templates/js/translated/part.js:1116 +#: templates/js/translated/part.js:1037 templates/js/translated/part.js:1297 msgid "No parts found" msgstr "" -#: templates/js/translated/part.js:1026 +#: templates/js/translated/part.js:1207 msgid "No category" msgstr "" -#: templates/js/translated/part.js:1049 +#: templates/js/translated/part.js:1230 #: templates/js/translated/table_filters.js:381 msgid "Low stock" msgstr "" -#: templates/js/translated/part.js:1140 templates/js/translated/part.js:1312 -#: templates/js/translated/stock.js:1832 +#: templates/js/translated/part.js:1321 templates/js/translated/part.js:1493 +#: templates/js/translated/stock.js:1914 msgid "Display as list" msgstr "" -#: templates/js/translated/part.js:1156 +#: templates/js/translated/part.js:1337 msgid "Display as grid" msgstr "" -#: templates/js/translated/part.js:1331 templates/js/translated/stock.js:1851 +#: templates/js/translated/part.js:1512 templates/js/translated/stock.js:1933 msgid "Display as tree" msgstr "" -#: templates/js/translated/part.js:1395 +#: templates/js/translated/part.js:1576 msgid "Subscribed category" msgstr "" -#: templates/js/translated/part.js:1409 templates/js/translated/stock.js:1895 +#: templates/js/translated/part.js:1590 templates/js/translated/stock.js:1977 msgid "Path" msgstr "" -#: templates/js/translated/part.js:1453 +#: templates/js/translated/part.js:1634 msgid "No test templates matching query" msgstr "" -#: templates/js/translated/part.js:1504 templates/js/translated/stock.js:816 +#: templates/js/translated/part.js:1685 templates/js/translated/stock.js:898 msgid "Edit test result" msgstr "" -#: templates/js/translated/part.js:1505 templates/js/translated/stock.js:817 +#: templates/js/translated/part.js:1686 templates/js/translated/stock.js:899 msgid "Delete test result" msgstr "" -#: templates/js/translated/part.js:1511 +#: templates/js/translated/part.js:1692 msgid "This test is defined for a parent part" msgstr "" -#: templates/js/translated/part.js:1533 +#: templates/js/translated/part.js:1714 msgid "Edit Test Result Template" msgstr "" -#: templates/js/translated/part.js:1547 +#: templates/js/translated/part.js:1728 msgid "Delete Test Result Template" msgstr "" -#: templates/js/translated/part.js:1572 +#: templates/js/translated/part.js:1753 #, python-brace-format msgid "No ${human_name} information found" msgstr "" -#: templates/js/translated/part.js:1627 +#: templates/js/translated/part.js:1808 #, python-brace-format msgid "Edit ${human_name}" msgstr "" -#: templates/js/translated/part.js:1628 +#: templates/js/translated/part.js:1809 #, python-brace-format msgid "Delete ${human_name}" msgstr "" -#: templates/js/translated/part.js:1729 +#: templates/js/translated/part.js:1910 msgid "Single Price" msgstr "" -#: templates/js/translated/part.js:1748 +#: templates/js/translated/part.js:1929 msgid "Single Price Difference" msgstr "" @@ -7930,276 +7964,300 @@ msgstr "" msgid "Sales Order(s) must be selected before printing report" msgstr "" -#: templates/js/translated/stock.js:70 +#: templates/js/translated/stock.js:71 msgid "Serialize Stock Item" msgstr "" -#: templates/js/translated/stock.js:88 templates/js/translated/stock.js:167 +#: templates/js/translated/stock.js:89 templates/js/translated/stock.js:168 msgid "Next available serial number" msgstr "" -#: templates/js/translated/stock.js:90 templates/js/translated/stock.js:169 +#: templates/js/translated/stock.js:91 templates/js/translated/stock.js:170 msgid "Latest serial number" msgstr "" -#: templates/js/translated/stock.js:104 +#: templates/js/translated/stock.js:105 msgid "Parent stock location" msgstr "" -#: templates/js/translated/stock.js:140 +#: templates/js/translated/stock.js:141 msgid "New Stock Location" msgstr "" -#: templates/js/translated/stock.js:180 +#: templates/js/translated/stock.js:181 msgid "This part cannot be serialized" msgstr "" -#: templates/js/translated/stock.js:219 +#: templates/js/translated/stock.js:220 msgid "Enter initial quantity for this stock item" msgstr "" -#: templates/js/translated/stock.js:225 +#: templates/js/translated/stock.js:226 msgid "Enter serial numbers for new stock (or leave blank)" msgstr "" -#: templates/js/translated/stock.js:368 +#: templates/js/translated/stock.js:369 msgid "Created new stock item" msgstr "" -#: templates/js/translated/stock.js:381 +#: templates/js/translated/stock.js:382 msgid "Created multiple stock items" msgstr "" -#: templates/js/translated/stock.js:420 +#: templates/js/translated/stock.js:407 +msgid "Find Serial Number" +msgstr "" + +#: templates/js/translated/stock.js:411 templates/js/translated/stock.js:412 +msgid "Enter serial number" +msgstr "" + +#: templates/js/translated/stock.js:428 +msgid "Enter a serial number" +msgstr "" + +#: templates/js/translated/stock.js:448 +msgid "No matching serial number" +msgstr "" + +#: templates/js/translated/stock.js:457 +msgid "More than one matching result found" +msgstr "" + +#: templates/js/translated/stock.js:502 msgid "Export Stock" msgstr "" -#: templates/js/translated/stock.js:431 +#: templates/js/translated/stock.js:513 msgid "Include Sublocations" msgstr "" -#: templates/js/translated/stock.js:432 +#: templates/js/translated/stock.js:514 msgid "Include stock items in sublocations" msgstr "" -#: templates/js/translated/stock.js:474 +#: templates/js/translated/stock.js:556 msgid "Transfer Stock" msgstr "" -#: templates/js/translated/stock.js:475 +#: templates/js/translated/stock.js:557 msgid "Move" msgstr "" -#: templates/js/translated/stock.js:481 +#: templates/js/translated/stock.js:563 msgid "Count Stock" msgstr "" -#: templates/js/translated/stock.js:482 +#: templates/js/translated/stock.js:564 msgid "Count" msgstr "" -#: templates/js/translated/stock.js:486 +#: templates/js/translated/stock.js:568 msgid "Remove Stock" msgstr "" -#: templates/js/translated/stock.js:487 +#: templates/js/translated/stock.js:569 msgid "Take" msgstr "" -#: templates/js/translated/stock.js:491 +#: templates/js/translated/stock.js:573 msgid "Add Stock" msgstr "" -#: templates/js/translated/stock.js:492 users/models.py:200 +#: templates/js/translated/stock.js:574 users/models.py:200 msgid "Add" msgstr "" -#: templates/js/translated/stock.js:496 templates/stock_table.html:56 +#: templates/js/translated/stock.js:578 templates/stock_table.html:56 msgid "Delete Stock" msgstr "" -#: templates/js/translated/stock.js:585 +#: templates/js/translated/stock.js:667 msgid "Quantity cannot be adjusted for serialized stock" msgstr "" -#: templates/js/translated/stock.js:585 +#: templates/js/translated/stock.js:667 msgid "Specify stock quantity" msgstr "" -#: templates/js/translated/stock.js:625 +#: templates/js/translated/stock.js:707 msgid "You must select at least one available stock item" msgstr "" -#: templates/js/translated/stock.js:783 +#: templates/js/translated/stock.js:865 msgid "PASS" msgstr "" -#: templates/js/translated/stock.js:785 +#: templates/js/translated/stock.js:867 msgid "FAIL" msgstr "" -#: templates/js/translated/stock.js:790 +#: templates/js/translated/stock.js:872 msgid "NO RESULT" msgstr "" -#: templates/js/translated/stock.js:812 +#: templates/js/translated/stock.js:894 msgid "Add test result" msgstr "" -#: templates/js/translated/stock.js:838 +#: templates/js/translated/stock.js:920 msgid "No test results found" msgstr "" -#: templates/js/translated/stock.js:895 +#: templates/js/translated/stock.js:977 msgid "Test Date" msgstr "" -#: templates/js/translated/stock.js:1002 +#: templates/js/translated/stock.js:1084 msgid "In production" msgstr "" -#: templates/js/translated/stock.js:1006 +#: templates/js/translated/stock.js:1088 msgid "Installed in Stock Item" msgstr "" -#: templates/js/translated/stock.js:1010 +#: templates/js/translated/stock.js:1092 msgid "Shipped to customer" msgstr "" -#: templates/js/translated/stock.js:1014 +#: templates/js/translated/stock.js:1096 msgid "Assigned to Sales Order" msgstr "" -#: templates/js/translated/stock.js:1020 +#: templates/js/translated/stock.js:1102 msgid "No stock location set" msgstr "" -#: templates/js/translated/stock.js:1178 +#: templates/js/translated/stock.js:1260 msgid "Stock item is in production" msgstr "" -#: templates/js/translated/stock.js:1183 +#: templates/js/translated/stock.js:1265 msgid "Stock item assigned to sales order" msgstr "" -#: templates/js/translated/stock.js:1186 +#: templates/js/translated/stock.js:1268 msgid "Stock item assigned to customer" msgstr "" -#: templates/js/translated/stock.js:1190 +#: templates/js/translated/stock.js:1272 msgid "Stock item has expired" msgstr "" -#: templates/js/translated/stock.js:1192 +#: templates/js/translated/stock.js:1274 msgid "Stock item will expire soon" msgstr "" -#: templates/js/translated/stock.js:1196 +#: templates/js/translated/stock.js:1278 msgid "Stock item has been allocated" msgstr "" -#: templates/js/translated/stock.js:1200 +#: templates/js/translated/stock.js:1282 msgid "Stock item has been installed in another item" msgstr "" -#: templates/js/translated/stock.js:1207 +#: templates/js/translated/stock.js:1289 msgid "Stock item has been rejected" msgstr "" -#: templates/js/translated/stock.js:1209 +#: templates/js/translated/stock.js:1291 msgid "Stock item is lost" msgstr "" -#: templates/js/translated/stock.js:1211 +#: templates/js/translated/stock.js:1293 msgid "Stock item is destroyed" msgstr "" -#: templates/js/translated/stock.js:1215 +#: templates/js/translated/stock.js:1297 #: templates/js/translated/table_filters.js:183 msgid "Depleted" msgstr "" -#: templates/js/translated/stock.js:1265 +#: templates/js/translated/stock.js:1347 msgid "Stocktake" msgstr "" -#: templates/js/translated/stock.js:1338 +#: templates/js/translated/stock.js:1420 msgid "Supplier part not specified" msgstr "" -#: templates/js/translated/stock.js:1376 +#: templates/js/translated/stock.js:1458 msgid "No stock items matching query" msgstr "" -#: templates/js/translated/stock.js:1397 templates/js/translated/stock.js:1445 +#: templates/js/translated/stock.js:1479 templates/js/translated/stock.js:1527 msgid "items" msgstr "" -#: templates/js/translated/stock.js:1485 +#: templates/js/translated/stock.js:1567 msgid "batches" msgstr "" -#: templates/js/translated/stock.js:1512 +#: templates/js/translated/stock.js:1594 msgid "locations" msgstr "" -#: templates/js/translated/stock.js:1514 +#: templates/js/translated/stock.js:1596 msgid "Undefined location" msgstr "" -#: templates/js/translated/stock.js:1688 +#: templates/js/translated/stock.js:1770 msgid "Set Stock Status" msgstr "" -#: templates/js/translated/stock.js:1702 +#: templates/js/translated/stock.js:1784 msgid "Select Status Code" msgstr "" -#: templates/js/translated/stock.js:1703 +#: templates/js/translated/stock.js:1785 msgid "Status code must be selected" msgstr "" -#: templates/js/translated/stock.js:1927 +#: templates/js/translated/stock.js:2009 msgid "Invalid date" msgstr "" -#: templates/js/translated/stock.js:1974 +#: templates/js/translated/stock.js:2031 +msgid "Details" +msgstr "" + +#: templates/js/translated/stock.js:2056 msgid "Location no longer exists" msgstr "" -#: templates/js/translated/stock.js:1993 +#: templates/js/translated/stock.js:2075 msgid "Purchase order no longer exists" msgstr "" -#: templates/js/translated/stock.js:2012 +#: templates/js/translated/stock.js:2094 msgid "Customer no longer exists" msgstr "" -#: templates/js/translated/stock.js:2030 +#: templates/js/translated/stock.js:2112 msgid "Stock item no longer exists" msgstr "" -#: templates/js/translated/stock.js:2053 +#: templates/js/translated/stock.js:2135 msgid "Added" msgstr "" -#: templates/js/translated/stock.js:2061 +#: templates/js/translated/stock.js:2143 msgid "Removed" msgstr "" -#: templates/js/translated/stock.js:2102 +#: templates/js/translated/stock.js:2184 msgid "Edit tracking entry" msgstr "" -#: templates/js/translated/stock.js:2103 +#: templates/js/translated/stock.js:2185 msgid "Delete tracking entry" msgstr "" -#: templates/js/translated/stock.js:2154 +#: templates/js/translated/stock.js:2236 msgid "No installed items" msgstr "" -#: templates/js/translated/stock.js:2205 +#: templates/js/translated/stock.js:2287 msgid "Uninstall Stock Item" msgstr "" diff --git a/InvenTree/locale/sv/LC_MESSAGES/django.po b/InvenTree/locale/sv/LC_MESSAGES/django.po index 02e5fa5928..0902728d5f 100644 --- a/InvenTree/locale/sv/LC_MESSAGES/django.po +++ b/InvenTree/locale/sv/LC_MESSAGES/django.po @@ -2,8 +2,8 @@ msgid "" msgstr "" "Project-Id-Version: inventree\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2021-11-30 21:49+0000\n" -"PO-Revision-Date: 2021-11-30 21:51\n" +"POT-Creation-Date: 2021-12-03 10:37+0000\n" +"PO-Revision-Date: 2021-12-03 11:25\n" "Last-Translator: \n" "Language-Team: Swedish\n" "Language: sv_SE\n" @@ -114,129 +114,130 @@ msgstr "Inga serienummer hittades" msgid "Number of unique serial number ({s}) must match quantity ({q})" msgstr "" -#: InvenTree/models.py:114 +#: InvenTree/models.py:120 msgid "Missing file" msgstr "" -#: InvenTree/models.py:115 +#: InvenTree/models.py:121 msgid "Missing external link" msgstr "" -#: InvenTree/models.py:126 stock/models.py:1874 +#: InvenTree/models.py:132 stock/models.py:1864 #: templates/js/translated/attachment.js:117 msgid "Attachment" msgstr "Bilaga" -#: InvenTree/models.py:127 +#: InvenTree/models.py:133 msgid "Select file to attach" msgstr "Välj fil att bifoga" -#: InvenTree/models.py:133 company/models.py:131 company/models.py:348 +#: InvenTree/models.py:139 company/models.py:131 company/models.py:348 #: company/models.py:564 order/models.py:163 part/models.py:797 #: report/templates/report/inventree_build_order_base.html:165 #: templates/js/translated/company.js:537 -#: templates/js/translated/company.js:826 templates/js/translated/part.js:1077 +#: templates/js/translated/company.js:826 templates/js/translated/part.js:1258 msgid "Link" msgstr "" -#: InvenTree/models.py:134 build/models.py:330 part/models.py:798 -#: stock/models.py:540 +#: InvenTree/models.py:140 build/models.py:330 part/models.py:798 +#: stock/models.py:530 msgid "Link to external URL" msgstr "" -#: InvenTree/models.py:137 templates/js/translated/attachment.js:161 +#: InvenTree/models.py:143 templates/js/translated/attachment.js:161 msgid "Comment" msgstr "Kommentar" -#: InvenTree/models.py:137 +#: InvenTree/models.py:143 msgid "File comment" msgstr "Fil kommentar" -#: InvenTree/models.py:143 InvenTree/models.py:144 common/models.py:1185 +#: InvenTree/models.py:149 InvenTree/models.py:150 common/models.py:1185 #: common/models.py:1186 part/models.py:2205 part/models.py:2225 #: report/templates/report/inventree_test_report_base.html:96 -#: templates/js/translated/stock.js:2084 +#: templates/js/translated/stock.js:2166 msgid "User" msgstr "Användare" -#: InvenTree/models.py:147 +#: InvenTree/models.py:153 msgid "upload date" msgstr "uppladdningsdatum" -#: InvenTree/models.py:170 +#: InvenTree/models.py:176 msgid "Filename must not be empty" msgstr "Filnamnet får inte vara tomt" -#: InvenTree/models.py:193 +#: InvenTree/models.py:199 msgid "Invalid attachment directory" msgstr "Ogiltig katalog för bilaga" -#: InvenTree/models.py:203 +#: InvenTree/models.py:209 #, python-brace-format msgid "Filename contains illegal character '{c}'" msgstr "Filnamnet innehåller ogiltiga tecken '{c}'" -#: InvenTree/models.py:206 +#: InvenTree/models.py:212 msgid "Filename missing extension" msgstr "Filnamn saknar ändelse" -#: InvenTree/models.py:213 +#: InvenTree/models.py:219 msgid "Attachment with this filename already exists" msgstr "Det finns redan en bilaga med detta filnamn" -#: InvenTree/models.py:220 +#: InvenTree/models.py:226 msgid "Error renaming file" msgstr "Fel vid namnbyte av fil" -#: InvenTree/models.py:255 +#: InvenTree/models.py:261 msgid "Invalid choice" msgstr "Ogiltigt val" -#: InvenTree/models.py:271 InvenTree/models.py:272 company/models.py:415 +#: InvenTree/models.py:277 InvenTree/models.py:278 company/models.py:415 #: label/models.py:112 part/models.py:741 part/models.py:2389 -#: part/templates/part/detail.html:25 report/models.py:181 -#: templates/InvenTree/settings/settings.html:259 -#: templates/js/translated/company.js:638 templates/js/translated/part.js:499 -#: templates/js/translated/part.js:636 templates/js/translated/part.js:1384 -#: templates/js/translated/stock.js:1877 +#: report/models.py:181 templates/InvenTree/settings/settings.html:259 +#: templates/js/translated/company.js:638 templates/js/translated/part.js:506 +#: templates/js/translated/part.js:643 templates/js/translated/part.js:1565 +#: templates/js/translated/stock.js:1959 msgid "Name" msgstr "Namn" -#: InvenTree/models.py:278 build/models.py:207 +#: InvenTree/models.py:284 build/models.py:207 #: build/templates/build/detail.html:25 company/models.py:354 -#: company/models.py:570 company/templates/company/manufacturer_part.html:80 -#: company/templates/company/supplier_part.html:81 label/models.py:119 -#: order/models.py:161 part/models.py:764 part/templates/part/detail.html:30 +#: company/models.py:570 company/templates/company/company_base.html:68 +#: company/templates/company/manufacturer_part.html:76 +#: company/templates/company/supplier_part.html:73 label/models.py:119 +#: order/models.py:161 part/models.py:764 part/templates/part/category.html:70 +#: part/templates/part/part_base.html:163 #: part/templates/part/set_category.html:14 report/models.py:194 #: report/models.py:553 report/models.py:592 #: report/templates/report/inventree_build_order_base.html:118 -#: stock/templates/stock/location.html:108 templates/js/translated/bom.js:215 +#: stock/templates/stock/location.html:89 templates/js/translated/bom.js:215 #: templates/js/translated/bom.js:428 templates/js/translated/build.js:1621 #: templates/js/translated/company.js:345 #: templates/js/translated/company.js:548 -#: templates/js/translated/company.js:837 templates/js/translated/order.js:673 -#: templates/js/translated/order.js:855 templates/js/translated/order.js:1091 -#: templates/js/translated/part.js:558 templates/js/translated/part.js:752 -#: templates/js/translated/part.js:837 templates/js/translated/part.js:1007 -#: templates/js/translated/part.js:1403 templates/js/translated/part.js:1472 -#: templates/js/translated/stock.js:1151 templates/js/translated/stock.js:1889 -#: templates/js/translated/stock.js:1934 +#: templates/js/translated/company.js:837 templates/js/translated/order.js:680 +#: templates/js/translated/order.js:854 templates/js/translated/order.js:1090 +#: templates/js/translated/part.js:565 templates/js/translated/part.js:933 +#: templates/js/translated/part.js:1018 templates/js/translated/part.js:1188 +#: templates/js/translated/part.js:1584 templates/js/translated/part.js:1653 +#: templates/js/translated/stock.js:1233 templates/js/translated/stock.js:1971 +#: templates/js/translated/stock.js:2016 msgid "Description" msgstr "Beskrivning" -#: InvenTree/models.py:279 +#: InvenTree/models.py:285 msgid "Description (optional)" msgstr "Beskrivning (valfritt)" -#: InvenTree/models.py:287 +#: InvenTree/models.py:293 msgid "parent" msgstr "överordnad" -#: InvenTree/serializers.py:62 part/models.py:2674 +#: InvenTree/serializers.py:65 part/models.py:2674 msgid "Must be a valid number" msgstr "Måste vara ett giltigt nummer" -#: InvenTree/serializers.py:285 +#: InvenTree/serializers.py:299 msgid "Filename" msgstr "Filnamn" @@ -361,7 +362,7 @@ msgid "Returned" msgstr "Återlämnad" #: InvenTree/status_codes.py:143 -#: order/templates/order/sales_order_base.html:147 +#: order/templates/order/sales_order_base.html:148 msgid "Shipped" msgstr "Skickad" @@ -566,7 +567,7 @@ msgid "Barcode associated with StockItem" msgstr "" #: build/forms.py:36 build/models.py:1283 -#: build/templates/build/build_base.html:124 +#: build/templates/build/build_base.html:132 #: build/templates/build/detail.html:35 common/models.py:1225 #: company/forms.py:42 company/templates/company/supplier_part.html:251 #: order/forms.py:102 order/models.py:729 order/models.py:991 @@ -574,26 +575,27 @@ msgstr "" #: order/templates/order/order_wizard/select_parts.html:34 part/forms.py:223 #: part/forms.py:239 part/forms.py:255 part/models.py:2576 #: part/templates/part/bom_upload/match_parts.html:31 -#: part/templates/part/detail.html:1076 part/templates/part/detail.html:1162 +#: part/templates/part/detail.html:967 part/templates/part/detail.html:1053 #: part/templates/part/part_pricing.html:16 #: report/templates/report/inventree_build_order_base.html:114 #: report/templates/report/inventree_po_report.html:91 #: report/templates/report/inventree_so_report.html:91 #: report/templates/report/inventree_test_report_base.html:81 #: report/templates/report/inventree_test_report_base.html:139 -#: stock/forms.py:156 stock/serializers.py:286 -#: stock/templates/stock/item_base.html:256 +#: stock/forms.py:156 stock/serializers.py:291 +#: stock/templates/stock/item_base.html:174 #: templates/js/translated/barcode.js:385 templates/js/translated/bom.js:443 #: templates/js/translated/build.js:235 templates/js/translated/build.js:435 #: templates/js/translated/build.js:629 templates/js/translated/build.js:639 #: templates/js/translated/build.js:1015 templates/js/translated/build.js:1362 #: templates/js/translated/model_renderers.js:99 -#: templates/js/translated/order.js:892 templates/js/translated/order.js:1205 -#: templates/js/translated/order.js:1283 templates/js/translated/order.js:1290 -#: templates/js/translated/order.js:1379 templates/js/translated/order.js:1479 -#: templates/js/translated/part.js:1615 templates/js/translated/part.js:1738 -#: templates/js/translated/part.js:1816 templates/js/translated/stock.js:377 -#: templates/js/translated/stock.js:2069 templates/js/translated/stock.js:2171 +#: templates/js/translated/order.js:891 templates/js/translated/order.js:1204 +#: templates/js/translated/order.js:1282 templates/js/translated/order.js:1289 +#: templates/js/translated/order.js:1378 templates/js/translated/order.js:1478 +#: templates/js/translated/part.js:843 templates/js/translated/part.js:1796 +#: templates/js/translated/part.js:1919 templates/js/translated/part.js:1997 +#: templates/js/translated/stock.js:378 templates/js/translated/stock.js:2151 +#: templates/js/translated/stock.js:2253 msgid "Quantity" msgstr "" @@ -602,8 +604,8 @@ msgid "Enter quantity for build output" msgstr "" #: build/forms.py:41 order/forms.py:96 stock/forms.py:95 -#: stock/serializers.py:307 templates/js/translated/stock.js:224 -#: templates/js/translated/stock.js:378 +#: stock/serializers.py:312 templates/js/translated/stock.js:225 +#: templates/js/translated/stock.js:379 msgid "Serial Numbers" msgstr "" @@ -646,7 +648,7 @@ msgstr "" #: build/templates/build/index.html:8 build/templates/build/index.html:12 #: order/templates/order/sales_order_detail.html:42 #: order/templates/order/so_sidebar.html:7 -#: part/templates/part/part_sidebar.html:22 templates/InvenTree/index.html:221 +#: part/templates/part/part_sidebar.html:20 templates/InvenTree/index.html:221 #: templates/InvenTree/search.html:145 #: templates/InvenTree/settings/sidebar.html:42 users/models.py:44 msgid "Build Orders" @@ -662,7 +664,7 @@ msgstr "" #: report/templates/report/inventree_po_report.html:92 #: report/templates/report/inventree_so_report.html:92 #: templates/js/translated/bom.js:435 templates/js/translated/build.js:1119 -#: templates/js/translated/order.js:886 templates/js/translated/order.js:1473 +#: templates/js/translated/order.js:885 templates/js/translated/order.js:1472 msgid "Reference" msgstr "" @@ -670,7 +672,7 @@ msgstr "" msgid "Brief description of the build" msgstr "" -#: build/models.py:219 build/templates/build/build_base.html:156 +#: build/models.py:219 build/templates/build/build_base.html:164 #: build/templates/build/detail.html:88 msgid "Parent Build" msgstr "" @@ -679,7 +681,7 @@ msgstr "" msgid "BuildOrder to which this build is allocated" msgstr "" -#: build/models.py:225 build/templates/build/build_base.html:119 +#: build/models.py:225 build/templates/build/build_base.html:77 #: build/templates/build/detail.html:30 company/models.py:705 #: order/models.py:789 order/models.py:860 #: order/templates/order/order_wizard/select_parts.html:32 part/models.py:357 @@ -700,10 +702,10 @@ msgstr "" #: templates/js/translated/build.js:988 templates/js/translated/build.js:1359 #: templates/js/translated/build.js:1626 templates/js/translated/company.js:489 #: templates/js/translated/company.js:746 templates/js/translated/order.js:426 -#: templates/js/translated/order.js:840 templates/js/translated/order.js:1457 -#: templates/js/translated/part.js:737 templates/js/translated/part.js:818 -#: templates/js/translated/part.js:985 templates/js/translated/stock.js:508 -#: templates/js/translated/stock.js:1108 templates/js/translated/stock.js:2159 +#: templates/js/translated/order.js:839 templates/js/translated/order.js:1456 +#: templates/js/translated/part.js:918 templates/js/translated/part.js:999 +#: templates/js/translated/part.js:1166 templates/js/translated/stock.js:590 +#: templates/js/translated/stock.js:1190 templates/js/translated/stock.js:2241 msgid "Part" msgstr "" @@ -751,7 +753,7 @@ msgstr "" msgid "Number of stock items which have been completed" msgstr "" -#: build/models.py:277 part/templates/part/part_base.html:216 +#: build/models.py:277 part/templates/part/part_base.html:234 msgid "Build Status" msgstr "" @@ -759,7 +761,7 @@ msgstr "" msgid "Build status code" msgstr "" -#: build/models.py:285 stock/models.py:544 +#: build/models.py:285 stock/models.py:534 msgid "Batch Code" msgstr "" @@ -768,7 +770,7 @@ msgid "Batch code for this build output" msgstr "" #: build/models.py:292 order/models.py:165 part/models.py:936 -#: part/templates/part/detail.html:86 templates/js/translated/order.js:1104 +#: part/templates/part/part_base.html:313 templates/js/translated/order.js:1103 msgid "Creation Date" msgstr "" @@ -797,12 +799,12 @@ msgstr "" msgid "User who issued this build order" msgstr "" -#: build/models.py:323 build/templates/build/build_base.html:177 +#: build/models.py:323 build/templates/build/build_base.html:185 #: build/templates/build/detail.html:116 order/models.py:179 -#: order/templates/order/order_base.html:154 -#: order/templates/order/sales_order_base.html:161 part/models.py:940 +#: order/templates/order/order_base.html:158 +#: order/templates/order/sales_order_base.html:162 part/models.py:940 #: report/templates/report/inventree_build_order_base.html:159 -#: templates/js/translated/build.js:1680 templates/js/translated/order.js:700 +#: templates/js/translated/build.js:1680 templates/js/translated/order.js:699 msgid "Responsible" msgstr "" @@ -811,10 +813,10 @@ msgid "User responsible for this build order" msgstr "" #: build/models.py:329 build/templates/build/detail.html:102 -#: company/templates/company/manufacturer_part.html:87 -#: company/templates/company/supplier_part.html:88 -#: part/templates/part/detail.html:80 stock/models.py:538 -#: stock/templates/stock/item_base.html:346 +#: company/templates/company/manufacturer_part.html:102 +#: company/templates/company/supplier_part.html:126 +#: part/templates/part/part_base.html:354 stock/models.py:528 +#: stock/templates/stock/item_base.html:374 msgid "External Link" msgstr "" @@ -824,15 +826,15 @@ msgstr "" #: order/models.py:183 order/models.py:738 #: order/templates/order/po_sidebar.html:11 #: order/templates/order/so_sidebar.html:11 part/models.py:925 -#: part/templates/part/detail.html:223 part/templates/part/part_sidebar.html:52 +#: part/templates/part/detail.html:116 part/templates/part/part_sidebar.html:50 #: report/templates/report/inventree_build_order_base.html:173 -#: stock/forms.py:154 stock/forms.py:204 stock/forms.py:238 stock/models.py:610 -#: stock/models.py:1774 stock/models.py:1880 stock/serializers.py:325 -#: stock/serializers.py:583 stock/templates/stock/stock_sidebar.html:21 +#: stock/forms.py:154 stock/forms.py:204 stock/forms.py:238 stock/models.py:600 +#: stock/models.py:1764 stock/models.py:1870 stock/serializers.py:330 +#: stock/serializers.py:588 stock/templates/stock/stock_sidebar.html:21 #: templates/js/translated/barcode.js:58 templates/js/translated/bom.js:599 -#: templates/js/translated/company.js:842 templates/js/translated/order.js:985 -#: templates/js/translated/order.js:1583 templates/js/translated/stock.js:891 -#: templates/js/translated/stock.js:1370 +#: templates/js/translated/company.js:842 templates/js/translated/order.js:984 +#: templates/js/translated/order.js:1582 templates/js/translated/stock.js:973 +#: templates/js/translated/stock.js:1452 msgid "Notes" msgstr "" @@ -877,7 +879,7 @@ msgstr "" msgid "Selected stock item not found in BOM" msgstr "" -#: build/models.py:1253 stock/templates/stock/item_base.html:318 +#: build/models.py:1253 stock/templates/stock/item_base.html:346 #: templates/InvenTree/search.html:143 templates/js/translated/build.js:1599 #: templates/navbar.html:33 msgid "Build" @@ -890,11 +892,11 @@ msgstr "" #: build/models.py:1270 build/serializers.py:328 #: stock/templates/stock/item_base.html:8 #: stock/templates/stock/item_base.html:16 -#: stock/templates/stock/item_base.html:340 +#: stock/templates/stock/item_base.html:368 #: templates/js/translated/build.js:408 templates/js/translated/build.js:413 #: templates/js/translated/build.js:1361 templates/js/translated/build.js:1742 -#: templates/js/translated/order.js:1178 templates/js/translated/order.js:1183 -#: templates/js/translated/stock.js:2020 +#: templates/js/translated/order.js:1177 templates/js/translated/order.js:1182 +#: templates/js/translated/stock.js:2102 msgid "Stock Item" msgstr "" @@ -934,16 +936,16 @@ msgstr "" msgid "This build output is not fully allocated" msgstr "" -#: build/serializers.py:190 order/serializers.py:219 order/serializers.py:287 -#: stock/forms.py:236 stock/serializers.py:318 stock/serializers.py:685 -#: stock/templates/stock/item_base.html:286 +#: build/serializers.py:190 order/serializers.py:228 order/serializers.py:296 +#: stock/forms.py:236 stock/serializers.py:323 stock/serializers.py:690 +#: stock/templates/stock/item_base.html:314 #: templates/js/translated/barcode.js:384 #: templates/js/translated/barcode.js:557 templates/js/translated/build.js:420 #: templates/js/translated/build.js:1027 templates/js/translated/order.js:348 -#: templates/js/translated/order.js:1190 templates/js/translated/order.js:1298 -#: templates/js/translated/order.js:1304 templates/js/translated/part.js:181 -#: templates/js/translated/stock.js:510 templates/js/translated/stock.js:1251 -#: templates/js/translated/stock.js:1961 +#: templates/js/translated/order.js:1189 templates/js/translated/order.js:1297 +#: templates/js/translated/order.js:1303 templates/js/translated/part.js:177 +#: templates/js/translated/stock.js:592 templates/js/translated/stock.js:1333 +#: templates/js/translated/stock.js:2043 msgid "Location" msgstr "" @@ -951,13 +953,13 @@ msgstr "" msgid "Location for completed build outputs" msgstr "" -#: build/serializers.py:197 build/templates/build/build_base.html:129 +#: build/serializers.py:197 build/templates/build/build_base.html:137 #: build/templates/build/detail.html:63 order/models.py:572 -#: order/serializers.py:240 stock/templates/stock/item_base.html:409 +#: order/serializers.py:249 stock/templates/stock/item_base.html:180 #: templates/js/translated/barcode.js:140 templates/js/translated/build.js:1655 -#: templates/js/translated/order.js:431 templates/js/translated/order.js:677 -#: templates/js/translated/order.js:1096 templates/js/translated/stock.js:1226 -#: templates/js/translated/stock.js:2038 templates/js/translated/stock.js:2187 +#: templates/js/translated/order.js:431 templates/js/translated/order.js:1095 +#: templates/js/translated/stock.js:1308 templates/js/translated/stock.js:2120 +#: templates/js/translated/stock.js:2269 msgid "Status" msgstr "" @@ -986,8 +988,8 @@ msgstr "" msgid "Item must be in stock" msgstr "" -#: build/serializers.py:348 order/models.py:316 order/serializers.py:233 -#: stock/models.py:381 stock/models.py:1103 stock/serializers.py:298 +#: build/serializers.py:348 order/models.py:316 order/serializers.py:242 +#: stock/models.py:371 stock/models.py:1093 stock/serializers.py:303 msgid "Quantity must be greater than zero" msgstr "" @@ -1031,7 +1033,7 @@ msgid "Edit Build" msgstr "" #: build/templates/build/build_base.html:56 -#: build/templates/build/build_base.html:207 build/views.py:56 +#: build/templates/build/build_base.html:215 build/views.py:56 msgid "Cancel Build" msgstr "" @@ -1041,93 +1043,95 @@ msgstr "" #: build/templates/build/build_base.html:64 #: build/templates/build/build_base.html:65 -#: build/templates/build/build_base.html:223 +#: build/templates/build/build_base.html:231 msgid "Complete Build" msgstr "" -#: build/templates/build/build_base.html:79 +#: build/templates/build/build_base.html:82 +msgid "Build Description" +msgstr "" + +#: build/templates/build/build_base.html:91 #, python-format msgid "This Build Order is allocated to Sales Order %(link)s" msgstr "" -#: build/templates/build/build_base.html:86 +#: build/templates/build/build_base.html:98 #, python-format msgid "This Build Order is a child of Build Order %(link)s" msgstr "" -#: build/templates/build/build_base.html:93 +#: build/templates/build/build_base.html:105 msgid "Build Order is ready to mark as completed" msgstr "" -#: build/templates/build/build_base.html:98 +#: build/templates/build/build_base.html:110 msgid "Build Order cannot be completed as outstanding outputs remain" msgstr "" -#: build/templates/build/build_base.html:103 +#: build/templates/build/build_base.html:115 msgid "Required build quantity has not yet been completed" msgstr "" -#: build/templates/build/build_base.html:108 +#: build/templates/build/build_base.html:120 msgid "Stock has not been fully allocated to this Build Order" msgstr "" -#: build/templates/build/build_base.html:138 +#: build/templates/build/build_base.html:146 #: build/templates/build/detail.html:132 -#: order/templates/order/order_base.html:140 -#: order/templates/order/sales_order_base.html:140 +#: order/templates/order/order_base.html:144 +#: order/templates/order/sales_order_base.html:141 #: report/templates/report/inventree_build_order_base.html:126 -#: templates/js/translated/build.js:1692 templates/js/translated/order.js:690 -#: templates/js/translated/order.js:1109 +#: templates/js/translated/build.js:1692 templates/js/translated/order.js:689 +#: templates/js/translated/order.js:1108 msgid "Target Date" msgstr "" -#: build/templates/build/build_base.html:143 +#: build/templates/build/build_base.html:151 #, python-format msgid "This build was due on %(target)s" msgstr "" -#: build/templates/build/build_base.html:143 -#: build/templates/build/build_base.html:188 -#: order/templates/order/order_base.html:81 -#: order/templates/order/order_base.html:102 -#: order/templates/order/sales_order_base.html:78 -#: order/templates/order/sales_order_base.html:107 +#: build/templates/build/build_base.html:151 +#: build/templates/build/build_base.html:196 +#: order/templates/order/order_base.html:98 +#: order/templates/order/sales_order_base.html:93 #: templates/js/translated/table_filters.js:294 #: templates/js/translated/table_filters.js:322 #: templates/js/translated/table_filters.js:339 msgid "Overdue" msgstr "" -#: build/templates/build/build_base.html:150 +#: build/templates/build/build_base.html:158 #: build/templates/build/detail.html:68 build/templates/build/detail.html:143 #: templates/js/translated/build.js:1641 #: templates/js/translated/table_filters.js:304 msgid "Completed" msgstr "" -#: build/templates/build/build_base.html:163 +#: build/templates/build/build_base.html:171 #: build/templates/build/detail.html:95 order/models.py:857 #: order/templates/order/sales_order_base.html:9 #: order/templates/order/sales_order_base.html:28 #: order/templates/order/sales_order_ship.html:25 #: report/templates/report/inventree_build_order_base.html:136 #: report/templates/report/inventree_so_report.html:77 -#: stock/templates/stock/item_base.html:280 -#: templates/js/translated/order.js:1051 +#: stock/templates/stock/item_base.html:308 +#: templates/js/translated/order.js:1050 msgid "Sales Order" msgstr "" -#: build/templates/build/build_base.html:170 +#: build/templates/build/build_base.html:178 #: build/templates/build/detail.html:109 #: report/templates/report/inventree_build_order_base.html:153 msgid "Issued By" msgstr "" -#: build/templates/build/build_base.html:215 +#: build/templates/build/build_base.html:223 msgid "Incomplete Outputs" msgstr "" -#: build/templates/build/build_base.html:216 +#: build/templates/build/build_base.html:224 msgid "Build Order cannot be completed as incomplete build outputs remain" msgstr "" @@ -1188,7 +1192,7 @@ msgid "Stock can be taken from any available location." msgstr "" #: build/templates/build/detail.html:50 order/models.py:811 stock/forms.py:150 -#: templates/js/translated/order.js:432 templates/js/translated/order.js:974 +#: templates/js/translated/order.js:432 templates/js/translated/order.js:973 msgid "Destination" msgstr "" @@ -1201,16 +1205,16 @@ msgid "Allocated Parts" msgstr "" #: build/templates/build/detail.html:81 -#: stock/templates/stock/item_base.html:304 -#: templates/js/translated/stock.js:1240 templates/js/translated/stock.js:2194 +#: stock/templates/stock/item_base.html:332 +#: templates/js/translated/stock.js:1322 templates/js/translated/stock.js:2276 #: templates/js/translated/table_filters.js:151 #: templates/js/translated/table_filters.js:233 msgid "Batch" msgstr "" #: build/templates/build/detail.html:127 -#: order/templates/order/order_base.html:127 -#: order/templates/order/sales_order_base.html:134 +#: order/templates/order/order_base.html:131 +#: order/templates/order/sales_order_base.html:135 #: templates/js/translated/build.js:1663 msgid "Created" msgstr "" @@ -1254,7 +1258,7 @@ msgstr "" #: build/templates/build/detail.html:185 #: company/templates/company/detail.html:38 #: company/templates/company/detail.html:85 order/views.py:509 -#: part/templates/part/category.html:166 +#: part/templates/part/category.html:173 msgid "Order Parts" msgstr "" @@ -1306,8 +1310,8 @@ msgstr "" #: order/templates/order/po_sidebar.html:9 #: order/templates/order/purchase_order_detail.html:60 #: order/templates/order/sales_order_detail.html:52 -#: order/templates/order/so_sidebar.html:9 part/templates/part/detail.html:300 -#: part/templates/part/part_sidebar.html:50 stock/templates/stock/item.html:95 +#: order/templates/order/so_sidebar.html:9 part/templates/part/detail.html:193 +#: part/templates/part/part_sidebar.html:48 stock/templates/stock/item.html:95 #: stock/templates/stock/stock_sidebar.html:19 msgid "Attachments" msgstr "" @@ -1323,7 +1327,7 @@ msgstr "" #: order/templates/order/purchase_order_detail.html:108 #: order/templates/order/sales_order_detail.html:72 #: order/templates/order/sales_order_detail.html:99 -#: part/templates/part/detail.html:227 stock/templates/stock/item.html:115 +#: part/templates/part/detail.html:120 stock/templates/stock/item.html:115 #: stock/templates/stock/item.html:205 msgid "Edit Notes" msgstr "" @@ -1336,7 +1340,7 @@ msgstr "" msgid "All untracked stock items have been allocated" msgstr "" -#: build/templates/build/index.html:18 part/templates/part/detail.html:407 +#: build/templates/build/index.html:18 part/templates/part/detail.html:300 msgid "New Build Order" msgstr "" @@ -1380,7 +1384,7 @@ msgstr "" msgid "Maximum output quantity is " msgstr "" -#: build/views.py:122 stock/serializers.py:356 stock/views.py:1290 +#: build/views.py:122 stock/serializers.py:361 stock/views.py:1290 msgid "Serial numbers already exist" msgstr "" @@ -1675,7 +1679,7 @@ msgid "Parts are trackable by default" msgstr "" #: common/models.py:745 part/models.py:920 -#: part/templates/part/part_base.html:144 +#: part/templates/part/part_base.html:147 #: templates/js/translated/table_filters.js:42 msgid "Virtual" msgstr "" @@ -2142,7 +2146,7 @@ msgstr "" #: common/models.py:1233 company/serializers.py:264 #: company/templates/company/supplier_part.html:256 -#: templates/js/translated/part.js:1620 +#: templates/js/translated/part.js:852 templates/js/translated/part.js:1801 msgid "Price" msgstr "" @@ -2206,7 +2210,7 @@ msgstr "" msgid "Description of the company" msgstr "" -#: company/models.py:112 company/templates/company/company_base.html:70 +#: company/models.py:112 company/templates/company/company_base.html:97 #: templates/js/translated/company.js:349 msgid "Website" msgstr "" @@ -2215,7 +2219,7 @@ msgstr "" msgid "Company website URL" msgstr "" -#: company/models.py:117 company/templates/company/company_base.html:88 +#: company/models.py:117 company/templates/company/company_base.html:115 msgid "Address" msgstr "" @@ -2231,7 +2235,7 @@ msgstr "" msgid "Contact phone number" msgstr "" -#: company/models.py:125 company/templates/company/company_base.html:102 +#: company/models.py:125 company/templates/company/company_base.html:129 #: templates/InvenTree/settings/user.html:47 msgid "Email" msgstr "" @@ -2240,7 +2244,7 @@ msgstr "" msgid "Contact email address" msgstr "" -#: company/models.py:128 company/templates/company/company_base.html:109 +#: company/models.py:128 company/templates/company/company_base.html:136 msgid "Contact" msgstr "" @@ -2281,7 +2285,7 @@ msgid "Does this company manufacture parts?" msgstr "" #: company/models.py:152 company/serializers.py:270 -#: company/templates/company/company_base.html:76 stock/serializers.py:172 +#: company/templates/company/company_base.html:103 stock/serializers.py:177 msgid "Currency" msgstr "" @@ -2289,8 +2293,8 @@ msgstr "" msgid "Default currency used for this company" msgstr "" -#: company/models.py:320 company/models.py:535 stock/models.py:484 -#: stock/templates/stock/item_base.html:224 +#: company/models.py:320 company/models.py:535 stock/models.py:474 +#: stock/templates/stock/item_base.html:135 msgid "Base Part" msgstr "" @@ -2298,29 +2302,29 @@ msgstr "" msgid "Select part" msgstr "" -#: company/models.py:335 company/templates/company/company_base.html:116 -#: company/templates/company/manufacturer_part.html:93 -#: company/templates/company/supplier_part.html:104 -#: stock/templates/stock/item_base.html:353 +#: company/models.py:335 company/templates/company/company_base.html:73 +#: company/templates/company/manufacturer_part.html:91 +#: company/templates/company/supplier_part.html:97 +#: stock/templates/stock/item_base.html:381 #: templates/js/translated/company.js:333 #: templates/js/translated/company.js:514 -#: templates/js/translated/company.js:797 templates/js/translated/part.js:229 +#: templates/js/translated/company.js:797 templates/js/translated/part.js:232 msgid "Manufacturer" msgstr "" -#: company/models.py:336 templates/js/translated/part.js:230 +#: company/models.py:336 templates/js/translated/part.js:233 msgid "Select manufacturer" msgstr "" -#: company/models.py:342 company/templates/company/manufacturer_part.html:97 -#: company/templates/company/supplier_part.html:112 +#: company/models.py:342 company/templates/company/manufacturer_part.html:96 +#: company/templates/company/supplier_part.html:105 #: templates/js/translated/company.js:530 -#: templates/js/translated/company.js:815 templates/js/translated/order.js:874 -#: templates/js/translated/part.js:240 +#: templates/js/translated/company.js:815 templates/js/translated/order.js:873 +#: templates/js/translated/part.js:243 templates/js/translated/part.js:832 msgid "MPN" msgstr "" -#: company/models.py:343 templates/js/translated/part.js:241 +#: company/models.py:343 templates/js/translated/part.js:244 msgid "Manufacturer Part Number" msgstr "" @@ -2335,7 +2339,7 @@ msgstr "" #: company/models.py:409 company/models.py:558 #: company/templates/company/manufacturer_part.html:6 #: company/templates/company/manufacturer_part.html:23 -#: stock/templates/stock/item_base.html:363 +#: stock/templates/stock/item_base.html:391 msgid "Manufacturer Part" msgstr "" @@ -2345,8 +2349,8 @@ msgstr "" #: company/models.py:422 #: report/templates/report/inventree_test_report_base.html:95 -#: stock/models.py:1867 templates/js/translated/company.js:644 -#: templates/js/translated/part.js:645 templates/js/translated/stock.js:878 +#: stock/models.py:1857 templates/js/translated/company.js:644 +#: templates/js/translated/part.js:652 templates/js/translated/stock.js:960 msgid "Value" msgstr "" @@ -2355,9 +2359,9 @@ msgid "Parameter value" msgstr "" #: company/models.py:429 part/models.py:882 part/models.py:2397 -#: part/templates/part/detail.html:59 +#: part/templates/part/part_base.html:288 #: templates/InvenTree/settings/settings.html:264 -#: templates/js/translated/company.js:650 templates/js/translated/part.js:651 +#: templates/js/translated/company.js:650 templates/js/translated/part.js:658 msgid "Units" msgstr "" @@ -2369,28 +2373,28 @@ msgstr "" msgid "Linked manufacturer part must reference the same base part" msgstr "" -#: company/models.py:545 company/templates/company/company_base.html:121 -#: company/templates/company/supplier_part.html:94 order/models.py:263 -#: order/templates/order/order_base.html:108 +#: company/models.py:545 company/templates/company/company_base.html:78 +#: company/templates/company/supplier_part.html:87 order/models.py:263 +#: order/templates/order/order_base.html:112 #: order/templates/order/order_wizard/select_pos.html:30 part/bom.py:219 -#: part/bom.py:247 stock/templates/stock/item_base.html:370 +#: part/bom.py:247 stock/templates/stock/item_base.html:398 #: templates/js/translated/company.js:337 -#: templates/js/translated/company.js:771 templates/js/translated/order.js:660 -#: templates/js/translated/part.js:210 +#: templates/js/translated/company.js:771 templates/js/translated/order.js:667 +#: templates/js/translated/part.js:213 templates/js/translated/part.js:800 msgid "Supplier" msgstr "" -#: company/models.py:546 templates/js/translated/part.js:211 +#: company/models.py:546 templates/js/translated/part.js:214 msgid "Select supplier" msgstr "" -#: company/models.py:551 company/templates/company/supplier_part.html:98 -#: part/bom.py:220 part/bom.py:248 templates/js/translated/order.js:861 -#: templates/js/translated/part.js:221 +#: company/models.py:551 company/templates/company/supplier_part.html:91 +#: part/bom.py:220 part/bom.py:248 templates/js/translated/order.js:860 +#: templates/js/translated/part.js:224 templates/js/translated/part.js:818 msgid "SKU" msgstr "" -#: company/models.py:552 templates/js/translated/part.js:222 +#: company/models.py:552 templates/js/translated/part.js:225 msgid "Supplier stock keeping unit" msgstr "" @@ -2406,7 +2410,7 @@ msgstr "" msgid "Supplier part description" msgstr "" -#: company/models.py:576 company/templates/company/supplier_part.html:126 +#: company/models.py:576 company/templates/company/supplier_part.html:119 #: part/models.py:2588 report/templates/report/inventree_po_report.html:93 #: report/templates/report/inventree_so_report.html:93 msgid "Note" @@ -2420,9 +2424,9 @@ msgstr "" msgid "Minimum charge (e.g. stocking fee)" msgstr "" -#: company/models.py:582 company/templates/company/supplier_part.html:119 -#: stock/models.py:507 stock/templates/stock/item_base.html:311 -#: templates/js/translated/company.js:847 templates/js/translated/stock.js:1366 +#: company/models.py:582 company/templates/company/supplier_part.html:112 +#: stock/models.py:497 stock/templates/stock/item_base.html:339 +#: templates/js/translated/company.js:847 templates/js/translated/stock.js:1448 msgid "Packaging" msgstr "" @@ -2457,43 +2461,56 @@ msgstr "" msgid "Create Purchase Order" msgstr "" -#: company/templates/company/company_base.html:27 +#: company/templates/company/company_base.html:26 +msgid "Company actions" +msgstr "" + +#: company/templates/company/company_base.html:31 msgid "Edit company information" msgstr "" #: company/templates/company/company_base.html:32 -#: company/templates/company/company_base.html:148 +#: templates/js/translated/company.js:265 +msgid "Edit Company" +msgstr "" + +#: company/templates/company/company_base.html:36 +msgid "Delete company" +msgstr "" + +#: company/templates/company/company_base.html:37 +#: company/templates/company/company_base.html:159 msgid "Delete Company" msgstr "" -#: company/templates/company/company_base.html:48 +#: company/templates/company/company_base.html:53 #: part/templates/part/part_thumb.html:12 msgid "Upload new image" msgstr "" -#: company/templates/company/company_base.html:51 +#: company/templates/company/company_base.html:56 #: part/templates/part/part_thumb.html:14 msgid "Download image from URL" msgstr "" -#: company/templates/company/company_base.html:81 -msgid "Uses default currency" -msgstr "" - -#: company/templates/company/company_base.html:95 -msgid "Phone" -msgstr "" - -#: company/templates/company/company_base.html:126 order/models.py:567 -#: order/templates/order/sales_order_base.html:114 stock/models.py:525 -#: stock/models.py:526 stock/templates/stock/item_base.html:263 -#: templates/js/translated/company.js:329 templates/js/translated/order.js:1073 -#: templates/js/translated/stock.js:2002 +#: company/templates/company/company_base.html:83 order/models.py:567 +#: order/templates/order/sales_order_base.html:115 stock/models.py:515 +#: stock/models.py:516 stock/templates/stock/item_base.html:291 +#: templates/js/translated/company.js:329 templates/js/translated/order.js:1072 +#: templates/js/translated/stock.js:2084 msgid "Customer" msgstr "" -#: company/templates/company/company_base.html:194 -#: part/templates/part/part_base.html:342 +#: company/templates/company/company_base.html:108 +msgid "Uses default currency" +msgstr "" + +#: company/templates/company/company_base.html:122 +msgid "Phone" +msgstr "" + +#: company/templates/company/company_base.html:205 +#: part/templates/part/part_base.html:471 msgid "Upload Image" msgstr "" @@ -2509,23 +2526,23 @@ msgid "Create new supplier part" msgstr "" #: company/templates/company/detail.html:20 -#: company/templates/company/manufacturer_part.html:112 -#: part/templates/part/detail.html:440 +#: company/templates/company/manufacturer_part.html:118 +#: part/templates/part/detail.html:333 msgid "New Supplier Part" msgstr "" #: company/templates/company/detail.html:32 #: company/templates/company/detail.html:79 -#: company/templates/company/manufacturer_part.html:121 -#: company/templates/company/manufacturer_part.html:150 -#: part/templates/part/category.html:160 part/templates/part/detail.html:449 -#: part/templates/part/detail.html:477 +#: company/templates/company/manufacturer_part.html:127 +#: company/templates/company/manufacturer_part.html:156 +#: part/templates/part/category.html:167 part/templates/part/detail.html:342 +#: part/templates/part/detail.html:370 msgid "Options" msgstr "" #: company/templates/company/detail.html:37 #: company/templates/company/detail.html:84 -#: part/templates/part/category.html:166 +#: part/templates/part/category.html:173 msgid "Order parts" msgstr "" @@ -2547,7 +2564,7 @@ msgstr "" msgid "Create new manufacturer part" msgstr "" -#: company/templates/company/detail.html:67 part/templates/part/detail.html:467 +#: company/templates/company/detail.html:67 part/templates/part/detail.html:360 msgid "New Manufacturer Part" msgstr "" @@ -2561,7 +2578,7 @@ msgstr "" #: order/templates/order/order_base.html:13 #: order/templates/order/purchase_orders.html:8 #: order/templates/order/purchase_orders.html:12 -#: part/templates/part/detail.html:171 part/templates/part/part_sidebar.html:35 +#: part/templates/part/detail.html:64 part/templates/part/part_sidebar.html:33 #: templates/InvenTree/index.html:252 templates/InvenTree/search.html:203 #: templates/InvenTree/settings/sidebar.html:44 templates/navbar.html:45 #: users/models.py:45 @@ -2583,7 +2600,7 @@ msgstr "" #: order/templates/order/sales_order_base.html:13 #: order/templates/order/sales_orders.html:8 #: order/templates/order/sales_orders.html:15 -#: part/templates/part/detail.html:194 part/templates/part/part_sidebar.html:39 +#: part/templates/part/detail.html:87 part/templates/part/part_sidebar.html:37 #: templates/InvenTree/index.html:283 templates/InvenTree/search.html:223 #: templates/InvenTree/settings/sidebar.html:46 templates/navbar.html:56 #: users/models.py:46 @@ -2610,14 +2627,14 @@ msgid "Company Notes" msgstr "" #: company/templates/company/detail.html:383 -#: company/templates/company/manufacturer_part.html:209 -#: part/templates/part/detail.html:520 +#: company/templates/company/manufacturer_part.html:215 +#: part/templates/part/detail.html:413 msgid "Delete Supplier Parts?" msgstr "" #: company/templates/company/detail.html:384 -#: company/templates/company/manufacturer_part.html:210 -#: part/templates/part/detail.html:521 +#: company/templates/company/manufacturer_part.html:216 +#: part/templates/part/detail.html:414 msgid "All selected supplier parts will be deleted" msgstr "" @@ -2634,7 +2651,7 @@ msgstr "" #: company/templates/company/manufacturer_part.html:35 #: company/templates/company/supplier_part.html:34 #: company/templates/company/supplier_part.html:159 -#: part/templates/part/detail.html:174 part/templates/part/part_base.html:76 +#: part/templates/part/detail.html:67 part/templates/part/part_base.html:76 msgid "Order part" msgstr "" @@ -2648,60 +2665,60 @@ msgstr "" msgid "Delete manufacturer part" msgstr "" -#: company/templates/company/manufacturer_part.html:70 -#: company/templates/company/supplier_part.html:71 +#: company/templates/company/manufacturer_part.html:66 +#: company/templates/company/supplier_part.html:63 msgid "Internal Part" msgstr "" -#: company/templates/company/manufacturer_part.html:108 +#: company/templates/company/manufacturer_part.html:114 #: company/templates/company/supplier_part.html:15 company/views.py:49 -#: part/templates/part/part_sidebar.html:33 part/templates/part/prices.html:163 +#: part/templates/part/part_sidebar.html:31 part/templates/part/prices.html:163 #: templates/InvenTree/search.html:194 templates/navbar.html:43 msgid "Suppliers" msgstr "" -#: company/templates/company/manufacturer_part.html:123 -#: part/templates/part/detail.html:451 +#: company/templates/company/manufacturer_part.html:129 +#: part/templates/part/detail.html:344 msgid "Delete supplier parts" msgstr "" -#: company/templates/company/manufacturer_part.html:123 -#: company/templates/company/manufacturer_part.html:152 -#: company/templates/company/manufacturer_part.html:248 -#: part/templates/part/detail.html:451 part/templates/part/detail.html:479 +#: company/templates/company/manufacturer_part.html:129 +#: company/templates/company/manufacturer_part.html:158 +#: company/templates/company/manufacturer_part.html:254 +#: part/templates/part/detail.html:344 part/templates/part/detail.html:372 #: templates/js/translated/company.js:425 templates/js/translated/helpers.js:31 #: users/models.py:204 msgid "Delete" msgstr "" -#: company/templates/company/manufacturer_part.html:137 +#: company/templates/company/manufacturer_part.html:143 #: company/templates/company/manufacturer_part_sidebar.html:5 #: part/templates/part/category_sidebar.html:17 -#: part/templates/part/detail.html:277 part/templates/part/part_sidebar.html:10 +#: part/templates/part/detail.html:170 part/templates/part/part_sidebar.html:8 msgid "Parameters" msgstr "" -#: company/templates/company/manufacturer_part.html:141 -#: part/templates/part/detail.html:282 +#: company/templates/company/manufacturer_part.html:147 +#: part/templates/part/detail.html:175 #: templates/InvenTree/settings/category.html:12 #: templates/InvenTree/settings/part.html:65 msgid "New Parameter" msgstr "" -#: company/templates/company/manufacturer_part.html:152 +#: company/templates/company/manufacturer_part.html:158 msgid "Delete parameters" msgstr "" -#: company/templates/company/manufacturer_part.html:185 -#: part/templates/part/detail.html:976 +#: company/templates/company/manufacturer_part.html:191 +#: part/templates/part/detail.html:867 msgid "Add Parameter" msgstr "" -#: company/templates/company/manufacturer_part.html:233 +#: company/templates/company/manufacturer_part.html:239 msgid "Selected parameters will be deleted" msgstr "" -#: company/templates/company/manufacturer_part.html:245 +#: company/templates/company/manufacturer_part.html:251 msgid "Delete Parameters" msgstr "" @@ -2722,9 +2739,9 @@ msgid "Assigned Stock Items" msgstr "" #: company/templates/company/supplier_part.html:7 -#: company/templates/company/supplier_part.html:24 stock/models.py:492 -#: stock/templates/stock/item_base.html:375 -#: templates/js/translated/company.js:787 templates/js/translated/stock.js:1323 +#: company/templates/company/supplier_part.html:24 stock/models.py:482 +#: stock/templates/stock/item_base.html:403 +#: templates/js/translated/company.js:787 templates/js/translated/stock.js:1405 msgid "Supplier Part" msgstr "" @@ -2744,13 +2761,13 @@ msgid "Supplier Part Stock" msgstr "" #: company/templates/company/supplier_part.html:141 -#: part/templates/part/detail.html:127 stock/templates/stock/location.html:147 +#: part/templates/part/detail.html:20 stock/templates/stock/location.html:162 msgid "Create new stock item" msgstr "" #: company/templates/company/supplier_part.html:142 -#: part/templates/part/detail.html:128 stock/templates/stock/location.html:148 -#: templates/js/translated/stock.js:354 +#: part/templates/part/detail.html:21 stock/templates/stock/location.html:163 +#: templates/js/translated/stock.js:355 msgid "New Stock Item" msgstr "" @@ -2760,7 +2777,7 @@ msgid "Supplier Part Orders" msgstr "" #: company/templates/company/supplier_part.html:160 -#: part/templates/part/detail.html:175 +#: part/templates/part/detail.html:68 msgid "Order Part" msgstr "" @@ -2796,15 +2813,15 @@ msgid "Delete price break" msgstr "" #: company/templates/company/supplier_part_navbar.html:15 -#: part/templates/part/part_sidebar.html:16 +#: part/templates/part/part_sidebar.html:14 #: stock/templates/stock/loc_link.html:3 stock/templates/stock/location.html:14 #: stock/templates/stock/stock_app_base.html:10 #: templates/InvenTree/search.html:156 #: templates/InvenTree/settings/sidebar.html:40 -#: templates/js/translated/bom.js:216 templates/js/translated/part.js:427 -#: templates/js/translated/part.js:562 templates/js/translated/part.js:878 -#: templates/js/translated/part.js:1039 templates/js/translated/stock.js:509 -#: templates/js/translated/stock.js:1162 templates/navbar.html:26 +#: templates/js/translated/bom.js:216 templates/js/translated/part.js:434 +#: templates/js/translated/part.js:569 templates/js/translated/part.js:1059 +#: templates/js/translated/part.js:1220 templates/js/translated/stock.js:591 +#: templates/js/translated/stock.js:1244 templates/navbar.html:26 msgid "Stock" msgstr "" @@ -2818,16 +2835,16 @@ msgid "Supplier Part Pricing" msgstr "" #: company/templates/company/supplier_part_navbar.html:29 -#: part/templates/part/part_sidebar.html:30 +#: part/templates/part/part_sidebar.html:28 msgid "Pricing" msgstr "" #: company/templates/company/supplier_part_sidebar.html:5 -#: stock/templates/stock/location.html:118 -#: stock/templates/stock/location.html:132 -#: stock/templates/stock/location.html:144 +#: stock/templates/stock/location.html:133 +#: stock/templates/stock/location.html:147 +#: stock/templates/stock/location.html:159 #: stock/templates/stock/location_sidebar.html:7 -#: templates/InvenTree/search.html:158 templates/js/translated/stock.js:1901 +#: templates/InvenTree/search.html:158 templates/js/translated/stock.js:1983 #: templates/stats.html:93 templates/stats.html:102 users/models.py:43 msgid "Stock Items" msgstr "" @@ -2947,7 +2964,7 @@ msgstr "" msgid "Place order" msgstr "" -#: order/forms.py:37 order/templates/order/order_base.html:59 +#: order/forms.py:37 order/templates/order/order_base.html:60 msgid "Mark order as complete" msgstr "" @@ -3000,8 +3017,8 @@ msgstr "" msgid "Company from which the items are being ordered" msgstr "" -#: order/models.py:267 order/templates/order/order_base.html:114 -#: templates/js/translated/order.js:669 +#: order/models.py:267 order/templates/order/order_base.html:118 +#: templates/js/translated/order.js:676 msgid "Supplier Reference" msgstr "" @@ -3061,7 +3078,7 @@ msgstr "" msgid "Target date for order completion. Order will be overdue after this date." msgstr "" -#: order/models.py:582 templates/js/translated/order.js:1114 +#: order/models.py:582 templates/js/translated/order.js:1113 msgid "Shipment Date" msgstr "" @@ -3086,16 +3103,16 @@ msgid "Line item notes" msgstr "" #: order/models.py:768 order/models.py:856 -#: templates/js/translated/order.js:1166 +#: templates/js/translated/order.js:1165 msgid "Order" msgstr "" #: order/models.py:769 order/templates/order/order_base.html:9 #: order/templates/order/order_base.html:18 #: report/templates/report/inventree_po_report.html:77 -#: stock/templates/stock/item_base.html:325 -#: templates/js/translated/order.js:638 templates/js/translated/stock.js:1300 -#: templates/js/translated/stock.js:1983 +#: stock/templates/stock/item_base.html:353 +#: templates/js/translated/order.js:638 templates/js/translated/part.js:775 +#: templates/js/translated/stock.js:1382 templates/js/translated/stock.js:2065 msgid "Purchase Order" msgstr "" @@ -3103,9 +3120,10 @@ msgstr "" msgid "Supplier part" msgstr "" -#: order/models.py:797 order/templates/order/order_base.html:147 -#: order/templates/order/sales_order_base.html:154 -#: templates/js/translated/order.js:429 templates/js/translated/order.js:954 +#: order/models.py:797 order/templates/order/order_base.html:151 +#: order/templates/order/sales_order_base.html:155 +#: templates/js/translated/order.js:429 templates/js/translated/order.js:953 +#: templates/js/translated/part.js:847 templates/js/translated/part.js:873 msgid "Received" msgstr "" @@ -3113,9 +3131,9 @@ msgstr "" msgid "Number of items received" msgstr "" -#: order/models.py:805 part/templates/part/prices.html:176 stock/models.py:619 -#: stock/serializers.py:163 stock/templates/stock/item_base.html:332 -#: templates/js/translated/stock.js:1354 +#: order/models.py:805 part/templates/part/prices.html:176 stock/models.py:609 +#: stock/serializers.py:168 stock/templates/stock/item_base.html:360 +#: templates/js/translated/stock.js:1436 msgid "Purchase Price" msgstr "" @@ -3176,47 +3194,47 @@ msgstr "" msgid "Enter stock allocation quantity" msgstr "" -#: order/serializers.py:169 +#: order/serializers.py:175 msgid "Purchase price currency" msgstr "" -#: order/serializers.py:204 +#: order/serializers.py:213 msgid "Line Item" msgstr "" -#: order/serializers.py:210 +#: order/serializers.py:219 msgid "Line item does not match purchase order" msgstr "" -#: order/serializers.py:220 order/serializers.py:288 +#: order/serializers.py:229 order/serializers.py:297 msgid "Select destination location for received items" msgstr "" -#: order/serializers.py:244 +#: order/serializers.py:253 msgid "Barcode Hash" msgstr "" -#: order/serializers.py:245 +#: order/serializers.py:254 msgid "Unique identifier field" msgstr "" -#: order/serializers.py:262 +#: order/serializers.py:271 msgid "Barcode is already in use" msgstr "" -#: order/serializers.py:300 +#: order/serializers.py:309 msgid "Line items must be provided" msgstr "" -#: order/serializers.py:317 +#: order/serializers.py:326 msgid "Destination location must be specified" msgstr "" -#: order/serializers.py:328 +#: order/serializers.py:337 msgid "Supplied barcode values must be unique" msgstr "" -#: order/serializers.py:569 +#: order/serializers.py:578 msgid "Sale price currency" msgstr "" @@ -3248,22 +3266,36 @@ msgstr "" msgid "Receive items" msgstr "" -#: order/templates/order/order_base.html:93 -#: order/templates/order/sales_order_base.html:98 +#: order/templates/order/order_base.html:58 +#: order/templates/order/purchase_order_detail.html:31 +msgid "Receive Items" +msgstr "" + +#: order/templates/order/order_base.html:62 order/views.py:185 +msgid "Complete Order" +msgstr "" + +#: order/templates/order/order_base.html:84 +#: order/templates/order/sales_order_base.html:79 msgid "Order Reference" msgstr "" -#: order/templates/order/order_base.html:98 -#: order/templates/order/sales_order_base.html:103 +#: order/templates/order/order_base.html:89 +#: order/templates/order/sales_order_base.html:84 +msgid "Order Description" +msgstr "" + +#: order/templates/order/order_base.html:94 +#: order/templates/order/sales_order_base.html:89 msgid "Order Status" msgstr "" -#: order/templates/order/order_base.html:133 +#: order/templates/order/order_base.html:137 #: report/templates/report/inventree_build_order_base.html:122 msgid "Issued" msgstr "" -#: order/templates/order/order_base.html:203 +#: order/templates/order/order_base.html:207 msgid "Edit Purchase Order" msgstr "" @@ -3421,7 +3453,7 @@ msgid "Select existing purchase orders, or create new orders." msgstr "" #: order/templates/order/order_wizard/select_pos.html:31 -#: templates/js/translated/order.js:695 templates/js/translated/order.js:1119 +#: templates/js/translated/order.js:694 templates/js/translated/order.js:1118 msgid "Items" msgstr "" @@ -3465,10 +3497,6 @@ msgstr "" msgid "Receive selected items" msgstr "" -#: order/templates/order/purchase_order_detail.html:31 -msgid "Receive Items" -msgstr "" - #: order/templates/order/purchase_order_detail.html:50 msgid "Received Items" msgstr "" @@ -3496,16 +3524,16 @@ msgstr "" msgid "Ship Order" msgstr "" -#: order/templates/order/sales_order_base.html:86 +#: order/templates/order/sales_order_base.html:102 msgid "This Sales Order has not been fully allocated" msgstr "" -#: order/templates/order/sales_order_base.html:121 -#: templates/js/translated/order.js:1086 +#: order/templates/order/sales_order_base.html:122 +#: templates/js/translated/order.js:1085 msgid "Customer Reference" msgstr "" -#: order/templates/order/sales_order_base.html:194 +#: order/templates/order/sales_order_base.html:195 msgid "Edit Sales Order" msgstr "" @@ -3576,10 +3604,6 @@ msgstr "" msgid "Purchase order issued" msgstr "" -#: order/views.py:185 -msgid "Complete Order" -msgstr "" - #: order/views.py:201 msgid "Confirm order completion" msgstr "" @@ -3672,11 +3696,11 @@ msgid "This field is required" msgstr "" #: part/bom.py:125 part/models.py:81 part/models.py:816 -#: part/templates/part/category.html:90 part/templates/part/detail.html:104 +#: part/templates/part/category.html:104 part/templates/part/part_base.html:338 msgid "Default Location" msgstr "" -#: part/bom.py:126 part/templates/part/part_base.html:167 +#: part/bom.py:126 part/templates/part/part_base.html:185 msgid "Available Stock" msgstr "" @@ -3793,19 +3817,19 @@ msgstr "" msgid "Part Category" msgstr "" -#: part/models.py:96 part/templates/part/category.html:117 +#: part/models.py:96 part/templates/part/category.html:124 #: templates/InvenTree/search.html:101 templates/stats.html:84 #: users/models.py:40 msgid "Part Categories" msgstr "" #: part/models.py:358 part/templates/part/cat_link.html:3 -#: part/templates/part/category.html:13 part/templates/part/category.html:122 -#: part/templates/part/category.html:142 +#: part/templates/part/category.html:13 part/templates/part/category.html:129 +#: part/templates/part/category.html:149 #: part/templates/part/category_sidebar.html:9 #: templates/InvenTree/index.html:85 templates/InvenTree/search.html:88 #: templates/InvenTree/settings/sidebar.html:36 -#: templates/js/translated/part.js:1416 templates/navbar.html:19 +#: templates/js/translated/part.js:1597 templates/navbar.html:19 #: templates/stats.html:80 templates/stats.html:89 users/models.py:41 msgid "Parts" msgstr "" @@ -3859,8 +3883,8 @@ msgstr "" msgid "Part description" msgstr "" -#: part/models.py:770 part/templates/part/category.html:97 -#: part/templates/part/detail.html:73 +#: part/models.py:770 part/templates/part/category.html:82 +#: part/templates/part/part_base.html:302 msgid "Keywords" msgstr "" @@ -3869,9 +3893,10 @@ msgid "Part keywords to improve visibility in search results" msgstr "" #: part/models.py:778 part/models.py:2223 part/models.py:2472 -#: part/templates/part/detail.html:36 part/templates/part/set_category.html:15 +#: part/templates/part/part_base.html:265 +#: part/templates/part/set_category.html:15 #: templates/InvenTree/settings/settings.html:163 -#: templates/js/translated/part.js:1021 +#: templates/js/translated/part.js:1202 msgid "Category" msgstr "" @@ -3879,9 +3904,9 @@ msgstr "" msgid "Part category" msgstr "" -#: part/models.py:784 part/templates/part/detail.html:45 -#: templates/js/translated/part.js:550 templates/js/translated/part.js:974 -#: templates/js/translated/stock.js:1134 +#: part/models.py:784 part/templates/part/part_base.html:274 +#: templates/js/translated/part.js:557 templates/js/translated/part.js:1155 +#: templates/js/translated/stock.js:1216 msgid "IPN" msgstr "" @@ -3893,8 +3918,8 @@ msgstr "" msgid "Part revision or version number" msgstr "" -#: part/models.py:792 part/templates/part/detail.html:52 report/models.py:200 -#: templates/js/translated/part.js:554 +#: part/models.py:792 part/templates/part/part_base.html:281 +#: report/models.py:200 templates/js/translated/part.js:561 msgid "Revision" msgstr "" @@ -3902,7 +3927,7 @@ msgstr "" msgid "Where is this item normally stored?" msgstr "" -#: part/models.py:861 part/templates/part/detail.html:113 +#: part/models.py:861 part/templates/part/part_base.html:347 msgid "Default Supplier" msgstr "" @@ -3918,7 +3943,7 @@ msgstr "" msgid "Expiry time (in days) for stock items of this part" msgstr "" -#: part/models.py:875 part/templates/part/part_base.html:178 +#: part/models.py:875 part/templates/part/part_base.html:196 msgid "Minimum Stock" msgstr "" @@ -4001,8 +4026,8 @@ msgstr "" msgid "Test with this name already exists for this part" msgstr "" -#: part/models.py:2310 templates/js/translated/part.js:1467 -#: templates/js/translated/stock.js:858 +#: part/models.py:2310 templates/js/translated/part.js:1648 +#: templates/js/translated/stock.js:940 msgid "Test Name" msgstr "" @@ -4018,7 +4043,7 @@ msgstr "" msgid "Enter description for this test" msgstr "" -#: part/models.py:2322 templates/js/translated/part.js:1476 +#: part/models.py:2322 templates/js/translated/part.js:1657 #: templates/js/translated/table_filters.js:276 msgid "Required" msgstr "" @@ -4027,7 +4052,7 @@ msgstr "" msgid "Is this test required to pass?" msgstr "" -#: part/models.py:2328 templates/js/translated/part.js:1484 +#: part/models.py:2328 templates/js/translated/part.js:1665 msgid "Requires Value" msgstr "" @@ -4035,7 +4060,7 @@ msgstr "" msgid "Does this test require a value when adding a test result?" msgstr "" -#: part/models.py:2334 templates/js/translated/part.js:1491 +#: part/models.py:2334 templates/js/translated/part.js:1672 msgid "Requires Attachment" msgstr "" @@ -4150,7 +4175,7 @@ msgstr "" msgid "Stock items for variant parts can be used for this BOM item" msgstr "" -#: part/models.py:2686 stock/models.py:371 +#: part/models.py:2686 stock/models.py:361 msgid "Quantity must be integer value for trackable parts" msgstr "" @@ -4213,7 +4238,7 @@ msgstr "" msgid "The BOM for %(part)s has not been validated." msgstr "" -#: part/templates/part/bom.html:30 part/templates/part/detail.html:357 +#: part/templates/part/bom.html:30 part/templates/part/detail.html:250 msgid "BOM actions" msgstr "" @@ -4298,68 +4323,64 @@ msgstr "" msgid "New Category" msgstr "" -#: part/templates/part/category.html:67 -msgid "Top level part category" -msgstr "" - -#: part/templates/part/category.html:79 +#: part/templates/part/category.html:76 part/templates/part/category.html:89 msgid "Category Path" msgstr "" -#: part/templates/part/category.html:84 -msgid "Category Description" +#: part/templates/part/category.html:90 +msgid "Top level part category" msgstr "" -#: part/templates/part/category.html:103 part/templates/part/category.html:194 +#: part/templates/part/category.html:110 part/templates/part/category.html:201 #: part/templates/part/category_sidebar.html:7 msgid "Subcategories" msgstr "" -#: part/templates/part/category.html:108 +#: part/templates/part/category.html:115 msgid "Parts (Including subcategories)" msgstr "" -#: part/templates/part/category.html:145 +#: part/templates/part/category.html:152 msgid "Export Part Data" msgstr "" -#: part/templates/part/category.html:146 part/templates/part/category.html:170 +#: part/templates/part/category.html:153 part/templates/part/category.html:177 msgid "Export" msgstr "" -#: part/templates/part/category.html:149 +#: part/templates/part/category.html:156 msgid "Create new part" msgstr "" -#: part/templates/part/category.html:150 templates/js/translated/bom.js:40 +#: part/templates/part/category.html:157 templates/js/translated/bom.js:40 msgid "New Part" msgstr "" -#: part/templates/part/category.html:164 +#: part/templates/part/category.html:171 msgid "Set category" msgstr "" -#: part/templates/part/category.html:164 +#: part/templates/part/category.html:171 msgid "Set Category" msgstr "" -#: part/templates/part/category.html:168 +#: part/templates/part/category.html:175 msgid "Print Labels" msgstr "" -#: part/templates/part/category.html:170 +#: part/templates/part/category.html:177 msgid "Export Data" msgstr "" -#: part/templates/part/category.html:184 +#: part/templates/part/category.html:191 msgid "Part Parameters" msgstr "" -#: part/templates/part/category.html:261 +#: part/templates/part/category.html:268 msgid "Create Part Category" msgstr "" -#: part/templates/part/category.html:288 +#: part/templates/part/category.html:295 msgid "Create Part" msgstr "" @@ -4402,7 +4423,7 @@ msgstr "" msgid "Import Parts" msgstr "" -#: part/templates/part/copy_part.html:9 templates/js/translated/part.js:366 +#: part/templates/part/copy_part.html:9 templates/js/translated/part.js:373 msgid "Duplicate Part" msgstr "" @@ -4426,167 +4447,155 @@ msgstr "" msgid "%(full_name)s - %(desc)s (%(match_per)s%% match)" msgstr "" -#: part/templates/part/detail.html:16 -msgid "Part Details" -msgstr "" - -#: part/templates/part/detail.html:66 -msgid "Minimum stock level" -msgstr "" - -#: part/templates/part/detail.html:97 -msgid "Latest Serial Number" -msgstr "" - -#: part/templates/part/detail.html:124 +#: part/templates/part/detail.html:17 msgid "Part Stock" msgstr "" -#: part/templates/part/detail.html:136 +#: part/templates/part/detail.html:29 #, python-format msgid "Showing stock for all variants of %(full_name)s" msgstr "" -#: part/templates/part/detail.html:146 +#: part/templates/part/detail.html:39 msgid "Part Test Templates" msgstr "" -#: part/templates/part/detail.html:151 +#: part/templates/part/detail.html:44 msgid "Add Test Template" msgstr "" -#: part/templates/part/detail.html:208 +#: part/templates/part/detail.html:101 msgid "Sales Order Allocations" msgstr "" -#: part/templates/part/detail.html:249 +#: part/templates/part/detail.html:142 msgid "Part Variants" msgstr "" -#: part/templates/part/detail.html:253 +#: part/templates/part/detail.html:146 msgid "Create new variant" msgstr "" -#: part/templates/part/detail.html:254 +#: part/templates/part/detail.html:147 msgid "New Variant" msgstr "" -#: part/templates/part/detail.html:281 +#: part/templates/part/detail.html:174 msgid "Add new parameter" msgstr "" -#: part/templates/part/detail.html:315 part/templates/part/part_sidebar.html:47 +#: part/templates/part/detail.html:208 part/templates/part/part_sidebar.html:45 msgid "Related Parts" msgstr "" -#: part/templates/part/detail.html:319 part/templates/part/detail.html:320 +#: part/templates/part/detail.html:212 part/templates/part/detail.html:213 msgid "Add Related" msgstr "" -#: part/templates/part/detail.html:340 part/templates/part/part_sidebar.html:19 +#: part/templates/part/detail.html:233 part/templates/part/part_sidebar.html:17 msgid "Bill of Materials" msgstr "" -#: part/templates/part/detail.html:345 +#: part/templates/part/detail.html:238 msgid "Export actions" msgstr "" -#: part/templates/part/detail.html:349 +#: part/templates/part/detail.html:242 msgid "Export BOM" msgstr "" -#: part/templates/part/detail.html:351 +#: part/templates/part/detail.html:244 msgid "Print BOM Report" msgstr "" -#: part/templates/part/detail.html:361 +#: part/templates/part/detail.html:254 msgid "Upload BOM" msgstr "" -#: part/templates/part/detail.html:363 templates/js/translated/part.js:267 +#: part/templates/part/detail.html:256 templates/js/translated/part.js:270 msgid "Copy BOM" msgstr "" -#: part/templates/part/detail.html:365 part/views.py:755 +#: part/templates/part/detail.html:258 part/views.py:755 msgid "Validate BOM" msgstr "" -#: part/templates/part/detail.html:370 +#: part/templates/part/detail.html:263 msgid "New BOM Item" msgstr "" -#: part/templates/part/detail.html:371 +#: part/templates/part/detail.html:264 msgid "Add BOM Item" msgstr "" -#: part/templates/part/detail.html:384 +#: part/templates/part/detail.html:277 msgid "Assemblies" msgstr "" -#: part/templates/part/detail.html:401 +#: part/templates/part/detail.html:294 msgid "Part Builds" msgstr "" -#: part/templates/part/detail.html:426 +#: part/templates/part/detail.html:319 msgid "Build Order Allocations" msgstr "" -#: part/templates/part/detail.html:436 +#: part/templates/part/detail.html:329 msgid "Part Suppliers" msgstr "" -#: part/templates/part/detail.html:463 +#: part/templates/part/detail.html:356 msgid "Part Manufacturers" msgstr "" -#: part/templates/part/detail.html:479 +#: part/templates/part/detail.html:372 msgid "Delete manufacturer parts" msgstr "" -#: part/templates/part/detail.html:660 +#: part/templates/part/detail.html:553 msgid "Delete selected BOM items?" msgstr "" -#: part/templates/part/detail.html:661 +#: part/templates/part/detail.html:554 msgid "All selected BOM items will be deleted" msgstr "" -#: part/templates/part/detail.html:712 +#: part/templates/part/detail.html:605 msgid "Create BOM Item" msgstr "" -#: part/templates/part/detail.html:764 +#: part/templates/part/detail.html:657 msgid "Related Part" msgstr "" -#: part/templates/part/detail.html:772 +#: part/templates/part/detail.html:665 msgid "Add Related Part" msgstr "" -#: part/templates/part/detail.html:869 +#: part/templates/part/detail.html:760 msgid "Add Test Result Template" msgstr "" -#: part/templates/part/detail.html:926 +#: part/templates/part/detail.html:817 msgid "Edit Part Notes" msgstr "" -#: part/templates/part/detail.html:1039 +#: part/templates/part/detail.html:930 #, python-format msgid "Purchase Unit Price - %(currency)s" msgstr "" -#: part/templates/part/detail.html:1051 +#: part/templates/part/detail.html:942 #, python-format msgid "Unit Price-Cost Difference - %(currency)s" msgstr "" -#: part/templates/part/detail.html:1063 +#: part/templates/part/detail.html:954 #, python-format msgid "Supplier Unit Cost - %(currency)s" msgstr "" -#: part/templates/part/detail.html:1152 +#: part/templates/part/detail.html:1043 #, python-format msgid "Unit Price - %(currency)s" msgstr "" @@ -4668,86 +4677,108 @@ msgstr "" msgid "Delete part" msgstr "" -#: part/templates/part/part_base.html:109 +#: part/templates/part/part_base.html:112 msgid "Part is a template part (variants can be made from this part)" msgstr "" -#: part/templates/part/part_base.html:113 +#: part/templates/part/part_base.html:116 msgid "Part can be assembled from other parts" msgstr "" -#: part/templates/part/part_base.html:117 +#: part/templates/part/part_base.html:120 msgid "Part can be used in assemblies" msgstr "" -#: part/templates/part/part_base.html:121 +#: part/templates/part/part_base.html:124 msgid "Part stock is tracked by serial number" msgstr "" -#: part/templates/part/part_base.html:125 +#: part/templates/part/part_base.html:128 msgid "Part can be purchased from external suppliers" msgstr "" -#: part/templates/part/part_base.html:129 +#: part/templates/part/part_base.html:132 msgid "Part can be sold to customers" msgstr "" -#: part/templates/part/part_base.html:135 -#: part/templates/part/part_base.html:143 +#: part/templates/part/part_base.html:138 +#: part/templates/part/part_base.html:146 msgid "Part is virtual (not a physical part)" msgstr "" -#: part/templates/part/part_base.html:136 +#: part/templates/part/part_base.html:139 #: templates/js/translated/company.js:505 #: templates/js/translated/company.js:762 #: templates/js/translated/model_renderers.js:175 -#: templates/js/translated/part.js:465 templates/js/translated/part.js:542 +#: templates/js/translated/part.js:472 templates/js/translated/part.js:549 msgid "Inactive" msgstr "" -#: part/templates/part/part_base.html:155 +#: part/templates/part/part_base.html:156 +#: part/templates/part/part_base.html:579 +msgid "Show Part Details" +msgstr "" + +#: part/templates/part/part_base.html:173 #, python-format msgid "This part is a variant of %(link)s" msgstr "" -#: part/templates/part/part_base.html:172 templates/js/translated/order.js:1546 +#: part/templates/part/part_base.html:190 templates/js/translated/order.js:1545 #: templates/js/translated/table_filters.js:188 msgid "In Stock" msgstr "" -#: part/templates/part/part_base.html:185 templates/js/translated/part.js:1054 +#: part/templates/part/part_base.html:203 templates/js/translated/part.js:1235 msgid "On Order" msgstr "" -#: part/templates/part/part_base.html:192 templates/InvenTree/index.html:178 +#: part/templates/part/part_base.html:210 templates/InvenTree/index.html:178 msgid "Required for Build Orders" msgstr "" -#: part/templates/part/part_base.html:199 +#: part/templates/part/part_base.html:217 msgid "Required for Sales Orders" msgstr "" -#: part/templates/part/part_base.html:206 +#: part/templates/part/part_base.html:224 msgid "Allocated to Orders" msgstr "" -#: part/templates/part/part_base.html:221 templates/js/translated/bom.js:566 +#: part/templates/part/part_base.html:239 templates/js/translated/bom.js:566 msgid "Can Build" msgstr "" -#: part/templates/part/part_base.html:227 templates/js/translated/part.js:885 -#: templates/js/translated/part.js:1058 +#: part/templates/part/part_base.html:245 templates/js/translated/part.js:1066 +#: templates/js/translated/part.js:1239 msgid "Building" msgstr "" -#: part/templates/part/part_base.html:320 part/templates/part/prices.html:144 +#: part/templates/part/part_base.html:295 +msgid "Minimum stock level" +msgstr "" + +#: part/templates/part/part_base.html:324 +msgid "Latest Serial Number" +msgstr "" + +#: part/templates/part/part_base.html:328 +#: stock/templates/stock/item_base.html:159 +msgid "Search for serial number" +msgstr "" + +#: part/templates/part/part_base.html:449 part/templates/part/prices.html:144 msgid "Calculate" msgstr "" -#: part/templates/part/part_base.html:363 +#: part/templates/part/part_base.html:492 msgid "No matching images found" msgstr "" +#: part/templates/part/part_base.html:573 +msgid "Hide Part Details" +msgstr "" + #: part/templates/part/part_pricing.html:22 part/templates/part/prices.html:21 msgid "Supplier Pricing" msgstr "" @@ -4805,20 +4836,15 @@ msgstr "" msgid "No pricing information is available for this part." msgstr "" -#: part/templates/part/part_sidebar.html:8 -#: templates/js/translated/stock.js:1949 -msgid "Details" -msgstr "" - -#: part/templates/part/part_sidebar.html:13 +#: part/templates/part/part_sidebar.html:11 msgid "Variants" msgstr "" -#: part/templates/part/part_sidebar.html:27 +#: part/templates/part/part_sidebar.html:25 msgid "Used In" msgstr "" -#: part/templates/part/part_sidebar.html:43 +#: part/templates/part/part_sidebar.html:41 msgid "Test Templates" msgstr "" @@ -4934,8 +4960,8 @@ msgid "Set category for the following parts" msgstr "" #: part/templates/part/stock_count.html:7 templates/js/translated/bom.js:476 -#: templates/js/translated/part.js:429 templates/js/translated/part.js:875 -#: templates/js/translated/part.js:1062 +#: templates/js/translated/part.js:436 templates/js/translated/part.js:1056 +#: templates/js/translated/part.js:1243 msgid "No Stock" msgstr "" @@ -5037,7 +5063,7 @@ msgstr "" msgid "Delete Part Parameter Template" msgstr "" -#: part/views.py:1489 templates/js/translated/part.js:310 +#: part/views.py:1489 templates/js/translated/part.js:313 msgid "Edit Part Category" msgstr "" @@ -5171,11 +5197,12 @@ msgid "Stock Item Test Report" msgstr "" #: report/templates/report/inventree_test_report_base.html:79 -#: stock/models.py:530 stock/templates/stock/item_base.html:238 +#: stock/models.py:520 stock/templates/stock/item_base.html:149 #: templates/js/translated/build.js:233 templates/js/translated/build.js:637 #: templates/js/translated/build.js:1013 #: templates/js/translated/model_renderers.js:95 -#: templates/js/translated/order.js:1288 templates/js/translated/order.js:1377 +#: templates/js/translated/order.js:1287 templates/js/translated/order.js:1376 +#: templates/js/translated/stock.js:410 msgid "Serial Number" msgstr "" @@ -5184,17 +5211,17 @@ msgid "Test Results" msgstr "" #: report/templates/report/inventree_test_report_base.html:93 -#: stock/models.py:1855 +#: stock/models.py:1845 msgid "Test" msgstr "" #: report/templates/report/inventree_test_report_base.html:94 -#: stock/models.py:1861 +#: stock/models.py:1851 msgid "Result" msgstr "" #: report/templates/report/inventree_test_report_base.html:97 -#: templates/js/translated/order.js:685 templates/js/translated/stock.js:1917 +#: templates/js/translated/order.js:684 templates/js/translated/stock.js:1999 msgid "Date" msgstr "" @@ -5212,7 +5239,7 @@ msgid "Installed Items" msgstr "" #: report/templates/report/inventree_test_report_base.html:137 -#: templates/js/translated/stock.js:2177 +#: templates/js/translated/stock.js:2259 msgid "Serial" msgstr "" @@ -5220,9 +5247,9 @@ msgstr "" msgid "Quantity is required" msgstr "" -#: stock/forms.py:91 stock/forms.py:265 stock/models.py:587 -#: stock/templates/stock/item_base.html:382 -#: templates/js/translated/stock.js:1276 +#: stock/forms.py:91 stock/forms.py:265 stock/models.py:577 +#: stock/templates/stock/item_base.html:186 +#: templates/js/translated/stock.js:1358 msgid "Expiry Date" msgstr "" @@ -5270,241 +5297,241 @@ msgstr "" msgid "Confirm removal of installed stock items" msgstr "" -#: stock/models.py:60 stock/models.py:624 -#: stock/templates/stock/item_base.html:422 +#: stock/models.py:60 stock/models.py:614 +#: stock/templates/stock/item_base.html:417 msgid "Owner" msgstr "" -#: stock/models.py:61 stock/models.py:625 +#: stock/models.py:61 stock/models.py:615 msgid "Select Owner" msgstr "" -#: stock/models.py:352 +#: stock/models.py:342 msgid "StockItem with this serial number already exists" msgstr "" -#: stock/models.py:388 +#: stock/models.py:378 #, python-brace-format msgid "Part type ('{pf}') must be {pe}" msgstr "" -#: stock/models.py:398 stock/models.py:407 +#: stock/models.py:388 stock/models.py:397 msgid "Quantity must be 1 for item with a serial number" msgstr "" -#: stock/models.py:399 +#: stock/models.py:389 msgid "Serial number cannot be set if quantity greater than 1" msgstr "" -#: stock/models.py:421 +#: stock/models.py:411 msgid "Item cannot belong to itself" msgstr "" -#: stock/models.py:427 +#: stock/models.py:417 msgid "Item must have a build reference if is_building=True" msgstr "" -#: stock/models.py:434 +#: stock/models.py:424 msgid "Build reference does not point to the same part object" msgstr "" -#: stock/models.py:476 +#: stock/models.py:466 msgid "Parent Stock Item" msgstr "" -#: stock/models.py:485 +#: stock/models.py:475 msgid "Base part" msgstr "" -#: stock/models.py:493 +#: stock/models.py:483 msgid "Select a matching supplier part for this stock item" msgstr "" -#: stock/models.py:498 stock/templates/stock/location.html:12 +#: stock/models.py:488 stock/templates/stock/location.html:12 #: stock/templates/stock/stock_app_base.html:8 msgid "Stock Location" msgstr "" -#: stock/models.py:501 +#: stock/models.py:491 msgid "Where is this stock item located?" msgstr "" -#: stock/models.py:508 +#: stock/models.py:498 msgid "Packaging this stock item is stored in" msgstr "" -#: stock/models.py:513 stock/templates/stock/item_base.html:271 +#: stock/models.py:503 stock/templates/stock/item_base.html:299 msgid "Installed In" msgstr "" -#: stock/models.py:516 +#: stock/models.py:506 msgid "Is this item installed in another item?" msgstr "" -#: stock/models.py:532 +#: stock/models.py:522 msgid "Serial number for this item" msgstr "" -#: stock/models.py:546 +#: stock/models.py:536 msgid "Batch code for this stock item" msgstr "" -#: stock/models.py:550 +#: stock/models.py:540 msgid "Stock Quantity" msgstr "" -#: stock/models.py:559 +#: stock/models.py:549 msgid "Source Build" msgstr "" -#: stock/models.py:561 +#: stock/models.py:551 msgid "Build for this stock item" msgstr "" -#: stock/models.py:572 +#: stock/models.py:562 msgid "Source Purchase Order" msgstr "" -#: stock/models.py:575 +#: stock/models.py:565 msgid "Purchase order for this stock item" msgstr "" -#: stock/models.py:581 +#: stock/models.py:571 msgid "Destination Sales Order" msgstr "" -#: stock/models.py:588 +#: stock/models.py:578 msgid "Expiry date for stock item. Stock will be considered expired after this date" msgstr "" -#: stock/models.py:601 +#: stock/models.py:591 msgid "Delete on deplete" msgstr "" -#: stock/models.py:601 +#: stock/models.py:591 msgid "Delete this Stock Item when stock is depleted" msgstr "" -#: stock/models.py:611 stock/templates/stock/item.html:111 +#: stock/models.py:601 stock/templates/stock/item.html:111 msgid "Stock Item Notes" msgstr "" -#: stock/models.py:620 +#: stock/models.py:610 msgid "Single unit purchase price at time of purchase" msgstr "" -#: stock/models.py:630 +#: stock/models.py:620 msgid "Scheduled for deletion" msgstr "" -#: stock/models.py:631 +#: stock/models.py:621 msgid "This StockItem will be deleted by the background worker" msgstr "" -#: stock/models.py:1094 +#: stock/models.py:1084 msgid "Part is not set as trackable" msgstr "" -#: stock/models.py:1100 +#: stock/models.py:1090 msgid "Quantity must be integer" msgstr "" -#: stock/models.py:1106 +#: stock/models.py:1096 #, python-brace-format msgid "Quantity must not exceed available stock quantity ({n})" msgstr "" -#: stock/models.py:1109 +#: stock/models.py:1099 msgid "Serial numbers must be a list of integers" msgstr "" -#: stock/models.py:1112 +#: stock/models.py:1102 msgid "Quantity does not match serial numbers" msgstr "" -#: stock/models.py:1119 +#: stock/models.py:1109 #, python-brace-format msgid "Serial numbers already exist: {exists}" msgstr "" -#: stock/models.py:1277 +#: stock/models.py:1267 msgid "StockItem cannot be moved as it is not in stock" msgstr "" -#: stock/models.py:1775 +#: stock/models.py:1765 msgid "Entry notes" msgstr "" -#: stock/models.py:1832 +#: stock/models.py:1822 msgid "Value must be provided for this test" msgstr "" -#: stock/models.py:1838 +#: stock/models.py:1828 msgid "Attachment must be uploaded for this test" msgstr "" -#: stock/models.py:1856 +#: stock/models.py:1846 msgid "Test name" msgstr "" -#: stock/models.py:1862 templates/js/translated/table_filters.js:266 +#: stock/models.py:1852 templates/js/translated/table_filters.js:266 msgid "Test result" msgstr "" -#: stock/models.py:1868 +#: stock/models.py:1858 msgid "Test output value" msgstr "" -#: stock/models.py:1875 +#: stock/models.py:1865 msgid "Test result attachment" msgstr "" -#: stock/models.py:1881 +#: stock/models.py:1871 msgid "Test notes" msgstr "" -#: stock/serializers.py:166 +#: stock/serializers.py:171 msgid "Purchase price of this stock item" msgstr "" -#: stock/serializers.py:173 +#: stock/serializers.py:178 msgid "Purchase currency of this stock item" msgstr "" -#: stock/serializers.py:287 +#: stock/serializers.py:292 msgid "Enter number of stock items to serialize" msgstr "" -#: stock/serializers.py:302 +#: stock/serializers.py:307 #, python-brace-format msgid "Quantity must not exceed available stock quantity ({q})" msgstr "" -#: stock/serializers.py:308 +#: stock/serializers.py:313 msgid "Enter serial numbers for new items" msgstr "" -#: stock/serializers.py:319 stock/serializers.py:686 +#: stock/serializers.py:324 stock/serializers.py:691 msgid "Destination stock location" msgstr "" -#: stock/serializers.py:326 +#: stock/serializers.py:331 msgid "Optional note field" msgstr "" -#: stock/serializers.py:339 +#: stock/serializers.py:344 msgid "Serial numbers cannot be assigned to this part" msgstr "" -#: stock/serializers.py:556 +#: stock/serializers.py:561 msgid "StockItem primary key value" msgstr "" -#: stock/serializers.py:584 +#: stock/serializers.py:589 msgid "Stock transaction notes" msgstr "" -#: stock/serializers.py:594 +#: stock/serializers.py:599 msgid "A list of stock items must be provided" msgstr "" @@ -5629,125 +5656,131 @@ msgstr "" msgid "Install" msgstr "" -#: stock/templates/stock/item_base.html:106 +#: stock/templates/stock/item_base.html:108 msgid "Convert to variant" msgstr "" -#: stock/templates/stock/item_base.html:109 +#: stock/templates/stock/item_base.html:111 msgid "Duplicate stock item" msgstr "" -#: stock/templates/stock/item_base.html:111 +#: stock/templates/stock/item_base.html:113 msgid "Edit stock item" msgstr "" -#: stock/templates/stock/item_base.html:114 +#: stock/templates/stock/item_base.html:116 msgid "Delete stock item" msgstr "" -#: stock/templates/stock/item_base.html:136 -#: stock/templates/stock/item_base.html:386 -#: templates/js/translated/table_filters.js:247 -msgid "Expired" +#: stock/templates/stock/item_base.html:154 +msgid "previous page" msgstr "" -#: stock/templates/stock/item_base.html:146 -#: stock/templates/stock/item_base.html:388 -#: templates/js/translated/table_filters.js:253 -msgid "Stale" +#: stock/templates/stock/item_base.html:154 +msgid "Navigate to previous serial number" msgstr "" -#: stock/templates/stock/item_base.html:161 -msgid "You are not in the list of owners of this item. This stock item cannot be edited." +#: stock/templates/stock/item_base.html:163 +msgid "next page" msgstr "" -#: stock/templates/stock/item_base.html:168 -msgid "This stock item is in production and cannot be edited." -msgstr "" - -#: stock/templates/stock/item_base.html:169 -msgid "Edit the stock item from the build view." -msgstr "" - -#: stock/templates/stock/item_base.html:182 -msgid "This stock item has not passed all required tests" +#: stock/templates/stock/item_base.html:163 +msgid "Navigate to next serial number" msgstr "" #: stock/templates/stock/item_base.html:190 #, python-format -msgid "This stock item is allocated to Sales Order %(link)s (Quantity: %(qty)s)" -msgstr "" - -#: stock/templates/stock/item_base.html:198 -#, python-format -msgid "This stock item is allocated to Build %(link)s (Quantity: %(qty)s)" -msgstr "" - -#: stock/templates/stock/item_base.html:204 -msgid "This stock item is serialized - it has a unique serial number and the quantity cannot be adjusted." -msgstr "" - -#: stock/templates/stock/item_base.html:208 -msgid "This stock item cannot be deleted as it has child items" -msgstr "" - -#: stock/templates/stock/item_base.html:212 -msgid "This stock item will be automatically deleted when all stock is depleted." -msgstr "" - -#: stock/templates/stock/item_base.html:241 -msgid "previous page" -msgstr "" - -#: stock/templates/stock/item_base.html:247 -msgid "next page" -msgstr "" - -#: stock/templates/stock/item_base.html:290 -#: templates/js/translated/build.js:1035 -msgid "No location set" -msgstr "" - -#: stock/templates/stock/item_base.html:297 -msgid "Barcode Identifier" -msgstr "" - -#: stock/templates/stock/item_base.html:339 -msgid "Parent Item" -msgstr "" - -#: stock/templates/stock/item_base.html:357 -msgid "No manufacturer set" -msgstr "" - -#: stock/templates/stock/item_base.html:386 -#, python-format msgid "This StockItem expired on %(item.expiry_date)s" msgstr "" -#: stock/templates/stock/item_base.html:388 +#: stock/templates/stock/item_base.html:190 +#: templates/js/translated/table_filters.js:247 +msgid "Expired" +msgstr "" + +#: stock/templates/stock/item_base.html:192 #, python-format msgid "This StockItem expires on %(item.expiry_date)s" msgstr "" -#: stock/templates/stock/item_base.html:395 -#: templates/js/translated/stock.js:1289 +#: stock/templates/stock/item_base.html:192 +#: templates/js/translated/table_filters.js:253 +msgid "Stale" +msgstr "" + +#: stock/templates/stock/item_base.html:199 +#: templates/js/translated/stock.js:1371 msgid "Last Updated" msgstr "" -#: stock/templates/stock/item_base.html:400 +#: stock/templates/stock/item_base.html:204 msgid "Last Stocktake" msgstr "" -#: stock/templates/stock/item_base.html:404 +#: stock/templates/stock/item_base.html:208 msgid "No stocktake performed" msgstr "" -#: stock/templates/stock/item_base.html:415 +#: stock/templates/stock/item_base.html:226 +msgid "You are not in the list of owners of this item. This stock item cannot be edited." +msgstr "" + +#: stock/templates/stock/item_base.html:233 +msgid "This stock item is in production and cannot be edited." +msgstr "" + +#: stock/templates/stock/item_base.html:234 +msgid "Edit the stock item from the build view." +msgstr "" + +#: stock/templates/stock/item_base.html:247 +msgid "This stock item has not passed all required tests" +msgstr "" + +#: stock/templates/stock/item_base.html:255 +#, python-format +msgid "This stock item is allocated to Sales Order %(link)s (Quantity: %(qty)s)" +msgstr "" + +#: stock/templates/stock/item_base.html:263 +#, python-format +msgid "This stock item is allocated to Build %(link)s (Quantity: %(qty)s)" +msgstr "" + +#: stock/templates/stock/item_base.html:269 +msgid "This stock item is serialized - it has a unique serial number and the quantity cannot be adjusted." +msgstr "" + +#: stock/templates/stock/item_base.html:273 +msgid "This stock item cannot be deleted as it has child items" +msgstr "" + +#: stock/templates/stock/item_base.html:277 +msgid "This stock item will be automatically deleted when all stock is depleted." +msgstr "" + +#: stock/templates/stock/item_base.html:318 +#: templates/js/translated/build.js:1035 +msgid "No location set" +msgstr "" + +#: stock/templates/stock/item_base.html:325 +msgid "Barcode Identifier" +msgstr "" + +#: stock/templates/stock/item_base.html:367 +msgid "Parent Item" +msgstr "" + +#: stock/templates/stock/item_base.html:385 +msgid "No manufacturer set" +msgstr "" + +#: stock/templates/stock/item_base.html:410 msgid "Tests" msgstr "" -#: stock/templates/stock/item_base.html:505 +#: stock/templates/stock/item_base.html:500 msgid "Edit Stock Status" msgstr "" @@ -5825,30 +5858,35 @@ msgstr "" msgid "New Location" msgstr "" -#: stock/templates/stock/location.html:86 +#: stock/templates/stock/location.html:95 +#: stock/templates/stock/location.html:101 +msgid "Location Path" +msgstr "" + +#: stock/templates/stock/location.html:102 msgid "Top level stock location" msgstr "" -#: stock/templates/stock/location.html:95 +#: stock/templates/stock/location.html:115 msgid "You are not in the list of owners of this location. This stock location cannot be edited." msgstr "" -#: stock/templates/stock/location.html:113 -#: stock/templates/stock/location.html:160 +#: stock/templates/stock/location.html:128 +#: stock/templates/stock/location.html:175 #: stock/templates/stock/location_sidebar.html:5 msgid "Sublocations" msgstr "" -#: stock/templates/stock/location.html:127 templates/InvenTree/search.html:170 +#: stock/templates/stock/location.html:142 templates/InvenTree/search.html:170 #: templates/stats.html:97 users/models.py:42 msgid "Stock Locations" msgstr "" -#: stock/templates/stock/location.html:167 templates/stock_table.html:30 +#: stock/templates/stock/location.html:182 templates/stock_table.html:30 msgid "Printing Actions" msgstr "" -#: stock/templates/stock/location.html:171 templates/stock_table.html:34 +#: stock/templates/stock/location.html:186 templates/stock_table.html:34 msgid "Print labels" msgstr "" @@ -5942,7 +5980,7 @@ msgstr "" msgid "Uninstall Stock Items" msgstr "" -#: stock/views.py:760 templates/js/translated/stock.js:648 +#: stock/views.py:760 templates/js/translated/stock.js:730 msgid "Confirm stock adjustment" msgstr "" @@ -5950,7 +5988,7 @@ msgstr "" msgid "Uninstalled stock items" msgstr "" -#: stock/views.py:793 templates/js/translated/stock.js:318 +#: stock/views.py:793 templates/js/translated/stock.js:319 msgid "Edit Stock Item" msgstr "" @@ -5962,7 +6000,7 @@ msgstr "" msgid "Create new Stock Item" msgstr "" -#: stock/views.py:1186 templates/js/translated/stock.js:298 +#: stock/views.py:1186 templates/js/translated/stock.js:299 msgid "Duplicate Stock Item" msgstr "" @@ -6868,7 +6906,7 @@ msgstr "" msgid "Unlink" msgstr "" -#: templates/js/translated/barcode.js:397 templates/js/translated/stock.js:600 +#: templates/js/translated/barcode.js:397 templates/js/translated/stock.js:682 msgid "Remove stock item" msgstr "" @@ -6963,7 +7001,7 @@ msgid "View BOM" msgstr "" #: templates/js/translated/bom.js:608 templates/js/translated/build.js:1183 -#: templates/js/translated/order.js:1320 +#: templates/js/translated/order.js:1319 msgid "Actions" msgstr "" @@ -7055,7 +7093,7 @@ msgstr "" msgid "No build order allocations found" msgstr "" -#: templates/js/translated/build.js:424 templates/js/translated/order.js:1194 +#: templates/js/translated/build.js:424 templates/js/translated/order.js:1193 msgid "Location not specified" msgstr "" @@ -7064,12 +7102,12 @@ msgid "No active build outputs found" msgstr "" #: templates/js/translated/build.js:1052 templates/js/translated/build.js:1760 -#: templates/js/translated/order.js:1327 +#: templates/js/translated/order.js:1326 msgid "Edit stock allocation" msgstr "" #: templates/js/translated/build.js:1054 templates/js/translated/build.js:1761 -#: templates/js/translated/order.js:1328 +#: templates/js/translated/order.js:1327 msgid "Delete stock allocation" msgstr "" @@ -7090,11 +7128,11 @@ msgid "Quantity Per" msgstr "" #: templates/js/translated/build.js:1134 templates/js/translated/build.js:1360 -#: templates/js/translated/build.js:1756 templates/js/translated/order.js:1557 +#: templates/js/translated/build.js:1756 templates/js/translated/order.js:1556 msgid "Allocated" msgstr "" -#: templates/js/translated/build.js:1190 templates/js/translated/order.js:1611 +#: templates/js/translated/build.js:1190 templates/js/translated/order.js:1610 msgid "Build stock" msgstr "" @@ -7102,7 +7140,7 @@ msgstr "" msgid "Order stock" msgstr "" -#: templates/js/translated/build.js:1197 templates/js/translated/order.js:1604 +#: templates/js/translated/build.js:1197 templates/js/translated/order.js:1603 msgid "Allocate stock" msgstr "" @@ -7143,9 +7181,9 @@ msgstr "" msgid "No builds matching query" msgstr "" -#: templates/js/translated/build.js:1593 templates/js/translated/part.js:966 -#: templates/js/translated/part.js:1377 templates/js/translated/stock.js:1094 -#: templates/js/translated/stock.js:1871 +#: templates/js/translated/build.js:1593 templates/js/translated/part.js:1147 +#: templates/js/translated/part.js:1558 templates/js/translated/stock.js:1176 +#: templates/js/translated/stock.js:1953 msgid "Select" msgstr "" @@ -7153,7 +7191,7 @@ msgstr "" msgid "Build order is overdue" msgstr "" -#: templates/js/translated/build.js:1674 templates/js/translated/stock.js:2090 +#: templates/js/translated/build.js:1674 templates/js/translated/stock.js:2172 msgid "No user information" msgstr "" @@ -7197,10 +7235,6 @@ msgstr "" msgid "Delete Supplier Part" msgstr "" -#: templates/js/translated/company.js:265 -msgid "Edit Company" -msgstr "" - #: templates/js/translated/company.js:286 msgid "Add new Company" msgstr "" @@ -7230,34 +7264,34 @@ msgid "No manufacturer parts found" msgstr "" #: templates/js/translated/company.js:497 -#: templates/js/translated/company.js:754 templates/js/translated/part.js:449 -#: templates/js/translated/part.js:534 +#: templates/js/translated/company.js:754 templates/js/translated/part.js:456 +#: templates/js/translated/part.js:541 msgid "Template part" msgstr "" #: templates/js/translated/company.js:501 -#: templates/js/translated/company.js:758 templates/js/translated/part.js:453 -#: templates/js/translated/part.js:538 +#: templates/js/translated/company.js:758 templates/js/translated/part.js:460 +#: templates/js/translated/part.js:545 msgid "Assembled part" msgstr "" -#: templates/js/translated/company.js:628 templates/js/translated/part.js:626 +#: templates/js/translated/company.js:628 templates/js/translated/part.js:633 msgid "No parameters found" msgstr "" -#: templates/js/translated/company.js:665 templates/js/translated/part.js:668 +#: templates/js/translated/company.js:665 templates/js/translated/part.js:675 msgid "Edit parameter" msgstr "" -#: templates/js/translated/company.js:666 templates/js/translated/part.js:669 +#: templates/js/translated/company.js:666 templates/js/translated/part.js:676 msgid "Delete parameter" msgstr "" -#: templates/js/translated/company.js:685 templates/js/translated/part.js:686 +#: templates/js/translated/company.js:685 templates/js/translated/part.js:693 msgid "Edit Parameter" msgstr "" -#: templates/js/translated/company.js:696 templates/js/translated/part.js:698 +#: templates/js/translated/company.js:696 templates/js/translated/part.js:705 msgid "Delete Parameter" msgstr "" @@ -7346,7 +7380,7 @@ msgid "NO" msgstr "" #: templates/js/translated/label.js:29 templates/js/translated/report.js:118 -#: templates/js/translated/stock.js:624 +#: templates/js/translated/stock.js:706 msgid "Select Stock Items" msgstr "" @@ -7502,11 +7536,11 @@ msgstr "" msgid "Export Order" msgstr "" -#: templates/js/translated/order.js:211 templates/js/translated/stock.js:423 +#: templates/js/translated/order.js:211 templates/js/translated/stock.js:505 msgid "Format" msgstr "" -#: templates/js/translated/order.js:212 templates/js/translated/stock.js:424 +#: templates/js/translated/order.js:212 templates/js/translated/stock.js:506 msgid "Select file format" msgstr "" @@ -7522,7 +7556,7 @@ msgstr "" msgid "Quantity to receive" msgstr "" -#: templates/js/translated/order.js:360 templates/js/translated/stock.js:1673 +#: templates/js/translated/order.js:360 templates/js/translated/stock.js:1755 msgid "Stock Status" msgstr "" @@ -7546,321 +7580,321 @@ msgstr "" msgid "Receive Purchase Order Items" msgstr "" -#: templates/js/translated/order.js:627 +#: templates/js/translated/order.js:627 templates/js/translated/part.js:746 msgid "No purchase orders found" msgstr "" -#: templates/js/translated/order.js:652 templates/js/translated/order.js:1063 +#: templates/js/translated/order.js:659 templates/js/translated/order.js:1062 msgid "Order is overdue" msgstr "" -#: templates/js/translated/order.js:772 templates/js/translated/order.js:1646 +#: templates/js/translated/order.js:771 templates/js/translated/order.js:1645 msgid "Edit Line Item" msgstr "" -#: templates/js/translated/order.js:784 templates/js/translated/order.js:1657 +#: templates/js/translated/order.js:783 templates/js/translated/order.js:1656 msgid "Delete Line Item" msgstr "" -#: templates/js/translated/order.js:823 +#: templates/js/translated/order.js:822 msgid "No line items found" msgstr "" -#: templates/js/translated/order.js:850 templates/js/translated/order.js:1467 +#: templates/js/translated/order.js:849 templates/js/translated/order.js:1466 msgid "Total" msgstr "" -#: templates/js/translated/order.js:904 templates/js/translated/order.js:1492 -#: templates/js/translated/part.js:1594 templates/js/translated/part.js:1805 +#: templates/js/translated/order.js:903 templates/js/translated/order.js:1491 +#: templates/js/translated/part.js:1775 templates/js/translated/part.js:1986 msgid "Unit Price" msgstr "" -#: templates/js/translated/order.js:919 templates/js/translated/order.js:1508 +#: templates/js/translated/order.js:918 templates/js/translated/order.js:1507 msgid "Total Price" msgstr "" -#: templates/js/translated/order.js:997 templates/js/translated/order.js:1617 +#: templates/js/translated/order.js:996 templates/js/translated/order.js:1616 msgid "Edit line item" msgstr "" -#: templates/js/translated/order.js:998 +#: templates/js/translated/order.js:997 msgid "Delete line item" msgstr "" -#: templates/js/translated/order.js:1002 +#: templates/js/translated/order.js:1001 templates/js/translated/part.js:878 msgid "Receive line item" msgstr "" -#: templates/js/translated/order.js:1039 +#: templates/js/translated/order.js:1038 msgid "No sales orders found" msgstr "" -#: templates/js/translated/order.js:1077 +#: templates/js/translated/order.js:1076 msgid "Invalid Customer" msgstr "" -#: templates/js/translated/order.js:1155 +#: templates/js/translated/order.js:1154 msgid "No sales order allocations found" msgstr "" -#: templates/js/translated/order.js:1248 +#: templates/js/translated/order.js:1247 msgid "Edit Stock Allocation" msgstr "" -#: templates/js/translated/order.js:1265 +#: templates/js/translated/order.js:1264 msgid "Confirm Delete Operation" msgstr "" -#: templates/js/translated/order.js:1266 +#: templates/js/translated/order.js:1265 msgid "Delete Stock Allocation" msgstr "" -#: templates/js/translated/order.js:1308 +#: templates/js/translated/order.js:1307 msgid "Stock location not specified" msgstr "" -#: templates/js/translated/order.js:1557 +#: templates/js/translated/order.js:1556 msgid "Fulfilled" msgstr "" -#: templates/js/translated/order.js:1601 +#: templates/js/translated/order.js:1600 msgid "Allocate serial numbers" msgstr "" -#: templates/js/translated/order.js:1607 +#: templates/js/translated/order.js:1606 msgid "Purchase stock" msgstr "" -#: templates/js/translated/order.js:1614 templates/js/translated/order.js:1793 +#: templates/js/translated/order.js:1613 templates/js/translated/order.js:1792 msgid "Calculate price" msgstr "" -#: templates/js/translated/order.js:1618 +#: templates/js/translated/order.js:1617 msgid "Delete line item " msgstr "" -#: templates/js/translated/order.js:1741 +#: templates/js/translated/order.js:1740 msgid "Allocate Stock Item" msgstr "" -#: templates/js/translated/order.js:1801 +#: templates/js/translated/order.js:1800 msgid "Update Unit Price" msgstr "" -#: templates/js/translated/order.js:1815 +#: templates/js/translated/order.js:1814 msgid "No matching line items" msgstr "" -#: templates/js/translated/part.js:51 +#: templates/js/translated/part.js:52 msgid "Part Attributes" msgstr "" -#: templates/js/translated/part.js:55 +#: templates/js/translated/part.js:56 msgid "Part Creation Options" msgstr "" -#: templates/js/translated/part.js:59 +#: templates/js/translated/part.js:60 msgid "Part Duplication Options" msgstr "" -#: templates/js/translated/part.js:63 +#: templates/js/translated/part.js:64 msgid "Supplier Options" msgstr "" -#: templates/js/translated/part.js:77 +#: templates/js/translated/part.js:78 msgid "Add Part Category" msgstr "" -#: templates/js/translated/part.js:166 +#: templates/js/translated/part.js:162 msgid "Create Initial Stock" msgstr "" -#: templates/js/translated/part.js:167 +#: templates/js/translated/part.js:163 msgid "Create an initial stock item for this part" msgstr "" -#: templates/js/translated/part.js:174 +#: templates/js/translated/part.js:170 msgid "Initial Stock Quantity" msgstr "" -#: templates/js/translated/part.js:175 +#: templates/js/translated/part.js:171 msgid "Specify initial stock quantity for this part" msgstr "" -#: templates/js/translated/part.js:182 +#: templates/js/translated/part.js:178 msgid "Select destination stock location" msgstr "" -#: templates/js/translated/part.js:193 +#: templates/js/translated/part.js:196 msgid "Copy Category Parameters" msgstr "" -#: templates/js/translated/part.js:194 +#: templates/js/translated/part.js:197 msgid "Copy parameter templates from selected part category" msgstr "" -#: templates/js/translated/part.js:202 +#: templates/js/translated/part.js:205 msgid "Add Supplier Data" msgstr "" -#: templates/js/translated/part.js:203 +#: templates/js/translated/part.js:206 msgid "Create initial supplier data for this part" msgstr "" -#: templates/js/translated/part.js:259 +#: templates/js/translated/part.js:262 msgid "Copy Image" msgstr "" -#: templates/js/translated/part.js:260 +#: templates/js/translated/part.js:263 msgid "Copy image from original part" msgstr "" -#: templates/js/translated/part.js:268 +#: templates/js/translated/part.js:271 msgid "Copy bill of materials from original part" msgstr "" -#: templates/js/translated/part.js:275 +#: templates/js/translated/part.js:278 msgid "Copy Parameters" msgstr "" -#: templates/js/translated/part.js:276 +#: templates/js/translated/part.js:279 msgid "Copy parameter data from original part" msgstr "" -#: templates/js/translated/part.js:289 +#: templates/js/translated/part.js:292 msgid "Parent part category" msgstr "" -#: templates/js/translated/part.js:333 +#: templates/js/translated/part.js:336 msgid "Edit Part" msgstr "" -#: templates/js/translated/part.js:335 +#: templates/js/translated/part.js:338 msgid "Part edited" msgstr "" -#: templates/js/translated/part.js:403 +#: templates/js/translated/part.js:410 msgid "You are subscribed to notifications for this item" msgstr "" -#: templates/js/translated/part.js:405 +#: templates/js/translated/part.js:412 msgid "You have subscribed to notifications for this item" msgstr "" -#: templates/js/translated/part.js:410 +#: templates/js/translated/part.js:417 msgid "Subscribe to notifications for this item" msgstr "" -#: templates/js/translated/part.js:412 +#: templates/js/translated/part.js:419 msgid "You have unsubscribed to notifications for this item" msgstr "" -#: templates/js/translated/part.js:441 templates/js/translated/part.js:526 +#: templates/js/translated/part.js:448 templates/js/translated/part.js:533 msgid "Trackable part" msgstr "" -#: templates/js/translated/part.js:445 templates/js/translated/part.js:530 +#: templates/js/translated/part.js:452 templates/js/translated/part.js:537 msgid "Virtual part" msgstr "" -#: templates/js/translated/part.js:457 +#: templates/js/translated/part.js:464 msgid "Subscribed part" msgstr "" -#: templates/js/translated/part.js:461 +#: templates/js/translated/part.js:468 msgid "Salable part" msgstr "" -#: templates/js/translated/part.js:576 +#: templates/js/translated/part.js:583 msgid "No variants found" msgstr "" -#: templates/js/translated/part.js:765 +#: templates/js/translated/part.js:946 msgid "Delete part relationship" msgstr "" -#: templates/js/translated/part.js:789 +#: templates/js/translated/part.js:970 msgid "Delete Part Relationship" msgstr "" -#: templates/js/translated/part.js:856 templates/js/translated/part.js:1116 +#: templates/js/translated/part.js:1037 templates/js/translated/part.js:1297 msgid "No parts found" msgstr "" -#: templates/js/translated/part.js:1026 +#: templates/js/translated/part.js:1207 msgid "No category" msgstr "" -#: templates/js/translated/part.js:1049 +#: templates/js/translated/part.js:1230 #: templates/js/translated/table_filters.js:381 msgid "Low stock" msgstr "" -#: templates/js/translated/part.js:1140 templates/js/translated/part.js:1312 -#: templates/js/translated/stock.js:1832 +#: templates/js/translated/part.js:1321 templates/js/translated/part.js:1493 +#: templates/js/translated/stock.js:1914 msgid "Display as list" msgstr "" -#: templates/js/translated/part.js:1156 +#: templates/js/translated/part.js:1337 msgid "Display as grid" msgstr "" -#: templates/js/translated/part.js:1331 templates/js/translated/stock.js:1851 +#: templates/js/translated/part.js:1512 templates/js/translated/stock.js:1933 msgid "Display as tree" msgstr "" -#: templates/js/translated/part.js:1395 +#: templates/js/translated/part.js:1576 msgid "Subscribed category" msgstr "" -#: templates/js/translated/part.js:1409 templates/js/translated/stock.js:1895 +#: templates/js/translated/part.js:1590 templates/js/translated/stock.js:1977 msgid "Path" msgstr "" -#: templates/js/translated/part.js:1453 +#: templates/js/translated/part.js:1634 msgid "No test templates matching query" msgstr "" -#: templates/js/translated/part.js:1504 templates/js/translated/stock.js:816 +#: templates/js/translated/part.js:1685 templates/js/translated/stock.js:898 msgid "Edit test result" msgstr "" -#: templates/js/translated/part.js:1505 templates/js/translated/stock.js:817 +#: templates/js/translated/part.js:1686 templates/js/translated/stock.js:899 msgid "Delete test result" msgstr "" -#: templates/js/translated/part.js:1511 +#: templates/js/translated/part.js:1692 msgid "This test is defined for a parent part" msgstr "" -#: templates/js/translated/part.js:1533 +#: templates/js/translated/part.js:1714 msgid "Edit Test Result Template" msgstr "" -#: templates/js/translated/part.js:1547 +#: templates/js/translated/part.js:1728 msgid "Delete Test Result Template" msgstr "" -#: templates/js/translated/part.js:1572 +#: templates/js/translated/part.js:1753 #, python-brace-format msgid "No ${human_name} information found" msgstr "" -#: templates/js/translated/part.js:1627 +#: templates/js/translated/part.js:1808 #, python-brace-format msgid "Edit ${human_name}" msgstr "" -#: templates/js/translated/part.js:1628 +#: templates/js/translated/part.js:1809 #, python-brace-format msgid "Delete ${human_name}" msgstr "" -#: templates/js/translated/part.js:1729 +#: templates/js/translated/part.js:1910 msgid "Single Price" msgstr "" -#: templates/js/translated/part.js:1748 +#: templates/js/translated/part.js:1929 msgid "Single Price Difference" msgstr "" @@ -7930,276 +7964,300 @@ msgstr "" msgid "Sales Order(s) must be selected before printing report" msgstr "" -#: templates/js/translated/stock.js:70 +#: templates/js/translated/stock.js:71 msgid "Serialize Stock Item" msgstr "" -#: templates/js/translated/stock.js:88 templates/js/translated/stock.js:167 +#: templates/js/translated/stock.js:89 templates/js/translated/stock.js:168 msgid "Next available serial number" msgstr "" -#: templates/js/translated/stock.js:90 templates/js/translated/stock.js:169 +#: templates/js/translated/stock.js:91 templates/js/translated/stock.js:170 msgid "Latest serial number" msgstr "" -#: templates/js/translated/stock.js:104 +#: templates/js/translated/stock.js:105 msgid "Parent stock location" msgstr "" -#: templates/js/translated/stock.js:140 +#: templates/js/translated/stock.js:141 msgid "New Stock Location" msgstr "" -#: templates/js/translated/stock.js:180 +#: templates/js/translated/stock.js:181 msgid "This part cannot be serialized" msgstr "" -#: templates/js/translated/stock.js:219 +#: templates/js/translated/stock.js:220 msgid "Enter initial quantity for this stock item" msgstr "" -#: templates/js/translated/stock.js:225 +#: templates/js/translated/stock.js:226 msgid "Enter serial numbers for new stock (or leave blank)" msgstr "" -#: templates/js/translated/stock.js:368 +#: templates/js/translated/stock.js:369 msgid "Created new stock item" msgstr "" -#: templates/js/translated/stock.js:381 +#: templates/js/translated/stock.js:382 msgid "Created multiple stock items" msgstr "" -#: templates/js/translated/stock.js:420 +#: templates/js/translated/stock.js:407 +msgid "Find Serial Number" +msgstr "" + +#: templates/js/translated/stock.js:411 templates/js/translated/stock.js:412 +msgid "Enter serial number" +msgstr "" + +#: templates/js/translated/stock.js:428 +msgid "Enter a serial number" +msgstr "" + +#: templates/js/translated/stock.js:448 +msgid "No matching serial number" +msgstr "" + +#: templates/js/translated/stock.js:457 +msgid "More than one matching result found" +msgstr "" + +#: templates/js/translated/stock.js:502 msgid "Export Stock" msgstr "" -#: templates/js/translated/stock.js:431 +#: templates/js/translated/stock.js:513 msgid "Include Sublocations" msgstr "" -#: templates/js/translated/stock.js:432 +#: templates/js/translated/stock.js:514 msgid "Include stock items in sublocations" msgstr "" -#: templates/js/translated/stock.js:474 +#: templates/js/translated/stock.js:556 msgid "Transfer Stock" msgstr "" -#: templates/js/translated/stock.js:475 +#: templates/js/translated/stock.js:557 msgid "Move" msgstr "" -#: templates/js/translated/stock.js:481 +#: templates/js/translated/stock.js:563 msgid "Count Stock" msgstr "" -#: templates/js/translated/stock.js:482 +#: templates/js/translated/stock.js:564 msgid "Count" msgstr "" -#: templates/js/translated/stock.js:486 +#: templates/js/translated/stock.js:568 msgid "Remove Stock" msgstr "" -#: templates/js/translated/stock.js:487 +#: templates/js/translated/stock.js:569 msgid "Take" msgstr "" -#: templates/js/translated/stock.js:491 +#: templates/js/translated/stock.js:573 msgid "Add Stock" msgstr "" -#: templates/js/translated/stock.js:492 users/models.py:200 +#: templates/js/translated/stock.js:574 users/models.py:200 msgid "Add" msgstr "" -#: templates/js/translated/stock.js:496 templates/stock_table.html:56 +#: templates/js/translated/stock.js:578 templates/stock_table.html:56 msgid "Delete Stock" msgstr "" -#: templates/js/translated/stock.js:585 +#: templates/js/translated/stock.js:667 msgid "Quantity cannot be adjusted for serialized stock" msgstr "" -#: templates/js/translated/stock.js:585 +#: templates/js/translated/stock.js:667 msgid "Specify stock quantity" msgstr "" -#: templates/js/translated/stock.js:625 +#: templates/js/translated/stock.js:707 msgid "You must select at least one available stock item" msgstr "" -#: templates/js/translated/stock.js:783 +#: templates/js/translated/stock.js:865 msgid "PASS" msgstr "" -#: templates/js/translated/stock.js:785 +#: templates/js/translated/stock.js:867 msgid "FAIL" msgstr "" -#: templates/js/translated/stock.js:790 +#: templates/js/translated/stock.js:872 msgid "NO RESULT" msgstr "" -#: templates/js/translated/stock.js:812 +#: templates/js/translated/stock.js:894 msgid "Add test result" msgstr "" -#: templates/js/translated/stock.js:838 +#: templates/js/translated/stock.js:920 msgid "No test results found" msgstr "" -#: templates/js/translated/stock.js:895 +#: templates/js/translated/stock.js:977 msgid "Test Date" msgstr "" -#: templates/js/translated/stock.js:1002 +#: templates/js/translated/stock.js:1084 msgid "In production" msgstr "" -#: templates/js/translated/stock.js:1006 +#: templates/js/translated/stock.js:1088 msgid "Installed in Stock Item" msgstr "" -#: templates/js/translated/stock.js:1010 +#: templates/js/translated/stock.js:1092 msgid "Shipped to customer" msgstr "" -#: templates/js/translated/stock.js:1014 +#: templates/js/translated/stock.js:1096 msgid "Assigned to Sales Order" msgstr "" -#: templates/js/translated/stock.js:1020 +#: templates/js/translated/stock.js:1102 msgid "No stock location set" msgstr "" -#: templates/js/translated/stock.js:1178 +#: templates/js/translated/stock.js:1260 msgid "Stock item is in production" msgstr "" -#: templates/js/translated/stock.js:1183 +#: templates/js/translated/stock.js:1265 msgid "Stock item assigned to sales order" msgstr "" -#: templates/js/translated/stock.js:1186 +#: templates/js/translated/stock.js:1268 msgid "Stock item assigned to customer" msgstr "" -#: templates/js/translated/stock.js:1190 +#: templates/js/translated/stock.js:1272 msgid "Stock item has expired" msgstr "" -#: templates/js/translated/stock.js:1192 +#: templates/js/translated/stock.js:1274 msgid "Stock item will expire soon" msgstr "" -#: templates/js/translated/stock.js:1196 +#: templates/js/translated/stock.js:1278 msgid "Stock item has been allocated" msgstr "" -#: templates/js/translated/stock.js:1200 +#: templates/js/translated/stock.js:1282 msgid "Stock item has been installed in another item" msgstr "" -#: templates/js/translated/stock.js:1207 +#: templates/js/translated/stock.js:1289 msgid "Stock item has been rejected" msgstr "" -#: templates/js/translated/stock.js:1209 +#: templates/js/translated/stock.js:1291 msgid "Stock item is lost" msgstr "" -#: templates/js/translated/stock.js:1211 +#: templates/js/translated/stock.js:1293 msgid "Stock item is destroyed" msgstr "" -#: templates/js/translated/stock.js:1215 +#: templates/js/translated/stock.js:1297 #: templates/js/translated/table_filters.js:183 msgid "Depleted" msgstr "" -#: templates/js/translated/stock.js:1265 +#: templates/js/translated/stock.js:1347 msgid "Stocktake" msgstr "" -#: templates/js/translated/stock.js:1338 +#: templates/js/translated/stock.js:1420 msgid "Supplier part not specified" msgstr "" -#: templates/js/translated/stock.js:1376 +#: templates/js/translated/stock.js:1458 msgid "No stock items matching query" msgstr "" -#: templates/js/translated/stock.js:1397 templates/js/translated/stock.js:1445 +#: templates/js/translated/stock.js:1479 templates/js/translated/stock.js:1527 msgid "items" msgstr "" -#: templates/js/translated/stock.js:1485 +#: templates/js/translated/stock.js:1567 msgid "batches" msgstr "" -#: templates/js/translated/stock.js:1512 +#: templates/js/translated/stock.js:1594 msgid "locations" msgstr "" -#: templates/js/translated/stock.js:1514 +#: templates/js/translated/stock.js:1596 msgid "Undefined location" msgstr "" -#: templates/js/translated/stock.js:1688 +#: templates/js/translated/stock.js:1770 msgid "Set Stock Status" msgstr "" -#: templates/js/translated/stock.js:1702 +#: templates/js/translated/stock.js:1784 msgid "Select Status Code" msgstr "" -#: templates/js/translated/stock.js:1703 +#: templates/js/translated/stock.js:1785 msgid "Status code must be selected" msgstr "" -#: templates/js/translated/stock.js:1927 +#: templates/js/translated/stock.js:2009 msgid "Invalid date" msgstr "" -#: templates/js/translated/stock.js:1974 +#: templates/js/translated/stock.js:2031 +msgid "Details" +msgstr "" + +#: templates/js/translated/stock.js:2056 msgid "Location no longer exists" msgstr "" -#: templates/js/translated/stock.js:1993 +#: templates/js/translated/stock.js:2075 msgid "Purchase order no longer exists" msgstr "" -#: templates/js/translated/stock.js:2012 +#: templates/js/translated/stock.js:2094 msgid "Customer no longer exists" msgstr "" -#: templates/js/translated/stock.js:2030 +#: templates/js/translated/stock.js:2112 msgid "Stock item no longer exists" msgstr "" -#: templates/js/translated/stock.js:2053 +#: templates/js/translated/stock.js:2135 msgid "Added" msgstr "" -#: templates/js/translated/stock.js:2061 +#: templates/js/translated/stock.js:2143 msgid "Removed" msgstr "" -#: templates/js/translated/stock.js:2102 +#: templates/js/translated/stock.js:2184 msgid "Edit tracking entry" msgstr "" -#: templates/js/translated/stock.js:2103 +#: templates/js/translated/stock.js:2185 msgid "Delete tracking entry" msgstr "" -#: templates/js/translated/stock.js:2154 +#: templates/js/translated/stock.js:2236 msgid "No installed items" msgstr "" -#: templates/js/translated/stock.js:2205 +#: templates/js/translated/stock.js:2287 msgid "Uninstall Stock Item" msgstr "" diff --git a/InvenTree/locale/th/LC_MESSAGES/django.po b/InvenTree/locale/th/LC_MESSAGES/django.po index b9039d5982..826a1b4653 100644 --- a/InvenTree/locale/th/LC_MESSAGES/django.po +++ b/InvenTree/locale/th/LC_MESSAGES/django.po @@ -2,8 +2,8 @@ msgid "" msgstr "" "Project-Id-Version: inventree\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2021-11-30 21:49+0000\n" -"PO-Revision-Date: 2021-11-30 21:51\n" +"POT-Creation-Date: 2021-12-03 10:37+0000\n" +"PO-Revision-Date: 2021-12-03 11:25\n" "Last-Translator: \n" "Language-Team: Thai\n" "Language: th_TH\n" @@ -114,129 +114,130 @@ msgstr "" msgid "Number of unique serial number ({s}) must match quantity ({q})" msgstr "" -#: InvenTree/models.py:114 +#: InvenTree/models.py:120 msgid "Missing file" msgstr "" -#: InvenTree/models.py:115 +#: InvenTree/models.py:121 msgid "Missing external link" msgstr "" -#: InvenTree/models.py:126 stock/models.py:1874 +#: InvenTree/models.py:132 stock/models.py:1864 #: templates/js/translated/attachment.js:117 msgid "Attachment" msgstr "" -#: InvenTree/models.py:127 +#: InvenTree/models.py:133 msgid "Select file to attach" msgstr "" -#: InvenTree/models.py:133 company/models.py:131 company/models.py:348 +#: InvenTree/models.py:139 company/models.py:131 company/models.py:348 #: company/models.py:564 order/models.py:163 part/models.py:797 #: report/templates/report/inventree_build_order_base.html:165 #: templates/js/translated/company.js:537 -#: templates/js/translated/company.js:826 templates/js/translated/part.js:1077 +#: templates/js/translated/company.js:826 templates/js/translated/part.js:1258 msgid "Link" msgstr "" -#: InvenTree/models.py:134 build/models.py:330 part/models.py:798 -#: stock/models.py:540 +#: InvenTree/models.py:140 build/models.py:330 part/models.py:798 +#: stock/models.py:530 msgid "Link to external URL" msgstr "" -#: InvenTree/models.py:137 templates/js/translated/attachment.js:161 +#: InvenTree/models.py:143 templates/js/translated/attachment.js:161 msgid "Comment" msgstr "" -#: InvenTree/models.py:137 +#: InvenTree/models.py:143 msgid "File comment" msgstr "" -#: InvenTree/models.py:143 InvenTree/models.py:144 common/models.py:1185 +#: InvenTree/models.py:149 InvenTree/models.py:150 common/models.py:1185 #: common/models.py:1186 part/models.py:2205 part/models.py:2225 #: report/templates/report/inventree_test_report_base.html:96 -#: templates/js/translated/stock.js:2084 +#: templates/js/translated/stock.js:2166 msgid "User" msgstr "" -#: InvenTree/models.py:147 +#: InvenTree/models.py:153 msgid "upload date" msgstr "" -#: InvenTree/models.py:170 +#: InvenTree/models.py:176 msgid "Filename must not be empty" msgstr "" -#: InvenTree/models.py:193 +#: InvenTree/models.py:199 msgid "Invalid attachment directory" msgstr "" -#: InvenTree/models.py:203 +#: InvenTree/models.py:209 #, python-brace-format msgid "Filename contains illegal character '{c}'" msgstr "" -#: InvenTree/models.py:206 +#: InvenTree/models.py:212 msgid "Filename missing extension" msgstr "" -#: InvenTree/models.py:213 +#: InvenTree/models.py:219 msgid "Attachment with this filename already exists" msgstr "" -#: InvenTree/models.py:220 +#: InvenTree/models.py:226 msgid "Error renaming file" msgstr "" -#: InvenTree/models.py:255 +#: InvenTree/models.py:261 msgid "Invalid choice" msgstr "" -#: InvenTree/models.py:271 InvenTree/models.py:272 company/models.py:415 +#: InvenTree/models.py:277 InvenTree/models.py:278 company/models.py:415 #: label/models.py:112 part/models.py:741 part/models.py:2389 -#: part/templates/part/detail.html:25 report/models.py:181 -#: templates/InvenTree/settings/settings.html:259 -#: templates/js/translated/company.js:638 templates/js/translated/part.js:499 -#: templates/js/translated/part.js:636 templates/js/translated/part.js:1384 -#: templates/js/translated/stock.js:1877 +#: report/models.py:181 templates/InvenTree/settings/settings.html:259 +#: templates/js/translated/company.js:638 templates/js/translated/part.js:506 +#: templates/js/translated/part.js:643 templates/js/translated/part.js:1565 +#: templates/js/translated/stock.js:1959 msgid "Name" msgstr "" -#: InvenTree/models.py:278 build/models.py:207 +#: InvenTree/models.py:284 build/models.py:207 #: build/templates/build/detail.html:25 company/models.py:354 -#: company/models.py:570 company/templates/company/manufacturer_part.html:80 -#: company/templates/company/supplier_part.html:81 label/models.py:119 -#: order/models.py:161 part/models.py:764 part/templates/part/detail.html:30 +#: company/models.py:570 company/templates/company/company_base.html:68 +#: company/templates/company/manufacturer_part.html:76 +#: company/templates/company/supplier_part.html:73 label/models.py:119 +#: order/models.py:161 part/models.py:764 part/templates/part/category.html:70 +#: part/templates/part/part_base.html:163 #: part/templates/part/set_category.html:14 report/models.py:194 #: report/models.py:553 report/models.py:592 #: report/templates/report/inventree_build_order_base.html:118 -#: stock/templates/stock/location.html:108 templates/js/translated/bom.js:215 +#: stock/templates/stock/location.html:89 templates/js/translated/bom.js:215 #: templates/js/translated/bom.js:428 templates/js/translated/build.js:1621 #: templates/js/translated/company.js:345 #: templates/js/translated/company.js:548 -#: templates/js/translated/company.js:837 templates/js/translated/order.js:673 -#: templates/js/translated/order.js:855 templates/js/translated/order.js:1091 -#: templates/js/translated/part.js:558 templates/js/translated/part.js:752 -#: templates/js/translated/part.js:837 templates/js/translated/part.js:1007 -#: templates/js/translated/part.js:1403 templates/js/translated/part.js:1472 -#: templates/js/translated/stock.js:1151 templates/js/translated/stock.js:1889 -#: templates/js/translated/stock.js:1934 +#: templates/js/translated/company.js:837 templates/js/translated/order.js:680 +#: templates/js/translated/order.js:854 templates/js/translated/order.js:1090 +#: templates/js/translated/part.js:565 templates/js/translated/part.js:933 +#: templates/js/translated/part.js:1018 templates/js/translated/part.js:1188 +#: templates/js/translated/part.js:1584 templates/js/translated/part.js:1653 +#: templates/js/translated/stock.js:1233 templates/js/translated/stock.js:1971 +#: templates/js/translated/stock.js:2016 msgid "Description" msgstr "" -#: InvenTree/models.py:279 +#: InvenTree/models.py:285 msgid "Description (optional)" msgstr "" -#: InvenTree/models.py:287 +#: InvenTree/models.py:293 msgid "parent" msgstr "" -#: InvenTree/serializers.py:62 part/models.py:2674 +#: InvenTree/serializers.py:65 part/models.py:2674 msgid "Must be a valid number" msgstr "" -#: InvenTree/serializers.py:285 +#: InvenTree/serializers.py:299 msgid "Filename" msgstr "" @@ -361,7 +362,7 @@ msgid "Returned" msgstr "" #: InvenTree/status_codes.py:143 -#: order/templates/order/sales_order_base.html:147 +#: order/templates/order/sales_order_base.html:148 msgid "Shipped" msgstr "" @@ -566,7 +567,7 @@ msgid "Barcode associated with StockItem" msgstr "" #: build/forms.py:36 build/models.py:1283 -#: build/templates/build/build_base.html:124 +#: build/templates/build/build_base.html:132 #: build/templates/build/detail.html:35 common/models.py:1225 #: company/forms.py:42 company/templates/company/supplier_part.html:251 #: order/forms.py:102 order/models.py:729 order/models.py:991 @@ -574,26 +575,27 @@ msgstr "" #: order/templates/order/order_wizard/select_parts.html:34 part/forms.py:223 #: part/forms.py:239 part/forms.py:255 part/models.py:2576 #: part/templates/part/bom_upload/match_parts.html:31 -#: part/templates/part/detail.html:1076 part/templates/part/detail.html:1162 +#: part/templates/part/detail.html:967 part/templates/part/detail.html:1053 #: part/templates/part/part_pricing.html:16 #: report/templates/report/inventree_build_order_base.html:114 #: report/templates/report/inventree_po_report.html:91 #: report/templates/report/inventree_so_report.html:91 #: report/templates/report/inventree_test_report_base.html:81 #: report/templates/report/inventree_test_report_base.html:139 -#: stock/forms.py:156 stock/serializers.py:286 -#: stock/templates/stock/item_base.html:256 +#: stock/forms.py:156 stock/serializers.py:291 +#: stock/templates/stock/item_base.html:174 #: templates/js/translated/barcode.js:385 templates/js/translated/bom.js:443 #: templates/js/translated/build.js:235 templates/js/translated/build.js:435 #: templates/js/translated/build.js:629 templates/js/translated/build.js:639 #: templates/js/translated/build.js:1015 templates/js/translated/build.js:1362 #: templates/js/translated/model_renderers.js:99 -#: templates/js/translated/order.js:892 templates/js/translated/order.js:1205 -#: templates/js/translated/order.js:1283 templates/js/translated/order.js:1290 -#: templates/js/translated/order.js:1379 templates/js/translated/order.js:1479 -#: templates/js/translated/part.js:1615 templates/js/translated/part.js:1738 -#: templates/js/translated/part.js:1816 templates/js/translated/stock.js:377 -#: templates/js/translated/stock.js:2069 templates/js/translated/stock.js:2171 +#: templates/js/translated/order.js:891 templates/js/translated/order.js:1204 +#: templates/js/translated/order.js:1282 templates/js/translated/order.js:1289 +#: templates/js/translated/order.js:1378 templates/js/translated/order.js:1478 +#: templates/js/translated/part.js:843 templates/js/translated/part.js:1796 +#: templates/js/translated/part.js:1919 templates/js/translated/part.js:1997 +#: templates/js/translated/stock.js:378 templates/js/translated/stock.js:2151 +#: templates/js/translated/stock.js:2253 msgid "Quantity" msgstr "" @@ -602,8 +604,8 @@ msgid "Enter quantity for build output" msgstr "" #: build/forms.py:41 order/forms.py:96 stock/forms.py:95 -#: stock/serializers.py:307 templates/js/translated/stock.js:224 -#: templates/js/translated/stock.js:378 +#: stock/serializers.py:312 templates/js/translated/stock.js:225 +#: templates/js/translated/stock.js:379 msgid "Serial Numbers" msgstr "" @@ -646,7 +648,7 @@ msgstr "" #: build/templates/build/index.html:8 build/templates/build/index.html:12 #: order/templates/order/sales_order_detail.html:42 #: order/templates/order/so_sidebar.html:7 -#: part/templates/part/part_sidebar.html:22 templates/InvenTree/index.html:221 +#: part/templates/part/part_sidebar.html:20 templates/InvenTree/index.html:221 #: templates/InvenTree/search.html:145 #: templates/InvenTree/settings/sidebar.html:42 users/models.py:44 msgid "Build Orders" @@ -662,7 +664,7 @@ msgstr "" #: report/templates/report/inventree_po_report.html:92 #: report/templates/report/inventree_so_report.html:92 #: templates/js/translated/bom.js:435 templates/js/translated/build.js:1119 -#: templates/js/translated/order.js:886 templates/js/translated/order.js:1473 +#: templates/js/translated/order.js:885 templates/js/translated/order.js:1472 msgid "Reference" msgstr "" @@ -670,7 +672,7 @@ msgstr "" msgid "Brief description of the build" msgstr "" -#: build/models.py:219 build/templates/build/build_base.html:156 +#: build/models.py:219 build/templates/build/build_base.html:164 #: build/templates/build/detail.html:88 msgid "Parent Build" msgstr "" @@ -679,7 +681,7 @@ msgstr "" msgid "BuildOrder to which this build is allocated" msgstr "" -#: build/models.py:225 build/templates/build/build_base.html:119 +#: build/models.py:225 build/templates/build/build_base.html:77 #: build/templates/build/detail.html:30 company/models.py:705 #: order/models.py:789 order/models.py:860 #: order/templates/order/order_wizard/select_parts.html:32 part/models.py:357 @@ -700,10 +702,10 @@ msgstr "" #: templates/js/translated/build.js:988 templates/js/translated/build.js:1359 #: templates/js/translated/build.js:1626 templates/js/translated/company.js:489 #: templates/js/translated/company.js:746 templates/js/translated/order.js:426 -#: templates/js/translated/order.js:840 templates/js/translated/order.js:1457 -#: templates/js/translated/part.js:737 templates/js/translated/part.js:818 -#: templates/js/translated/part.js:985 templates/js/translated/stock.js:508 -#: templates/js/translated/stock.js:1108 templates/js/translated/stock.js:2159 +#: templates/js/translated/order.js:839 templates/js/translated/order.js:1456 +#: templates/js/translated/part.js:918 templates/js/translated/part.js:999 +#: templates/js/translated/part.js:1166 templates/js/translated/stock.js:590 +#: templates/js/translated/stock.js:1190 templates/js/translated/stock.js:2241 msgid "Part" msgstr "" @@ -751,7 +753,7 @@ msgstr "" msgid "Number of stock items which have been completed" msgstr "" -#: build/models.py:277 part/templates/part/part_base.html:216 +#: build/models.py:277 part/templates/part/part_base.html:234 msgid "Build Status" msgstr "" @@ -759,7 +761,7 @@ msgstr "" msgid "Build status code" msgstr "" -#: build/models.py:285 stock/models.py:544 +#: build/models.py:285 stock/models.py:534 msgid "Batch Code" msgstr "" @@ -768,7 +770,7 @@ msgid "Batch code for this build output" msgstr "" #: build/models.py:292 order/models.py:165 part/models.py:936 -#: part/templates/part/detail.html:86 templates/js/translated/order.js:1104 +#: part/templates/part/part_base.html:313 templates/js/translated/order.js:1103 msgid "Creation Date" msgstr "" @@ -797,12 +799,12 @@ msgstr "" msgid "User who issued this build order" msgstr "" -#: build/models.py:323 build/templates/build/build_base.html:177 +#: build/models.py:323 build/templates/build/build_base.html:185 #: build/templates/build/detail.html:116 order/models.py:179 -#: order/templates/order/order_base.html:154 -#: order/templates/order/sales_order_base.html:161 part/models.py:940 +#: order/templates/order/order_base.html:158 +#: order/templates/order/sales_order_base.html:162 part/models.py:940 #: report/templates/report/inventree_build_order_base.html:159 -#: templates/js/translated/build.js:1680 templates/js/translated/order.js:700 +#: templates/js/translated/build.js:1680 templates/js/translated/order.js:699 msgid "Responsible" msgstr "" @@ -811,10 +813,10 @@ msgid "User responsible for this build order" msgstr "" #: build/models.py:329 build/templates/build/detail.html:102 -#: company/templates/company/manufacturer_part.html:87 -#: company/templates/company/supplier_part.html:88 -#: part/templates/part/detail.html:80 stock/models.py:538 -#: stock/templates/stock/item_base.html:346 +#: company/templates/company/manufacturer_part.html:102 +#: company/templates/company/supplier_part.html:126 +#: part/templates/part/part_base.html:354 stock/models.py:528 +#: stock/templates/stock/item_base.html:374 msgid "External Link" msgstr "" @@ -824,15 +826,15 @@ msgstr "" #: order/models.py:183 order/models.py:738 #: order/templates/order/po_sidebar.html:11 #: order/templates/order/so_sidebar.html:11 part/models.py:925 -#: part/templates/part/detail.html:223 part/templates/part/part_sidebar.html:52 +#: part/templates/part/detail.html:116 part/templates/part/part_sidebar.html:50 #: report/templates/report/inventree_build_order_base.html:173 -#: stock/forms.py:154 stock/forms.py:204 stock/forms.py:238 stock/models.py:610 -#: stock/models.py:1774 stock/models.py:1880 stock/serializers.py:325 -#: stock/serializers.py:583 stock/templates/stock/stock_sidebar.html:21 +#: stock/forms.py:154 stock/forms.py:204 stock/forms.py:238 stock/models.py:600 +#: stock/models.py:1764 stock/models.py:1870 stock/serializers.py:330 +#: stock/serializers.py:588 stock/templates/stock/stock_sidebar.html:21 #: templates/js/translated/barcode.js:58 templates/js/translated/bom.js:599 -#: templates/js/translated/company.js:842 templates/js/translated/order.js:985 -#: templates/js/translated/order.js:1583 templates/js/translated/stock.js:891 -#: templates/js/translated/stock.js:1370 +#: templates/js/translated/company.js:842 templates/js/translated/order.js:984 +#: templates/js/translated/order.js:1582 templates/js/translated/stock.js:973 +#: templates/js/translated/stock.js:1452 msgid "Notes" msgstr "" @@ -877,7 +879,7 @@ msgstr "" msgid "Selected stock item not found in BOM" msgstr "" -#: build/models.py:1253 stock/templates/stock/item_base.html:318 +#: build/models.py:1253 stock/templates/stock/item_base.html:346 #: templates/InvenTree/search.html:143 templates/js/translated/build.js:1599 #: templates/navbar.html:33 msgid "Build" @@ -890,11 +892,11 @@ msgstr "" #: build/models.py:1270 build/serializers.py:328 #: stock/templates/stock/item_base.html:8 #: stock/templates/stock/item_base.html:16 -#: stock/templates/stock/item_base.html:340 +#: stock/templates/stock/item_base.html:368 #: templates/js/translated/build.js:408 templates/js/translated/build.js:413 #: templates/js/translated/build.js:1361 templates/js/translated/build.js:1742 -#: templates/js/translated/order.js:1178 templates/js/translated/order.js:1183 -#: templates/js/translated/stock.js:2020 +#: templates/js/translated/order.js:1177 templates/js/translated/order.js:1182 +#: templates/js/translated/stock.js:2102 msgid "Stock Item" msgstr "" @@ -934,16 +936,16 @@ msgstr "" msgid "This build output is not fully allocated" msgstr "" -#: build/serializers.py:190 order/serializers.py:219 order/serializers.py:287 -#: stock/forms.py:236 stock/serializers.py:318 stock/serializers.py:685 -#: stock/templates/stock/item_base.html:286 +#: build/serializers.py:190 order/serializers.py:228 order/serializers.py:296 +#: stock/forms.py:236 stock/serializers.py:323 stock/serializers.py:690 +#: stock/templates/stock/item_base.html:314 #: templates/js/translated/barcode.js:384 #: templates/js/translated/barcode.js:557 templates/js/translated/build.js:420 #: templates/js/translated/build.js:1027 templates/js/translated/order.js:348 -#: templates/js/translated/order.js:1190 templates/js/translated/order.js:1298 -#: templates/js/translated/order.js:1304 templates/js/translated/part.js:181 -#: templates/js/translated/stock.js:510 templates/js/translated/stock.js:1251 -#: templates/js/translated/stock.js:1961 +#: templates/js/translated/order.js:1189 templates/js/translated/order.js:1297 +#: templates/js/translated/order.js:1303 templates/js/translated/part.js:177 +#: templates/js/translated/stock.js:592 templates/js/translated/stock.js:1333 +#: templates/js/translated/stock.js:2043 msgid "Location" msgstr "" @@ -951,13 +953,13 @@ msgstr "" msgid "Location for completed build outputs" msgstr "" -#: build/serializers.py:197 build/templates/build/build_base.html:129 +#: build/serializers.py:197 build/templates/build/build_base.html:137 #: build/templates/build/detail.html:63 order/models.py:572 -#: order/serializers.py:240 stock/templates/stock/item_base.html:409 +#: order/serializers.py:249 stock/templates/stock/item_base.html:180 #: templates/js/translated/barcode.js:140 templates/js/translated/build.js:1655 -#: templates/js/translated/order.js:431 templates/js/translated/order.js:677 -#: templates/js/translated/order.js:1096 templates/js/translated/stock.js:1226 -#: templates/js/translated/stock.js:2038 templates/js/translated/stock.js:2187 +#: templates/js/translated/order.js:431 templates/js/translated/order.js:1095 +#: templates/js/translated/stock.js:1308 templates/js/translated/stock.js:2120 +#: templates/js/translated/stock.js:2269 msgid "Status" msgstr "" @@ -986,8 +988,8 @@ msgstr "" msgid "Item must be in stock" msgstr "" -#: build/serializers.py:348 order/models.py:316 order/serializers.py:233 -#: stock/models.py:381 stock/models.py:1103 stock/serializers.py:298 +#: build/serializers.py:348 order/models.py:316 order/serializers.py:242 +#: stock/models.py:371 stock/models.py:1093 stock/serializers.py:303 msgid "Quantity must be greater than zero" msgstr "" @@ -1031,7 +1033,7 @@ msgid "Edit Build" msgstr "" #: build/templates/build/build_base.html:56 -#: build/templates/build/build_base.html:207 build/views.py:56 +#: build/templates/build/build_base.html:215 build/views.py:56 msgid "Cancel Build" msgstr "" @@ -1041,93 +1043,95 @@ msgstr "" #: build/templates/build/build_base.html:64 #: build/templates/build/build_base.html:65 -#: build/templates/build/build_base.html:223 +#: build/templates/build/build_base.html:231 msgid "Complete Build" msgstr "" -#: build/templates/build/build_base.html:79 +#: build/templates/build/build_base.html:82 +msgid "Build Description" +msgstr "" + +#: build/templates/build/build_base.html:91 #, python-format msgid "This Build Order is allocated to Sales Order %(link)s" msgstr "" -#: build/templates/build/build_base.html:86 +#: build/templates/build/build_base.html:98 #, python-format msgid "This Build Order is a child of Build Order %(link)s" msgstr "" -#: build/templates/build/build_base.html:93 +#: build/templates/build/build_base.html:105 msgid "Build Order is ready to mark as completed" msgstr "" -#: build/templates/build/build_base.html:98 +#: build/templates/build/build_base.html:110 msgid "Build Order cannot be completed as outstanding outputs remain" msgstr "" -#: build/templates/build/build_base.html:103 +#: build/templates/build/build_base.html:115 msgid "Required build quantity has not yet been completed" msgstr "" -#: build/templates/build/build_base.html:108 +#: build/templates/build/build_base.html:120 msgid "Stock has not been fully allocated to this Build Order" msgstr "" -#: build/templates/build/build_base.html:138 +#: build/templates/build/build_base.html:146 #: build/templates/build/detail.html:132 -#: order/templates/order/order_base.html:140 -#: order/templates/order/sales_order_base.html:140 +#: order/templates/order/order_base.html:144 +#: order/templates/order/sales_order_base.html:141 #: report/templates/report/inventree_build_order_base.html:126 -#: templates/js/translated/build.js:1692 templates/js/translated/order.js:690 -#: templates/js/translated/order.js:1109 +#: templates/js/translated/build.js:1692 templates/js/translated/order.js:689 +#: templates/js/translated/order.js:1108 msgid "Target Date" msgstr "" -#: build/templates/build/build_base.html:143 +#: build/templates/build/build_base.html:151 #, python-format msgid "This build was due on %(target)s" msgstr "" -#: build/templates/build/build_base.html:143 -#: build/templates/build/build_base.html:188 -#: order/templates/order/order_base.html:81 -#: order/templates/order/order_base.html:102 -#: order/templates/order/sales_order_base.html:78 -#: order/templates/order/sales_order_base.html:107 +#: build/templates/build/build_base.html:151 +#: build/templates/build/build_base.html:196 +#: order/templates/order/order_base.html:98 +#: order/templates/order/sales_order_base.html:93 #: templates/js/translated/table_filters.js:294 #: templates/js/translated/table_filters.js:322 #: templates/js/translated/table_filters.js:339 msgid "Overdue" msgstr "" -#: build/templates/build/build_base.html:150 +#: build/templates/build/build_base.html:158 #: build/templates/build/detail.html:68 build/templates/build/detail.html:143 #: templates/js/translated/build.js:1641 #: templates/js/translated/table_filters.js:304 msgid "Completed" msgstr "" -#: build/templates/build/build_base.html:163 +#: build/templates/build/build_base.html:171 #: build/templates/build/detail.html:95 order/models.py:857 #: order/templates/order/sales_order_base.html:9 #: order/templates/order/sales_order_base.html:28 #: order/templates/order/sales_order_ship.html:25 #: report/templates/report/inventree_build_order_base.html:136 #: report/templates/report/inventree_so_report.html:77 -#: stock/templates/stock/item_base.html:280 -#: templates/js/translated/order.js:1051 +#: stock/templates/stock/item_base.html:308 +#: templates/js/translated/order.js:1050 msgid "Sales Order" msgstr "" -#: build/templates/build/build_base.html:170 +#: build/templates/build/build_base.html:178 #: build/templates/build/detail.html:109 #: report/templates/report/inventree_build_order_base.html:153 msgid "Issued By" msgstr "" -#: build/templates/build/build_base.html:215 +#: build/templates/build/build_base.html:223 msgid "Incomplete Outputs" msgstr "" -#: build/templates/build/build_base.html:216 +#: build/templates/build/build_base.html:224 msgid "Build Order cannot be completed as incomplete build outputs remain" msgstr "" @@ -1188,7 +1192,7 @@ msgid "Stock can be taken from any available location." msgstr "" #: build/templates/build/detail.html:50 order/models.py:811 stock/forms.py:150 -#: templates/js/translated/order.js:432 templates/js/translated/order.js:974 +#: templates/js/translated/order.js:432 templates/js/translated/order.js:973 msgid "Destination" msgstr "" @@ -1201,16 +1205,16 @@ msgid "Allocated Parts" msgstr "" #: build/templates/build/detail.html:81 -#: stock/templates/stock/item_base.html:304 -#: templates/js/translated/stock.js:1240 templates/js/translated/stock.js:2194 +#: stock/templates/stock/item_base.html:332 +#: templates/js/translated/stock.js:1322 templates/js/translated/stock.js:2276 #: templates/js/translated/table_filters.js:151 #: templates/js/translated/table_filters.js:233 msgid "Batch" msgstr "" #: build/templates/build/detail.html:127 -#: order/templates/order/order_base.html:127 -#: order/templates/order/sales_order_base.html:134 +#: order/templates/order/order_base.html:131 +#: order/templates/order/sales_order_base.html:135 #: templates/js/translated/build.js:1663 msgid "Created" msgstr "" @@ -1254,7 +1258,7 @@ msgstr "" #: build/templates/build/detail.html:185 #: company/templates/company/detail.html:38 #: company/templates/company/detail.html:85 order/views.py:509 -#: part/templates/part/category.html:166 +#: part/templates/part/category.html:173 msgid "Order Parts" msgstr "" @@ -1306,8 +1310,8 @@ msgstr "" #: order/templates/order/po_sidebar.html:9 #: order/templates/order/purchase_order_detail.html:60 #: order/templates/order/sales_order_detail.html:52 -#: order/templates/order/so_sidebar.html:9 part/templates/part/detail.html:300 -#: part/templates/part/part_sidebar.html:50 stock/templates/stock/item.html:95 +#: order/templates/order/so_sidebar.html:9 part/templates/part/detail.html:193 +#: part/templates/part/part_sidebar.html:48 stock/templates/stock/item.html:95 #: stock/templates/stock/stock_sidebar.html:19 msgid "Attachments" msgstr "" @@ -1323,7 +1327,7 @@ msgstr "" #: order/templates/order/purchase_order_detail.html:108 #: order/templates/order/sales_order_detail.html:72 #: order/templates/order/sales_order_detail.html:99 -#: part/templates/part/detail.html:227 stock/templates/stock/item.html:115 +#: part/templates/part/detail.html:120 stock/templates/stock/item.html:115 #: stock/templates/stock/item.html:205 msgid "Edit Notes" msgstr "" @@ -1336,7 +1340,7 @@ msgstr "" msgid "All untracked stock items have been allocated" msgstr "" -#: build/templates/build/index.html:18 part/templates/part/detail.html:407 +#: build/templates/build/index.html:18 part/templates/part/detail.html:300 msgid "New Build Order" msgstr "" @@ -1380,7 +1384,7 @@ msgstr "" msgid "Maximum output quantity is " msgstr "" -#: build/views.py:122 stock/serializers.py:356 stock/views.py:1290 +#: build/views.py:122 stock/serializers.py:361 stock/views.py:1290 msgid "Serial numbers already exist" msgstr "" @@ -1675,7 +1679,7 @@ msgid "Parts are trackable by default" msgstr "" #: common/models.py:745 part/models.py:920 -#: part/templates/part/part_base.html:144 +#: part/templates/part/part_base.html:147 #: templates/js/translated/table_filters.js:42 msgid "Virtual" msgstr "" @@ -2142,7 +2146,7 @@ msgstr "" #: common/models.py:1233 company/serializers.py:264 #: company/templates/company/supplier_part.html:256 -#: templates/js/translated/part.js:1620 +#: templates/js/translated/part.js:852 templates/js/translated/part.js:1801 msgid "Price" msgstr "" @@ -2206,7 +2210,7 @@ msgstr "" msgid "Description of the company" msgstr "" -#: company/models.py:112 company/templates/company/company_base.html:70 +#: company/models.py:112 company/templates/company/company_base.html:97 #: templates/js/translated/company.js:349 msgid "Website" msgstr "" @@ -2215,7 +2219,7 @@ msgstr "" msgid "Company website URL" msgstr "" -#: company/models.py:117 company/templates/company/company_base.html:88 +#: company/models.py:117 company/templates/company/company_base.html:115 msgid "Address" msgstr "" @@ -2231,7 +2235,7 @@ msgstr "" msgid "Contact phone number" msgstr "" -#: company/models.py:125 company/templates/company/company_base.html:102 +#: company/models.py:125 company/templates/company/company_base.html:129 #: templates/InvenTree/settings/user.html:47 msgid "Email" msgstr "" @@ -2240,7 +2244,7 @@ msgstr "" msgid "Contact email address" msgstr "" -#: company/models.py:128 company/templates/company/company_base.html:109 +#: company/models.py:128 company/templates/company/company_base.html:136 msgid "Contact" msgstr "" @@ -2281,7 +2285,7 @@ msgid "Does this company manufacture parts?" msgstr "" #: company/models.py:152 company/serializers.py:270 -#: company/templates/company/company_base.html:76 stock/serializers.py:172 +#: company/templates/company/company_base.html:103 stock/serializers.py:177 msgid "Currency" msgstr "" @@ -2289,8 +2293,8 @@ msgstr "" msgid "Default currency used for this company" msgstr "" -#: company/models.py:320 company/models.py:535 stock/models.py:484 -#: stock/templates/stock/item_base.html:224 +#: company/models.py:320 company/models.py:535 stock/models.py:474 +#: stock/templates/stock/item_base.html:135 msgid "Base Part" msgstr "" @@ -2298,29 +2302,29 @@ msgstr "" msgid "Select part" msgstr "" -#: company/models.py:335 company/templates/company/company_base.html:116 -#: company/templates/company/manufacturer_part.html:93 -#: company/templates/company/supplier_part.html:104 -#: stock/templates/stock/item_base.html:353 +#: company/models.py:335 company/templates/company/company_base.html:73 +#: company/templates/company/manufacturer_part.html:91 +#: company/templates/company/supplier_part.html:97 +#: stock/templates/stock/item_base.html:381 #: templates/js/translated/company.js:333 #: templates/js/translated/company.js:514 -#: templates/js/translated/company.js:797 templates/js/translated/part.js:229 +#: templates/js/translated/company.js:797 templates/js/translated/part.js:232 msgid "Manufacturer" msgstr "" -#: company/models.py:336 templates/js/translated/part.js:230 +#: company/models.py:336 templates/js/translated/part.js:233 msgid "Select manufacturer" msgstr "" -#: company/models.py:342 company/templates/company/manufacturer_part.html:97 -#: company/templates/company/supplier_part.html:112 +#: company/models.py:342 company/templates/company/manufacturer_part.html:96 +#: company/templates/company/supplier_part.html:105 #: templates/js/translated/company.js:530 -#: templates/js/translated/company.js:815 templates/js/translated/order.js:874 -#: templates/js/translated/part.js:240 +#: templates/js/translated/company.js:815 templates/js/translated/order.js:873 +#: templates/js/translated/part.js:243 templates/js/translated/part.js:832 msgid "MPN" msgstr "" -#: company/models.py:343 templates/js/translated/part.js:241 +#: company/models.py:343 templates/js/translated/part.js:244 msgid "Manufacturer Part Number" msgstr "" @@ -2335,7 +2339,7 @@ msgstr "" #: company/models.py:409 company/models.py:558 #: company/templates/company/manufacturer_part.html:6 #: company/templates/company/manufacturer_part.html:23 -#: stock/templates/stock/item_base.html:363 +#: stock/templates/stock/item_base.html:391 msgid "Manufacturer Part" msgstr "" @@ -2345,8 +2349,8 @@ msgstr "" #: company/models.py:422 #: report/templates/report/inventree_test_report_base.html:95 -#: stock/models.py:1867 templates/js/translated/company.js:644 -#: templates/js/translated/part.js:645 templates/js/translated/stock.js:878 +#: stock/models.py:1857 templates/js/translated/company.js:644 +#: templates/js/translated/part.js:652 templates/js/translated/stock.js:960 msgid "Value" msgstr "" @@ -2355,9 +2359,9 @@ msgid "Parameter value" msgstr "" #: company/models.py:429 part/models.py:882 part/models.py:2397 -#: part/templates/part/detail.html:59 +#: part/templates/part/part_base.html:288 #: templates/InvenTree/settings/settings.html:264 -#: templates/js/translated/company.js:650 templates/js/translated/part.js:651 +#: templates/js/translated/company.js:650 templates/js/translated/part.js:658 msgid "Units" msgstr "" @@ -2369,28 +2373,28 @@ msgstr "" msgid "Linked manufacturer part must reference the same base part" msgstr "" -#: company/models.py:545 company/templates/company/company_base.html:121 -#: company/templates/company/supplier_part.html:94 order/models.py:263 -#: order/templates/order/order_base.html:108 +#: company/models.py:545 company/templates/company/company_base.html:78 +#: company/templates/company/supplier_part.html:87 order/models.py:263 +#: order/templates/order/order_base.html:112 #: order/templates/order/order_wizard/select_pos.html:30 part/bom.py:219 -#: part/bom.py:247 stock/templates/stock/item_base.html:370 +#: part/bom.py:247 stock/templates/stock/item_base.html:398 #: templates/js/translated/company.js:337 -#: templates/js/translated/company.js:771 templates/js/translated/order.js:660 -#: templates/js/translated/part.js:210 +#: templates/js/translated/company.js:771 templates/js/translated/order.js:667 +#: templates/js/translated/part.js:213 templates/js/translated/part.js:800 msgid "Supplier" msgstr "" -#: company/models.py:546 templates/js/translated/part.js:211 +#: company/models.py:546 templates/js/translated/part.js:214 msgid "Select supplier" msgstr "" -#: company/models.py:551 company/templates/company/supplier_part.html:98 -#: part/bom.py:220 part/bom.py:248 templates/js/translated/order.js:861 -#: templates/js/translated/part.js:221 +#: company/models.py:551 company/templates/company/supplier_part.html:91 +#: part/bom.py:220 part/bom.py:248 templates/js/translated/order.js:860 +#: templates/js/translated/part.js:224 templates/js/translated/part.js:818 msgid "SKU" msgstr "" -#: company/models.py:552 templates/js/translated/part.js:222 +#: company/models.py:552 templates/js/translated/part.js:225 msgid "Supplier stock keeping unit" msgstr "" @@ -2406,7 +2410,7 @@ msgstr "" msgid "Supplier part description" msgstr "" -#: company/models.py:576 company/templates/company/supplier_part.html:126 +#: company/models.py:576 company/templates/company/supplier_part.html:119 #: part/models.py:2588 report/templates/report/inventree_po_report.html:93 #: report/templates/report/inventree_so_report.html:93 msgid "Note" @@ -2420,9 +2424,9 @@ msgstr "" msgid "Minimum charge (e.g. stocking fee)" msgstr "" -#: company/models.py:582 company/templates/company/supplier_part.html:119 -#: stock/models.py:507 stock/templates/stock/item_base.html:311 -#: templates/js/translated/company.js:847 templates/js/translated/stock.js:1366 +#: company/models.py:582 company/templates/company/supplier_part.html:112 +#: stock/models.py:497 stock/templates/stock/item_base.html:339 +#: templates/js/translated/company.js:847 templates/js/translated/stock.js:1448 msgid "Packaging" msgstr "" @@ -2457,43 +2461,56 @@ msgstr "" msgid "Create Purchase Order" msgstr "" -#: company/templates/company/company_base.html:27 +#: company/templates/company/company_base.html:26 +msgid "Company actions" +msgstr "" + +#: company/templates/company/company_base.html:31 msgid "Edit company information" msgstr "" #: company/templates/company/company_base.html:32 -#: company/templates/company/company_base.html:148 +#: templates/js/translated/company.js:265 +msgid "Edit Company" +msgstr "" + +#: company/templates/company/company_base.html:36 +msgid "Delete company" +msgstr "" + +#: company/templates/company/company_base.html:37 +#: company/templates/company/company_base.html:159 msgid "Delete Company" msgstr "" -#: company/templates/company/company_base.html:48 +#: company/templates/company/company_base.html:53 #: part/templates/part/part_thumb.html:12 msgid "Upload new image" msgstr "" -#: company/templates/company/company_base.html:51 +#: company/templates/company/company_base.html:56 #: part/templates/part/part_thumb.html:14 msgid "Download image from URL" msgstr "" -#: company/templates/company/company_base.html:81 -msgid "Uses default currency" -msgstr "" - -#: company/templates/company/company_base.html:95 -msgid "Phone" -msgstr "" - -#: company/templates/company/company_base.html:126 order/models.py:567 -#: order/templates/order/sales_order_base.html:114 stock/models.py:525 -#: stock/models.py:526 stock/templates/stock/item_base.html:263 -#: templates/js/translated/company.js:329 templates/js/translated/order.js:1073 -#: templates/js/translated/stock.js:2002 +#: company/templates/company/company_base.html:83 order/models.py:567 +#: order/templates/order/sales_order_base.html:115 stock/models.py:515 +#: stock/models.py:516 stock/templates/stock/item_base.html:291 +#: templates/js/translated/company.js:329 templates/js/translated/order.js:1072 +#: templates/js/translated/stock.js:2084 msgid "Customer" msgstr "" -#: company/templates/company/company_base.html:194 -#: part/templates/part/part_base.html:342 +#: company/templates/company/company_base.html:108 +msgid "Uses default currency" +msgstr "" + +#: company/templates/company/company_base.html:122 +msgid "Phone" +msgstr "" + +#: company/templates/company/company_base.html:205 +#: part/templates/part/part_base.html:471 msgid "Upload Image" msgstr "" @@ -2509,23 +2526,23 @@ msgid "Create new supplier part" msgstr "" #: company/templates/company/detail.html:20 -#: company/templates/company/manufacturer_part.html:112 -#: part/templates/part/detail.html:440 +#: company/templates/company/manufacturer_part.html:118 +#: part/templates/part/detail.html:333 msgid "New Supplier Part" msgstr "" #: company/templates/company/detail.html:32 #: company/templates/company/detail.html:79 -#: company/templates/company/manufacturer_part.html:121 -#: company/templates/company/manufacturer_part.html:150 -#: part/templates/part/category.html:160 part/templates/part/detail.html:449 -#: part/templates/part/detail.html:477 +#: company/templates/company/manufacturer_part.html:127 +#: company/templates/company/manufacturer_part.html:156 +#: part/templates/part/category.html:167 part/templates/part/detail.html:342 +#: part/templates/part/detail.html:370 msgid "Options" msgstr "" #: company/templates/company/detail.html:37 #: company/templates/company/detail.html:84 -#: part/templates/part/category.html:166 +#: part/templates/part/category.html:173 msgid "Order parts" msgstr "" @@ -2547,7 +2564,7 @@ msgstr "" msgid "Create new manufacturer part" msgstr "" -#: company/templates/company/detail.html:67 part/templates/part/detail.html:467 +#: company/templates/company/detail.html:67 part/templates/part/detail.html:360 msgid "New Manufacturer Part" msgstr "" @@ -2561,7 +2578,7 @@ msgstr "" #: order/templates/order/order_base.html:13 #: order/templates/order/purchase_orders.html:8 #: order/templates/order/purchase_orders.html:12 -#: part/templates/part/detail.html:171 part/templates/part/part_sidebar.html:35 +#: part/templates/part/detail.html:64 part/templates/part/part_sidebar.html:33 #: templates/InvenTree/index.html:252 templates/InvenTree/search.html:203 #: templates/InvenTree/settings/sidebar.html:44 templates/navbar.html:45 #: users/models.py:45 @@ -2583,7 +2600,7 @@ msgstr "" #: order/templates/order/sales_order_base.html:13 #: order/templates/order/sales_orders.html:8 #: order/templates/order/sales_orders.html:15 -#: part/templates/part/detail.html:194 part/templates/part/part_sidebar.html:39 +#: part/templates/part/detail.html:87 part/templates/part/part_sidebar.html:37 #: templates/InvenTree/index.html:283 templates/InvenTree/search.html:223 #: templates/InvenTree/settings/sidebar.html:46 templates/navbar.html:56 #: users/models.py:46 @@ -2610,14 +2627,14 @@ msgid "Company Notes" msgstr "" #: company/templates/company/detail.html:383 -#: company/templates/company/manufacturer_part.html:209 -#: part/templates/part/detail.html:520 +#: company/templates/company/manufacturer_part.html:215 +#: part/templates/part/detail.html:413 msgid "Delete Supplier Parts?" msgstr "" #: company/templates/company/detail.html:384 -#: company/templates/company/manufacturer_part.html:210 -#: part/templates/part/detail.html:521 +#: company/templates/company/manufacturer_part.html:216 +#: part/templates/part/detail.html:414 msgid "All selected supplier parts will be deleted" msgstr "" @@ -2634,7 +2651,7 @@ msgstr "" #: company/templates/company/manufacturer_part.html:35 #: company/templates/company/supplier_part.html:34 #: company/templates/company/supplier_part.html:159 -#: part/templates/part/detail.html:174 part/templates/part/part_base.html:76 +#: part/templates/part/detail.html:67 part/templates/part/part_base.html:76 msgid "Order part" msgstr "" @@ -2648,60 +2665,60 @@ msgstr "" msgid "Delete manufacturer part" msgstr "" -#: company/templates/company/manufacturer_part.html:70 -#: company/templates/company/supplier_part.html:71 +#: company/templates/company/manufacturer_part.html:66 +#: company/templates/company/supplier_part.html:63 msgid "Internal Part" msgstr "" -#: company/templates/company/manufacturer_part.html:108 +#: company/templates/company/manufacturer_part.html:114 #: company/templates/company/supplier_part.html:15 company/views.py:49 -#: part/templates/part/part_sidebar.html:33 part/templates/part/prices.html:163 +#: part/templates/part/part_sidebar.html:31 part/templates/part/prices.html:163 #: templates/InvenTree/search.html:194 templates/navbar.html:43 msgid "Suppliers" msgstr "" -#: company/templates/company/manufacturer_part.html:123 -#: part/templates/part/detail.html:451 +#: company/templates/company/manufacturer_part.html:129 +#: part/templates/part/detail.html:344 msgid "Delete supplier parts" msgstr "" -#: company/templates/company/manufacturer_part.html:123 -#: company/templates/company/manufacturer_part.html:152 -#: company/templates/company/manufacturer_part.html:248 -#: part/templates/part/detail.html:451 part/templates/part/detail.html:479 +#: company/templates/company/manufacturer_part.html:129 +#: company/templates/company/manufacturer_part.html:158 +#: company/templates/company/manufacturer_part.html:254 +#: part/templates/part/detail.html:344 part/templates/part/detail.html:372 #: templates/js/translated/company.js:425 templates/js/translated/helpers.js:31 #: users/models.py:204 msgid "Delete" msgstr "" -#: company/templates/company/manufacturer_part.html:137 +#: company/templates/company/manufacturer_part.html:143 #: company/templates/company/manufacturer_part_sidebar.html:5 #: part/templates/part/category_sidebar.html:17 -#: part/templates/part/detail.html:277 part/templates/part/part_sidebar.html:10 +#: part/templates/part/detail.html:170 part/templates/part/part_sidebar.html:8 msgid "Parameters" msgstr "" -#: company/templates/company/manufacturer_part.html:141 -#: part/templates/part/detail.html:282 +#: company/templates/company/manufacturer_part.html:147 +#: part/templates/part/detail.html:175 #: templates/InvenTree/settings/category.html:12 #: templates/InvenTree/settings/part.html:65 msgid "New Parameter" msgstr "" -#: company/templates/company/manufacturer_part.html:152 +#: company/templates/company/manufacturer_part.html:158 msgid "Delete parameters" msgstr "" -#: company/templates/company/manufacturer_part.html:185 -#: part/templates/part/detail.html:976 +#: company/templates/company/manufacturer_part.html:191 +#: part/templates/part/detail.html:867 msgid "Add Parameter" msgstr "" -#: company/templates/company/manufacturer_part.html:233 +#: company/templates/company/manufacturer_part.html:239 msgid "Selected parameters will be deleted" msgstr "" -#: company/templates/company/manufacturer_part.html:245 +#: company/templates/company/manufacturer_part.html:251 msgid "Delete Parameters" msgstr "" @@ -2722,9 +2739,9 @@ msgid "Assigned Stock Items" msgstr "" #: company/templates/company/supplier_part.html:7 -#: company/templates/company/supplier_part.html:24 stock/models.py:492 -#: stock/templates/stock/item_base.html:375 -#: templates/js/translated/company.js:787 templates/js/translated/stock.js:1323 +#: company/templates/company/supplier_part.html:24 stock/models.py:482 +#: stock/templates/stock/item_base.html:403 +#: templates/js/translated/company.js:787 templates/js/translated/stock.js:1405 msgid "Supplier Part" msgstr "" @@ -2744,13 +2761,13 @@ msgid "Supplier Part Stock" msgstr "" #: company/templates/company/supplier_part.html:141 -#: part/templates/part/detail.html:127 stock/templates/stock/location.html:147 +#: part/templates/part/detail.html:20 stock/templates/stock/location.html:162 msgid "Create new stock item" msgstr "" #: company/templates/company/supplier_part.html:142 -#: part/templates/part/detail.html:128 stock/templates/stock/location.html:148 -#: templates/js/translated/stock.js:354 +#: part/templates/part/detail.html:21 stock/templates/stock/location.html:163 +#: templates/js/translated/stock.js:355 msgid "New Stock Item" msgstr "" @@ -2760,7 +2777,7 @@ msgid "Supplier Part Orders" msgstr "" #: company/templates/company/supplier_part.html:160 -#: part/templates/part/detail.html:175 +#: part/templates/part/detail.html:68 msgid "Order Part" msgstr "" @@ -2796,15 +2813,15 @@ msgid "Delete price break" msgstr "" #: company/templates/company/supplier_part_navbar.html:15 -#: part/templates/part/part_sidebar.html:16 +#: part/templates/part/part_sidebar.html:14 #: stock/templates/stock/loc_link.html:3 stock/templates/stock/location.html:14 #: stock/templates/stock/stock_app_base.html:10 #: templates/InvenTree/search.html:156 #: templates/InvenTree/settings/sidebar.html:40 -#: templates/js/translated/bom.js:216 templates/js/translated/part.js:427 -#: templates/js/translated/part.js:562 templates/js/translated/part.js:878 -#: templates/js/translated/part.js:1039 templates/js/translated/stock.js:509 -#: templates/js/translated/stock.js:1162 templates/navbar.html:26 +#: templates/js/translated/bom.js:216 templates/js/translated/part.js:434 +#: templates/js/translated/part.js:569 templates/js/translated/part.js:1059 +#: templates/js/translated/part.js:1220 templates/js/translated/stock.js:591 +#: templates/js/translated/stock.js:1244 templates/navbar.html:26 msgid "Stock" msgstr "" @@ -2818,16 +2835,16 @@ msgid "Supplier Part Pricing" msgstr "" #: company/templates/company/supplier_part_navbar.html:29 -#: part/templates/part/part_sidebar.html:30 +#: part/templates/part/part_sidebar.html:28 msgid "Pricing" msgstr "" #: company/templates/company/supplier_part_sidebar.html:5 -#: stock/templates/stock/location.html:118 -#: stock/templates/stock/location.html:132 -#: stock/templates/stock/location.html:144 +#: stock/templates/stock/location.html:133 +#: stock/templates/stock/location.html:147 +#: stock/templates/stock/location.html:159 #: stock/templates/stock/location_sidebar.html:7 -#: templates/InvenTree/search.html:158 templates/js/translated/stock.js:1901 +#: templates/InvenTree/search.html:158 templates/js/translated/stock.js:1983 #: templates/stats.html:93 templates/stats.html:102 users/models.py:43 msgid "Stock Items" msgstr "" @@ -2947,7 +2964,7 @@ msgstr "" msgid "Place order" msgstr "" -#: order/forms.py:37 order/templates/order/order_base.html:59 +#: order/forms.py:37 order/templates/order/order_base.html:60 msgid "Mark order as complete" msgstr "" @@ -3000,8 +3017,8 @@ msgstr "" msgid "Company from which the items are being ordered" msgstr "" -#: order/models.py:267 order/templates/order/order_base.html:114 -#: templates/js/translated/order.js:669 +#: order/models.py:267 order/templates/order/order_base.html:118 +#: templates/js/translated/order.js:676 msgid "Supplier Reference" msgstr "" @@ -3061,7 +3078,7 @@ msgstr "" msgid "Target date for order completion. Order will be overdue after this date." msgstr "" -#: order/models.py:582 templates/js/translated/order.js:1114 +#: order/models.py:582 templates/js/translated/order.js:1113 msgid "Shipment Date" msgstr "" @@ -3086,16 +3103,16 @@ msgid "Line item notes" msgstr "" #: order/models.py:768 order/models.py:856 -#: templates/js/translated/order.js:1166 +#: templates/js/translated/order.js:1165 msgid "Order" msgstr "" #: order/models.py:769 order/templates/order/order_base.html:9 #: order/templates/order/order_base.html:18 #: report/templates/report/inventree_po_report.html:77 -#: stock/templates/stock/item_base.html:325 -#: templates/js/translated/order.js:638 templates/js/translated/stock.js:1300 -#: templates/js/translated/stock.js:1983 +#: stock/templates/stock/item_base.html:353 +#: templates/js/translated/order.js:638 templates/js/translated/part.js:775 +#: templates/js/translated/stock.js:1382 templates/js/translated/stock.js:2065 msgid "Purchase Order" msgstr "" @@ -3103,9 +3120,10 @@ msgstr "" msgid "Supplier part" msgstr "" -#: order/models.py:797 order/templates/order/order_base.html:147 -#: order/templates/order/sales_order_base.html:154 -#: templates/js/translated/order.js:429 templates/js/translated/order.js:954 +#: order/models.py:797 order/templates/order/order_base.html:151 +#: order/templates/order/sales_order_base.html:155 +#: templates/js/translated/order.js:429 templates/js/translated/order.js:953 +#: templates/js/translated/part.js:847 templates/js/translated/part.js:873 msgid "Received" msgstr "" @@ -3113,9 +3131,9 @@ msgstr "" msgid "Number of items received" msgstr "" -#: order/models.py:805 part/templates/part/prices.html:176 stock/models.py:619 -#: stock/serializers.py:163 stock/templates/stock/item_base.html:332 -#: templates/js/translated/stock.js:1354 +#: order/models.py:805 part/templates/part/prices.html:176 stock/models.py:609 +#: stock/serializers.py:168 stock/templates/stock/item_base.html:360 +#: templates/js/translated/stock.js:1436 msgid "Purchase Price" msgstr "" @@ -3176,47 +3194,47 @@ msgstr "" msgid "Enter stock allocation quantity" msgstr "" -#: order/serializers.py:169 +#: order/serializers.py:175 msgid "Purchase price currency" msgstr "" -#: order/serializers.py:204 +#: order/serializers.py:213 msgid "Line Item" msgstr "" -#: order/serializers.py:210 +#: order/serializers.py:219 msgid "Line item does not match purchase order" msgstr "" -#: order/serializers.py:220 order/serializers.py:288 +#: order/serializers.py:229 order/serializers.py:297 msgid "Select destination location for received items" msgstr "" -#: order/serializers.py:244 +#: order/serializers.py:253 msgid "Barcode Hash" msgstr "" -#: order/serializers.py:245 +#: order/serializers.py:254 msgid "Unique identifier field" msgstr "" -#: order/serializers.py:262 +#: order/serializers.py:271 msgid "Barcode is already in use" msgstr "" -#: order/serializers.py:300 +#: order/serializers.py:309 msgid "Line items must be provided" msgstr "" -#: order/serializers.py:317 +#: order/serializers.py:326 msgid "Destination location must be specified" msgstr "" -#: order/serializers.py:328 +#: order/serializers.py:337 msgid "Supplied barcode values must be unique" msgstr "" -#: order/serializers.py:569 +#: order/serializers.py:578 msgid "Sale price currency" msgstr "" @@ -3248,22 +3266,36 @@ msgstr "" msgid "Receive items" msgstr "" -#: order/templates/order/order_base.html:93 -#: order/templates/order/sales_order_base.html:98 +#: order/templates/order/order_base.html:58 +#: order/templates/order/purchase_order_detail.html:31 +msgid "Receive Items" +msgstr "" + +#: order/templates/order/order_base.html:62 order/views.py:185 +msgid "Complete Order" +msgstr "" + +#: order/templates/order/order_base.html:84 +#: order/templates/order/sales_order_base.html:79 msgid "Order Reference" msgstr "" -#: order/templates/order/order_base.html:98 -#: order/templates/order/sales_order_base.html:103 +#: order/templates/order/order_base.html:89 +#: order/templates/order/sales_order_base.html:84 +msgid "Order Description" +msgstr "" + +#: order/templates/order/order_base.html:94 +#: order/templates/order/sales_order_base.html:89 msgid "Order Status" msgstr "" -#: order/templates/order/order_base.html:133 +#: order/templates/order/order_base.html:137 #: report/templates/report/inventree_build_order_base.html:122 msgid "Issued" msgstr "" -#: order/templates/order/order_base.html:203 +#: order/templates/order/order_base.html:207 msgid "Edit Purchase Order" msgstr "" @@ -3421,7 +3453,7 @@ msgid "Select existing purchase orders, or create new orders." msgstr "" #: order/templates/order/order_wizard/select_pos.html:31 -#: templates/js/translated/order.js:695 templates/js/translated/order.js:1119 +#: templates/js/translated/order.js:694 templates/js/translated/order.js:1118 msgid "Items" msgstr "" @@ -3465,10 +3497,6 @@ msgstr "" msgid "Receive selected items" msgstr "" -#: order/templates/order/purchase_order_detail.html:31 -msgid "Receive Items" -msgstr "" - #: order/templates/order/purchase_order_detail.html:50 msgid "Received Items" msgstr "" @@ -3496,16 +3524,16 @@ msgstr "" msgid "Ship Order" msgstr "" -#: order/templates/order/sales_order_base.html:86 +#: order/templates/order/sales_order_base.html:102 msgid "This Sales Order has not been fully allocated" msgstr "" -#: order/templates/order/sales_order_base.html:121 -#: templates/js/translated/order.js:1086 +#: order/templates/order/sales_order_base.html:122 +#: templates/js/translated/order.js:1085 msgid "Customer Reference" msgstr "" -#: order/templates/order/sales_order_base.html:194 +#: order/templates/order/sales_order_base.html:195 msgid "Edit Sales Order" msgstr "" @@ -3576,10 +3604,6 @@ msgstr "" msgid "Purchase order issued" msgstr "" -#: order/views.py:185 -msgid "Complete Order" -msgstr "" - #: order/views.py:201 msgid "Confirm order completion" msgstr "" @@ -3672,11 +3696,11 @@ msgid "This field is required" msgstr "" #: part/bom.py:125 part/models.py:81 part/models.py:816 -#: part/templates/part/category.html:90 part/templates/part/detail.html:104 +#: part/templates/part/category.html:104 part/templates/part/part_base.html:338 msgid "Default Location" msgstr "" -#: part/bom.py:126 part/templates/part/part_base.html:167 +#: part/bom.py:126 part/templates/part/part_base.html:185 msgid "Available Stock" msgstr "" @@ -3793,19 +3817,19 @@ msgstr "" msgid "Part Category" msgstr "" -#: part/models.py:96 part/templates/part/category.html:117 +#: part/models.py:96 part/templates/part/category.html:124 #: templates/InvenTree/search.html:101 templates/stats.html:84 #: users/models.py:40 msgid "Part Categories" msgstr "" #: part/models.py:358 part/templates/part/cat_link.html:3 -#: part/templates/part/category.html:13 part/templates/part/category.html:122 -#: part/templates/part/category.html:142 +#: part/templates/part/category.html:13 part/templates/part/category.html:129 +#: part/templates/part/category.html:149 #: part/templates/part/category_sidebar.html:9 #: templates/InvenTree/index.html:85 templates/InvenTree/search.html:88 #: templates/InvenTree/settings/sidebar.html:36 -#: templates/js/translated/part.js:1416 templates/navbar.html:19 +#: templates/js/translated/part.js:1597 templates/navbar.html:19 #: templates/stats.html:80 templates/stats.html:89 users/models.py:41 msgid "Parts" msgstr "" @@ -3859,8 +3883,8 @@ msgstr "" msgid "Part description" msgstr "" -#: part/models.py:770 part/templates/part/category.html:97 -#: part/templates/part/detail.html:73 +#: part/models.py:770 part/templates/part/category.html:82 +#: part/templates/part/part_base.html:302 msgid "Keywords" msgstr "" @@ -3869,9 +3893,10 @@ msgid "Part keywords to improve visibility in search results" msgstr "" #: part/models.py:778 part/models.py:2223 part/models.py:2472 -#: part/templates/part/detail.html:36 part/templates/part/set_category.html:15 +#: part/templates/part/part_base.html:265 +#: part/templates/part/set_category.html:15 #: templates/InvenTree/settings/settings.html:163 -#: templates/js/translated/part.js:1021 +#: templates/js/translated/part.js:1202 msgid "Category" msgstr "" @@ -3879,9 +3904,9 @@ msgstr "" msgid "Part category" msgstr "" -#: part/models.py:784 part/templates/part/detail.html:45 -#: templates/js/translated/part.js:550 templates/js/translated/part.js:974 -#: templates/js/translated/stock.js:1134 +#: part/models.py:784 part/templates/part/part_base.html:274 +#: templates/js/translated/part.js:557 templates/js/translated/part.js:1155 +#: templates/js/translated/stock.js:1216 msgid "IPN" msgstr "" @@ -3893,8 +3918,8 @@ msgstr "" msgid "Part revision or version number" msgstr "" -#: part/models.py:792 part/templates/part/detail.html:52 report/models.py:200 -#: templates/js/translated/part.js:554 +#: part/models.py:792 part/templates/part/part_base.html:281 +#: report/models.py:200 templates/js/translated/part.js:561 msgid "Revision" msgstr "" @@ -3902,7 +3927,7 @@ msgstr "" msgid "Where is this item normally stored?" msgstr "" -#: part/models.py:861 part/templates/part/detail.html:113 +#: part/models.py:861 part/templates/part/part_base.html:347 msgid "Default Supplier" msgstr "" @@ -3918,7 +3943,7 @@ msgstr "" msgid "Expiry time (in days) for stock items of this part" msgstr "" -#: part/models.py:875 part/templates/part/part_base.html:178 +#: part/models.py:875 part/templates/part/part_base.html:196 msgid "Minimum Stock" msgstr "" @@ -4001,8 +4026,8 @@ msgstr "" msgid "Test with this name already exists for this part" msgstr "" -#: part/models.py:2310 templates/js/translated/part.js:1467 -#: templates/js/translated/stock.js:858 +#: part/models.py:2310 templates/js/translated/part.js:1648 +#: templates/js/translated/stock.js:940 msgid "Test Name" msgstr "" @@ -4018,7 +4043,7 @@ msgstr "" msgid "Enter description for this test" msgstr "" -#: part/models.py:2322 templates/js/translated/part.js:1476 +#: part/models.py:2322 templates/js/translated/part.js:1657 #: templates/js/translated/table_filters.js:276 msgid "Required" msgstr "" @@ -4027,7 +4052,7 @@ msgstr "" msgid "Is this test required to pass?" msgstr "" -#: part/models.py:2328 templates/js/translated/part.js:1484 +#: part/models.py:2328 templates/js/translated/part.js:1665 msgid "Requires Value" msgstr "" @@ -4035,7 +4060,7 @@ msgstr "" msgid "Does this test require a value when adding a test result?" msgstr "" -#: part/models.py:2334 templates/js/translated/part.js:1491 +#: part/models.py:2334 templates/js/translated/part.js:1672 msgid "Requires Attachment" msgstr "" @@ -4150,7 +4175,7 @@ msgstr "" msgid "Stock items for variant parts can be used for this BOM item" msgstr "" -#: part/models.py:2686 stock/models.py:371 +#: part/models.py:2686 stock/models.py:361 msgid "Quantity must be integer value for trackable parts" msgstr "" @@ -4213,7 +4238,7 @@ msgstr "" msgid "The BOM for %(part)s has not been validated." msgstr "" -#: part/templates/part/bom.html:30 part/templates/part/detail.html:357 +#: part/templates/part/bom.html:30 part/templates/part/detail.html:250 msgid "BOM actions" msgstr "" @@ -4298,68 +4323,64 @@ msgstr "" msgid "New Category" msgstr "" -#: part/templates/part/category.html:67 -msgid "Top level part category" -msgstr "" - -#: part/templates/part/category.html:79 +#: part/templates/part/category.html:76 part/templates/part/category.html:89 msgid "Category Path" msgstr "" -#: part/templates/part/category.html:84 -msgid "Category Description" +#: part/templates/part/category.html:90 +msgid "Top level part category" msgstr "" -#: part/templates/part/category.html:103 part/templates/part/category.html:194 +#: part/templates/part/category.html:110 part/templates/part/category.html:201 #: part/templates/part/category_sidebar.html:7 msgid "Subcategories" msgstr "" -#: part/templates/part/category.html:108 +#: part/templates/part/category.html:115 msgid "Parts (Including subcategories)" msgstr "" -#: part/templates/part/category.html:145 +#: part/templates/part/category.html:152 msgid "Export Part Data" msgstr "" -#: part/templates/part/category.html:146 part/templates/part/category.html:170 +#: part/templates/part/category.html:153 part/templates/part/category.html:177 msgid "Export" msgstr "" -#: part/templates/part/category.html:149 +#: part/templates/part/category.html:156 msgid "Create new part" msgstr "" -#: part/templates/part/category.html:150 templates/js/translated/bom.js:40 +#: part/templates/part/category.html:157 templates/js/translated/bom.js:40 msgid "New Part" msgstr "" -#: part/templates/part/category.html:164 +#: part/templates/part/category.html:171 msgid "Set category" msgstr "" -#: part/templates/part/category.html:164 +#: part/templates/part/category.html:171 msgid "Set Category" msgstr "" -#: part/templates/part/category.html:168 +#: part/templates/part/category.html:175 msgid "Print Labels" msgstr "" -#: part/templates/part/category.html:170 +#: part/templates/part/category.html:177 msgid "Export Data" msgstr "" -#: part/templates/part/category.html:184 +#: part/templates/part/category.html:191 msgid "Part Parameters" msgstr "" -#: part/templates/part/category.html:261 +#: part/templates/part/category.html:268 msgid "Create Part Category" msgstr "" -#: part/templates/part/category.html:288 +#: part/templates/part/category.html:295 msgid "Create Part" msgstr "" @@ -4402,7 +4423,7 @@ msgstr "" msgid "Import Parts" msgstr "" -#: part/templates/part/copy_part.html:9 templates/js/translated/part.js:366 +#: part/templates/part/copy_part.html:9 templates/js/translated/part.js:373 msgid "Duplicate Part" msgstr "" @@ -4426,167 +4447,155 @@ msgstr "" msgid "%(full_name)s - %(desc)s (%(match_per)s%% match)" msgstr "" -#: part/templates/part/detail.html:16 -msgid "Part Details" -msgstr "" - -#: part/templates/part/detail.html:66 -msgid "Minimum stock level" -msgstr "" - -#: part/templates/part/detail.html:97 -msgid "Latest Serial Number" -msgstr "" - -#: part/templates/part/detail.html:124 +#: part/templates/part/detail.html:17 msgid "Part Stock" msgstr "" -#: part/templates/part/detail.html:136 +#: part/templates/part/detail.html:29 #, python-format msgid "Showing stock for all variants of %(full_name)s" msgstr "" -#: part/templates/part/detail.html:146 +#: part/templates/part/detail.html:39 msgid "Part Test Templates" msgstr "" -#: part/templates/part/detail.html:151 +#: part/templates/part/detail.html:44 msgid "Add Test Template" msgstr "" -#: part/templates/part/detail.html:208 +#: part/templates/part/detail.html:101 msgid "Sales Order Allocations" msgstr "" -#: part/templates/part/detail.html:249 +#: part/templates/part/detail.html:142 msgid "Part Variants" msgstr "" -#: part/templates/part/detail.html:253 +#: part/templates/part/detail.html:146 msgid "Create new variant" msgstr "" -#: part/templates/part/detail.html:254 +#: part/templates/part/detail.html:147 msgid "New Variant" msgstr "" -#: part/templates/part/detail.html:281 +#: part/templates/part/detail.html:174 msgid "Add new parameter" msgstr "" -#: part/templates/part/detail.html:315 part/templates/part/part_sidebar.html:47 +#: part/templates/part/detail.html:208 part/templates/part/part_sidebar.html:45 msgid "Related Parts" msgstr "" -#: part/templates/part/detail.html:319 part/templates/part/detail.html:320 +#: part/templates/part/detail.html:212 part/templates/part/detail.html:213 msgid "Add Related" msgstr "" -#: part/templates/part/detail.html:340 part/templates/part/part_sidebar.html:19 +#: part/templates/part/detail.html:233 part/templates/part/part_sidebar.html:17 msgid "Bill of Materials" msgstr "" -#: part/templates/part/detail.html:345 +#: part/templates/part/detail.html:238 msgid "Export actions" msgstr "" -#: part/templates/part/detail.html:349 +#: part/templates/part/detail.html:242 msgid "Export BOM" msgstr "" -#: part/templates/part/detail.html:351 +#: part/templates/part/detail.html:244 msgid "Print BOM Report" msgstr "" -#: part/templates/part/detail.html:361 +#: part/templates/part/detail.html:254 msgid "Upload BOM" msgstr "" -#: part/templates/part/detail.html:363 templates/js/translated/part.js:267 +#: part/templates/part/detail.html:256 templates/js/translated/part.js:270 msgid "Copy BOM" msgstr "" -#: part/templates/part/detail.html:365 part/views.py:755 +#: part/templates/part/detail.html:258 part/views.py:755 msgid "Validate BOM" msgstr "" -#: part/templates/part/detail.html:370 +#: part/templates/part/detail.html:263 msgid "New BOM Item" msgstr "" -#: part/templates/part/detail.html:371 +#: part/templates/part/detail.html:264 msgid "Add BOM Item" msgstr "" -#: part/templates/part/detail.html:384 +#: part/templates/part/detail.html:277 msgid "Assemblies" msgstr "" -#: part/templates/part/detail.html:401 +#: part/templates/part/detail.html:294 msgid "Part Builds" msgstr "" -#: part/templates/part/detail.html:426 +#: part/templates/part/detail.html:319 msgid "Build Order Allocations" msgstr "" -#: part/templates/part/detail.html:436 +#: part/templates/part/detail.html:329 msgid "Part Suppliers" msgstr "" -#: part/templates/part/detail.html:463 +#: part/templates/part/detail.html:356 msgid "Part Manufacturers" msgstr "" -#: part/templates/part/detail.html:479 +#: part/templates/part/detail.html:372 msgid "Delete manufacturer parts" msgstr "" -#: part/templates/part/detail.html:660 +#: part/templates/part/detail.html:553 msgid "Delete selected BOM items?" msgstr "" -#: part/templates/part/detail.html:661 +#: part/templates/part/detail.html:554 msgid "All selected BOM items will be deleted" msgstr "" -#: part/templates/part/detail.html:712 +#: part/templates/part/detail.html:605 msgid "Create BOM Item" msgstr "" -#: part/templates/part/detail.html:764 +#: part/templates/part/detail.html:657 msgid "Related Part" msgstr "" -#: part/templates/part/detail.html:772 +#: part/templates/part/detail.html:665 msgid "Add Related Part" msgstr "" -#: part/templates/part/detail.html:869 +#: part/templates/part/detail.html:760 msgid "Add Test Result Template" msgstr "" -#: part/templates/part/detail.html:926 +#: part/templates/part/detail.html:817 msgid "Edit Part Notes" msgstr "" -#: part/templates/part/detail.html:1039 +#: part/templates/part/detail.html:930 #, python-format msgid "Purchase Unit Price - %(currency)s" msgstr "" -#: part/templates/part/detail.html:1051 +#: part/templates/part/detail.html:942 #, python-format msgid "Unit Price-Cost Difference - %(currency)s" msgstr "" -#: part/templates/part/detail.html:1063 +#: part/templates/part/detail.html:954 #, python-format msgid "Supplier Unit Cost - %(currency)s" msgstr "" -#: part/templates/part/detail.html:1152 +#: part/templates/part/detail.html:1043 #, python-format msgid "Unit Price - %(currency)s" msgstr "" @@ -4668,86 +4677,108 @@ msgstr "" msgid "Delete part" msgstr "" -#: part/templates/part/part_base.html:109 +#: part/templates/part/part_base.html:112 msgid "Part is a template part (variants can be made from this part)" msgstr "" -#: part/templates/part/part_base.html:113 +#: part/templates/part/part_base.html:116 msgid "Part can be assembled from other parts" msgstr "" -#: part/templates/part/part_base.html:117 +#: part/templates/part/part_base.html:120 msgid "Part can be used in assemblies" msgstr "" -#: part/templates/part/part_base.html:121 +#: part/templates/part/part_base.html:124 msgid "Part stock is tracked by serial number" msgstr "" -#: part/templates/part/part_base.html:125 +#: part/templates/part/part_base.html:128 msgid "Part can be purchased from external suppliers" msgstr "" -#: part/templates/part/part_base.html:129 +#: part/templates/part/part_base.html:132 msgid "Part can be sold to customers" msgstr "" -#: part/templates/part/part_base.html:135 -#: part/templates/part/part_base.html:143 +#: part/templates/part/part_base.html:138 +#: part/templates/part/part_base.html:146 msgid "Part is virtual (not a physical part)" msgstr "" -#: part/templates/part/part_base.html:136 +#: part/templates/part/part_base.html:139 #: templates/js/translated/company.js:505 #: templates/js/translated/company.js:762 #: templates/js/translated/model_renderers.js:175 -#: templates/js/translated/part.js:465 templates/js/translated/part.js:542 +#: templates/js/translated/part.js:472 templates/js/translated/part.js:549 msgid "Inactive" msgstr "" -#: part/templates/part/part_base.html:155 +#: part/templates/part/part_base.html:156 +#: part/templates/part/part_base.html:579 +msgid "Show Part Details" +msgstr "" + +#: part/templates/part/part_base.html:173 #, python-format msgid "This part is a variant of %(link)s" msgstr "" -#: part/templates/part/part_base.html:172 templates/js/translated/order.js:1546 +#: part/templates/part/part_base.html:190 templates/js/translated/order.js:1545 #: templates/js/translated/table_filters.js:188 msgid "In Stock" msgstr "" -#: part/templates/part/part_base.html:185 templates/js/translated/part.js:1054 +#: part/templates/part/part_base.html:203 templates/js/translated/part.js:1235 msgid "On Order" msgstr "" -#: part/templates/part/part_base.html:192 templates/InvenTree/index.html:178 +#: part/templates/part/part_base.html:210 templates/InvenTree/index.html:178 msgid "Required for Build Orders" msgstr "" -#: part/templates/part/part_base.html:199 +#: part/templates/part/part_base.html:217 msgid "Required for Sales Orders" msgstr "" -#: part/templates/part/part_base.html:206 +#: part/templates/part/part_base.html:224 msgid "Allocated to Orders" msgstr "" -#: part/templates/part/part_base.html:221 templates/js/translated/bom.js:566 +#: part/templates/part/part_base.html:239 templates/js/translated/bom.js:566 msgid "Can Build" msgstr "" -#: part/templates/part/part_base.html:227 templates/js/translated/part.js:885 -#: templates/js/translated/part.js:1058 +#: part/templates/part/part_base.html:245 templates/js/translated/part.js:1066 +#: templates/js/translated/part.js:1239 msgid "Building" msgstr "" -#: part/templates/part/part_base.html:320 part/templates/part/prices.html:144 +#: part/templates/part/part_base.html:295 +msgid "Minimum stock level" +msgstr "" + +#: part/templates/part/part_base.html:324 +msgid "Latest Serial Number" +msgstr "" + +#: part/templates/part/part_base.html:328 +#: stock/templates/stock/item_base.html:159 +msgid "Search for serial number" +msgstr "" + +#: part/templates/part/part_base.html:449 part/templates/part/prices.html:144 msgid "Calculate" msgstr "" -#: part/templates/part/part_base.html:363 +#: part/templates/part/part_base.html:492 msgid "No matching images found" msgstr "" +#: part/templates/part/part_base.html:573 +msgid "Hide Part Details" +msgstr "" + #: part/templates/part/part_pricing.html:22 part/templates/part/prices.html:21 msgid "Supplier Pricing" msgstr "" @@ -4805,20 +4836,15 @@ msgstr "" msgid "No pricing information is available for this part." msgstr "" -#: part/templates/part/part_sidebar.html:8 -#: templates/js/translated/stock.js:1949 -msgid "Details" -msgstr "" - -#: part/templates/part/part_sidebar.html:13 +#: part/templates/part/part_sidebar.html:11 msgid "Variants" msgstr "" -#: part/templates/part/part_sidebar.html:27 +#: part/templates/part/part_sidebar.html:25 msgid "Used In" msgstr "" -#: part/templates/part/part_sidebar.html:43 +#: part/templates/part/part_sidebar.html:41 msgid "Test Templates" msgstr "" @@ -4934,8 +4960,8 @@ msgid "Set category for the following parts" msgstr "" #: part/templates/part/stock_count.html:7 templates/js/translated/bom.js:476 -#: templates/js/translated/part.js:429 templates/js/translated/part.js:875 -#: templates/js/translated/part.js:1062 +#: templates/js/translated/part.js:436 templates/js/translated/part.js:1056 +#: templates/js/translated/part.js:1243 msgid "No Stock" msgstr "" @@ -5037,7 +5063,7 @@ msgstr "" msgid "Delete Part Parameter Template" msgstr "" -#: part/views.py:1489 templates/js/translated/part.js:310 +#: part/views.py:1489 templates/js/translated/part.js:313 msgid "Edit Part Category" msgstr "" @@ -5171,11 +5197,12 @@ msgid "Stock Item Test Report" msgstr "" #: report/templates/report/inventree_test_report_base.html:79 -#: stock/models.py:530 stock/templates/stock/item_base.html:238 +#: stock/models.py:520 stock/templates/stock/item_base.html:149 #: templates/js/translated/build.js:233 templates/js/translated/build.js:637 #: templates/js/translated/build.js:1013 #: templates/js/translated/model_renderers.js:95 -#: templates/js/translated/order.js:1288 templates/js/translated/order.js:1377 +#: templates/js/translated/order.js:1287 templates/js/translated/order.js:1376 +#: templates/js/translated/stock.js:410 msgid "Serial Number" msgstr "" @@ -5184,17 +5211,17 @@ msgid "Test Results" msgstr "" #: report/templates/report/inventree_test_report_base.html:93 -#: stock/models.py:1855 +#: stock/models.py:1845 msgid "Test" msgstr "" #: report/templates/report/inventree_test_report_base.html:94 -#: stock/models.py:1861 +#: stock/models.py:1851 msgid "Result" msgstr "" #: report/templates/report/inventree_test_report_base.html:97 -#: templates/js/translated/order.js:685 templates/js/translated/stock.js:1917 +#: templates/js/translated/order.js:684 templates/js/translated/stock.js:1999 msgid "Date" msgstr "" @@ -5212,7 +5239,7 @@ msgid "Installed Items" msgstr "" #: report/templates/report/inventree_test_report_base.html:137 -#: templates/js/translated/stock.js:2177 +#: templates/js/translated/stock.js:2259 msgid "Serial" msgstr "" @@ -5220,9 +5247,9 @@ msgstr "" msgid "Quantity is required" msgstr "" -#: stock/forms.py:91 stock/forms.py:265 stock/models.py:587 -#: stock/templates/stock/item_base.html:382 -#: templates/js/translated/stock.js:1276 +#: stock/forms.py:91 stock/forms.py:265 stock/models.py:577 +#: stock/templates/stock/item_base.html:186 +#: templates/js/translated/stock.js:1358 msgid "Expiry Date" msgstr "" @@ -5270,241 +5297,241 @@ msgstr "" msgid "Confirm removal of installed stock items" msgstr "" -#: stock/models.py:60 stock/models.py:624 -#: stock/templates/stock/item_base.html:422 +#: stock/models.py:60 stock/models.py:614 +#: stock/templates/stock/item_base.html:417 msgid "Owner" msgstr "" -#: stock/models.py:61 stock/models.py:625 +#: stock/models.py:61 stock/models.py:615 msgid "Select Owner" msgstr "" -#: stock/models.py:352 +#: stock/models.py:342 msgid "StockItem with this serial number already exists" msgstr "" -#: stock/models.py:388 +#: stock/models.py:378 #, python-brace-format msgid "Part type ('{pf}') must be {pe}" msgstr "" -#: stock/models.py:398 stock/models.py:407 +#: stock/models.py:388 stock/models.py:397 msgid "Quantity must be 1 for item with a serial number" msgstr "" -#: stock/models.py:399 +#: stock/models.py:389 msgid "Serial number cannot be set if quantity greater than 1" msgstr "" -#: stock/models.py:421 +#: stock/models.py:411 msgid "Item cannot belong to itself" msgstr "" -#: stock/models.py:427 +#: stock/models.py:417 msgid "Item must have a build reference if is_building=True" msgstr "" -#: stock/models.py:434 +#: stock/models.py:424 msgid "Build reference does not point to the same part object" msgstr "" -#: stock/models.py:476 +#: stock/models.py:466 msgid "Parent Stock Item" msgstr "" -#: stock/models.py:485 +#: stock/models.py:475 msgid "Base part" msgstr "" -#: stock/models.py:493 +#: stock/models.py:483 msgid "Select a matching supplier part for this stock item" msgstr "" -#: stock/models.py:498 stock/templates/stock/location.html:12 +#: stock/models.py:488 stock/templates/stock/location.html:12 #: stock/templates/stock/stock_app_base.html:8 msgid "Stock Location" msgstr "" -#: stock/models.py:501 +#: stock/models.py:491 msgid "Where is this stock item located?" msgstr "" -#: stock/models.py:508 +#: stock/models.py:498 msgid "Packaging this stock item is stored in" msgstr "" -#: stock/models.py:513 stock/templates/stock/item_base.html:271 +#: stock/models.py:503 stock/templates/stock/item_base.html:299 msgid "Installed In" msgstr "" -#: stock/models.py:516 +#: stock/models.py:506 msgid "Is this item installed in another item?" msgstr "" -#: stock/models.py:532 +#: stock/models.py:522 msgid "Serial number for this item" msgstr "" -#: stock/models.py:546 +#: stock/models.py:536 msgid "Batch code for this stock item" msgstr "" -#: stock/models.py:550 +#: stock/models.py:540 msgid "Stock Quantity" msgstr "" -#: stock/models.py:559 +#: stock/models.py:549 msgid "Source Build" msgstr "" -#: stock/models.py:561 +#: stock/models.py:551 msgid "Build for this stock item" msgstr "" -#: stock/models.py:572 +#: stock/models.py:562 msgid "Source Purchase Order" msgstr "" -#: stock/models.py:575 +#: stock/models.py:565 msgid "Purchase order for this stock item" msgstr "" -#: stock/models.py:581 +#: stock/models.py:571 msgid "Destination Sales Order" msgstr "" -#: stock/models.py:588 +#: stock/models.py:578 msgid "Expiry date for stock item. Stock will be considered expired after this date" msgstr "" -#: stock/models.py:601 +#: stock/models.py:591 msgid "Delete on deplete" msgstr "" -#: stock/models.py:601 +#: stock/models.py:591 msgid "Delete this Stock Item when stock is depleted" msgstr "" -#: stock/models.py:611 stock/templates/stock/item.html:111 +#: stock/models.py:601 stock/templates/stock/item.html:111 msgid "Stock Item Notes" msgstr "" -#: stock/models.py:620 +#: stock/models.py:610 msgid "Single unit purchase price at time of purchase" msgstr "" -#: stock/models.py:630 +#: stock/models.py:620 msgid "Scheduled for deletion" msgstr "" -#: stock/models.py:631 +#: stock/models.py:621 msgid "This StockItem will be deleted by the background worker" msgstr "" -#: stock/models.py:1094 +#: stock/models.py:1084 msgid "Part is not set as trackable" msgstr "" -#: stock/models.py:1100 +#: stock/models.py:1090 msgid "Quantity must be integer" msgstr "" -#: stock/models.py:1106 +#: stock/models.py:1096 #, python-brace-format msgid "Quantity must not exceed available stock quantity ({n})" msgstr "" -#: stock/models.py:1109 +#: stock/models.py:1099 msgid "Serial numbers must be a list of integers" msgstr "" -#: stock/models.py:1112 +#: stock/models.py:1102 msgid "Quantity does not match serial numbers" msgstr "" -#: stock/models.py:1119 +#: stock/models.py:1109 #, python-brace-format msgid "Serial numbers already exist: {exists}" msgstr "" -#: stock/models.py:1277 +#: stock/models.py:1267 msgid "StockItem cannot be moved as it is not in stock" msgstr "" -#: stock/models.py:1775 +#: stock/models.py:1765 msgid "Entry notes" msgstr "" -#: stock/models.py:1832 +#: stock/models.py:1822 msgid "Value must be provided for this test" msgstr "" -#: stock/models.py:1838 +#: stock/models.py:1828 msgid "Attachment must be uploaded for this test" msgstr "" -#: stock/models.py:1856 +#: stock/models.py:1846 msgid "Test name" msgstr "" -#: stock/models.py:1862 templates/js/translated/table_filters.js:266 +#: stock/models.py:1852 templates/js/translated/table_filters.js:266 msgid "Test result" msgstr "" -#: stock/models.py:1868 +#: stock/models.py:1858 msgid "Test output value" msgstr "" -#: stock/models.py:1875 +#: stock/models.py:1865 msgid "Test result attachment" msgstr "" -#: stock/models.py:1881 +#: stock/models.py:1871 msgid "Test notes" msgstr "" -#: stock/serializers.py:166 +#: stock/serializers.py:171 msgid "Purchase price of this stock item" msgstr "" -#: stock/serializers.py:173 +#: stock/serializers.py:178 msgid "Purchase currency of this stock item" msgstr "" -#: stock/serializers.py:287 +#: stock/serializers.py:292 msgid "Enter number of stock items to serialize" msgstr "" -#: stock/serializers.py:302 +#: stock/serializers.py:307 #, python-brace-format msgid "Quantity must not exceed available stock quantity ({q})" msgstr "" -#: stock/serializers.py:308 +#: stock/serializers.py:313 msgid "Enter serial numbers for new items" msgstr "" -#: stock/serializers.py:319 stock/serializers.py:686 +#: stock/serializers.py:324 stock/serializers.py:691 msgid "Destination stock location" msgstr "" -#: stock/serializers.py:326 +#: stock/serializers.py:331 msgid "Optional note field" msgstr "" -#: stock/serializers.py:339 +#: stock/serializers.py:344 msgid "Serial numbers cannot be assigned to this part" msgstr "" -#: stock/serializers.py:556 +#: stock/serializers.py:561 msgid "StockItem primary key value" msgstr "" -#: stock/serializers.py:584 +#: stock/serializers.py:589 msgid "Stock transaction notes" msgstr "" -#: stock/serializers.py:594 +#: stock/serializers.py:599 msgid "A list of stock items must be provided" msgstr "" @@ -5629,125 +5656,131 @@ msgstr "" msgid "Install" msgstr "" -#: stock/templates/stock/item_base.html:106 +#: stock/templates/stock/item_base.html:108 msgid "Convert to variant" msgstr "" -#: stock/templates/stock/item_base.html:109 +#: stock/templates/stock/item_base.html:111 msgid "Duplicate stock item" msgstr "" -#: stock/templates/stock/item_base.html:111 +#: stock/templates/stock/item_base.html:113 msgid "Edit stock item" msgstr "" -#: stock/templates/stock/item_base.html:114 +#: stock/templates/stock/item_base.html:116 msgid "Delete stock item" msgstr "" -#: stock/templates/stock/item_base.html:136 -#: stock/templates/stock/item_base.html:386 -#: templates/js/translated/table_filters.js:247 -msgid "Expired" +#: stock/templates/stock/item_base.html:154 +msgid "previous page" msgstr "" -#: stock/templates/stock/item_base.html:146 -#: stock/templates/stock/item_base.html:388 -#: templates/js/translated/table_filters.js:253 -msgid "Stale" +#: stock/templates/stock/item_base.html:154 +msgid "Navigate to previous serial number" msgstr "" -#: stock/templates/stock/item_base.html:161 -msgid "You are not in the list of owners of this item. This stock item cannot be edited." +#: stock/templates/stock/item_base.html:163 +msgid "next page" msgstr "" -#: stock/templates/stock/item_base.html:168 -msgid "This stock item is in production and cannot be edited." -msgstr "" - -#: stock/templates/stock/item_base.html:169 -msgid "Edit the stock item from the build view." -msgstr "" - -#: stock/templates/stock/item_base.html:182 -msgid "This stock item has not passed all required tests" +#: stock/templates/stock/item_base.html:163 +msgid "Navigate to next serial number" msgstr "" #: stock/templates/stock/item_base.html:190 #, python-format -msgid "This stock item is allocated to Sales Order %(link)s (Quantity: %(qty)s)" -msgstr "" - -#: stock/templates/stock/item_base.html:198 -#, python-format -msgid "This stock item is allocated to Build %(link)s (Quantity: %(qty)s)" -msgstr "" - -#: stock/templates/stock/item_base.html:204 -msgid "This stock item is serialized - it has a unique serial number and the quantity cannot be adjusted." -msgstr "" - -#: stock/templates/stock/item_base.html:208 -msgid "This stock item cannot be deleted as it has child items" -msgstr "" - -#: stock/templates/stock/item_base.html:212 -msgid "This stock item will be automatically deleted when all stock is depleted." -msgstr "" - -#: stock/templates/stock/item_base.html:241 -msgid "previous page" -msgstr "" - -#: stock/templates/stock/item_base.html:247 -msgid "next page" -msgstr "" - -#: stock/templates/stock/item_base.html:290 -#: templates/js/translated/build.js:1035 -msgid "No location set" -msgstr "" - -#: stock/templates/stock/item_base.html:297 -msgid "Barcode Identifier" -msgstr "" - -#: stock/templates/stock/item_base.html:339 -msgid "Parent Item" -msgstr "" - -#: stock/templates/stock/item_base.html:357 -msgid "No manufacturer set" -msgstr "" - -#: stock/templates/stock/item_base.html:386 -#, python-format msgid "This StockItem expired on %(item.expiry_date)s" msgstr "" -#: stock/templates/stock/item_base.html:388 +#: stock/templates/stock/item_base.html:190 +#: templates/js/translated/table_filters.js:247 +msgid "Expired" +msgstr "" + +#: stock/templates/stock/item_base.html:192 #, python-format msgid "This StockItem expires on %(item.expiry_date)s" msgstr "" -#: stock/templates/stock/item_base.html:395 -#: templates/js/translated/stock.js:1289 +#: stock/templates/stock/item_base.html:192 +#: templates/js/translated/table_filters.js:253 +msgid "Stale" +msgstr "" + +#: stock/templates/stock/item_base.html:199 +#: templates/js/translated/stock.js:1371 msgid "Last Updated" msgstr "" -#: stock/templates/stock/item_base.html:400 +#: stock/templates/stock/item_base.html:204 msgid "Last Stocktake" msgstr "" -#: stock/templates/stock/item_base.html:404 +#: stock/templates/stock/item_base.html:208 msgid "No stocktake performed" msgstr "" -#: stock/templates/stock/item_base.html:415 +#: stock/templates/stock/item_base.html:226 +msgid "You are not in the list of owners of this item. This stock item cannot be edited." +msgstr "" + +#: stock/templates/stock/item_base.html:233 +msgid "This stock item is in production and cannot be edited." +msgstr "" + +#: stock/templates/stock/item_base.html:234 +msgid "Edit the stock item from the build view." +msgstr "" + +#: stock/templates/stock/item_base.html:247 +msgid "This stock item has not passed all required tests" +msgstr "" + +#: stock/templates/stock/item_base.html:255 +#, python-format +msgid "This stock item is allocated to Sales Order %(link)s (Quantity: %(qty)s)" +msgstr "" + +#: stock/templates/stock/item_base.html:263 +#, python-format +msgid "This stock item is allocated to Build %(link)s (Quantity: %(qty)s)" +msgstr "" + +#: stock/templates/stock/item_base.html:269 +msgid "This stock item is serialized - it has a unique serial number and the quantity cannot be adjusted." +msgstr "" + +#: stock/templates/stock/item_base.html:273 +msgid "This stock item cannot be deleted as it has child items" +msgstr "" + +#: stock/templates/stock/item_base.html:277 +msgid "This stock item will be automatically deleted when all stock is depleted." +msgstr "" + +#: stock/templates/stock/item_base.html:318 +#: templates/js/translated/build.js:1035 +msgid "No location set" +msgstr "" + +#: stock/templates/stock/item_base.html:325 +msgid "Barcode Identifier" +msgstr "" + +#: stock/templates/stock/item_base.html:367 +msgid "Parent Item" +msgstr "" + +#: stock/templates/stock/item_base.html:385 +msgid "No manufacturer set" +msgstr "" + +#: stock/templates/stock/item_base.html:410 msgid "Tests" msgstr "" -#: stock/templates/stock/item_base.html:505 +#: stock/templates/stock/item_base.html:500 msgid "Edit Stock Status" msgstr "" @@ -5825,30 +5858,35 @@ msgstr "" msgid "New Location" msgstr "" -#: stock/templates/stock/location.html:86 +#: stock/templates/stock/location.html:95 +#: stock/templates/stock/location.html:101 +msgid "Location Path" +msgstr "" + +#: stock/templates/stock/location.html:102 msgid "Top level stock location" msgstr "" -#: stock/templates/stock/location.html:95 +#: stock/templates/stock/location.html:115 msgid "You are not in the list of owners of this location. This stock location cannot be edited." msgstr "" -#: stock/templates/stock/location.html:113 -#: stock/templates/stock/location.html:160 +#: stock/templates/stock/location.html:128 +#: stock/templates/stock/location.html:175 #: stock/templates/stock/location_sidebar.html:5 msgid "Sublocations" msgstr "" -#: stock/templates/stock/location.html:127 templates/InvenTree/search.html:170 +#: stock/templates/stock/location.html:142 templates/InvenTree/search.html:170 #: templates/stats.html:97 users/models.py:42 msgid "Stock Locations" msgstr "" -#: stock/templates/stock/location.html:167 templates/stock_table.html:30 +#: stock/templates/stock/location.html:182 templates/stock_table.html:30 msgid "Printing Actions" msgstr "" -#: stock/templates/stock/location.html:171 templates/stock_table.html:34 +#: stock/templates/stock/location.html:186 templates/stock_table.html:34 msgid "Print labels" msgstr "" @@ -5942,7 +5980,7 @@ msgstr "" msgid "Uninstall Stock Items" msgstr "" -#: stock/views.py:760 templates/js/translated/stock.js:648 +#: stock/views.py:760 templates/js/translated/stock.js:730 msgid "Confirm stock adjustment" msgstr "" @@ -5950,7 +5988,7 @@ msgstr "" msgid "Uninstalled stock items" msgstr "" -#: stock/views.py:793 templates/js/translated/stock.js:318 +#: stock/views.py:793 templates/js/translated/stock.js:319 msgid "Edit Stock Item" msgstr "" @@ -5962,7 +6000,7 @@ msgstr "" msgid "Create new Stock Item" msgstr "" -#: stock/views.py:1186 templates/js/translated/stock.js:298 +#: stock/views.py:1186 templates/js/translated/stock.js:299 msgid "Duplicate Stock Item" msgstr "" @@ -6868,7 +6906,7 @@ msgstr "" msgid "Unlink" msgstr "" -#: templates/js/translated/barcode.js:397 templates/js/translated/stock.js:600 +#: templates/js/translated/barcode.js:397 templates/js/translated/stock.js:682 msgid "Remove stock item" msgstr "" @@ -6963,7 +7001,7 @@ msgid "View BOM" msgstr "" #: templates/js/translated/bom.js:608 templates/js/translated/build.js:1183 -#: templates/js/translated/order.js:1320 +#: templates/js/translated/order.js:1319 msgid "Actions" msgstr "" @@ -7055,7 +7093,7 @@ msgstr "" msgid "No build order allocations found" msgstr "" -#: templates/js/translated/build.js:424 templates/js/translated/order.js:1194 +#: templates/js/translated/build.js:424 templates/js/translated/order.js:1193 msgid "Location not specified" msgstr "" @@ -7064,12 +7102,12 @@ msgid "No active build outputs found" msgstr "" #: templates/js/translated/build.js:1052 templates/js/translated/build.js:1760 -#: templates/js/translated/order.js:1327 +#: templates/js/translated/order.js:1326 msgid "Edit stock allocation" msgstr "" #: templates/js/translated/build.js:1054 templates/js/translated/build.js:1761 -#: templates/js/translated/order.js:1328 +#: templates/js/translated/order.js:1327 msgid "Delete stock allocation" msgstr "" @@ -7090,11 +7128,11 @@ msgid "Quantity Per" msgstr "" #: templates/js/translated/build.js:1134 templates/js/translated/build.js:1360 -#: templates/js/translated/build.js:1756 templates/js/translated/order.js:1557 +#: templates/js/translated/build.js:1756 templates/js/translated/order.js:1556 msgid "Allocated" msgstr "" -#: templates/js/translated/build.js:1190 templates/js/translated/order.js:1611 +#: templates/js/translated/build.js:1190 templates/js/translated/order.js:1610 msgid "Build stock" msgstr "" @@ -7102,7 +7140,7 @@ msgstr "" msgid "Order stock" msgstr "" -#: templates/js/translated/build.js:1197 templates/js/translated/order.js:1604 +#: templates/js/translated/build.js:1197 templates/js/translated/order.js:1603 msgid "Allocate stock" msgstr "" @@ -7143,9 +7181,9 @@ msgstr "" msgid "No builds matching query" msgstr "" -#: templates/js/translated/build.js:1593 templates/js/translated/part.js:966 -#: templates/js/translated/part.js:1377 templates/js/translated/stock.js:1094 -#: templates/js/translated/stock.js:1871 +#: templates/js/translated/build.js:1593 templates/js/translated/part.js:1147 +#: templates/js/translated/part.js:1558 templates/js/translated/stock.js:1176 +#: templates/js/translated/stock.js:1953 msgid "Select" msgstr "" @@ -7153,7 +7191,7 @@ msgstr "" msgid "Build order is overdue" msgstr "" -#: templates/js/translated/build.js:1674 templates/js/translated/stock.js:2090 +#: templates/js/translated/build.js:1674 templates/js/translated/stock.js:2172 msgid "No user information" msgstr "" @@ -7197,10 +7235,6 @@ msgstr "" msgid "Delete Supplier Part" msgstr "" -#: templates/js/translated/company.js:265 -msgid "Edit Company" -msgstr "" - #: templates/js/translated/company.js:286 msgid "Add new Company" msgstr "" @@ -7230,34 +7264,34 @@ msgid "No manufacturer parts found" msgstr "" #: templates/js/translated/company.js:497 -#: templates/js/translated/company.js:754 templates/js/translated/part.js:449 -#: templates/js/translated/part.js:534 +#: templates/js/translated/company.js:754 templates/js/translated/part.js:456 +#: templates/js/translated/part.js:541 msgid "Template part" msgstr "" #: templates/js/translated/company.js:501 -#: templates/js/translated/company.js:758 templates/js/translated/part.js:453 -#: templates/js/translated/part.js:538 +#: templates/js/translated/company.js:758 templates/js/translated/part.js:460 +#: templates/js/translated/part.js:545 msgid "Assembled part" msgstr "" -#: templates/js/translated/company.js:628 templates/js/translated/part.js:626 +#: templates/js/translated/company.js:628 templates/js/translated/part.js:633 msgid "No parameters found" msgstr "" -#: templates/js/translated/company.js:665 templates/js/translated/part.js:668 +#: templates/js/translated/company.js:665 templates/js/translated/part.js:675 msgid "Edit parameter" msgstr "" -#: templates/js/translated/company.js:666 templates/js/translated/part.js:669 +#: templates/js/translated/company.js:666 templates/js/translated/part.js:676 msgid "Delete parameter" msgstr "" -#: templates/js/translated/company.js:685 templates/js/translated/part.js:686 +#: templates/js/translated/company.js:685 templates/js/translated/part.js:693 msgid "Edit Parameter" msgstr "" -#: templates/js/translated/company.js:696 templates/js/translated/part.js:698 +#: templates/js/translated/company.js:696 templates/js/translated/part.js:705 msgid "Delete Parameter" msgstr "" @@ -7346,7 +7380,7 @@ msgid "NO" msgstr "" #: templates/js/translated/label.js:29 templates/js/translated/report.js:118 -#: templates/js/translated/stock.js:624 +#: templates/js/translated/stock.js:706 msgid "Select Stock Items" msgstr "" @@ -7502,11 +7536,11 @@ msgstr "" msgid "Export Order" msgstr "" -#: templates/js/translated/order.js:211 templates/js/translated/stock.js:423 +#: templates/js/translated/order.js:211 templates/js/translated/stock.js:505 msgid "Format" msgstr "" -#: templates/js/translated/order.js:212 templates/js/translated/stock.js:424 +#: templates/js/translated/order.js:212 templates/js/translated/stock.js:506 msgid "Select file format" msgstr "" @@ -7522,7 +7556,7 @@ msgstr "" msgid "Quantity to receive" msgstr "" -#: templates/js/translated/order.js:360 templates/js/translated/stock.js:1673 +#: templates/js/translated/order.js:360 templates/js/translated/stock.js:1755 msgid "Stock Status" msgstr "" @@ -7546,321 +7580,321 @@ msgstr "" msgid "Receive Purchase Order Items" msgstr "" -#: templates/js/translated/order.js:627 +#: templates/js/translated/order.js:627 templates/js/translated/part.js:746 msgid "No purchase orders found" msgstr "" -#: templates/js/translated/order.js:652 templates/js/translated/order.js:1063 +#: templates/js/translated/order.js:659 templates/js/translated/order.js:1062 msgid "Order is overdue" msgstr "" -#: templates/js/translated/order.js:772 templates/js/translated/order.js:1646 +#: templates/js/translated/order.js:771 templates/js/translated/order.js:1645 msgid "Edit Line Item" msgstr "" -#: templates/js/translated/order.js:784 templates/js/translated/order.js:1657 +#: templates/js/translated/order.js:783 templates/js/translated/order.js:1656 msgid "Delete Line Item" msgstr "" -#: templates/js/translated/order.js:823 +#: templates/js/translated/order.js:822 msgid "No line items found" msgstr "" -#: templates/js/translated/order.js:850 templates/js/translated/order.js:1467 +#: templates/js/translated/order.js:849 templates/js/translated/order.js:1466 msgid "Total" msgstr "" -#: templates/js/translated/order.js:904 templates/js/translated/order.js:1492 -#: templates/js/translated/part.js:1594 templates/js/translated/part.js:1805 +#: templates/js/translated/order.js:903 templates/js/translated/order.js:1491 +#: templates/js/translated/part.js:1775 templates/js/translated/part.js:1986 msgid "Unit Price" msgstr "" -#: templates/js/translated/order.js:919 templates/js/translated/order.js:1508 +#: templates/js/translated/order.js:918 templates/js/translated/order.js:1507 msgid "Total Price" msgstr "" -#: templates/js/translated/order.js:997 templates/js/translated/order.js:1617 +#: templates/js/translated/order.js:996 templates/js/translated/order.js:1616 msgid "Edit line item" msgstr "" -#: templates/js/translated/order.js:998 +#: templates/js/translated/order.js:997 msgid "Delete line item" msgstr "" -#: templates/js/translated/order.js:1002 +#: templates/js/translated/order.js:1001 templates/js/translated/part.js:878 msgid "Receive line item" msgstr "" -#: templates/js/translated/order.js:1039 +#: templates/js/translated/order.js:1038 msgid "No sales orders found" msgstr "" -#: templates/js/translated/order.js:1077 +#: templates/js/translated/order.js:1076 msgid "Invalid Customer" msgstr "" -#: templates/js/translated/order.js:1155 +#: templates/js/translated/order.js:1154 msgid "No sales order allocations found" msgstr "" -#: templates/js/translated/order.js:1248 +#: templates/js/translated/order.js:1247 msgid "Edit Stock Allocation" msgstr "" -#: templates/js/translated/order.js:1265 +#: templates/js/translated/order.js:1264 msgid "Confirm Delete Operation" msgstr "" -#: templates/js/translated/order.js:1266 +#: templates/js/translated/order.js:1265 msgid "Delete Stock Allocation" msgstr "" -#: templates/js/translated/order.js:1308 +#: templates/js/translated/order.js:1307 msgid "Stock location not specified" msgstr "" -#: templates/js/translated/order.js:1557 +#: templates/js/translated/order.js:1556 msgid "Fulfilled" msgstr "" -#: templates/js/translated/order.js:1601 +#: templates/js/translated/order.js:1600 msgid "Allocate serial numbers" msgstr "" -#: templates/js/translated/order.js:1607 +#: templates/js/translated/order.js:1606 msgid "Purchase stock" msgstr "" -#: templates/js/translated/order.js:1614 templates/js/translated/order.js:1793 +#: templates/js/translated/order.js:1613 templates/js/translated/order.js:1792 msgid "Calculate price" msgstr "" -#: templates/js/translated/order.js:1618 +#: templates/js/translated/order.js:1617 msgid "Delete line item " msgstr "" -#: templates/js/translated/order.js:1741 +#: templates/js/translated/order.js:1740 msgid "Allocate Stock Item" msgstr "" -#: templates/js/translated/order.js:1801 +#: templates/js/translated/order.js:1800 msgid "Update Unit Price" msgstr "" -#: templates/js/translated/order.js:1815 +#: templates/js/translated/order.js:1814 msgid "No matching line items" msgstr "" -#: templates/js/translated/part.js:51 +#: templates/js/translated/part.js:52 msgid "Part Attributes" msgstr "" -#: templates/js/translated/part.js:55 +#: templates/js/translated/part.js:56 msgid "Part Creation Options" msgstr "" -#: templates/js/translated/part.js:59 +#: templates/js/translated/part.js:60 msgid "Part Duplication Options" msgstr "" -#: templates/js/translated/part.js:63 +#: templates/js/translated/part.js:64 msgid "Supplier Options" msgstr "" -#: templates/js/translated/part.js:77 +#: templates/js/translated/part.js:78 msgid "Add Part Category" msgstr "" -#: templates/js/translated/part.js:166 +#: templates/js/translated/part.js:162 msgid "Create Initial Stock" msgstr "" -#: templates/js/translated/part.js:167 +#: templates/js/translated/part.js:163 msgid "Create an initial stock item for this part" msgstr "" -#: templates/js/translated/part.js:174 +#: templates/js/translated/part.js:170 msgid "Initial Stock Quantity" msgstr "" -#: templates/js/translated/part.js:175 +#: templates/js/translated/part.js:171 msgid "Specify initial stock quantity for this part" msgstr "" -#: templates/js/translated/part.js:182 +#: templates/js/translated/part.js:178 msgid "Select destination stock location" msgstr "" -#: templates/js/translated/part.js:193 +#: templates/js/translated/part.js:196 msgid "Copy Category Parameters" msgstr "" -#: templates/js/translated/part.js:194 +#: templates/js/translated/part.js:197 msgid "Copy parameter templates from selected part category" msgstr "" -#: templates/js/translated/part.js:202 +#: templates/js/translated/part.js:205 msgid "Add Supplier Data" msgstr "" -#: templates/js/translated/part.js:203 +#: templates/js/translated/part.js:206 msgid "Create initial supplier data for this part" msgstr "" -#: templates/js/translated/part.js:259 +#: templates/js/translated/part.js:262 msgid "Copy Image" msgstr "" -#: templates/js/translated/part.js:260 +#: templates/js/translated/part.js:263 msgid "Copy image from original part" msgstr "" -#: templates/js/translated/part.js:268 +#: templates/js/translated/part.js:271 msgid "Copy bill of materials from original part" msgstr "" -#: templates/js/translated/part.js:275 +#: templates/js/translated/part.js:278 msgid "Copy Parameters" msgstr "" -#: templates/js/translated/part.js:276 +#: templates/js/translated/part.js:279 msgid "Copy parameter data from original part" msgstr "" -#: templates/js/translated/part.js:289 +#: templates/js/translated/part.js:292 msgid "Parent part category" msgstr "" -#: templates/js/translated/part.js:333 +#: templates/js/translated/part.js:336 msgid "Edit Part" msgstr "" -#: templates/js/translated/part.js:335 +#: templates/js/translated/part.js:338 msgid "Part edited" msgstr "" -#: templates/js/translated/part.js:403 +#: templates/js/translated/part.js:410 msgid "You are subscribed to notifications for this item" msgstr "" -#: templates/js/translated/part.js:405 +#: templates/js/translated/part.js:412 msgid "You have subscribed to notifications for this item" msgstr "" -#: templates/js/translated/part.js:410 +#: templates/js/translated/part.js:417 msgid "Subscribe to notifications for this item" msgstr "" -#: templates/js/translated/part.js:412 +#: templates/js/translated/part.js:419 msgid "You have unsubscribed to notifications for this item" msgstr "" -#: templates/js/translated/part.js:441 templates/js/translated/part.js:526 +#: templates/js/translated/part.js:448 templates/js/translated/part.js:533 msgid "Trackable part" msgstr "" -#: templates/js/translated/part.js:445 templates/js/translated/part.js:530 +#: templates/js/translated/part.js:452 templates/js/translated/part.js:537 msgid "Virtual part" msgstr "" -#: templates/js/translated/part.js:457 +#: templates/js/translated/part.js:464 msgid "Subscribed part" msgstr "" -#: templates/js/translated/part.js:461 +#: templates/js/translated/part.js:468 msgid "Salable part" msgstr "" -#: templates/js/translated/part.js:576 +#: templates/js/translated/part.js:583 msgid "No variants found" msgstr "" -#: templates/js/translated/part.js:765 +#: templates/js/translated/part.js:946 msgid "Delete part relationship" msgstr "" -#: templates/js/translated/part.js:789 +#: templates/js/translated/part.js:970 msgid "Delete Part Relationship" msgstr "" -#: templates/js/translated/part.js:856 templates/js/translated/part.js:1116 +#: templates/js/translated/part.js:1037 templates/js/translated/part.js:1297 msgid "No parts found" msgstr "" -#: templates/js/translated/part.js:1026 +#: templates/js/translated/part.js:1207 msgid "No category" msgstr "" -#: templates/js/translated/part.js:1049 +#: templates/js/translated/part.js:1230 #: templates/js/translated/table_filters.js:381 msgid "Low stock" msgstr "" -#: templates/js/translated/part.js:1140 templates/js/translated/part.js:1312 -#: templates/js/translated/stock.js:1832 +#: templates/js/translated/part.js:1321 templates/js/translated/part.js:1493 +#: templates/js/translated/stock.js:1914 msgid "Display as list" msgstr "" -#: templates/js/translated/part.js:1156 +#: templates/js/translated/part.js:1337 msgid "Display as grid" msgstr "" -#: templates/js/translated/part.js:1331 templates/js/translated/stock.js:1851 +#: templates/js/translated/part.js:1512 templates/js/translated/stock.js:1933 msgid "Display as tree" msgstr "" -#: templates/js/translated/part.js:1395 +#: templates/js/translated/part.js:1576 msgid "Subscribed category" msgstr "" -#: templates/js/translated/part.js:1409 templates/js/translated/stock.js:1895 +#: templates/js/translated/part.js:1590 templates/js/translated/stock.js:1977 msgid "Path" msgstr "" -#: templates/js/translated/part.js:1453 +#: templates/js/translated/part.js:1634 msgid "No test templates matching query" msgstr "" -#: templates/js/translated/part.js:1504 templates/js/translated/stock.js:816 +#: templates/js/translated/part.js:1685 templates/js/translated/stock.js:898 msgid "Edit test result" msgstr "" -#: templates/js/translated/part.js:1505 templates/js/translated/stock.js:817 +#: templates/js/translated/part.js:1686 templates/js/translated/stock.js:899 msgid "Delete test result" msgstr "" -#: templates/js/translated/part.js:1511 +#: templates/js/translated/part.js:1692 msgid "This test is defined for a parent part" msgstr "" -#: templates/js/translated/part.js:1533 +#: templates/js/translated/part.js:1714 msgid "Edit Test Result Template" msgstr "" -#: templates/js/translated/part.js:1547 +#: templates/js/translated/part.js:1728 msgid "Delete Test Result Template" msgstr "" -#: templates/js/translated/part.js:1572 +#: templates/js/translated/part.js:1753 #, python-brace-format msgid "No ${human_name} information found" msgstr "" -#: templates/js/translated/part.js:1627 +#: templates/js/translated/part.js:1808 #, python-brace-format msgid "Edit ${human_name}" msgstr "" -#: templates/js/translated/part.js:1628 +#: templates/js/translated/part.js:1809 #, python-brace-format msgid "Delete ${human_name}" msgstr "" -#: templates/js/translated/part.js:1729 +#: templates/js/translated/part.js:1910 msgid "Single Price" msgstr "" -#: templates/js/translated/part.js:1748 +#: templates/js/translated/part.js:1929 msgid "Single Price Difference" msgstr "" @@ -7930,276 +7964,300 @@ msgstr "" msgid "Sales Order(s) must be selected before printing report" msgstr "" -#: templates/js/translated/stock.js:70 +#: templates/js/translated/stock.js:71 msgid "Serialize Stock Item" msgstr "" -#: templates/js/translated/stock.js:88 templates/js/translated/stock.js:167 +#: templates/js/translated/stock.js:89 templates/js/translated/stock.js:168 msgid "Next available serial number" msgstr "" -#: templates/js/translated/stock.js:90 templates/js/translated/stock.js:169 +#: templates/js/translated/stock.js:91 templates/js/translated/stock.js:170 msgid "Latest serial number" msgstr "" -#: templates/js/translated/stock.js:104 +#: templates/js/translated/stock.js:105 msgid "Parent stock location" msgstr "" -#: templates/js/translated/stock.js:140 +#: templates/js/translated/stock.js:141 msgid "New Stock Location" msgstr "" -#: templates/js/translated/stock.js:180 +#: templates/js/translated/stock.js:181 msgid "This part cannot be serialized" msgstr "" -#: templates/js/translated/stock.js:219 +#: templates/js/translated/stock.js:220 msgid "Enter initial quantity for this stock item" msgstr "" -#: templates/js/translated/stock.js:225 +#: templates/js/translated/stock.js:226 msgid "Enter serial numbers for new stock (or leave blank)" msgstr "" -#: templates/js/translated/stock.js:368 +#: templates/js/translated/stock.js:369 msgid "Created new stock item" msgstr "" -#: templates/js/translated/stock.js:381 +#: templates/js/translated/stock.js:382 msgid "Created multiple stock items" msgstr "" -#: templates/js/translated/stock.js:420 +#: templates/js/translated/stock.js:407 +msgid "Find Serial Number" +msgstr "" + +#: templates/js/translated/stock.js:411 templates/js/translated/stock.js:412 +msgid "Enter serial number" +msgstr "" + +#: templates/js/translated/stock.js:428 +msgid "Enter a serial number" +msgstr "" + +#: templates/js/translated/stock.js:448 +msgid "No matching serial number" +msgstr "" + +#: templates/js/translated/stock.js:457 +msgid "More than one matching result found" +msgstr "" + +#: templates/js/translated/stock.js:502 msgid "Export Stock" msgstr "" -#: templates/js/translated/stock.js:431 +#: templates/js/translated/stock.js:513 msgid "Include Sublocations" msgstr "" -#: templates/js/translated/stock.js:432 +#: templates/js/translated/stock.js:514 msgid "Include stock items in sublocations" msgstr "" -#: templates/js/translated/stock.js:474 +#: templates/js/translated/stock.js:556 msgid "Transfer Stock" msgstr "" -#: templates/js/translated/stock.js:475 +#: templates/js/translated/stock.js:557 msgid "Move" msgstr "" -#: templates/js/translated/stock.js:481 +#: templates/js/translated/stock.js:563 msgid "Count Stock" msgstr "" -#: templates/js/translated/stock.js:482 +#: templates/js/translated/stock.js:564 msgid "Count" msgstr "" -#: templates/js/translated/stock.js:486 +#: templates/js/translated/stock.js:568 msgid "Remove Stock" msgstr "" -#: templates/js/translated/stock.js:487 +#: templates/js/translated/stock.js:569 msgid "Take" msgstr "" -#: templates/js/translated/stock.js:491 +#: templates/js/translated/stock.js:573 msgid "Add Stock" msgstr "" -#: templates/js/translated/stock.js:492 users/models.py:200 +#: templates/js/translated/stock.js:574 users/models.py:200 msgid "Add" msgstr "" -#: templates/js/translated/stock.js:496 templates/stock_table.html:56 +#: templates/js/translated/stock.js:578 templates/stock_table.html:56 msgid "Delete Stock" msgstr "" -#: templates/js/translated/stock.js:585 +#: templates/js/translated/stock.js:667 msgid "Quantity cannot be adjusted for serialized stock" msgstr "" -#: templates/js/translated/stock.js:585 +#: templates/js/translated/stock.js:667 msgid "Specify stock quantity" msgstr "" -#: templates/js/translated/stock.js:625 +#: templates/js/translated/stock.js:707 msgid "You must select at least one available stock item" msgstr "" -#: templates/js/translated/stock.js:783 +#: templates/js/translated/stock.js:865 msgid "PASS" msgstr "" -#: templates/js/translated/stock.js:785 +#: templates/js/translated/stock.js:867 msgid "FAIL" msgstr "" -#: templates/js/translated/stock.js:790 +#: templates/js/translated/stock.js:872 msgid "NO RESULT" msgstr "" -#: templates/js/translated/stock.js:812 +#: templates/js/translated/stock.js:894 msgid "Add test result" msgstr "" -#: templates/js/translated/stock.js:838 +#: templates/js/translated/stock.js:920 msgid "No test results found" msgstr "" -#: templates/js/translated/stock.js:895 +#: templates/js/translated/stock.js:977 msgid "Test Date" msgstr "" -#: templates/js/translated/stock.js:1002 +#: templates/js/translated/stock.js:1084 msgid "In production" msgstr "" -#: templates/js/translated/stock.js:1006 +#: templates/js/translated/stock.js:1088 msgid "Installed in Stock Item" msgstr "" -#: templates/js/translated/stock.js:1010 +#: templates/js/translated/stock.js:1092 msgid "Shipped to customer" msgstr "" -#: templates/js/translated/stock.js:1014 +#: templates/js/translated/stock.js:1096 msgid "Assigned to Sales Order" msgstr "" -#: templates/js/translated/stock.js:1020 +#: templates/js/translated/stock.js:1102 msgid "No stock location set" msgstr "" -#: templates/js/translated/stock.js:1178 +#: templates/js/translated/stock.js:1260 msgid "Stock item is in production" msgstr "" -#: templates/js/translated/stock.js:1183 +#: templates/js/translated/stock.js:1265 msgid "Stock item assigned to sales order" msgstr "" -#: templates/js/translated/stock.js:1186 +#: templates/js/translated/stock.js:1268 msgid "Stock item assigned to customer" msgstr "" -#: templates/js/translated/stock.js:1190 +#: templates/js/translated/stock.js:1272 msgid "Stock item has expired" msgstr "" -#: templates/js/translated/stock.js:1192 +#: templates/js/translated/stock.js:1274 msgid "Stock item will expire soon" msgstr "" -#: templates/js/translated/stock.js:1196 +#: templates/js/translated/stock.js:1278 msgid "Stock item has been allocated" msgstr "" -#: templates/js/translated/stock.js:1200 +#: templates/js/translated/stock.js:1282 msgid "Stock item has been installed in another item" msgstr "" -#: templates/js/translated/stock.js:1207 +#: templates/js/translated/stock.js:1289 msgid "Stock item has been rejected" msgstr "" -#: templates/js/translated/stock.js:1209 +#: templates/js/translated/stock.js:1291 msgid "Stock item is lost" msgstr "" -#: templates/js/translated/stock.js:1211 +#: templates/js/translated/stock.js:1293 msgid "Stock item is destroyed" msgstr "" -#: templates/js/translated/stock.js:1215 +#: templates/js/translated/stock.js:1297 #: templates/js/translated/table_filters.js:183 msgid "Depleted" msgstr "" -#: templates/js/translated/stock.js:1265 +#: templates/js/translated/stock.js:1347 msgid "Stocktake" msgstr "" -#: templates/js/translated/stock.js:1338 +#: templates/js/translated/stock.js:1420 msgid "Supplier part not specified" msgstr "" -#: templates/js/translated/stock.js:1376 +#: templates/js/translated/stock.js:1458 msgid "No stock items matching query" msgstr "" -#: templates/js/translated/stock.js:1397 templates/js/translated/stock.js:1445 +#: templates/js/translated/stock.js:1479 templates/js/translated/stock.js:1527 msgid "items" msgstr "" -#: templates/js/translated/stock.js:1485 +#: templates/js/translated/stock.js:1567 msgid "batches" msgstr "" -#: templates/js/translated/stock.js:1512 +#: templates/js/translated/stock.js:1594 msgid "locations" msgstr "" -#: templates/js/translated/stock.js:1514 +#: templates/js/translated/stock.js:1596 msgid "Undefined location" msgstr "" -#: templates/js/translated/stock.js:1688 +#: templates/js/translated/stock.js:1770 msgid "Set Stock Status" msgstr "" -#: templates/js/translated/stock.js:1702 +#: templates/js/translated/stock.js:1784 msgid "Select Status Code" msgstr "" -#: templates/js/translated/stock.js:1703 +#: templates/js/translated/stock.js:1785 msgid "Status code must be selected" msgstr "" -#: templates/js/translated/stock.js:1927 +#: templates/js/translated/stock.js:2009 msgid "Invalid date" msgstr "" -#: templates/js/translated/stock.js:1974 +#: templates/js/translated/stock.js:2031 +msgid "Details" +msgstr "" + +#: templates/js/translated/stock.js:2056 msgid "Location no longer exists" msgstr "" -#: templates/js/translated/stock.js:1993 +#: templates/js/translated/stock.js:2075 msgid "Purchase order no longer exists" msgstr "" -#: templates/js/translated/stock.js:2012 +#: templates/js/translated/stock.js:2094 msgid "Customer no longer exists" msgstr "" -#: templates/js/translated/stock.js:2030 +#: templates/js/translated/stock.js:2112 msgid "Stock item no longer exists" msgstr "" -#: templates/js/translated/stock.js:2053 +#: templates/js/translated/stock.js:2135 msgid "Added" msgstr "" -#: templates/js/translated/stock.js:2061 +#: templates/js/translated/stock.js:2143 msgid "Removed" msgstr "" -#: templates/js/translated/stock.js:2102 +#: templates/js/translated/stock.js:2184 msgid "Edit tracking entry" msgstr "" -#: templates/js/translated/stock.js:2103 +#: templates/js/translated/stock.js:2185 msgid "Delete tracking entry" msgstr "" -#: templates/js/translated/stock.js:2154 +#: templates/js/translated/stock.js:2236 msgid "No installed items" msgstr "" -#: templates/js/translated/stock.js:2205 +#: templates/js/translated/stock.js:2287 msgid "Uninstall Stock Item" msgstr "" diff --git a/InvenTree/locale/tr/LC_MESSAGES/django.po b/InvenTree/locale/tr/LC_MESSAGES/django.po index c068a30029..39695002e7 100644 --- a/InvenTree/locale/tr/LC_MESSAGES/django.po +++ b/InvenTree/locale/tr/LC_MESSAGES/django.po @@ -2,8 +2,8 @@ msgid "" msgstr "" "Project-Id-Version: inventree\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2021-11-30 21:49+0000\n" -"PO-Revision-Date: 2021-11-30 21:52\n" +"POT-Creation-Date: 2021-12-03 10:37+0000\n" +"PO-Revision-Date: 2021-12-03 11:26\n" "Last-Translator: \n" "Language-Team: Turkish\n" "Language: tr_TR\n" @@ -114,129 +114,130 @@ msgstr "Seri numarası bulunamadı" msgid "Number of unique serial number ({s}) must match quantity ({q})" msgstr "Benzersiz seri numaralarının sayısı ({s}) girilen miktarla eşleşmeli ({q})" -#: InvenTree/models.py:114 +#: InvenTree/models.py:120 msgid "Missing file" msgstr "" -#: InvenTree/models.py:115 +#: InvenTree/models.py:121 msgid "Missing external link" msgstr "" -#: InvenTree/models.py:126 stock/models.py:1874 +#: InvenTree/models.py:132 stock/models.py:1864 #: templates/js/translated/attachment.js:117 msgid "Attachment" msgstr "Ek" -#: InvenTree/models.py:127 +#: InvenTree/models.py:133 msgid "Select file to attach" msgstr "Eklenecek dosyayı seç" -#: InvenTree/models.py:133 company/models.py:131 company/models.py:348 +#: InvenTree/models.py:139 company/models.py:131 company/models.py:348 #: company/models.py:564 order/models.py:163 part/models.py:797 #: report/templates/report/inventree_build_order_base.html:165 #: templates/js/translated/company.js:537 -#: templates/js/translated/company.js:826 templates/js/translated/part.js:1077 +#: templates/js/translated/company.js:826 templates/js/translated/part.js:1258 msgid "Link" msgstr "Bağlantı" -#: InvenTree/models.py:134 build/models.py:330 part/models.py:798 -#: stock/models.py:540 +#: InvenTree/models.py:140 build/models.py:330 part/models.py:798 +#: stock/models.py:530 msgid "Link to external URL" msgstr "Harici URL'ye bağlantı" -#: InvenTree/models.py:137 templates/js/translated/attachment.js:161 +#: InvenTree/models.py:143 templates/js/translated/attachment.js:161 msgid "Comment" msgstr "Yorum" -#: InvenTree/models.py:137 +#: InvenTree/models.py:143 msgid "File comment" msgstr "Dosya yorumu" -#: InvenTree/models.py:143 InvenTree/models.py:144 common/models.py:1185 +#: InvenTree/models.py:149 InvenTree/models.py:150 common/models.py:1185 #: common/models.py:1186 part/models.py:2205 part/models.py:2225 #: report/templates/report/inventree_test_report_base.html:96 -#: templates/js/translated/stock.js:2084 +#: templates/js/translated/stock.js:2166 msgid "User" msgstr "Kullanıcı" -#: InvenTree/models.py:147 +#: InvenTree/models.py:153 msgid "upload date" msgstr "yükleme tarihi" -#: InvenTree/models.py:170 +#: InvenTree/models.py:176 msgid "Filename must not be empty" msgstr "" -#: InvenTree/models.py:193 +#: InvenTree/models.py:199 msgid "Invalid attachment directory" msgstr "" -#: InvenTree/models.py:203 +#: InvenTree/models.py:209 #, python-brace-format msgid "Filename contains illegal character '{c}'" msgstr "" -#: InvenTree/models.py:206 +#: InvenTree/models.py:212 msgid "Filename missing extension" msgstr "" -#: InvenTree/models.py:213 +#: InvenTree/models.py:219 msgid "Attachment with this filename already exists" msgstr "" -#: InvenTree/models.py:220 +#: InvenTree/models.py:226 msgid "Error renaming file" msgstr "" -#: InvenTree/models.py:255 +#: InvenTree/models.py:261 msgid "Invalid choice" msgstr "Geçersiz seçim" -#: InvenTree/models.py:271 InvenTree/models.py:272 company/models.py:415 +#: InvenTree/models.py:277 InvenTree/models.py:278 company/models.py:415 #: label/models.py:112 part/models.py:741 part/models.py:2389 -#: part/templates/part/detail.html:25 report/models.py:181 -#: templates/InvenTree/settings/settings.html:259 -#: templates/js/translated/company.js:638 templates/js/translated/part.js:499 -#: templates/js/translated/part.js:636 templates/js/translated/part.js:1384 -#: templates/js/translated/stock.js:1877 +#: report/models.py:181 templates/InvenTree/settings/settings.html:259 +#: templates/js/translated/company.js:638 templates/js/translated/part.js:506 +#: templates/js/translated/part.js:643 templates/js/translated/part.js:1565 +#: templates/js/translated/stock.js:1959 msgid "Name" msgstr "Adı" -#: InvenTree/models.py:278 build/models.py:207 +#: InvenTree/models.py:284 build/models.py:207 #: build/templates/build/detail.html:25 company/models.py:354 -#: company/models.py:570 company/templates/company/manufacturer_part.html:80 -#: company/templates/company/supplier_part.html:81 label/models.py:119 -#: order/models.py:161 part/models.py:764 part/templates/part/detail.html:30 +#: company/models.py:570 company/templates/company/company_base.html:68 +#: company/templates/company/manufacturer_part.html:76 +#: company/templates/company/supplier_part.html:73 label/models.py:119 +#: order/models.py:161 part/models.py:764 part/templates/part/category.html:70 +#: part/templates/part/part_base.html:163 #: part/templates/part/set_category.html:14 report/models.py:194 #: report/models.py:553 report/models.py:592 #: report/templates/report/inventree_build_order_base.html:118 -#: stock/templates/stock/location.html:108 templates/js/translated/bom.js:215 +#: stock/templates/stock/location.html:89 templates/js/translated/bom.js:215 #: templates/js/translated/bom.js:428 templates/js/translated/build.js:1621 #: templates/js/translated/company.js:345 #: templates/js/translated/company.js:548 -#: templates/js/translated/company.js:837 templates/js/translated/order.js:673 -#: templates/js/translated/order.js:855 templates/js/translated/order.js:1091 -#: templates/js/translated/part.js:558 templates/js/translated/part.js:752 -#: templates/js/translated/part.js:837 templates/js/translated/part.js:1007 -#: templates/js/translated/part.js:1403 templates/js/translated/part.js:1472 -#: templates/js/translated/stock.js:1151 templates/js/translated/stock.js:1889 -#: templates/js/translated/stock.js:1934 +#: templates/js/translated/company.js:837 templates/js/translated/order.js:680 +#: templates/js/translated/order.js:854 templates/js/translated/order.js:1090 +#: templates/js/translated/part.js:565 templates/js/translated/part.js:933 +#: templates/js/translated/part.js:1018 templates/js/translated/part.js:1188 +#: templates/js/translated/part.js:1584 templates/js/translated/part.js:1653 +#: templates/js/translated/stock.js:1233 templates/js/translated/stock.js:1971 +#: templates/js/translated/stock.js:2016 msgid "Description" msgstr "Açıklama" -#: InvenTree/models.py:279 +#: InvenTree/models.py:285 msgid "Description (optional)" msgstr "Açıklama (isteğe bağlı)" -#: InvenTree/models.py:287 +#: InvenTree/models.py:293 msgid "parent" msgstr "üst" -#: InvenTree/serializers.py:62 part/models.py:2674 +#: InvenTree/serializers.py:65 part/models.py:2674 msgid "Must be a valid number" msgstr "Geçerli bir numara olmalı" -#: InvenTree/serializers.py:285 +#: InvenTree/serializers.py:299 msgid "Filename" msgstr "" @@ -361,7 +362,7 @@ msgid "Returned" msgstr "İade" #: InvenTree/status_codes.py:143 -#: order/templates/order/sales_order_base.html:147 +#: order/templates/order/sales_order_base.html:148 msgid "Shipped" msgstr "Sevk edildi" @@ -566,7 +567,7 @@ msgid "Barcode associated with StockItem" msgstr "Barkod başka bir stok kalemiyle ilişkili" #: build/forms.py:36 build/models.py:1283 -#: build/templates/build/build_base.html:124 +#: build/templates/build/build_base.html:132 #: build/templates/build/detail.html:35 common/models.py:1225 #: company/forms.py:42 company/templates/company/supplier_part.html:251 #: order/forms.py:102 order/models.py:729 order/models.py:991 @@ -574,26 +575,27 @@ msgstr "Barkod başka bir stok kalemiyle ilişkili" #: order/templates/order/order_wizard/select_parts.html:34 part/forms.py:223 #: part/forms.py:239 part/forms.py:255 part/models.py:2576 #: part/templates/part/bom_upload/match_parts.html:31 -#: part/templates/part/detail.html:1076 part/templates/part/detail.html:1162 +#: part/templates/part/detail.html:967 part/templates/part/detail.html:1053 #: part/templates/part/part_pricing.html:16 #: report/templates/report/inventree_build_order_base.html:114 #: report/templates/report/inventree_po_report.html:91 #: report/templates/report/inventree_so_report.html:91 #: report/templates/report/inventree_test_report_base.html:81 #: report/templates/report/inventree_test_report_base.html:139 -#: stock/forms.py:156 stock/serializers.py:286 -#: stock/templates/stock/item_base.html:256 +#: stock/forms.py:156 stock/serializers.py:291 +#: stock/templates/stock/item_base.html:174 #: templates/js/translated/barcode.js:385 templates/js/translated/bom.js:443 #: templates/js/translated/build.js:235 templates/js/translated/build.js:435 #: templates/js/translated/build.js:629 templates/js/translated/build.js:639 #: templates/js/translated/build.js:1015 templates/js/translated/build.js:1362 #: templates/js/translated/model_renderers.js:99 -#: templates/js/translated/order.js:892 templates/js/translated/order.js:1205 -#: templates/js/translated/order.js:1283 templates/js/translated/order.js:1290 -#: templates/js/translated/order.js:1379 templates/js/translated/order.js:1479 -#: templates/js/translated/part.js:1615 templates/js/translated/part.js:1738 -#: templates/js/translated/part.js:1816 templates/js/translated/stock.js:377 -#: templates/js/translated/stock.js:2069 templates/js/translated/stock.js:2171 +#: templates/js/translated/order.js:891 templates/js/translated/order.js:1204 +#: templates/js/translated/order.js:1282 templates/js/translated/order.js:1289 +#: templates/js/translated/order.js:1378 templates/js/translated/order.js:1478 +#: templates/js/translated/part.js:843 templates/js/translated/part.js:1796 +#: templates/js/translated/part.js:1919 templates/js/translated/part.js:1997 +#: templates/js/translated/stock.js:378 templates/js/translated/stock.js:2151 +#: templates/js/translated/stock.js:2253 msgid "Quantity" msgstr "Miktar" @@ -602,8 +604,8 @@ msgid "Enter quantity for build output" msgstr "Yapım işi çıktısı için miktarını girin" #: build/forms.py:41 order/forms.py:96 stock/forms.py:95 -#: stock/serializers.py:307 templates/js/translated/stock.js:224 -#: templates/js/translated/stock.js:378 +#: stock/serializers.py:312 templates/js/translated/stock.js:225 +#: templates/js/translated/stock.js:379 msgid "Serial Numbers" msgstr "Seri Numaraları" @@ -646,7 +648,7 @@ msgstr "Yapım İşi Emri" #: build/templates/build/index.html:8 build/templates/build/index.html:12 #: order/templates/order/sales_order_detail.html:42 #: order/templates/order/so_sidebar.html:7 -#: part/templates/part/part_sidebar.html:22 templates/InvenTree/index.html:221 +#: part/templates/part/part_sidebar.html:20 templates/InvenTree/index.html:221 #: templates/InvenTree/search.html:145 #: templates/InvenTree/settings/sidebar.html:42 users/models.py:44 msgid "Build Orders" @@ -662,7 +664,7 @@ msgstr "Yapım İşi Emri Referansı" #: report/templates/report/inventree_po_report.html:92 #: report/templates/report/inventree_so_report.html:92 #: templates/js/translated/bom.js:435 templates/js/translated/build.js:1119 -#: templates/js/translated/order.js:886 templates/js/translated/order.js:1473 +#: templates/js/translated/order.js:885 templates/js/translated/order.js:1472 msgid "Reference" msgstr "Referans" @@ -670,7 +672,7 @@ msgstr "Referans" msgid "Brief description of the build" msgstr "Yapım işinin kısa açıklaması" -#: build/models.py:219 build/templates/build/build_base.html:156 +#: build/models.py:219 build/templates/build/build_base.html:164 #: build/templates/build/detail.html:88 msgid "Parent Build" msgstr "Üst Yapım İşi" @@ -679,7 +681,7 @@ msgstr "Üst Yapım İşi" 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:225 build/templates/build/build_base.html:119 +#: build/models.py:225 build/templates/build/build_base.html:77 #: build/templates/build/detail.html:30 company/models.py:705 #: order/models.py:789 order/models.py:860 #: order/templates/order/order_wizard/select_parts.html:32 part/models.py:357 @@ -700,10 +702,10 @@ msgstr "Bu yapım işinin tahsis edildiği yapım işi emri" #: templates/js/translated/build.js:988 templates/js/translated/build.js:1359 #: templates/js/translated/build.js:1626 templates/js/translated/company.js:489 #: templates/js/translated/company.js:746 templates/js/translated/order.js:426 -#: templates/js/translated/order.js:840 templates/js/translated/order.js:1457 -#: templates/js/translated/part.js:737 templates/js/translated/part.js:818 -#: templates/js/translated/part.js:985 templates/js/translated/stock.js:508 -#: templates/js/translated/stock.js:1108 templates/js/translated/stock.js:2159 +#: templates/js/translated/order.js:839 templates/js/translated/order.js:1456 +#: templates/js/translated/part.js:918 templates/js/translated/part.js:999 +#: templates/js/translated/part.js:1166 templates/js/translated/stock.js:590 +#: templates/js/translated/stock.js:1190 templates/js/translated/stock.js:2241 msgid "Part" msgstr "Parça" @@ -751,7 +753,7 @@ msgstr "Tamamlanmış ögeler" msgid "Number of stock items which have been completed" msgstr "Tamamlanan stok kalemlerinin sayısı" -#: build/models.py:277 part/templates/part/part_base.html:216 +#: build/models.py:277 part/templates/part/part_base.html:234 msgid "Build Status" msgstr "Yapım İşi Durumu" @@ -759,7 +761,7 @@ msgstr "Yapım İşi Durumu" msgid "Build status code" msgstr "Yapım işi durum kodu" -#: build/models.py:285 stock/models.py:544 +#: build/models.py:285 stock/models.py:534 msgid "Batch Code" msgstr "Sıra numarası" @@ -768,7 +770,7 @@ msgid "Batch code for this build output" msgstr "Yapım işi çıktısı için sıra numarası" #: build/models.py:292 order/models.py:165 part/models.py:936 -#: part/templates/part/detail.html:86 templates/js/translated/order.js:1104 +#: part/templates/part/part_base.html:313 templates/js/translated/order.js:1103 msgid "Creation Date" msgstr "Oluşturulma tarihi" @@ -797,12 +799,12 @@ msgstr "Veren" msgid "User who issued this build order" msgstr "Bu yapım işi emrini veren kullanıcı" -#: build/models.py:323 build/templates/build/build_base.html:177 +#: build/models.py:323 build/templates/build/build_base.html:185 #: build/templates/build/detail.html:116 order/models.py:179 -#: order/templates/order/order_base.html:154 -#: order/templates/order/sales_order_base.html:161 part/models.py:940 +#: order/templates/order/order_base.html:158 +#: order/templates/order/sales_order_base.html:162 part/models.py:940 #: report/templates/report/inventree_build_order_base.html:159 -#: templates/js/translated/build.js:1680 templates/js/translated/order.js:700 +#: templates/js/translated/build.js:1680 templates/js/translated/order.js:699 msgid "Responsible" msgstr "Sorumlu" @@ -811,10 +813,10 @@ msgid "User responsible for this build order" msgstr "Bu yapım işi emrinden sorumlu kullanıcı" #: build/models.py:329 build/templates/build/detail.html:102 -#: company/templates/company/manufacturer_part.html:87 -#: company/templates/company/supplier_part.html:88 -#: part/templates/part/detail.html:80 stock/models.py:538 -#: stock/templates/stock/item_base.html:346 +#: company/templates/company/manufacturer_part.html:102 +#: company/templates/company/supplier_part.html:126 +#: part/templates/part/part_base.html:354 stock/models.py:528 +#: stock/templates/stock/item_base.html:374 msgid "External Link" msgstr "Harici Bağlantı" @@ -824,15 +826,15 @@ msgstr "Harici Bağlantı" #: order/models.py:183 order/models.py:738 #: order/templates/order/po_sidebar.html:11 #: order/templates/order/so_sidebar.html:11 part/models.py:925 -#: part/templates/part/detail.html:223 part/templates/part/part_sidebar.html:52 +#: part/templates/part/detail.html:116 part/templates/part/part_sidebar.html:50 #: report/templates/report/inventree_build_order_base.html:173 -#: stock/forms.py:154 stock/forms.py:204 stock/forms.py:238 stock/models.py:610 -#: stock/models.py:1774 stock/models.py:1880 stock/serializers.py:325 -#: stock/serializers.py:583 stock/templates/stock/stock_sidebar.html:21 +#: stock/forms.py:154 stock/forms.py:204 stock/forms.py:238 stock/models.py:600 +#: stock/models.py:1764 stock/models.py:1870 stock/serializers.py:330 +#: stock/serializers.py:588 stock/templates/stock/stock_sidebar.html:21 #: templates/js/translated/barcode.js:58 templates/js/translated/bom.js:599 -#: templates/js/translated/company.js:842 templates/js/translated/order.js:985 -#: templates/js/translated/order.js:1583 templates/js/translated/stock.js:891 -#: templates/js/translated/stock.js:1370 +#: templates/js/translated/company.js:842 templates/js/translated/order.js:984 +#: templates/js/translated/order.js:1582 templates/js/translated/stock.js:973 +#: templates/js/translated/stock.js:1452 msgid "Notes" msgstr "Notlar" @@ -877,7 +879,7 @@ msgstr "Seri numaralı stok için miktar bir olmalı" msgid "Selected stock item not found in BOM" msgstr "" -#: build/models.py:1253 stock/templates/stock/item_base.html:318 +#: build/models.py:1253 stock/templates/stock/item_base.html:346 #: templates/InvenTree/search.html:143 templates/js/translated/build.js:1599 #: templates/navbar.html:33 msgid "Build" @@ -890,11 +892,11 @@ msgstr "Yapım işi için tahsis edilen parçalar" #: build/models.py:1270 build/serializers.py:328 #: stock/templates/stock/item_base.html:8 #: stock/templates/stock/item_base.html:16 -#: stock/templates/stock/item_base.html:340 +#: stock/templates/stock/item_base.html:368 #: templates/js/translated/build.js:408 templates/js/translated/build.js:413 #: templates/js/translated/build.js:1361 templates/js/translated/build.js:1742 -#: templates/js/translated/order.js:1178 templates/js/translated/order.js:1183 -#: templates/js/translated/stock.js:2020 +#: templates/js/translated/order.js:1177 templates/js/translated/order.js:1182 +#: templates/js/translated/stock.js:2102 msgid "Stock Item" msgstr "Stok Kalemi" @@ -934,16 +936,16 @@ msgstr "" msgid "This build output is not fully allocated" msgstr "" -#: build/serializers.py:190 order/serializers.py:219 order/serializers.py:287 -#: stock/forms.py:236 stock/serializers.py:318 stock/serializers.py:685 -#: stock/templates/stock/item_base.html:286 +#: build/serializers.py:190 order/serializers.py:228 order/serializers.py:296 +#: stock/forms.py:236 stock/serializers.py:323 stock/serializers.py:690 +#: stock/templates/stock/item_base.html:314 #: templates/js/translated/barcode.js:384 #: templates/js/translated/barcode.js:557 templates/js/translated/build.js:420 #: templates/js/translated/build.js:1027 templates/js/translated/order.js:348 -#: templates/js/translated/order.js:1190 templates/js/translated/order.js:1298 -#: templates/js/translated/order.js:1304 templates/js/translated/part.js:181 -#: templates/js/translated/stock.js:510 templates/js/translated/stock.js:1251 -#: templates/js/translated/stock.js:1961 +#: templates/js/translated/order.js:1189 templates/js/translated/order.js:1297 +#: templates/js/translated/order.js:1303 templates/js/translated/part.js:177 +#: templates/js/translated/stock.js:592 templates/js/translated/stock.js:1333 +#: templates/js/translated/stock.js:2043 msgid "Location" msgstr "Konum" @@ -951,13 +953,13 @@ msgstr "Konum" msgid "Location for completed build outputs" msgstr "" -#: build/serializers.py:197 build/templates/build/build_base.html:129 +#: build/serializers.py:197 build/templates/build/build_base.html:137 #: build/templates/build/detail.html:63 order/models.py:572 -#: order/serializers.py:240 stock/templates/stock/item_base.html:409 +#: order/serializers.py:249 stock/templates/stock/item_base.html:180 #: templates/js/translated/barcode.js:140 templates/js/translated/build.js:1655 -#: templates/js/translated/order.js:431 templates/js/translated/order.js:677 -#: templates/js/translated/order.js:1096 templates/js/translated/stock.js:1226 -#: templates/js/translated/stock.js:2038 templates/js/translated/stock.js:2187 +#: templates/js/translated/order.js:431 templates/js/translated/order.js:1095 +#: templates/js/translated/stock.js:1308 templates/js/translated/stock.js:2120 +#: templates/js/translated/stock.js:2269 msgid "Status" msgstr "Durum" @@ -986,8 +988,8 @@ msgstr "" msgid "Item must be in stock" msgstr "" -#: build/serializers.py:348 order/models.py:316 order/serializers.py:233 -#: stock/models.py:381 stock/models.py:1103 stock/serializers.py:298 +#: build/serializers.py:348 order/models.py:316 order/serializers.py:242 +#: stock/models.py:371 stock/models.py:1093 stock/serializers.py:303 msgid "Quantity must be greater than zero" msgstr "" @@ -1031,7 +1033,7 @@ msgid "Edit Build" msgstr "Yapım İşini Düzenle" #: build/templates/build/build_base.html:56 -#: build/templates/build/build_base.html:207 build/views.py:56 +#: build/templates/build/build_base.html:215 build/views.py:56 msgid "Cancel Build" msgstr "Yapım İşini İptal Et" @@ -1041,93 +1043,95 @@ msgstr "" #: build/templates/build/build_base.html:64 #: build/templates/build/build_base.html:65 -#: build/templates/build/build_base.html:223 +#: build/templates/build/build_base.html:231 msgid "Complete Build" msgstr "Tamamlanmış Yapım İşi" -#: build/templates/build/build_base.html:79 +#: build/templates/build/build_base.html:82 +msgid "Build Description" +msgstr "" + +#: build/templates/build/build_base.html:91 #, python-format msgid "This Build Order is allocated to Sales Order %(link)s" msgstr "Bu yapım işi emri, %(link)s sipariş emrine tahsis edilmiştir" -#: build/templates/build/build_base.html:86 +#: build/templates/build/build_base.html:98 #, python-format msgid "This Build Order is a child of Build Order %(link)s" msgstr "Bu yapım işi emri, %(link)s yapım iş emrinin altıdır" -#: build/templates/build/build_base.html:93 +#: build/templates/build/build_base.html:105 msgid "Build Order is ready to mark as completed" msgstr "Yapım işi tamamlandı olarak işaretlenmeye hazır" -#: build/templates/build/build_base.html:98 +#: build/templates/build/build_base.html:110 msgid "Build Order cannot be completed as outstanding outputs remain" msgstr "Bekleyen çıktılar kaldığı için yapım işi emri tamamlanamıyor" -#: build/templates/build/build_base.html:103 +#: build/templates/build/build_base.html:115 msgid "Required build quantity has not yet been completed" msgstr "Gerekli yapım işi miktarı henüz tamamlanmadı" -#: build/templates/build/build_base.html:108 +#: build/templates/build/build_base.html:120 msgid "Stock has not been fully allocated to this Build Order" msgstr "Stok, yapım işi emri için tamamen tahsis edilemedi" -#: build/templates/build/build_base.html:138 +#: build/templates/build/build_base.html:146 #: build/templates/build/detail.html:132 -#: order/templates/order/order_base.html:140 -#: order/templates/order/sales_order_base.html:140 +#: order/templates/order/order_base.html:144 +#: order/templates/order/sales_order_base.html:141 #: report/templates/report/inventree_build_order_base.html:126 -#: templates/js/translated/build.js:1692 templates/js/translated/order.js:690 -#: templates/js/translated/order.js:1109 +#: templates/js/translated/build.js:1692 templates/js/translated/order.js:689 +#: templates/js/translated/order.js:1108 msgid "Target Date" msgstr "Hedeflenen tarih" -#: build/templates/build/build_base.html:143 +#: build/templates/build/build_base.html:151 #, python-format msgid "This build was due on %(target)s" msgstr "Bu yapım işinin %(target)s tarihinde süresi doluyor" -#: build/templates/build/build_base.html:143 -#: build/templates/build/build_base.html:188 -#: order/templates/order/order_base.html:81 -#: order/templates/order/order_base.html:102 -#: order/templates/order/sales_order_base.html:78 -#: order/templates/order/sales_order_base.html:107 +#: build/templates/build/build_base.html:151 +#: build/templates/build/build_base.html:196 +#: order/templates/order/order_base.html:98 +#: order/templates/order/sales_order_base.html:93 #: templates/js/translated/table_filters.js:294 #: templates/js/translated/table_filters.js:322 #: templates/js/translated/table_filters.js:339 msgid "Overdue" msgstr "Vadesi geçmiş" -#: build/templates/build/build_base.html:150 +#: build/templates/build/build_base.html:158 #: build/templates/build/detail.html:68 build/templates/build/detail.html:143 #: templates/js/translated/build.js:1641 #: templates/js/translated/table_filters.js:304 msgid "Completed" msgstr "Tamamlandı" -#: build/templates/build/build_base.html:163 +#: build/templates/build/build_base.html:171 #: build/templates/build/detail.html:95 order/models.py:857 #: order/templates/order/sales_order_base.html:9 #: order/templates/order/sales_order_base.html:28 #: order/templates/order/sales_order_ship.html:25 #: report/templates/report/inventree_build_order_base.html:136 #: report/templates/report/inventree_so_report.html:77 -#: stock/templates/stock/item_base.html:280 -#: templates/js/translated/order.js:1051 +#: stock/templates/stock/item_base.html:308 +#: templates/js/translated/order.js:1050 msgid "Sales Order" msgstr "Sipariş Emri" -#: build/templates/build/build_base.html:170 +#: build/templates/build/build_base.html:178 #: build/templates/build/detail.html:109 #: report/templates/report/inventree_build_order_base.html:153 msgid "Issued By" msgstr "Veren" -#: build/templates/build/build_base.html:215 +#: build/templates/build/build_base.html:223 msgid "Incomplete Outputs" msgstr "Tamamlanmamış Çıktılar" -#: build/templates/build/build_base.html:216 +#: build/templates/build/build_base.html:224 msgid "Build Order cannot be completed as incomplete build outputs remain" msgstr "Tamamlanmamış yapım işi çıktıları kaldığı için yapım işi emri tamamlanamıyor" @@ -1188,7 +1192,7 @@ msgid "Stock can be taken from any available location." msgstr "Stok herhangi bir konumdan alınabilir." #: build/templates/build/detail.html:50 order/models.py:811 stock/forms.py:150 -#: templates/js/translated/order.js:432 templates/js/translated/order.js:974 +#: templates/js/translated/order.js:432 templates/js/translated/order.js:973 msgid "Destination" msgstr "Hedef" @@ -1201,16 +1205,16 @@ msgid "Allocated Parts" msgstr "" #: build/templates/build/detail.html:81 -#: stock/templates/stock/item_base.html:304 -#: templates/js/translated/stock.js:1240 templates/js/translated/stock.js:2194 +#: stock/templates/stock/item_base.html:332 +#: templates/js/translated/stock.js:1322 templates/js/translated/stock.js:2276 #: templates/js/translated/table_filters.js:151 #: templates/js/translated/table_filters.js:233 msgid "Batch" msgstr "Toplu" #: build/templates/build/detail.html:127 -#: order/templates/order/order_base.html:127 -#: order/templates/order/sales_order_base.html:134 +#: order/templates/order/order_base.html:131 +#: order/templates/order/sales_order_base.html:135 #: templates/js/translated/build.js:1663 msgid "Created" msgstr "Oluşturuldu" @@ -1254,7 +1258,7 @@ msgstr "Gerekli parçaları sipariş edin" #: build/templates/build/detail.html:185 #: company/templates/company/detail.html:38 #: company/templates/company/detail.html:85 order/views.py:509 -#: part/templates/part/category.html:166 +#: part/templates/part/category.html:173 msgid "Order Parts" msgstr "Parça Siparişi" @@ -1306,8 +1310,8 @@ msgstr "Tamamlanmış Yapım İşi Çıktıları" #: order/templates/order/po_sidebar.html:9 #: order/templates/order/purchase_order_detail.html:60 #: order/templates/order/sales_order_detail.html:52 -#: order/templates/order/so_sidebar.html:9 part/templates/part/detail.html:300 -#: part/templates/part/part_sidebar.html:50 stock/templates/stock/item.html:95 +#: order/templates/order/so_sidebar.html:9 part/templates/part/detail.html:193 +#: part/templates/part/part_sidebar.html:48 stock/templates/stock/item.html:95 #: stock/templates/stock/stock_sidebar.html:19 msgid "Attachments" msgstr "Ekler" @@ -1323,7 +1327,7 @@ msgstr "Yapım İşi Notları" #: order/templates/order/purchase_order_detail.html:108 #: order/templates/order/sales_order_detail.html:72 #: order/templates/order/sales_order_detail.html:99 -#: part/templates/part/detail.html:227 stock/templates/stock/item.html:115 +#: part/templates/part/detail.html:120 stock/templates/stock/item.html:115 #: stock/templates/stock/item.html:205 msgid "Edit Notes" msgstr "Notları Düzenle" @@ -1336,7 +1340,7 @@ msgstr "" msgid "All untracked stock items have been allocated" msgstr "" -#: build/templates/build/index.html:18 part/templates/part/detail.html:407 +#: build/templates/build/index.html:18 part/templates/part/detail.html:300 msgid "New Build Order" msgstr "Yeni Yapım İşi Emri" @@ -1380,7 +1384,7 @@ msgstr "Yapım İşi Çıktısı Oluştur" msgid "Maximum output quantity is " msgstr "Maksimum çıktı miktarı " -#: build/views.py:122 stock/serializers.py:356 stock/views.py:1290 +#: build/views.py:122 stock/serializers.py:361 stock/views.py:1290 msgid "Serial numbers already exist" msgstr "Seri numaraları zaten mevcut" @@ -1675,7 +1679,7 @@ msgid "Parts are trackable by default" msgstr "Parçalar varsayılan olarak takip edilebilir" #: common/models.py:745 part/models.py:920 -#: part/templates/part/part_base.html:144 +#: part/templates/part/part_base.html:147 #: templates/js/translated/table_filters.js:42 msgid "Virtual" msgstr "Sanal" @@ -2142,7 +2146,7 @@ msgstr "" #: common/models.py:1233 company/serializers.py:264 #: company/templates/company/supplier_part.html:256 -#: templates/js/translated/part.js:1620 +#: templates/js/translated/part.js:852 templates/js/translated/part.js:1801 msgid "Price" msgstr "Fiyat" @@ -2206,7 +2210,7 @@ msgstr "" msgid "Description of the company" msgstr "" -#: company/models.py:112 company/templates/company/company_base.html:70 +#: company/models.py:112 company/templates/company/company_base.html:97 #: templates/js/translated/company.js:349 msgid "Website" msgstr "" @@ -2215,7 +2219,7 @@ msgstr "" msgid "Company website URL" msgstr "Şirket web sitesi" -#: company/models.py:117 company/templates/company/company_base.html:88 +#: company/models.py:117 company/templates/company/company_base.html:115 msgid "Address" msgstr "Adres" @@ -2231,7 +2235,7 @@ msgstr "Telefon numarası" msgid "Contact phone number" msgstr "İletişim telefon numarası" -#: company/models.py:125 company/templates/company/company_base.html:102 +#: company/models.py:125 company/templates/company/company_base.html:129 #: templates/InvenTree/settings/user.html:47 msgid "Email" msgstr "E-posta" @@ -2240,7 +2244,7 @@ msgstr "E-posta" msgid "Contact email address" msgstr "İletişim e-posta adresi" -#: company/models.py:128 company/templates/company/company_base.html:109 +#: company/models.py:128 company/templates/company/company_base.html:136 msgid "Contact" msgstr "İletişim" @@ -2281,7 +2285,7 @@ msgid "Does this company manufacture parts?" msgstr "Bu şirket üretim yapıyor mu?" #: company/models.py:152 company/serializers.py:270 -#: company/templates/company/company_base.html:76 stock/serializers.py:172 +#: company/templates/company/company_base.html:103 stock/serializers.py:177 msgid "Currency" msgstr "Para birimi" @@ -2289,8 +2293,8 @@ msgstr "Para birimi" msgid "Default currency used for this company" msgstr "Bu şirket için varsayılan para birimi" -#: company/models.py:320 company/models.py:535 stock/models.py:484 -#: stock/templates/stock/item_base.html:224 +#: company/models.py:320 company/models.py:535 stock/models.py:474 +#: stock/templates/stock/item_base.html:135 msgid "Base Part" msgstr "Temel Parça" @@ -2298,29 +2302,29 @@ msgstr "Temel Parça" msgid "Select part" msgstr "Parça seçin" -#: company/models.py:335 company/templates/company/company_base.html:116 -#: company/templates/company/manufacturer_part.html:93 -#: company/templates/company/supplier_part.html:104 -#: stock/templates/stock/item_base.html:353 +#: company/models.py:335 company/templates/company/company_base.html:73 +#: company/templates/company/manufacturer_part.html:91 +#: company/templates/company/supplier_part.html:97 +#: stock/templates/stock/item_base.html:381 #: templates/js/translated/company.js:333 #: templates/js/translated/company.js:514 -#: templates/js/translated/company.js:797 templates/js/translated/part.js:229 +#: templates/js/translated/company.js:797 templates/js/translated/part.js:232 msgid "Manufacturer" msgstr "Üretici" -#: company/models.py:336 templates/js/translated/part.js:230 +#: company/models.py:336 templates/js/translated/part.js:233 msgid "Select manufacturer" msgstr "Üretici seçin" -#: company/models.py:342 company/templates/company/manufacturer_part.html:97 -#: company/templates/company/supplier_part.html:112 +#: company/models.py:342 company/templates/company/manufacturer_part.html:96 +#: company/templates/company/supplier_part.html:105 #: templates/js/translated/company.js:530 -#: templates/js/translated/company.js:815 templates/js/translated/order.js:874 -#: templates/js/translated/part.js:240 +#: templates/js/translated/company.js:815 templates/js/translated/order.js:873 +#: templates/js/translated/part.js:243 templates/js/translated/part.js:832 msgid "MPN" msgstr "ÜPN" -#: company/models.py:343 templates/js/translated/part.js:241 +#: company/models.py:343 templates/js/translated/part.js:244 msgid "Manufacturer Part Number" msgstr "Üretici Parça Numarası" @@ -2335,7 +2339,7 @@ msgstr "" #: company/models.py:409 company/models.py:558 #: company/templates/company/manufacturer_part.html:6 #: company/templates/company/manufacturer_part.html:23 -#: stock/templates/stock/item_base.html:363 +#: stock/templates/stock/item_base.html:391 msgid "Manufacturer Part" msgstr "" @@ -2345,8 +2349,8 @@ msgstr "Parametre adı" #: company/models.py:422 #: report/templates/report/inventree_test_report_base.html:95 -#: stock/models.py:1867 templates/js/translated/company.js:644 -#: templates/js/translated/part.js:645 templates/js/translated/stock.js:878 +#: stock/models.py:1857 templates/js/translated/company.js:644 +#: templates/js/translated/part.js:652 templates/js/translated/stock.js:960 msgid "Value" msgstr "Değer" @@ -2355,9 +2359,9 @@ msgid "Parameter value" msgstr "Parametre değeri" #: company/models.py:429 part/models.py:882 part/models.py:2397 -#: part/templates/part/detail.html:59 +#: part/templates/part/part_base.html:288 #: templates/InvenTree/settings/settings.html:264 -#: templates/js/translated/company.js:650 templates/js/translated/part.js:651 +#: templates/js/translated/company.js:650 templates/js/translated/part.js:658 msgid "Units" msgstr "" @@ -2369,28 +2373,28 @@ msgstr "" msgid "Linked manufacturer part must reference the same base part" msgstr "" -#: company/models.py:545 company/templates/company/company_base.html:121 -#: company/templates/company/supplier_part.html:94 order/models.py:263 -#: order/templates/order/order_base.html:108 +#: company/models.py:545 company/templates/company/company_base.html:78 +#: company/templates/company/supplier_part.html:87 order/models.py:263 +#: order/templates/order/order_base.html:112 #: order/templates/order/order_wizard/select_pos.html:30 part/bom.py:219 -#: part/bom.py:247 stock/templates/stock/item_base.html:370 +#: part/bom.py:247 stock/templates/stock/item_base.html:398 #: templates/js/translated/company.js:337 -#: templates/js/translated/company.js:771 templates/js/translated/order.js:660 -#: templates/js/translated/part.js:210 +#: templates/js/translated/company.js:771 templates/js/translated/order.js:667 +#: templates/js/translated/part.js:213 templates/js/translated/part.js:800 msgid "Supplier" msgstr "Tedarikçi" -#: company/models.py:546 templates/js/translated/part.js:211 +#: company/models.py:546 templates/js/translated/part.js:214 msgid "Select supplier" msgstr "Tedarikçi seçin" -#: company/models.py:551 company/templates/company/supplier_part.html:98 -#: part/bom.py:220 part/bom.py:248 templates/js/translated/order.js:861 -#: templates/js/translated/part.js:221 +#: company/models.py:551 company/templates/company/supplier_part.html:91 +#: part/bom.py:220 part/bom.py:248 templates/js/translated/order.js:860 +#: templates/js/translated/part.js:224 templates/js/translated/part.js:818 msgid "SKU" msgstr "SKU" -#: company/models.py:552 templates/js/translated/part.js:222 +#: company/models.py:552 templates/js/translated/part.js:225 msgid "Supplier stock keeping unit" msgstr "" @@ -2406,7 +2410,7 @@ msgstr "" msgid "Supplier part description" msgstr "" -#: company/models.py:576 company/templates/company/supplier_part.html:126 +#: company/models.py:576 company/templates/company/supplier_part.html:119 #: part/models.py:2588 report/templates/report/inventree_po_report.html:93 #: report/templates/report/inventree_so_report.html:93 msgid "Note" @@ -2420,9 +2424,9 @@ msgstr "temel maliyet" msgid "Minimum charge (e.g. stocking fee)" msgstr "" -#: company/models.py:582 company/templates/company/supplier_part.html:119 -#: stock/models.py:507 stock/templates/stock/item_base.html:311 -#: templates/js/translated/company.js:847 templates/js/translated/stock.js:1366 +#: company/models.py:582 company/templates/company/supplier_part.html:112 +#: stock/models.py:497 stock/templates/stock/item_base.html:339 +#: templates/js/translated/company.js:847 templates/js/translated/stock.js:1448 msgid "Packaging" msgstr "Paketleme" @@ -2457,43 +2461,56 @@ msgstr "" msgid "Create Purchase Order" msgstr "Satın Alma Emri Oluştur" -#: company/templates/company/company_base.html:27 +#: company/templates/company/company_base.html:26 +msgid "Company actions" +msgstr "" + +#: company/templates/company/company_base.html:31 msgid "Edit company information" msgstr "" #: company/templates/company/company_base.html:32 -#: company/templates/company/company_base.html:148 +#: templates/js/translated/company.js:265 +msgid "Edit Company" +msgstr "" + +#: company/templates/company/company_base.html:36 +msgid "Delete company" +msgstr "" + +#: company/templates/company/company_base.html:37 +#: company/templates/company/company_base.html:159 msgid "Delete Company" msgstr "" -#: company/templates/company/company_base.html:48 +#: company/templates/company/company_base.html:53 #: part/templates/part/part_thumb.html:12 msgid "Upload new image" msgstr "" -#: company/templates/company/company_base.html:51 +#: company/templates/company/company_base.html:56 #: part/templates/part/part_thumb.html:14 msgid "Download image from URL" msgstr "" -#: company/templates/company/company_base.html:81 -msgid "Uses default currency" -msgstr "" - -#: company/templates/company/company_base.html:95 -msgid "Phone" -msgstr "" - -#: company/templates/company/company_base.html:126 order/models.py:567 -#: order/templates/order/sales_order_base.html:114 stock/models.py:525 -#: stock/models.py:526 stock/templates/stock/item_base.html:263 -#: templates/js/translated/company.js:329 templates/js/translated/order.js:1073 -#: templates/js/translated/stock.js:2002 +#: company/templates/company/company_base.html:83 order/models.py:567 +#: order/templates/order/sales_order_base.html:115 stock/models.py:515 +#: stock/models.py:516 stock/templates/stock/item_base.html:291 +#: templates/js/translated/company.js:329 templates/js/translated/order.js:1072 +#: templates/js/translated/stock.js:2084 msgid "Customer" msgstr "Müşteri" -#: company/templates/company/company_base.html:194 -#: part/templates/part/part_base.html:342 +#: company/templates/company/company_base.html:108 +msgid "Uses default currency" +msgstr "" + +#: company/templates/company/company_base.html:122 +msgid "Phone" +msgstr "" + +#: company/templates/company/company_base.html:205 +#: part/templates/part/part_base.html:471 msgid "Upload Image" msgstr "" @@ -2509,23 +2526,23 @@ msgid "Create new supplier part" msgstr "Yeni tedarikçi parçası oluştur" #: company/templates/company/detail.html:20 -#: company/templates/company/manufacturer_part.html:112 -#: part/templates/part/detail.html:440 +#: company/templates/company/manufacturer_part.html:118 +#: part/templates/part/detail.html:333 msgid "New Supplier Part" msgstr "Yeni Tedarikçi Parçası" #: company/templates/company/detail.html:32 #: company/templates/company/detail.html:79 -#: company/templates/company/manufacturer_part.html:121 -#: company/templates/company/manufacturer_part.html:150 -#: part/templates/part/category.html:160 part/templates/part/detail.html:449 -#: part/templates/part/detail.html:477 +#: company/templates/company/manufacturer_part.html:127 +#: company/templates/company/manufacturer_part.html:156 +#: part/templates/part/category.html:167 part/templates/part/detail.html:342 +#: part/templates/part/detail.html:370 msgid "Options" msgstr "" #: company/templates/company/detail.html:37 #: company/templates/company/detail.html:84 -#: part/templates/part/category.html:166 +#: part/templates/part/category.html:173 msgid "Order parts" msgstr "" @@ -2547,7 +2564,7 @@ msgstr "" msgid "Create new manufacturer part" msgstr "" -#: company/templates/company/detail.html:67 part/templates/part/detail.html:467 +#: company/templates/company/detail.html:67 part/templates/part/detail.html:360 msgid "New Manufacturer Part" msgstr "" @@ -2561,7 +2578,7 @@ msgstr "Tedarikçi Stoku" #: order/templates/order/order_base.html:13 #: order/templates/order/purchase_orders.html:8 #: order/templates/order/purchase_orders.html:12 -#: part/templates/part/detail.html:171 part/templates/part/part_sidebar.html:35 +#: part/templates/part/detail.html:64 part/templates/part/part_sidebar.html:33 #: templates/InvenTree/index.html:252 templates/InvenTree/search.html:203 #: templates/InvenTree/settings/sidebar.html:44 templates/navbar.html:45 #: users/models.py:45 @@ -2583,7 +2600,7 @@ msgstr "Yeni Satın Alma Emri" #: order/templates/order/sales_order_base.html:13 #: order/templates/order/sales_orders.html:8 #: order/templates/order/sales_orders.html:15 -#: part/templates/part/detail.html:194 part/templates/part/part_sidebar.html:39 +#: part/templates/part/detail.html:87 part/templates/part/part_sidebar.html:37 #: templates/InvenTree/index.html:283 templates/InvenTree/search.html:223 #: templates/InvenTree/settings/sidebar.html:46 templates/navbar.html:56 #: users/models.py:46 @@ -2610,14 +2627,14 @@ msgid "Company Notes" msgstr "" #: company/templates/company/detail.html:383 -#: company/templates/company/manufacturer_part.html:209 -#: part/templates/part/detail.html:520 +#: company/templates/company/manufacturer_part.html:215 +#: part/templates/part/detail.html:413 msgid "Delete Supplier Parts?" msgstr "" #: company/templates/company/detail.html:384 -#: company/templates/company/manufacturer_part.html:210 -#: part/templates/part/detail.html:521 +#: company/templates/company/manufacturer_part.html:216 +#: part/templates/part/detail.html:414 msgid "All selected supplier parts will be deleted" msgstr "" @@ -2634,7 +2651,7 @@ msgstr "Üreticiler" #: company/templates/company/manufacturer_part.html:35 #: company/templates/company/supplier_part.html:34 #: company/templates/company/supplier_part.html:159 -#: part/templates/part/detail.html:174 part/templates/part/part_base.html:76 +#: part/templates/part/detail.html:67 part/templates/part/part_base.html:76 msgid "Order part" msgstr "Parça siparişi" @@ -2648,60 +2665,60 @@ msgstr "" msgid "Delete manufacturer part" msgstr "" -#: company/templates/company/manufacturer_part.html:70 -#: company/templates/company/supplier_part.html:71 +#: company/templates/company/manufacturer_part.html:66 +#: company/templates/company/supplier_part.html:63 msgid "Internal Part" msgstr "" -#: company/templates/company/manufacturer_part.html:108 +#: company/templates/company/manufacturer_part.html:114 #: company/templates/company/supplier_part.html:15 company/views.py:49 -#: part/templates/part/part_sidebar.html:33 part/templates/part/prices.html:163 +#: part/templates/part/part_sidebar.html:31 part/templates/part/prices.html:163 #: templates/InvenTree/search.html:194 templates/navbar.html:43 msgid "Suppliers" msgstr "" -#: company/templates/company/manufacturer_part.html:123 -#: part/templates/part/detail.html:451 +#: company/templates/company/manufacturer_part.html:129 +#: part/templates/part/detail.html:344 msgid "Delete supplier parts" msgstr "Tedarikçi parçalarını sil" -#: company/templates/company/manufacturer_part.html:123 -#: company/templates/company/manufacturer_part.html:152 -#: company/templates/company/manufacturer_part.html:248 -#: part/templates/part/detail.html:451 part/templates/part/detail.html:479 +#: company/templates/company/manufacturer_part.html:129 +#: company/templates/company/manufacturer_part.html:158 +#: company/templates/company/manufacturer_part.html:254 +#: part/templates/part/detail.html:344 part/templates/part/detail.html:372 #: templates/js/translated/company.js:425 templates/js/translated/helpers.js:31 #: users/models.py:204 msgid "Delete" msgstr "" -#: company/templates/company/manufacturer_part.html:137 +#: company/templates/company/manufacturer_part.html:143 #: company/templates/company/manufacturer_part_sidebar.html:5 #: part/templates/part/category_sidebar.html:17 -#: part/templates/part/detail.html:277 part/templates/part/part_sidebar.html:10 +#: part/templates/part/detail.html:170 part/templates/part/part_sidebar.html:8 msgid "Parameters" msgstr "" -#: company/templates/company/manufacturer_part.html:141 -#: part/templates/part/detail.html:282 +#: company/templates/company/manufacturer_part.html:147 +#: part/templates/part/detail.html:175 #: templates/InvenTree/settings/category.html:12 #: templates/InvenTree/settings/part.html:65 msgid "New Parameter" msgstr "" -#: company/templates/company/manufacturer_part.html:152 +#: company/templates/company/manufacturer_part.html:158 msgid "Delete parameters" msgstr "" -#: company/templates/company/manufacturer_part.html:185 -#: part/templates/part/detail.html:976 +#: company/templates/company/manufacturer_part.html:191 +#: part/templates/part/detail.html:867 msgid "Add Parameter" msgstr "" -#: company/templates/company/manufacturer_part.html:233 +#: company/templates/company/manufacturer_part.html:239 msgid "Selected parameters will be deleted" msgstr "" -#: company/templates/company/manufacturer_part.html:245 +#: company/templates/company/manufacturer_part.html:251 msgid "Delete Parameters" msgstr "" @@ -2722,9 +2739,9 @@ msgid "Assigned Stock Items" msgstr "" #: company/templates/company/supplier_part.html:7 -#: company/templates/company/supplier_part.html:24 stock/models.py:492 -#: stock/templates/stock/item_base.html:375 -#: templates/js/translated/company.js:787 templates/js/translated/stock.js:1323 +#: company/templates/company/supplier_part.html:24 stock/models.py:482 +#: stock/templates/stock/item_base.html:403 +#: templates/js/translated/company.js:787 templates/js/translated/stock.js:1405 msgid "Supplier Part" msgstr "Tedarikçi Parçası" @@ -2744,13 +2761,13 @@ msgid "Supplier Part Stock" msgstr "Tedarikçi Parça Stoku" #: company/templates/company/supplier_part.html:141 -#: part/templates/part/detail.html:127 stock/templates/stock/location.html:147 +#: part/templates/part/detail.html:20 stock/templates/stock/location.html:162 msgid "Create new stock item" msgstr "" #: company/templates/company/supplier_part.html:142 -#: part/templates/part/detail.html:128 stock/templates/stock/location.html:148 -#: templates/js/translated/stock.js:354 +#: part/templates/part/detail.html:21 stock/templates/stock/location.html:163 +#: templates/js/translated/stock.js:355 msgid "New Stock Item" msgstr "" @@ -2760,7 +2777,7 @@ msgid "Supplier Part Orders" msgstr "Tedarikçi Parçası Emirleri" #: company/templates/company/supplier_part.html:160 -#: part/templates/part/detail.html:175 +#: part/templates/part/detail.html:68 msgid "Order Part" msgstr "" @@ -2796,15 +2813,15 @@ msgid "Delete price break" msgstr "" #: company/templates/company/supplier_part_navbar.html:15 -#: part/templates/part/part_sidebar.html:16 +#: part/templates/part/part_sidebar.html:14 #: stock/templates/stock/loc_link.html:3 stock/templates/stock/location.html:14 #: stock/templates/stock/stock_app_base.html:10 #: templates/InvenTree/search.html:156 #: templates/InvenTree/settings/sidebar.html:40 -#: templates/js/translated/bom.js:216 templates/js/translated/part.js:427 -#: templates/js/translated/part.js:562 templates/js/translated/part.js:878 -#: templates/js/translated/part.js:1039 templates/js/translated/stock.js:509 -#: templates/js/translated/stock.js:1162 templates/navbar.html:26 +#: templates/js/translated/bom.js:216 templates/js/translated/part.js:434 +#: templates/js/translated/part.js:569 templates/js/translated/part.js:1059 +#: templates/js/translated/part.js:1220 templates/js/translated/stock.js:591 +#: templates/js/translated/stock.js:1244 templates/navbar.html:26 msgid "Stock" msgstr "Stok" @@ -2818,16 +2835,16 @@ msgid "Supplier Part Pricing" msgstr "Tedarikçi Parçası Fiyatlandırması" #: company/templates/company/supplier_part_navbar.html:29 -#: part/templates/part/part_sidebar.html:30 +#: part/templates/part/part_sidebar.html:28 msgid "Pricing" msgstr "Fiyatlandırma" #: company/templates/company/supplier_part_sidebar.html:5 -#: stock/templates/stock/location.html:118 -#: stock/templates/stock/location.html:132 -#: stock/templates/stock/location.html:144 +#: stock/templates/stock/location.html:133 +#: stock/templates/stock/location.html:147 +#: stock/templates/stock/location.html:159 #: stock/templates/stock/location_sidebar.html:7 -#: templates/InvenTree/search.html:158 templates/js/translated/stock.js:1901 +#: templates/InvenTree/search.html:158 templates/js/translated/stock.js:1983 #: templates/stats.html:93 templates/stats.html:102 users/models.py:43 msgid "Stock Items" msgstr "Stok Kalemleri" @@ -2947,7 +2964,7 @@ msgstr "" msgid "Place order" msgstr "Sipariş ver" -#: order/forms.py:37 order/templates/order/order_base.html:59 +#: order/forms.py:37 order/templates/order/order_base.html:60 msgid "Mark order as complete" msgstr "Siparişi tamamlandı olarak işaretle" @@ -3000,8 +3017,8 @@ msgstr "" msgid "Company from which the items are being ordered" msgstr "" -#: order/models.py:267 order/templates/order/order_base.html:114 -#: templates/js/translated/order.js:669 +#: order/models.py:267 order/templates/order/order_base.html:118 +#: templates/js/translated/order.js:676 msgid "Supplier Reference" msgstr "" @@ -3061,7 +3078,7 @@ msgstr "" msgid "Target date for order completion. Order will be overdue after this date." msgstr "" -#: order/models.py:582 templates/js/translated/order.js:1114 +#: order/models.py:582 templates/js/translated/order.js:1113 msgid "Shipment Date" msgstr "" @@ -3086,16 +3103,16 @@ msgid "Line item notes" msgstr "" #: order/models.py:768 order/models.py:856 -#: templates/js/translated/order.js:1166 +#: templates/js/translated/order.js:1165 msgid "Order" msgstr "" #: order/models.py:769 order/templates/order/order_base.html:9 #: order/templates/order/order_base.html:18 #: report/templates/report/inventree_po_report.html:77 -#: stock/templates/stock/item_base.html:325 -#: templates/js/translated/order.js:638 templates/js/translated/stock.js:1300 -#: templates/js/translated/stock.js:1983 +#: stock/templates/stock/item_base.html:353 +#: templates/js/translated/order.js:638 templates/js/translated/part.js:775 +#: templates/js/translated/stock.js:1382 templates/js/translated/stock.js:2065 msgid "Purchase Order" msgstr "" @@ -3103,9 +3120,10 @@ msgstr "" msgid "Supplier part" msgstr "" -#: order/models.py:797 order/templates/order/order_base.html:147 -#: order/templates/order/sales_order_base.html:154 -#: templates/js/translated/order.js:429 templates/js/translated/order.js:954 +#: order/models.py:797 order/templates/order/order_base.html:151 +#: order/templates/order/sales_order_base.html:155 +#: templates/js/translated/order.js:429 templates/js/translated/order.js:953 +#: templates/js/translated/part.js:847 templates/js/translated/part.js:873 msgid "Received" msgstr "" @@ -3113,9 +3131,9 @@ msgstr "" msgid "Number of items received" msgstr "" -#: order/models.py:805 part/templates/part/prices.html:176 stock/models.py:619 -#: stock/serializers.py:163 stock/templates/stock/item_base.html:332 -#: templates/js/translated/stock.js:1354 +#: order/models.py:805 part/templates/part/prices.html:176 stock/models.py:609 +#: stock/serializers.py:168 stock/templates/stock/item_base.html:360 +#: templates/js/translated/stock.js:1436 msgid "Purchase Price" msgstr "" @@ -3176,47 +3194,47 @@ msgstr "" msgid "Enter stock allocation quantity" msgstr "Stok tahsis miktarını girin" -#: order/serializers.py:169 +#: order/serializers.py:175 msgid "Purchase price currency" msgstr "" -#: order/serializers.py:204 +#: order/serializers.py:213 msgid "Line Item" msgstr "" -#: order/serializers.py:210 +#: order/serializers.py:219 msgid "Line item does not match purchase order" msgstr "" -#: order/serializers.py:220 order/serializers.py:288 +#: order/serializers.py:229 order/serializers.py:297 msgid "Select destination location for received items" msgstr "" -#: order/serializers.py:244 +#: order/serializers.py:253 msgid "Barcode Hash" msgstr "" -#: order/serializers.py:245 +#: order/serializers.py:254 msgid "Unique identifier field" msgstr "" -#: order/serializers.py:262 +#: order/serializers.py:271 msgid "Barcode is already in use" msgstr "" -#: order/serializers.py:300 +#: order/serializers.py:309 msgid "Line items must be provided" msgstr "" -#: order/serializers.py:317 +#: order/serializers.py:326 msgid "Destination location must be specified" msgstr "" -#: order/serializers.py:328 +#: order/serializers.py:337 msgid "Supplied barcode values must be unique" msgstr "" -#: order/serializers.py:569 +#: order/serializers.py:578 msgid "Sale price currency" msgstr "" @@ -3248,22 +3266,36 @@ msgstr "" msgid "Receive items" msgstr "" -#: order/templates/order/order_base.html:93 -#: order/templates/order/sales_order_base.html:98 +#: order/templates/order/order_base.html:58 +#: order/templates/order/purchase_order_detail.html:31 +msgid "Receive Items" +msgstr "" + +#: order/templates/order/order_base.html:62 order/views.py:185 +msgid "Complete Order" +msgstr "" + +#: order/templates/order/order_base.html:84 +#: order/templates/order/sales_order_base.html:79 msgid "Order Reference" msgstr "" -#: order/templates/order/order_base.html:98 -#: order/templates/order/sales_order_base.html:103 +#: order/templates/order/order_base.html:89 +#: order/templates/order/sales_order_base.html:84 +msgid "Order Description" +msgstr "" + +#: order/templates/order/order_base.html:94 +#: order/templates/order/sales_order_base.html:89 msgid "Order Status" msgstr "" -#: order/templates/order/order_base.html:133 +#: order/templates/order/order_base.html:137 #: report/templates/report/inventree_build_order_base.html:122 msgid "Issued" msgstr "" -#: order/templates/order/order_base.html:203 +#: order/templates/order/order_base.html:207 msgid "Edit Purchase Order" msgstr "" @@ -3421,7 +3453,7 @@ msgid "Select existing purchase orders, or create new orders." msgstr "" #: order/templates/order/order_wizard/select_pos.html:31 -#: templates/js/translated/order.js:695 templates/js/translated/order.js:1119 +#: templates/js/translated/order.js:694 templates/js/translated/order.js:1118 msgid "Items" msgstr "Ürünler" @@ -3465,10 +3497,6 @@ msgstr "" msgid "Receive selected items" msgstr "" -#: order/templates/order/purchase_order_detail.html:31 -msgid "Receive Items" -msgstr "" - #: order/templates/order/purchase_order_detail.html:50 msgid "Received Items" msgstr "" @@ -3496,16 +3524,16 @@ msgstr "" msgid "Ship Order" msgstr "" -#: order/templates/order/sales_order_base.html:86 +#: order/templates/order/sales_order_base.html:102 msgid "This Sales Order has not been fully allocated" msgstr "" -#: order/templates/order/sales_order_base.html:121 -#: templates/js/translated/order.js:1086 +#: order/templates/order/sales_order_base.html:122 +#: templates/js/translated/order.js:1085 msgid "Customer Reference" msgstr "" -#: order/templates/order/sales_order_base.html:194 +#: order/templates/order/sales_order_base.html:195 msgid "Edit Sales Order" msgstr "" @@ -3576,10 +3604,6 @@ msgstr "" msgid "Purchase order issued" msgstr "" -#: order/views.py:185 -msgid "Complete Order" -msgstr "" - #: order/views.py:201 msgid "Confirm order completion" msgstr "" @@ -3672,11 +3696,11 @@ msgid "This field is required" msgstr "" #: part/bom.py:125 part/models.py:81 part/models.py:816 -#: part/templates/part/category.html:90 part/templates/part/detail.html:104 +#: part/templates/part/category.html:104 part/templates/part/part_base.html:338 msgid "Default Location" msgstr "Varsayılan Konum" -#: part/bom.py:126 part/templates/part/part_base.html:167 +#: part/bom.py:126 part/templates/part/part_base.html:185 msgid "Available Stock" msgstr "" @@ -3793,19 +3817,19 @@ msgstr "" msgid "Part Category" msgstr "" -#: part/models.py:96 part/templates/part/category.html:117 +#: part/models.py:96 part/templates/part/category.html:124 #: templates/InvenTree/search.html:101 templates/stats.html:84 #: users/models.py:40 msgid "Part Categories" msgstr "Parça Kategorileri" #: part/models.py:358 part/templates/part/cat_link.html:3 -#: part/templates/part/category.html:13 part/templates/part/category.html:122 -#: part/templates/part/category.html:142 +#: part/templates/part/category.html:13 part/templates/part/category.html:129 +#: part/templates/part/category.html:149 #: part/templates/part/category_sidebar.html:9 #: templates/InvenTree/index.html:85 templates/InvenTree/search.html:88 #: templates/InvenTree/settings/sidebar.html:36 -#: templates/js/translated/part.js:1416 templates/navbar.html:19 +#: templates/js/translated/part.js:1597 templates/navbar.html:19 #: templates/stats.html:80 templates/stats.html:89 users/models.py:41 msgid "Parts" msgstr "Parçalar" @@ -3859,8 +3883,8 @@ msgstr "Çeşidi" msgid "Part description" msgstr "Parça açıklaması" -#: part/models.py:770 part/templates/part/category.html:97 -#: part/templates/part/detail.html:73 +#: part/models.py:770 part/templates/part/category.html:82 +#: part/templates/part/part_base.html:302 msgid "Keywords" msgstr "Anahtar kelimeler" @@ -3869,9 +3893,10 @@ msgid "Part keywords to improve visibility in search results" msgstr "" #: part/models.py:778 part/models.py:2223 part/models.py:2472 -#: part/templates/part/detail.html:36 part/templates/part/set_category.html:15 +#: part/templates/part/part_base.html:265 +#: part/templates/part/set_category.html:15 #: templates/InvenTree/settings/settings.html:163 -#: templates/js/translated/part.js:1021 +#: templates/js/translated/part.js:1202 msgid "Category" msgstr "" @@ -3879,9 +3904,9 @@ msgstr "" msgid "Part category" msgstr "" -#: part/models.py:784 part/templates/part/detail.html:45 -#: templates/js/translated/part.js:550 templates/js/translated/part.js:974 -#: templates/js/translated/stock.js:1134 +#: part/models.py:784 part/templates/part/part_base.html:274 +#: templates/js/translated/part.js:557 templates/js/translated/part.js:1155 +#: templates/js/translated/stock.js:1216 msgid "IPN" msgstr "DPN" @@ -3893,8 +3918,8 @@ msgstr "" msgid "Part revision or version number" msgstr "Parça revizyon veya versiyon numarası" -#: part/models.py:792 part/templates/part/detail.html:52 report/models.py:200 -#: templates/js/translated/part.js:554 +#: part/models.py:792 part/templates/part/part_base.html:281 +#: report/models.py:200 templates/js/translated/part.js:561 msgid "Revision" msgstr "Revizyon" @@ -3902,7 +3927,7 @@ msgstr "Revizyon" msgid "Where is this item normally stored?" msgstr "" -#: part/models.py:861 part/templates/part/detail.html:113 +#: part/models.py:861 part/templates/part/part_base.html:347 msgid "Default Supplier" msgstr "Varsayılan Tedarikçi" @@ -3918,7 +3943,7 @@ msgstr "" msgid "Expiry time (in days) for stock items of this part" msgstr "" -#: part/models.py:875 part/templates/part/part_base.html:178 +#: part/models.py:875 part/templates/part/part_base.html:196 msgid "Minimum Stock" msgstr "Minimum Stok" @@ -4001,8 +4026,8 @@ msgstr "Test şablonları sadece takip edilebilir paçalar için oluşturulabili msgid "Test with this name already exists for this part" msgstr "" -#: part/models.py:2310 templates/js/translated/part.js:1467 -#: templates/js/translated/stock.js:858 +#: part/models.py:2310 templates/js/translated/part.js:1648 +#: templates/js/translated/stock.js:940 msgid "Test Name" msgstr "Test Adı" @@ -4018,7 +4043,7 @@ msgstr "Test Açıklaması" msgid "Enter description for this test" msgstr "" -#: part/models.py:2322 templates/js/translated/part.js:1476 +#: part/models.py:2322 templates/js/translated/part.js:1657 #: templates/js/translated/table_filters.js:276 msgid "Required" msgstr "Gerekli" @@ -4027,7 +4052,7 @@ msgstr "Gerekli" msgid "Is this test required to pass?" msgstr "Testi geçmesi için bu gerekli mi?" -#: part/models.py:2328 templates/js/translated/part.js:1484 +#: part/models.py:2328 templates/js/translated/part.js:1665 msgid "Requires Value" msgstr "" @@ -4035,7 +4060,7 @@ msgstr "" msgid "Does this test require a value when adding a test result?" msgstr "" -#: part/models.py:2334 templates/js/translated/part.js:1491 +#: part/models.py:2334 templates/js/translated/part.js:1672 msgid "Requires Attachment" msgstr "" @@ -4150,7 +4175,7 @@ msgstr "Çeşide İzin Ver" msgid "Stock items for variant parts can be used for this BOM item" msgstr "Çeşit parçaların stok kalemleri bu malzeme listesinde kullanılabilir" -#: part/models.py:2686 stock/models.py:371 +#: part/models.py:2686 stock/models.py:361 msgid "Quantity must be integer value for trackable parts" msgstr "" @@ -4213,7 +4238,7 @@ msgstr "" msgid "The BOM for %(part)s has not been validated." msgstr "" -#: part/templates/part/bom.html:30 part/templates/part/detail.html:357 +#: part/templates/part/bom.html:30 part/templates/part/detail.html:250 msgid "BOM actions" msgstr "" @@ -4298,68 +4323,64 @@ msgstr "" msgid "New Category" msgstr "" -#: part/templates/part/category.html:67 -msgid "Top level part category" -msgstr "" - -#: part/templates/part/category.html:79 +#: part/templates/part/category.html:76 part/templates/part/category.html:89 msgid "Category Path" msgstr "" -#: part/templates/part/category.html:84 -msgid "Category Description" +#: part/templates/part/category.html:90 +msgid "Top level part category" msgstr "" -#: part/templates/part/category.html:103 part/templates/part/category.html:194 +#: part/templates/part/category.html:110 part/templates/part/category.html:201 #: part/templates/part/category_sidebar.html:7 msgid "Subcategories" msgstr "Alt kategoriler" -#: part/templates/part/category.html:108 +#: part/templates/part/category.html:115 msgid "Parts (Including subcategories)" msgstr "Parçalar (Alt kategoriler dahil)" -#: part/templates/part/category.html:145 +#: part/templates/part/category.html:152 msgid "Export Part Data" msgstr "" -#: part/templates/part/category.html:146 part/templates/part/category.html:170 +#: part/templates/part/category.html:153 part/templates/part/category.html:177 msgid "Export" msgstr "" -#: part/templates/part/category.html:149 +#: part/templates/part/category.html:156 msgid "Create new part" msgstr "" -#: part/templates/part/category.html:150 templates/js/translated/bom.js:40 +#: part/templates/part/category.html:157 templates/js/translated/bom.js:40 msgid "New Part" msgstr "" -#: part/templates/part/category.html:164 +#: part/templates/part/category.html:171 msgid "Set category" msgstr "Kategori ayarla" -#: part/templates/part/category.html:164 +#: part/templates/part/category.html:171 msgid "Set Category" msgstr "Kategori Ayarla" -#: part/templates/part/category.html:168 +#: part/templates/part/category.html:175 msgid "Print Labels" msgstr "" -#: part/templates/part/category.html:170 +#: part/templates/part/category.html:177 msgid "Export Data" msgstr "" -#: part/templates/part/category.html:184 +#: part/templates/part/category.html:191 msgid "Part Parameters" msgstr "" -#: part/templates/part/category.html:261 +#: part/templates/part/category.html:268 msgid "Create Part Category" msgstr "" -#: part/templates/part/category.html:288 +#: part/templates/part/category.html:295 msgid "Create Part" msgstr "" @@ -4402,7 +4423,7 @@ msgstr "" msgid "Import Parts" msgstr "" -#: part/templates/part/copy_part.html:9 templates/js/translated/part.js:366 +#: part/templates/part/copy_part.html:9 templates/js/translated/part.js:373 msgid "Duplicate Part" msgstr "" @@ -4426,167 +4447,155 @@ msgstr "" msgid "%(full_name)s - %(desc)s (%(match_per)s%% match)" msgstr "" -#: part/templates/part/detail.html:16 -msgid "Part Details" -msgstr "" - -#: part/templates/part/detail.html:66 -msgid "Minimum stock level" -msgstr "" - -#: part/templates/part/detail.html:97 -msgid "Latest Serial Number" -msgstr "Son Seri Numarası" - -#: part/templates/part/detail.html:124 +#: part/templates/part/detail.html:17 msgid "Part Stock" msgstr "Parça Stoku" -#: part/templates/part/detail.html:136 +#: part/templates/part/detail.html:29 #, python-format msgid "Showing stock for all variants of %(full_name)s" msgstr "" -#: part/templates/part/detail.html:146 +#: part/templates/part/detail.html:39 msgid "Part Test Templates" msgstr "Parça Test Şablonları" -#: part/templates/part/detail.html:151 +#: part/templates/part/detail.html:44 msgid "Add Test Template" msgstr "Test Şablonu Ekle" -#: part/templates/part/detail.html:208 +#: part/templates/part/detail.html:101 msgid "Sales Order Allocations" msgstr "" -#: part/templates/part/detail.html:249 +#: part/templates/part/detail.html:142 msgid "Part Variants" msgstr "Parça Çeşitleri" -#: part/templates/part/detail.html:253 +#: part/templates/part/detail.html:146 msgid "Create new variant" msgstr "Yeni çeşit oluştur" -#: part/templates/part/detail.html:254 +#: part/templates/part/detail.html:147 msgid "New Variant" msgstr "Yeni Çeşit" -#: part/templates/part/detail.html:281 +#: part/templates/part/detail.html:174 msgid "Add new parameter" msgstr "" -#: part/templates/part/detail.html:315 part/templates/part/part_sidebar.html:47 +#: part/templates/part/detail.html:208 part/templates/part/part_sidebar.html:45 msgid "Related Parts" msgstr "" -#: part/templates/part/detail.html:319 part/templates/part/detail.html:320 +#: part/templates/part/detail.html:212 part/templates/part/detail.html:213 msgid "Add Related" msgstr "" -#: part/templates/part/detail.html:340 part/templates/part/part_sidebar.html:19 +#: part/templates/part/detail.html:233 part/templates/part/part_sidebar.html:17 msgid "Bill of Materials" msgstr "" -#: part/templates/part/detail.html:345 +#: part/templates/part/detail.html:238 msgid "Export actions" msgstr "" -#: part/templates/part/detail.html:349 +#: part/templates/part/detail.html:242 msgid "Export BOM" msgstr "" -#: part/templates/part/detail.html:351 +#: part/templates/part/detail.html:244 msgid "Print BOM Report" msgstr "" -#: part/templates/part/detail.html:361 +#: part/templates/part/detail.html:254 msgid "Upload BOM" msgstr "" -#: part/templates/part/detail.html:363 templates/js/translated/part.js:267 +#: part/templates/part/detail.html:256 templates/js/translated/part.js:270 msgid "Copy BOM" msgstr "" -#: part/templates/part/detail.html:365 part/views.py:755 +#: part/templates/part/detail.html:258 part/views.py:755 msgid "Validate BOM" msgstr "" -#: part/templates/part/detail.html:370 +#: part/templates/part/detail.html:263 msgid "New BOM Item" msgstr "" -#: part/templates/part/detail.html:371 +#: part/templates/part/detail.html:264 msgid "Add BOM Item" msgstr "" -#: part/templates/part/detail.html:384 +#: part/templates/part/detail.html:277 msgid "Assemblies" msgstr "" -#: part/templates/part/detail.html:401 +#: part/templates/part/detail.html:294 msgid "Part Builds" msgstr "" -#: part/templates/part/detail.html:426 +#: part/templates/part/detail.html:319 msgid "Build Order Allocations" msgstr "" -#: part/templates/part/detail.html:436 +#: part/templates/part/detail.html:329 msgid "Part Suppliers" msgstr "Parça Tedarikçileri" -#: part/templates/part/detail.html:463 +#: part/templates/part/detail.html:356 msgid "Part Manufacturers" msgstr "" -#: part/templates/part/detail.html:479 +#: part/templates/part/detail.html:372 msgid "Delete manufacturer parts" msgstr "" -#: part/templates/part/detail.html:660 +#: part/templates/part/detail.html:553 msgid "Delete selected BOM items?" msgstr "" -#: part/templates/part/detail.html:661 +#: part/templates/part/detail.html:554 msgid "All selected BOM items will be deleted" msgstr "" -#: part/templates/part/detail.html:712 +#: part/templates/part/detail.html:605 msgid "Create BOM Item" msgstr "" -#: part/templates/part/detail.html:764 +#: part/templates/part/detail.html:657 msgid "Related Part" msgstr "" -#: part/templates/part/detail.html:772 +#: part/templates/part/detail.html:665 msgid "Add Related Part" msgstr "" -#: part/templates/part/detail.html:869 +#: part/templates/part/detail.html:760 msgid "Add Test Result Template" msgstr "" -#: part/templates/part/detail.html:926 +#: part/templates/part/detail.html:817 msgid "Edit Part Notes" msgstr "" -#: part/templates/part/detail.html:1039 +#: part/templates/part/detail.html:930 #, python-format msgid "Purchase Unit Price - %(currency)s" msgstr "" -#: part/templates/part/detail.html:1051 +#: part/templates/part/detail.html:942 #, python-format msgid "Unit Price-Cost Difference - %(currency)s" msgstr "" -#: part/templates/part/detail.html:1063 +#: part/templates/part/detail.html:954 #, python-format msgid "Supplier Unit Cost - %(currency)s" msgstr "" -#: part/templates/part/detail.html:1152 +#: part/templates/part/detail.html:1043 #, python-format msgid "Unit Price - %(currency)s" msgstr "" @@ -4668,86 +4677,108 @@ msgstr "" msgid "Delete part" msgstr "" -#: part/templates/part/part_base.html:109 +#: part/templates/part/part_base.html:112 msgid "Part is a template part (variants can be made from this part)" msgstr "Bu parça bir şablon parçadır (Bu parçanın çeşitleri yapılabilir)" -#: part/templates/part/part_base.html:113 +#: part/templates/part/part_base.html:116 msgid "Part can be assembled from other parts" msgstr "" -#: part/templates/part/part_base.html:117 +#: part/templates/part/part_base.html:120 msgid "Part can be used in assemblies" msgstr "" -#: part/templates/part/part_base.html:121 +#: part/templates/part/part_base.html:124 msgid "Part stock is tracked by serial number" msgstr "Parça stoku seri numarası ile takip edilebilir" -#: part/templates/part/part_base.html:125 +#: part/templates/part/part_base.html:128 msgid "Part can be purchased from external suppliers" msgstr "Bu parça harici tedarikçilerden satın alınabilir" -#: part/templates/part/part_base.html:129 +#: part/templates/part/part_base.html:132 msgid "Part can be sold to customers" msgstr "" -#: part/templates/part/part_base.html:135 -#: part/templates/part/part_base.html:143 +#: part/templates/part/part_base.html:138 +#: part/templates/part/part_base.html:146 msgid "Part is virtual (not a physical part)" msgstr "" -#: part/templates/part/part_base.html:136 +#: part/templates/part/part_base.html:139 #: templates/js/translated/company.js:505 #: templates/js/translated/company.js:762 #: templates/js/translated/model_renderers.js:175 -#: templates/js/translated/part.js:465 templates/js/translated/part.js:542 +#: templates/js/translated/part.js:472 templates/js/translated/part.js:549 msgid "Inactive" msgstr "Pasif" -#: part/templates/part/part_base.html:155 +#: part/templates/part/part_base.html:156 +#: part/templates/part/part_base.html:579 +msgid "Show Part Details" +msgstr "" + +#: part/templates/part/part_base.html:173 #, python-format msgid "This part is a variant of %(link)s" msgstr "Bu parça %(link)s parçasının bir çeşididir" -#: part/templates/part/part_base.html:172 templates/js/translated/order.js:1546 +#: part/templates/part/part_base.html:190 templates/js/translated/order.js:1545 #: templates/js/translated/table_filters.js:188 msgid "In Stock" msgstr "" -#: part/templates/part/part_base.html:185 templates/js/translated/part.js:1054 +#: part/templates/part/part_base.html:203 templates/js/translated/part.js:1235 msgid "On Order" msgstr "" -#: part/templates/part/part_base.html:192 templates/InvenTree/index.html:178 +#: part/templates/part/part_base.html:210 templates/InvenTree/index.html:178 msgid "Required for Build Orders" msgstr "Yapım İşi Emirleri için Gerekli" -#: part/templates/part/part_base.html:199 +#: part/templates/part/part_base.html:217 msgid "Required for Sales Orders" msgstr "Satış Emirleri için Gerekli" -#: part/templates/part/part_base.html:206 +#: part/templates/part/part_base.html:224 msgid "Allocated to Orders" msgstr "" -#: part/templates/part/part_base.html:221 templates/js/translated/bom.js:566 +#: part/templates/part/part_base.html:239 templates/js/translated/bom.js:566 msgid "Can Build" msgstr "" -#: part/templates/part/part_base.html:227 templates/js/translated/part.js:885 -#: templates/js/translated/part.js:1058 +#: part/templates/part/part_base.html:245 templates/js/translated/part.js:1066 +#: templates/js/translated/part.js:1239 msgid "Building" msgstr "" -#: part/templates/part/part_base.html:320 part/templates/part/prices.html:144 +#: part/templates/part/part_base.html:295 +msgid "Minimum stock level" +msgstr "" + +#: part/templates/part/part_base.html:324 +msgid "Latest Serial Number" +msgstr "Son Seri Numarası" + +#: part/templates/part/part_base.html:328 +#: stock/templates/stock/item_base.html:159 +msgid "Search for serial number" +msgstr "" + +#: part/templates/part/part_base.html:449 part/templates/part/prices.html:144 msgid "Calculate" msgstr "Hesapla" -#: part/templates/part/part_base.html:363 +#: part/templates/part/part_base.html:492 msgid "No matching images found" msgstr "" +#: part/templates/part/part_base.html:573 +msgid "Hide Part Details" +msgstr "" + #: part/templates/part/part_pricing.html:22 part/templates/part/prices.html:21 msgid "Supplier Pricing" msgstr "" @@ -4805,20 +4836,15 @@ msgstr "" msgid "No pricing information is available for this part." msgstr "" -#: part/templates/part/part_sidebar.html:8 -#: templates/js/translated/stock.js:1949 -msgid "Details" -msgstr "Detaylar" - -#: part/templates/part/part_sidebar.html:13 +#: part/templates/part/part_sidebar.html:11 msgid "Variants" msgstr "" -#: part/templates/part/part_sidebar.html:27 +#: part/templates/part/part_sidebar.html:25 msgid "Used In" msgstr "" -#: part/templates/part/part_sidebar.html:43 +#: part/templates/part/part_sidebar.html:41 msgid "Test Templates" msgstr "" @@ -4934,8 +4960,8 @@ msgid "Set category for the following parts" msgstr "Aşağıdaki parçalara kategori ayarla" #: part/templates/part/stock_count.html:7 templates/js/translated/bom.js:476 -#: templates/js/translated/part.js:429 templates/js/translated/part.js:875 -#: templates/js/translated/part.js:1062 +#: templates/js/translated/part.js:436 templates/js/translated/part.js:1056 +#: templates/js/translated/part.js:1243 msgid "No Stock" msgstr "Stok Yok" @@ -5037,7 +5063,7 @@ msgstr "Parça Parametre Şablonu Düzenle" msgid "Delete Part Parameter Template" msgstr "Parça Parametre Şablonu Sil" -#: part/views.py:1489 templates/js/translated/part.js:310 +#: part/views.py:1489 templates/js/translated/part.js:313 msgid "Edit Part Category" msgstr "" @@ -5171,11 +5197,12 @@ msgid "Stock Item Test Report" msgstr "" #: report/templates/report/inventree_test_report_base.html:79 -#: stock/models.py:530 stock/templates/stock/item_base.html:238 +#: stock/models.py:520 stock/templates/stock/item_base.html:149 #: templates/js/translated/build.js:233 templates/js/translated/build.js:637 #: templates/js/translated/build.js:1013 #: templates/js/translated/model_renderers.js:95 -#: templates/js/translated/order.js:1288 templates/js/translated/order.js:1377 +#: templates/js/translated/order.js:1287 templates/js/translated/order.js:1376 +#: templates/js/translated/stock.js:410 msgid "Serial Number" msgstr "Seri Numara" @@ -5184,17 +5211,17 @@ msgid "Test Results" msgstr "" #: report/templates/report/inventree_test_report_base.html:93 -#: stock/models.py:1855 +#: stock/models.py:1845 msgid "Test" msgstr "" #: report/templates/report/inventree_test_report_base.html:94 -#: stock/models.py:1861 +#: stock/models.py:1851 msgid "Result" msgstr "" #: report/templates/report/inventree_test_report_base.html:97 -#: templates/js/translated/order.js:685 templates/js/translated/stock.js:1917 +#: templates/js/translated/order.js:684 templates/js/translated/stock.js:1999 msgid "Date" msgstr "" @@ -5212,7 +5239,7 @@ msgid "Installed Items" msgstr "" #: report/templates/report/inventree_test_report_base.html:137 -#: templates/js/translated/stock.js:2177 +#: templates/js/translated/stock.js:2259 msgid "Serial" msgstr "Seri No" @@ -5220,9 +5247,9 @@ msgstr "Seri No" msgid "Quantity is required" msgstr "" -#: stock/forms.py:91 stock/forms.py:265 stock/models.py:587 -#: stock/templates/stock/item_base.html:382 -#: templates/js/translated/stock.js:1276 +#: stock/forms.py:91 stock/forms.py:265 stock/models.py:577 +#: stock/templates/stock/item_base.html:186 +#: templates/js/translated/stock.js:1358 msgid "Expiry Date" msgstr "" @@ -5270,241 +5297,241 @@ msgstr "" msgid "Confirm removal of installed stock items" msgstr "Kurulu stok kalemlerinin kaldırılmasını onayla" -#: stock/models.py:60 stock/models.py:624 -#: stock/templates/stock/item_base.html:422 +#: stock/models.py:60 stock/models.py:614 +#: stock/templates/stock/item_base.html:417 msgid "Owner" msgstr "" -#: stock/models.py:61 stock/models.py:625 +#: stock/models.py:61 stock/models.py:615 msgid "Select Owner" msgstr "" -#: stock/models.py:352 +#: stock/models.py:342 msgid "StockItem with this serial number already exists" msgstr "Bu seri numarasına sahip stok kalemi zaten var" -#: stock/models.py:388 +#: stock/models.py:378 #, python-brace-format msgid "Part type ('{pf}') must be {pe}" msgstr "" -#: stock/models.py:398 stock/models.py:407 +#: stock/models.py:388 stock/models.py:397 msgid "Quantity must be 1 for item with a serial number" msgstr "Seri numarası olan ögenin miktarı bir olmalı" -#: stock/models.py:399 +#: stock/models.py:389 msgid "Serial number cannot be set if quantity greater than 1" msgstr "Miktar birden büyük ise seri numarası ayarlanamaz" -#: stock/models.py:421 +#: stock/models.py:411 msgid "Item cannot belong to itself" msgstr "" -#: stock/models.py:427 +#: stock/models.py:417 msgid "Item must have a build reference if is_building=True" msgstr "" -#: stock/models.py:434 +#: stock/models.py:424 msgid "Build reference does not point to the same part object" msgstr "" -#: stock/models.py:476 +#: stock/models.py:466 msgid "Parent Stock Item" msgstr "Üst Stok Kalemi" -#: stock/models.py:485 +#: stock/models.py:475 msgid "Base part" msgstr "" -#: stock/models.py:493 +#: stock/models.py:483 msgid "Select a matching supplier part for this stock item" msgstr "Bu stok kalemi için tedarikçi parçası seçin" -#: stock/models.py:498 stock/templates/stock/location.html:12 +#: stock/models.py:488 stock/templates/stock/location.html:12 #: stock/templates/stock/stock_app_base.html:8 msgid "Stock Location" msgstr "Stok Konumu" -#: stock/models.py:501 +#: stock/models.py:491 msgid "Where is this stock item located?" msgstr "" -#: stock/models.py:508 +#: stock/models.py:498 msgid "Packaging this stock item is stored in" msgstr "" -#: stock/models.py:513 stock/templates/stock/item_base.html:271 +#: stock/models.py:503 stock/templates/stock/item_base.html:299 msgid "Installed In" msgstr "" -#: stock/models.py:516 +#: stock/models.py:506 msgid "Is this item installed in another item?" msgstr "" -#: stock/models.py:532 +#: stock/models.py:522 msgid "Serial number for this item" msgstr "Bu öge için seri numarası" -#: stock/models.py:546 +#: stock/models.py:536 msgid "Batch code for this stock item" msgstr "" -#: stock/models.py:550 +#: stock/models.py:540 msgid "Stock Quantity" msgstr "" -#: stock/models.py:559 +#: stock/models.py:549 msgid "Source Build" msgstr "" -#: stock/models.py:561 +#: stock/models.py:551 msgid "Build for this stock item" msgstr "" -#: stock/models.py:572 +#: stock/models.py:562 msgid "Source Purchase Order" msgstr "" -#: stock/models.py:575 +#: stock/models.py:565 msgid "Purchase order for this stock item" msgstr "" -#: stock/models.py:581 +#: stock/models.py:571 msgid "Destination Sales Order" msgstr "" -#: stock/models.py:588 +#: stock/models.py:578 msgid "Expiry date for stock item. Stock will be considered expired after this date" msgstr "" -#: stock/models.py:601 +#: stock/models.py:591 msgid "Delete on deplete" msgstr "" -#: stock/models.py:601 +#: stock/models.py:591 msgid "Delete this Stock Item when stock is depleted" msgstr "" -#: stock/models.py:611 stock/templates/stock/item.html:111 +#: stock/models.py:601 stock/templates/stock/item.html:111 msgid "Stock Item Notes" msgstr "" -#: stock/models.py:620 +#: stock/models.py:610 msgid "Single unit purchase price at time of purchase" msgstr "" -#: stock/models.py:630 +#: stock/models.py:620 msgid "Scheduled for deletion" msgstr "" -#: stock/models.py:631 +#: stock/models.py:621 msgid "This StockItem will be deleted by the background worker" msgstr "" -#: stock/models.py:1094 +#: stock/models.py:1084 msgid "Part is not set as trackable" msgstr "" -#: stock/models.py:1100 +#: stock/models.py:1090 msgid "Quantity must be integer" msgstr "" -#: stock/models.py:1106 +#: stock/models.py:1096 #, python-brace-format msgid "Quantity must not exceed available stock quantity ({n})" msgstr "" -#: stock/models.py:1109 +#: stock/models.py:1099 msgid "Serial numbers must be a list of integers" msgstr "Seri numaraları tam sayı listesi olmalı" -#: stock/models.py:1112 +#: stock/models.py:1102 msgid "Quantity does not match serial numbers" msgstr "Miktar seri numaları ile eşleşmiyor" -#: stock/models.py:1119 +#: stock/models.py:1109 #, python-brace-format msgid "Serial numbers already exist: {exists}" msgstr "Seri numaraları zaten mevcut: {exists}" -#: stock/models.py:1277 +#: stock/models.py:1267 msgid "StockItem cannot be moved as it is not in stock" msgstr "Stok kalemi stokta olmadığı için taşınamaz" -#: stock/models.py:1775 +#: stock/models.py:1765 msgid "Entry notes" msgstr "" -#: stock/models.py:1832 +#: stock/models.py:1822 msgid "Value must be provided for this test" msgstr "" -#: stock/models.py:1838 +#: stock/models.py:1828 msgid "Attachment must be uploaded for this test" msgstr "" -#: stock/models.py:1856 +#: stock/models.py:1846 msgid "Test name" msgstr "" -#: stock/models.py:1862 templates/js/translated/table_filters.js:266 +#: stock/models.py:1852 templates/js/translated/table_filters.js:266 msgid "Test result" msgstr "" -#: stock/models.py:1868 +#: stock/models.py:1858 msgid "Test output value" msgstr "" -#: stock/models.py:1875 +#: stock/models.py:1865 msgid "Test result attachment" msgstr "" -#: stock/models.py:1881 +#: stock/models.py:1871 msgid "Test notes" msgstr "" -#: stock/serializers.py:166 +#: stock/serializers.py:171 msgid "Purchase price of this stock item" msgstr "" -#: stock/serializers.py:173 +#: stock/serializers.py:178 msgid "Purchase currency of this stock item" msgstr "" -#: stock/serializers.py:287 +#: stock/serializers.py:292 msgid "Enter number of stock items to serialize" msgstr "" -#: stock/serializers.py:302 +#: stock/serializers.py:307 #, python-brace-format msgid "Quantity must not exceed available stock quantity ({q})" msgstr "" -#: stock/serializers.py:308 +#: stock/serializers.py:313 msgid "Enter serial numbers for new items" msgstr "" -#: stock/serializers.py:319 stock/serializers.py:686 +#: stock/serializers.py:324 stock/serializers.py:691 msgid "Destination stock location" msgstr "" -#: stock/serializers.py:326 +#: stock/serializers.py:331 msgid "Optional note field" msgstr "" -#: stock/serializers.py:339 +#: stock/serializers.py:344 msgid "Serial numbers cannot be assigned to this part" msgstr "" -#: stock/serializers.py:556 +#: stock/serializers.py:561 msgid "StockItem primary key value" msgstr "" -#: stock/serializers.py:584 +#: stock/serializers.py:589 msgid "Stock transaction notes" msgstr "" -#: stock/serializers.py:594 +#: stock/serializers.py:599 msgid "A list of stock items must be provided" msgstr "" @@ -5629,125 +5656,131 @@ msgstr "" msgid "Install" msgstr "" -#: stock/templates/stock/item_base.html:106 +#: stock/templates/stock/item_base.html:108 msgid "Convert to variant" msgstr "Çeşide çevir" -#: stock/templates/stock/item_base.html:109 +#: stock/templates/stock/item_base.html:111 msgid "Duplicate stock item" msgstr "" -#: stock/templates/stock/item_base.html:111 +#: stock/templates/stock/item_base.html:113 msgid "Edit stock item" msgstr "" -#: stock/templates/stock/item_base.html:114 +#: stock/templates/stock/item_base.html:116 msgid "Delete stock item" msgstr "" -#: stock/templates/stock/item_base.html:136 -#: stock/templates/stock/item_base.html:386 -#: templates/js/translated/table_filters.js:247 -msgid "Expired" -msgstr "" - -#: stock/templates/stock/item_base.html:146 -#: stock/templates/stock/item_base.html:388 -#: templates/js/translated/table_filters.js:253 -msgid "Stale" -msgstr "" - -#: stock/templates/stock/item_base.html:161 -msgid "You are not in the list of owners of this item. This stock item cannot be edited." -msgstr "" - -#: stock/templates/stock/item_base.html:168 -msgid "This stock item is in production and cannot be edited." -msgstr "" - -#: stock/templates/stock/item_base.html:169 -msgid "Edit the stock item from the build view." -msgstr "" - -#: stock/templates/stock/item_base.html:182 -msgid "This stock item has not passed all required tests" -msgstr "Stok kalemi tüm gerekli testleri geçmedi" - -#: stock/templates/stock/item_base.html:190 -#, python-format -msgid "This stock item is allocated to Sales Order %(link)s (Quantity: %(qty)s)" -msgstr "" - -#: stock/templates/stock/item_base.html:198 -#, python-format -msgid "This stock item is allocated to Build %(link)s (Quantity: %(qty)s)" -msgstr "" - -#: stock/templates/stock/item_base.html:204 -msgid "This stock item is serialized - it has a unique serial number and the quantity cannot be adjusted." -msgstr "Bu stok kalemi seri numaları - Benzersiz bir seri numarasına sahip ve miktarı ayarlanamaz." - -#: stock/templates/stock/item_base.html:208 -msgid "This stock item cannot be deleted as it has child items" -msgstr "" - -#: stock/templates/stock/item_base.html:212 -msgid "This stock item will be automatically deleted when all stock is depleted." -msgstr "" - -#: stock/templates/stock/item_base.html:241 +#: stock/templates/stock/item_base.html:154 msgid "previous page" msgstr "" -#: stock/templates/stock/item_base.html:247 +#: stock/templates/stock/item_base.html:154 +msgid "Navigate to previous serial number" +msgstr "" + +#: stock/templates/stock/item_base.html:163 msgid "next page" msgstr "" -#: stock/templates/stock/item_base.html:290 -#: templates/js/translated/build.js:1035 -msgid "No location set" -msgstr "Konum ayarlanmadı" - -#: stock/templates/stock/item_base.html:297 -msgid "Barcode Identifier" +#: stock/templates/stock/item_base.html:163 +msgid "Navigate to next serial number" msgstr "" -#: stock/templates/stock/item_base.html:339 -msgid "Parent Item" -msgstr "" - -#: stock/templates/stock/item_base.html:357 -msgid "No manufacturer set" -msgstr "" - -#: stock/templates/stock/item_base.html:386 +#: stock/templates/stock/item_base.html:190 #, python-format msgid "This StockItem expired on %(item.expiry_date)s" msgstr "Bu stok kaleminin süresi %(item.expiry_date)s tarihinde sona erdi" -#: stock/templates/stock/item_base.html:388 +#: stock/templates/stock/item_base.html:190 +#: templates/js/translated/table_filters.js:247 +msgid "Expired" +msgstr "" + +#: stock/templates/stock/item_base.html:192 #, python-format msgid "This StockItem expires on %(item.expiry_date)s" msgstr "Bu stok kaleminin süresi %(item.expiry_date)s tarihinde sona erecek" -#: stock/templates/stock/item_base.html:395 -#: templates/js/translated/stock.js:1289 +#: stock/templates/stock/item_base.html:192 +#: templates/js/translated/table_filters.js:253 +msgid "Stale" +msgstr "" + +#: stock/templates/stock/item_base.html:199 +#: templates/js/translated/stock.js:1371 msgid "Last Updated" msgstr "" -#: stock/templates/stock/item_base.html:400 +#: stock/templates/stock/item_base.html:204 msgid "Last Stocktake" msgstr "" -#: stock/templates/stock/item_base.html:404 +#: stock/templates/stock/item_base.html:208 msgid "No stocktake performed" msgstr "" -#: stock/templates/stock/item_base.html:415 +#: stock/templates/stock/item_base.html:226 +msgid "You are not in the list of owners of this item. This stock item cannot be edited." +msgstr "" + +#: stock/templates/stock/item_base.html:233 +msgid "This stock item is in production and cannot be edited." +msgstr "" + +#: stock/templates/stock/item_base.html:234 +msgid "Edit the stock item from the build view." +msgstr "" + +#: stock/templates/stock/item_base.html:247 +msgid "This stock item has not passed all required tests" +msgstr "Stok kalemi tüm gerekli testleri geçmedi" + +#: stock/templates/stock/item_base.html:255 +#, python-format +msgid "This stock item is allocated to Sales Order %(link)s (Quantity: %(qty)s)" +msgstr "" + +#: stock/templates/stock/item_base.html:263 +#, python-format +msgid "This stock item is allocated to Build %(link)s (Quantity: %(qty)s)" +msgstr "" + +#: stock/templates/stock/item_base.html:269 +msgid "This stock item is serialized - it has a unique serial number and the quantity cannot be adjusted." +msgstr "Bu stok kalemi seri numaları - Benzersiz bir seri numarasına sahip ve miktarı ayarlanamaz." + +#: stock/templates/stock/item_base.html:273 +msgid "This stock item cannot be deleted as it has child items" +msgstr "" + +#: stock/templates/stock/item_base.html:277 +msgid "This stock item will be automatically deleted when all stock is depleted." +msgstr "" + +#: stock/templates/stock/item_base.html:318 +#: templates/js/translated/build.js:1035 +msgid "No location set" +msgstr "Konum ayarlanmadı" + +#: stock/templates/stock/item_base.html:325 +msgid "Barcode Identifier" +msgstr "" + +#: stock/templates/stock/item_base.html:367 +msgid "Parent Item" +msgstr "" + +#: stock/templates/stock/item_base.html:385 +msgid "No manufacturer set" +msgstr "" + +#: stock/templates/stock/item_base.html:410 msgid "Tests" msgstr "" -#: stock/templates/stock/item_base.html:505 +#: stock/templates/stock/item_base.html:500 msgid "Edit Stock Status" msgstr "" @@ -5825,30 +5858,35 @@ msgstr "Yeni stok konumu oluştur" msgid "New Location" msgstr "Yeni Konum" -#: stock/templates/stock/location.html:86 +#: stock/templates/stock/location.html:95 +#: stock/templates/stock/location.html:101 +msgid "Location Path" +msgstr "" + +#: stock/templates/stock/location.html:102 msgid "Top level stock location" msgstr "" -#: stock/templates/stock/location.html:95 +#: stock/templates/stock/location.html:115 msgid "You are not in the list of owners of this location. This stock location cannot be edited." msgstr "Bu konumun sahipleri listesinde değilsiniz. Bu stok konumu düzenlenemez." -#: stock/templates/stock/location.html:113 -#: stock/templates/stock/location.html:160 +#: stock/templates/stock/location.html:128 +#: stock/templates/stock/location.html:175 #: stock/templates/stock/location_sidebar.html:5 msgid "Sublocations" msgstr "Alt konumlar" -#: stock/templates/stock/location.html:127 templates/InvenTree/search.html:170 +#: stock/templates/stock/location.html:142 templates/InvenTree/search.html:170 #: templates/stats.html:97 users/models.py:42 msgid "Stock Locations" msgstr "Stok Konumları" -#: stock/templates/stock/location.html:167 templates/stock_table.html:30 +#: stock/templates/stock/location.html:182 templates/stock_table.html:30 msgid "Printing Actions" msgstr "Yazdırma İşlemleri" -#: stock/templates/stock/location.html:171 templates/stock_table.html:34 +#: stock/templates/stock/location.html:186 templates/stock_table.html:34 msgid "Print labels" msgstr "Etiketleri yazdır" @@ -5942,7 +5980,7 @@ msgstr "" msgid "Uninstall Stock Items" msgstr "" -#: stock/views.py:760 templates/js/translated/stock.js:648 +#: stock/views.py:760 templates/js/translated/stock.js:730 msgid "Confirm stock adjustment" msgstr "Stok ayarlamasını onayla" @@ -5950,7 +5988,7 @@ msgstr "Stok ayarlamasını onayla" msgid "Uninstalled stock items" msgstr "" -#: stock/views.py:793 templates/js/translated/stock.js:318 +#: stock/views.py:793 templates/js/translated/stock.js:319 msgid "Edit Stock Item" msgstr "" @@ -5962,7 +6000,7 @@ msgstr "Yeni Stok konumu oluştur" msgid "Create new Stock Item" msgstr "" -#: stock/views.py:1186 templates/js/translated/stock.js:298 +#: stock/views.py:1186 templates/js/translated/stock.js:299 msgid "Duplicate Stock Item" msgstr "" @@ -6868,7 +6906,7 @@ msgstr "" msgid "Unlink" msgstr "" -#: templates/js/translated/barcode.js:397 templates/js/translated/stock.js:600 +#: templates/js/translated/barcode.js:397 templates/js/translated/stock.js:682 msgid "Remove stock item" msgstr "" @@ -6963,7 +7001,7 @@ msgid "View BOM" msgstr "" #: templates/js/translated/bom.js:608 templates/js/translated/build.js:1183 -#: templates/js/translated/order.js:1320 +#: templates/js/translated/order.js:1319 msgid "Actions" msgstr "İşlemler" @@ -7055,7 +7093,7 @@ msgstr "" msgid "No build order allocations found" msgstr "" -#: templates/js/translated/build.js:424 templates/js/translated/order.js:1194 +#: templates/js/translated/build.js:424 templates/js/translated/order.js:1193 msgid "Location not specified" msgstr "" @@ -7064,12 +7102,12 @@ msgid "No active build outputs found" msgstr "" #: templates/js/translated/build.js:1052 templates/js/translated/build.js:1760 -#: templates/js/translated/order.js:1327 +#: templates/js/translated/order.js:1326 msgid "Edit stock allocation" msgstr "Stok tahsisini düzenle" #: templates/js/translated/build.js:1054 templates/js/translated/build.js:1761 -#: templates/js/translated/order.js:1328 +#: templates/js/translated/order.js:1327 msgid "Delete stock allocation" msgstr "Stok tahsisini sil" @@ -7090,11 +7128,11 @@ msgid "Quantity Per" msgstr "" #: templates/js/translated/build.js:1134 templates/js/translated/build.js:1360 -#: templates/js/translated/build.js:1756 templates/js/translated/order.js:1557 +#: templates/js/translated/build.js:1756 templates/js/translated/order.js:1556 msgid "Allocated" msgstr "" -#: templates/js/translated/build.js:1190 templates/js/translated/order.js:1611 +#: templates/js/translated/build.js:1190 templates/js/translated/order.js:1610 msgid "Build stock" msgstr "" @@ -7102,7 +7140,7 @@ msgstr "" msgid "Order stock" msgstr "" -#: templates/js/translated/build.js:1197 templates/js/translated/order.js:1604 +#: templates/js/translated/build.js:1197 templates/js/translated/order.js:1603 msgid "Allocate stock" msgstr "" @@ -7143,9 +7181,9 @@ msgstr "" msgid "No builds matching query" msgstr "" -#: templates/js/translated/build.js:1593 templates/js/translated/part.js:966 -#: templates/js/translated/part.js:1377 templates/js/translated/stock.js:1094 -#: templates/js/translated/stock.js:1871 +#: templates/js/translated/build.js:1593 templates/js/translated/part.js:1147 +#: templates/js/translated/part.js:1558 templates/js/translated/stock.js:1176 +#: templates/js/translated/stock.js:1953 msgid "Select" msgstr "" @@ -7153,7 +7191,7 @@ msgstr "" msgid "Build order is overdue" msgstr "" -#: templates/js/translated/build.js:1674 templates/js/translated/stock.js:2090 +#: templates/js/translated/build.js:1674 templates/js/translated/stock.js:2172 msgid "No user information" msgstr "" @@ -7197,10 +7235,6 @@ msgstr "" msgid "Delete Supplier Part" msgstr "" -#: templates/js/translated/company.js:265 -msgid "Edit Company" -msgstr "" - #: templates/js/translated/company.js:286 msgid "Add new Company" msgstr "" @@ -7230,34 +7264,34 @@ msgid "No manufacturer parts found" msgstr "" #: templates/js/translated/company.js:497 -#: templates/js/translated/company.js:754 templates/js/translated/part.js:449 -#: templates/js/translated/part.js:534 +#: templates/js/translated/company.js:754 templates/js/translated/part.js:456 +#: templates/js/translated/part.js:541 msgid "Template part" msgstr "Şablon Parça" #: templates/js/translated/company.js:501 -#: templates/js/translated/company.js:758 templates/js/translated/part.js:453 -#: templates/js/translated/part.js:538 +#: templates/js/translated/company.js:758 templates/js/translated/part.js:460 +#: templates/js/translated/part.js:545 msgid "Assembled part" msgstr "" -#: templates/js/translated/company.js:628 templates/js/translated/part.js:626 +#: templates/js/translated/company.js:628 templates/js/translated/part.js:633 msgid "No parameters found" msgstr "" -#: templates/js/translated/company.js:665 templates/js/translated/part.js:668 +#: templates/js/translated/company.js:665 templates/js/translated/part.js:675 msgid "Edit parameter" msgstr "" -#: templates/js/translated/company.js:666 templates/js/translated/part.js:669 +#: templates/js/translated/company.js:666 templates/js/translated/part.js:676 msgid "Delete parameter" msgstr "" -#: templates/js/translated/company.js:685 templates/js/translated/part.js:686 +#: templates/js/translated/company.js:685 templates/js/translated/part.js:693 msgid "Edit Parameter" msgstr "" -#: templates/js/translated/company.js:696 templates/js/translated/part.js:698 +#: templates/js/translated/company.js:696 templates/js/translated/part.js:705 msgid "Delete Parameter" msgstr "" @@ -7346,7 +7380,7 @@ msgid "NO" msgstr "" #: templates/js/translated/label.js:29 templates/js/translated/report.js:118 -#: templates/js/translated/stock.js:624 +#: templates/js/translated/stock.js:706 msgid "Select Stock Items" msgstr "" @@ -7502,11 +7536,11 @@ msgstr "" msgid "Export Order" msgstr "" -#: templates/js/translated/order.js:211 templates/js/translated/stock.js:423 +#: templates/js/translated/order.js:211 templates/js/translated/stock.js:505 msgid "Format" msgstr "" -#: templates/js/translated/order.js:212 templates/js/translated/stock.js:424 +#: templates/js/translated/order.js:212 templates/js/translated/stock.js:506 msgid "Select file format" msgstr "" @@ -7522,7 +7556,7 @@ msgstr "" msgid "Quantity to receive" msgstr "" -#: templates/js/translated/order.js:360 templates/js/translated/stock.js:1673 +#: templates/js/translated/order.js:360 templates/js/translated/stock.js:1755 msgid "Stock Status" msgstr "" @@ -7546,321 +7580,321 @@ msgstr "" msgid "Receive Purchase Order Items" msgstr "" -#: templates/js/translated/order.js:627 +#: templates/js/translated/order.js:627 templates/js/translated/part.js:746 msgid "No purchase orders found" msgstr "" -#: templates/js/translated/order.js:652 templates/js/translated/order.js:1063 +#: templates/js/translated/order.js:659 templates/js/translated/order.js:1062 msgid "Order is overdue" msgstr "" -#: templates/js/translated/order.js:772 templates/js/translated/order.js:1646 +#: templates/js/translated/order.js:771 templates/js/translated/order.js:1645 msgid "Edit Line Item" msgstr "" -#: templates/js/translated/order.js:784 templates/js/translated/order.js:1657 +#: templates/js/translated/order.js:783 templates/js/translated/order.js:1656 msgid "Delete Line Item" msgstr "" -#: templates/js/translated/order.js:823 +#: templates/js/translated/order.js:822 msgid "No line items found" msgstr "" -#: templates/js/translated/order.js:850 templates/js/translated/order.js:1467 +#: templates/js/translated/order.js:849 templates/js/translated/order.js:1466 msgid "Total" msgstr "" -#: templates/js/translated/order.js:904 templates/js/translated/order.js:1492 -#: templates/js/translated/part.js:1594 templates/js/translated/part.js:1805 +#: templates/js/translated/order.js:903 templates/js/translated/order.js:1491 +#: templates/js/translated/part.js:1775 templates/js/translated/part.js:1986 msgid "Unit Price" msgstr "" -#: templates/js/translated/order.js:919 templates/js/translated/order.js:1508 +#: templates/js/translated/order.js:918 templates/js/translated/order.js:1507 msgid "Total Price" msgstr "" -#: templates/js/translated/order.js:997 templates/js/translated/order.js:1617 +#: templates/js/translated/order.js:996 templates/js/translated/order.js:1616 msgid "Edit line item" msgstr "" -#: templates/js/translated/order.js:998 +#: templates/js/translated/order.js:997 msgid "Delete line item" msgstr "" -#: templates/js/translated/order.js:1002 +#: templates/js/translated/order.js:1001 templates/js/translated/part.js:878 msgid "Receive line item" msgstr "" -#: templates/js/translated/order.js:1039 +#: templates/js/translated/order.js:1038 msgid "No sales orders found" msgstr "" -#: templates/js/translated/order.js:1077 +#: templates/js/translated/order.js:1076 msgid "Invalid Customer" msgstr "" -#: templates/js/translated/order.js:1155 +#: templates/js/translated/order.js:1154 msgid "No sales order allocations found" msgstr "" -#: templates/js/translated/order.js:1248 +#: templates/js/translated/order.js:1247 msgid "Edit Stock Allocation" msgstr "" -#: templates/js/translated/order.js:1265 +#: templates/js/translated/order.js:1264 msgid "Confirm Delete Operation" msgstr "Silme İşlemini Onayla" -#: templates/js/translated/order.js:1266 +#: templates/js/translated/order.js:1265 msgid "Delete Stock Allocation" msgstr "" -#: templates/js/translated/order.js:1308 +#: templates/js/translated/order.js:1307 msgid "Stock location not specified" msgstr "" -#: templates/js/translated/order.js:1557 +#: templates/js/translated/order.js:1556 msgid "Fulfilled" msgstr "" -#: templates/js/translated/order.js:1601 +#: templates/js/translated/order.js:1600 msgid "Allocate serial numbers" msgstr "Seri numaralarını tahsis et" -#: templates/js/translated/order.js:1607 +#: templates/js/translated/order.js:1606 msgid "Purchase stock" msgstr "" -#: templates/js/translated/order.js:1614 templates/js/translated/order.js:1793 +#: templates/js/translated/order.js:1613 templates/js/translated/order.js:1792 msgid "Calculate price" msgstr "" -#: templates/js/translated/order.js:1618 +#: templates/js/translated/order.js:1617 msgid "Delete line item " msgstr "" -#: templates/js/translated/order.js:1741 +#: templates/js/translated/order.js:1740 msgid "Allocate Stock Item" msgstr "" -#: templates/js/translated/order.js:1801 +#: templates/js/translated/order.js:1800 msgid "Update Unit Price" msgstr "" -#: templates/js/translated/order.js:1815 +#: templates/js/translated/order.js:1814 msgid "No matching line items" msgstr "" -#: templates/js/translated/part.js:51 +#: templates/js/translated/part.js:52 msgid "Part Attributes" msgstr "" -#: templates/js/translated/part.js:55 +#: templates/js/translated/part.js:56 msgid "Part Creation Options" msgstr "" -#: templates/js/translated/part.js:59 +#: templates/js/translated/part.js:60 msgid "Part Duplication Options" msgstr "" -#: templates/js/translated/part.js:63 +#: templates/js/translated/part.js:64 msgid "Supplier Options" msgstr "" -#: templates/js/translated/part.js:77 +#: templates/js/translated/part.js:78 msgid "Add Part Category" msgstr "" -#: templates/js/translated/part.js:166 +#: templates/js/translated/part.js:162 msgid "Create Initial Stock" msgstr "" -#: templates/js/translated/part.js:167 +#: templates/js/translated/part.js:163 msgid "Create an initial stock item for this part" msgstr "" -#: templates/js/translated/part.js:174 +#: templates/js/translated/part.js:170 msgid "Initial Stock Quantity" msgstr "" -#: templates/js/translated/part.js:175 +#: templates/js/translated/part.js:171 msgid "Specify initial stock quantity for this part" msgstr "" -#: templates/js/translated/part.js:182 +#: templates/js/translated/part.js:178 msgid "Select destination stock location" msgstr "" -#: templates/js/translated/part.js:193 +#: templates/js/translated/part.js:196 msgid "Copy Category Parameters" msgstr "" -#: templates/js/translated/part.js:194 +#: templates/js/translated/part.js:197 msgid "Copy parameter templates from selected part category" msgstr "" -#: templates/js/translated/part.js:202 +#: templates/js/translated/part.js:205 msgid "Add Supplier Data" msgstr "" -#: templates/js/translated/part.js:203 +#: templates/js/translated/part.js:206 msgid "Create initial supplier data for this part" msgstr "" -#: templates/js/translated/part.js:259 +#: templates/js/translated/part.js:262 msgid "Copy Image" msgstr "" -#: templates/js/translated/part.js:260 +#: templates/js/translated/part.js:263 msgid "Copy image from original part" msgstr "" -#: templates/js/translated/part.js:268 +#: templates/js/translated/part.js:271 msgid "Copy bill of materials from original part" msgstr "" -#: templates/js/translated/part.js:275 +#: templates/js/translated/part.js:278 msgid "Copy Parameters" msgstr "" -#: templates/js/translated/part.js:276 +#: templates/js/translated/part.js:279 msgid "Copy parameter data from original part" msgstr "" -#: templates/js/translated/part.js:289 +#: templates/js/translated/part.js:292 msgid "Parent part category" msgstr "" -#: templates/js/translated/part.js:333 +#: templates/js/translated/part.js:336 msgid "Edit Part" msgstr "" -#: templates/js/translated/part.js:335 +#: templates/js/translated/part.js:338 msgid "Part edited" msgstr "" -#: templates/js/translated/part.js:403 +#: templates/js/translated/part.js:410 msgid "You are subscribed to notifications for this item" msgstr "" -#: templates/js/translated/part.js:405 +#: templates/js/translated/part.js:412 msgid "You have subscribed to notifications for this item" msgstr "" -#: templates/js/translated/part.js:410 +#: templates/js/translated/part.js:417 msgid "Subscribe to notifications for this item" msgstr "" -#: templates/js/translated/part.js:412 +#: templates/js/translated/part.js:419 msgid "You have unsubscribed to notifications for this item" msgstr "" -#: templates/js/translated/part.js:441 templates/js/translated/part.js:526 +#: templates/js/translated/part.js:448 templates/js/translated/part.js:533 msgid "Trackable part" msgstr "" -#: templates/js/translated/part.js:445 templates/js/translated/part.js:530 +#: templates/js/translated/part.js:452 templates/js/translated/part.js:537 msgid "Virtual part" msgstr "" -#: templates/js/translated/part.js:457 +#: templates/js/translated/part.js:464 msgid "Subscribed part" msgstr "" -#: templates/js/translated/part.js:461 +#: templates/js/translated/part.js:468 msgid "Salable part" msgstr "" -#: templates/js/translated/part.js:576 +#: templates/js/translated/part.js:583 msgid "No variants found" msgstr "Çeşit bulunamadı" -#: templates/js/translated/part.js:765 +#: templates/js/translated/part.js:946 msgid "Delete part relationship" msgstr "" -#: templates/js/translated/part.js:789 +#: templates/js/translated/part.js:970 msgid "Delete Part Relationship" msgstr "" -#: templates/js/translated/part.js:856 templates/js/translated/part.js:1116 +#: templates/js/translated/part.js:1037 templates/js/translated/part.js:1297 msgid "No parts found" msgstr "" -#: templates/js/translated/part.js:1026 +#: templates/js/translated/part.js:1207 msgid "No category" msgstr "" -#: templates/js/translated/part.js:1049 +#: templates/js/translated/part.js:1230 #: templates/js/translated/table_filters.js:381 msgid "Low stock" msgstr "" -#: templates/js/translated/part.js:1140 templates/js/translated/part.js:1312 -#: templates/js/translated/stock.js:1832 +#: templates/js/translated/part.js:1321 templates/js/translated/part.js:1493 +#: templates/js/translated/stock.js:1914 msgid "Display as list" msgstr "" -#: templates/js/translated/part.js:1156 +#: templates/js/translated/part.js:1337 msgid "Display as grid" msgstr "" -#: templates/js/translated/part.js:1331 templates/js/translated/stock.js:1851 +#: templates/js/translated/part.js:1512 templates/js/translated/stock.js:1933 msgid "Display as tree" msgstr "" -#: templates/js/translated/part.js:1395 +#: templates/js/translated/part.js:1576 msgid "Subscribed category" msgstr "" -#: templates/js/translated/part.js:1409 templates/js/translated/stock.js:1895 +#: templates/js/translated/part.js:1590 templates/js/translated/stock.js:1977 msgid "Path" msgstr "" -#: templates/js/translated/part.js:1453 +#: templates/js/translated/part.js:1634 msgid "No test templates matching query" msgstr "Sorgu ile eşleşen test şablonu bulunamadı" -#: templates/js/translated/part.js:1504 templates/js/translated/stock.js:816 +#: templates/js/translated/part.js:1685 templates/js/translated/stock.js:898 msgid "Edit test result" msgstr "" -#: templates/js/translated/part.js:1505 templates/js/translated/stock.js:817 +#: templates/js/translated/part.js:1686 templates/js/translated/stock.js:899 msgid "Delete test result" msgstr "" -#: templates/js/translated/part.js:1511 +#: templates/js/translated/part.js:1692 msgid "This test is defined for a parent part" msgstr "" -#: templates/js/translated/part.js:1533 +#: templates/js/translated/part.js:1714 msgid "Edit Test Result Template" msgstr "" -#: templates/js/translated/part.js:1547 +#: templates/js/translated/part.js:1728 msgid "Delete Test Result Template" msgstr "" -#: templates/js/translated/part.js:1572 +#: templates/js/translated/part.js:1753 #, python-brace-format msgid "No ${human_name} information found" msgstr "" -#: templates/js/translated/part.js:1627 +#: templates/js/translated/part.js:1808 #, python-brace-format msgid "Edit ${human_name}" msgstr "" -#: templates/js/translated/part.js:1628 +#: templates/js/translated/part.js:1809 #, python-brace-format msgid "Delete ${human_name}" msgstr "" -#: templates/js/translated/part.js:1729 +#: templates/js/translated/part.js:1910 msgid "Single Price" msgstr "" -#: templates/js/translated/part.js:1748 +#: templates/js/translated/part.js:1929 msgid "Single Price Difference" msgstr "" @@ -7930,276 +7964,300 @@ msgstr "" msgid "Sales Order(s) must be selected before printing report" msgstr "" -#: templates/js/translated/stock.js:70 +#: templates/js/translated/stock.js:71 msgid "Serialize Stock Item" msgstr "" -#: templates/js/translated/stock.js:88 templates/js/translated/stock.js:167 +#: templates/js/translated/stock.js:89 templates/js/translated/stock.js:168 msgid "Next available serial number" msgstr "" -#: templates/js/translated/stock.js:90 templates/js/translated/stock.js:169 +#: templates/js/translated/stock.js:91 templates/js/translated/stock.js:170 msgid "Latest serial number" msgstr "" -#: templates/js/translated/stock.js:104 +#: templates/js/translated/stock.js:105 msgid "Parent stock location" msgstr "" -#: templates/js/translated/stock.js:140 +#: templates/js/translated/stock.js:141 msgid "New Stock Location" msgstr "" -#: templates/js/translated/stock.js:180 +#: templates/js/translated/stock.js:181 msgid "This part cannot be serialized" msgstr "" -#: templates/js/translated/stock.js:219 +#: templates/js/translated/stock.js:220 msgid "Enter initial quantity for this stock item" msgstr "" -#: templates/js/translated/stock.js:225 +#: templates/js/translated/stock.js:226 msgid "Enter serial numbers for new stock (or leave blank)" msgstr "" -#: templates/js/translated/stock.js:368 +#: templates/js/translated/stock.js:369 msgid "Created new stock item" msgstr "" -#: templates/js/translated/stock.js:381 +#: templates/js/translated/stock.js:382 msgid "Created multiple stock items" msgstr "" -#: templates/js/translated/stock.js:420 +#: templates/js/translated/stock.js:407 +msgid "Find Serial Number" +msgstr "" + +#: templates/js/translated/stock.js:411 templates/js/translated/stock.js:412 +msgid "Enter serial number" +msgstr "" + +#: templates/js/translated/stock.js:428 +msgid "Enter a serial number" +msgstr "" + +#: templates/js/translated/stock.js:448 +msgid "No matching serial number" +msgstr "" + +#: templates/js/translated/stock.js:457 +msgid "More than one matching result found" +msgstr "" + +#: templates/js/translated/stock.js:502 msgid "Export Stock" msgstr "" -#: templates/js/translated/stock.js:431 +#: templates/js/translated/stock.js:513 msgid "Include Sublocations" msgstr "" -#: templates/js/translated/stock.js:432 +#: templates/js/translated/stock.js:514 msgid "Include stock items in sublocations" msgstr "" -#: templates/js/translated/stock.js:474 +#: templates/js/translated/stock.js:556 msgid "Transfer Stock" msgstr "" -#: templates/js/translated/stock.js:475 +#: templates/js/translated/stock.js:557 msgid "Move" msgstr "" -#: templates/js/translated/stock.js:481 +#: templates/js/translated/stock.js:563 msgid "Count Stock" msgstr "" -#: templates/js/translated/stock.js:482 +#: templates/js/translated/stock.js:564 msgid "Count" msgstr "" -#: templates/js/translated/stock.js:486 +#: templates/js/translated/stock.js:568 msgid "Remove Stock" msgstr "" -#: templates/js/translated/stock.js:487 +#: templates/js/translated/stock.js:569 msgid "Take" msgstr "" -#: templates/js/translated/stock.js:491 +#: templates/js/translated/stock.js:573 msgid "Add Stock" msgstr "" -#: templates/js/translated/stock.js:492 users/models.py:200 +#: templates/js/translated/stock.js:574 users/models.py:200 msgid "Add" msgstr "" -#: templates/js/translated/stock.js:496 templates/stock_table.html:56 +#: templates/js/translated/stock.js:578 templates/stock_table.html:56 msgid "Delete Stock" msgstr "" -#: templates/js/translated/stock.js:585 +#: templates/js/translated/stock.js:667 msgid "Quantity cannot be adjusted for serialized stock" msgstr "" -#: templates/js/translated/stock.js:585 +#: templates/js/translated/stock.js:667 msgid "Specify stock quantity" msgstr "" -#: templates/js/translated/stock.js:625 +#: templates/js/translated/stock.js:707 msgid "You must select at least one available stock item" msgstr "" -#: templates/js/translated/stock.js:783 +#: templates/js/translated/stock.js:865 msgid "PASS" msgstr "" -#: templates/js/translated/stock.js:785 +#: templates/js/translated/stock.js:867 msgid "FAIL" msgstr "" -#: templates/js/translated/stock.js:790 +#: templates/js/translated/stock.js:872 msgid "NO RESULT" msgstr "" -#: templates/js/translated/stock.js:812 +#: templates/js/translated/stock.js:894 msgid "Add test result" msgstr "" -#: templates/js/translated/stock.js:838 +#: templates/js/translated/stock.js:920 msgid "No test results found" msgstr "" -#: templates/js/translated/stock.js:895 +#: templates/js/translated/stock.js:977 msgid "Test Date" msgstr "" -#: templates/js/translated/stock.js:1002 +#: templates/js/translated/stock.js:1084 msgid "In production" msgstr "" -#: templates/js/translated/stock.js:1006 +#: templates/js/translated/stock.js:1088 msgid "Installed in Stock Item" msgstr "" -#: templates/js/translated/stock.js:1010 +#: templates/js/translated/stock.js:1092 msgid "Shipped to customer" msgstr "" -#: templates/js/translated/stock.js:1014 +#: templates/js/translated/stock.js:1096 msgid "Assigned to Sales Order" msgstr "" -#: templates/js/translated/stock.js:1020 +#: templates/js/translated/stock.js:1102 msgid "No stock location set" msgstr "Stok konumu ayarlanmadı" -#: templates/js/translated/stock.js:1178 +#: templates/js/translated/stock.js:1260 msgid "Stock item is in production" msgstr "" -#: templates/js/translated/stock.js:1183 +#: templates/js/translated/stock.js:1265 msgid "Stock item assigned to sales order" msgstr "" -#: templates/js/translated/stock.js:1186 +#: templates/js/translated/stock.js:1268 msgid "Stock item assigned to customer" msgstr "" -#: templates/js/translated/stock.js:1190 +#: templates/js/translated/stock.js:1272 msgid "Stock item has expired" msgstr "" -#: templates/js/translated/stock.js:1192 +#: templates/js/translated/stock.js:1274 msgid "Stock item will expire soon" msgstr "" -#: templates/js/translated/stock.js:1196 +#: templates/js/translated/stock.js:1278 msgid "Stock item has been allocated" msgstr "" -#: templates/js/translated/stock.js:1200 +#: templates/js/translated/stock.js:1282 msgid "Stock item has been installed in another item" msgstr "" -#: templates/js/translated/stock.js:1207 +#: templates/js/translated/stock.js:1289 msgid "Stock item has been rejected" msgstr "" -#: templates/js/translated/stock.js:1209 +#: templates/js/translated/stock.js:1291 msgid "Stock item is lost" msgstr "" -#: templates/js/translated/stock.js:1211 +#: templates/js/translated/stock.js:1293 msgid "Stock item is destroyed" msgstr "" -#: templates/js/translated/stock.js:1215 +#: templates/js/translated/stock.js:1297 #: templates/js/translated/table_filters.js:183 msgid "Depleted" msgstr "" -#: templates/js/translated/stock.js:1265 +#: templates/js/translated/stock.js:1347 msgid "Stocktake" msgstr "" -#: templates/js/translated/stock.js:1338 +#: templates/js/translated/stock.js:1420 msgid "Supplier part not specified" msgstr "" -#: templates/js/translated/stock.js:1376 +#: templates/js/translated/stock.js:1458 msgid "No stock items matching query" msgstr "" -#: templates/js/translated/stock.js:1397 templates/js/translated/stock.js:1445 +#: templates/js/translated/stock.js:1479 templates/js/translated/stock.js:1527 msgid "items" msgstr "" -#: templates/js/translated/stock.js:1485 +#: templates/js/translated/stock.js:1567 msgid "batches" msgstr "" -#: templates/js/translated/stock.js:1512 +#: templates/js/translated/stock.js:1594 msgid "locations" msgstr "konumlar" -#: templates/js/translated/stock.js:1514 +#: templates/js/translated/stock.js:1596 msgid "Undefined location" msgstr "Tanımsız konum" -#: templates/js/translated/stock.js:1688 +#: templates/js/translated/stock.js:1770 msgid "Set Stock Status" msgstr "" -#: templates/js/translated/stock.js:1702 +#: templates/js/translated/stock.js:1784 msgid "Select Status Code" msgstr "" -#: templates/js/translated/stock.js:1703 +#: templates/js/translated/stock.js:1785 msgid "Status code must be selected" msgstr "" -#: templates/js/translated/stock.js:1927 +#: templates/js/translated/stock.js:2009 msgid "Invalid date" msgstr "" -#: templates/js/translated/stock.js:1974 +#: templates/js/translated/stock.js:2031 +msgid "Details" +msgstr "Detaylar" + +#: templates/js/translated/stock.js:2056 msgid "Location no longer exists" msgstr "Konum artık yok" -#: templates/js/translated/stock.js:1993 +#: templates/js/translated/stock.js:2075 msgid "Purchase order no longer exists" msgstr "" -#: templates/js/translated/stock.js:2012 +#: templates/js/translated/stock.js:2094 msgid "Customer no longer exists" msgstr "" -#: templates/js/translated/stock.js:2030 +#: templates/js/translated/stock.js:2112 msgid "Stock item no longer exists" msgstr "" -#: templates/js/translated/stock.js:2053 +#: templates/js/translated/stock.js:2135 msgid "Added" msgstr "" -#: templates/js/translated/stock.js:2061 +#: templates/js/translated/stock.js:2143 msgid "Removed" msgstr "" -#: templates/js/translated/stock.js:2102 +#: templates/js/translated/stock.js:2184 msgid "Edit tracking entry" msgstr "" -#: templates/js/translated/stock.js:2103 +#: templates/js/translated/stock.js:2185 msgid "Delete tracking entry" msgstr "" -#: templates/js/translated/stock.js:2154 +#: templates/js/translated/stock.js:2236 msgid "No installed items" msgstr "" -#: templates/js/translated/stock.js:2205 +#: templates/js/translated/stock.js:2287 msgid "Uninstall Stock Item" msgstr "" diff --git a/InvenTree/locale/vi/LC_MESSAGES/django.po b/InvenTree/locale/vi/LC_MESSAGES/django.po index ac32301153..8f72d43f63 100644 --- a/InvenTree/locale/vi/LC_MESSAGES/django.po +++ b/InvenTree/locale/vi/LC_MESSAGES/django.po @@ -2,8 +2,8 @@ msgid "" msgstr "" "Project-Id-Version: inventree\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2021-11-30 21:49+0000\n" -"PO-Revision-Date: 2021-11-30 21:51\n" +"POT-Creation-Date: 2021-12-03 10:37+0000\n" +"PO-Revision-Date: 2021-12-03 11:25\n" "Last-Translator: \n" "Language-Team: Vietnamese\n" "Language: vi_VN\n" @@ -114,129 +114,130 @@ msgstr "" msgid "Number of unique serial number ({s}) must match quantity ({q})" msgstr "" -#: InvenTree/models.py:114 +#: InvenTree/models.py:120 msgid "Missing file" msgstr "" -#: InvenTree/models.py:115 +#: InvenTree/models.py:121 msgid "Missing external link" msgstr "" -#: InvenTree/models.py:126 stock/models.py:1874 +#: InvenTree/models.py:132 stock/models.py:1864 #: templates/js/translated/attachment.js:117 msgid "Attachment" msgstr "" -#: InvenTree/models.py:127 +#: InvenTree/models.py:133 msgid "Select file to attach" msgstr "" -#: InvenTree/models.py:133 company/models.py:131 company/models.py:348 +#: InvenTree/models.py:139 company/models.py:131 company/models.py:348 #: company/models.py:564 order/models.py:163 part/models.py:797 #: report/templates/report/inventree_build_order_base.html:165 #: templates/js/translated/company.js:537 -#: templates/js/translated/company.js:826 templates/js/translated/part.js:1077 +#: templates/js/translated/company.js:826 templates/js/translated/part.js:1258 msgid "Link" msgstr "" -#: InvenTree/models.py:134 build/models.py:330 part/models.py:798 -#: stock/models.py:540 +#: InvenTree/models.py:140 build/models.py:330 part/models.py:798 +#: stock/models.py:530 msgid "Link to external URL" msgstr "" -#: InvenTree/models.py:137 templates/js/translated/attachment.js:161 +#: InvenTree/models.py:143 templates/js/translated/attachment.js:161 msgid "Comment" msgstr "Bình luận" -#: InvenTree/models.py:137 +#: InvenTree/models.py:143 msgid "File comment" msgstr "" -#: InvenTree/models.py:143 InvenTree/models.py:144 common/models.py:1185 +#: InvenTree/models.py:149 InvenTree/models.py:150 common/models.py:1185 #: common/models.py:1186 part/models.py:2205 part/models.py:2225 #: report/templates/report/inventree_test_report_base.html:96 -#: templates/js/translated/stock.js:2084 +#: templates/js/translated/stock.js:2166 msgid "User" msgstr "Người dùng" -#: InvenTree/models.py:147 +#: InvenTree/models.py:153 msgid "upload date" msgstr "Ngày tải lên" -#: InvenTree/models.py:170 +#: InvenTree/models.py:176 msgid "Filename must not be empty" msgstr "Tên tập tin không được để trống" -#: InvenTree/models.py:193 +#: InvenTree/models.py:199 msgid "Invalid attachment directory" msgstr "" -#: InvenTree/models.py:203 +#: InvenTree/models.py:209 #, python-brace-format msgid "Filename contains illegal character '{c}'" msgstr "" -#: InvenTree/models.py:206 +#: InvenTree/models.py:212 msgid "Filename missing extension" msgstr "" -#: InvenTree/models.py:213 +#: InvenTree/models.py:219 msgid "Attachment with this filename already exists" msgstr "" -#: InvenTree/models.py:220 +#: InvenTree/models.py:226 msgid "Error renaming file" msgstr "" -#: InvenTree/models.py:255 +#: InvenTree/models.py:261 msgid "Invalid choice" msgstr "" -#: InvenTree/models.py:271 InvenTree/models.py:272 company/models.py:415 +#: InvenTree/models.py:277 InvenTree/models.py:278 company/models.py:415 #: label/models.py:112 part/models.py:741 part/models.py:2389 -#: part/templates/part/detail.html:25 report/models.py:181 -#: templates/InvenTree/settings/settings.html:259 -#: templates/js/translated/company.js:638 templates/js/translated/part.js:499 -#: templates/js/translated/part.js:636 templates/js/translated/part.js:1384 -#: templates/js/translated/stock.js:1877 +#: report/models.py:181 templates/InvenTree/settings/settings.html:259 +#: templates/js/translated/company.js:638 templates/js/translated/part.js:506 +#: templates/js/translated/part.js:643 templates/js/translated/part.js:1565 +#: templates/js/translated/stock.js:1959 msgid "Name" msgstr "" -#: InvenTree/models.py:278 build/models.py:207 +#: InvenTree/models.py:284 build/models.py:207 #: build/templates/build/detail.html:25 company/models.py:354 -#: company/models.py:570 company/templates/company/manufacturer_part.html:80 -#: company/templates/company/supplier_part.html:81 label/models.py:119 -#: order/models.py:161 part/models.py:764 part/templates/part/detail.html:30 +#: company/models.py:570 company/templates/company/company_base.html:68 +#: company/templates/company/manufacturer_part.html:76 +#: company/templates/company/supplier_part.html:73 label/models.py:119 +#: order/models.py:161 part/models.py:764 part/templates/part/category.html:70 +#: part/templates/part/part_base.html:163 #: part/templates/part/set_category.html:14 report/models.py:194 #: report/models.py:553 report/models.py:592 #: report/templates/report/inventree_build_order_base.html:118 -#: stock/templates/stock/location.html:108 templates/js/translated/bom.js:215 +#: stock/templates/stock/location.html:89 templates/js/translated/bom.js:215 #: templates/js/translated/bom.js:428 templates/js/translated/build.js:1621 #: templates/js/translated/company.js:345 #: templates/js/translated/company.js:548 -#: templates/js/translated/company.js:837 templates/js/translated/order.js:673 -#: templates/js/translated/order.js:855 templates/js/translated/order.js:1091 -#: templates/js/translated/part.js:558 templates/js/translated/part.js:752 -#: templates/js/translated/part.js:837 templates/js/translated/part.js:1007 -#: templates/js/translated/part.js:1403 templates/js/translated/part.js:1472 -#: templates/js/translated/stock.js:1151 templates/js/translated/stock.js:1889 -#: templates/js/translated/stock.js:1934 +#: templates/js/translated/company.js:837 templates/js/translated/order.js:680 +#: templates/js/translated/order.js:854 templates/js/translated/order.js:1090 +#: templates/js/translated/part.js:565 templates/js/translated/part.js:933 +#: templates/js/translated/part.js:1018 templates/js/translated/part.js:1188 +#: templates/js/translated/part.js:1584 templates/js/translated/part.js:1653 +#: templates/js/translated/stock.js:1233 templates/js/translated/stock.js:1971 +#: templates/js/translated/stock.js:2016 msgid "Description" msgstr "Mô tả" -#: InvenTree/models.py:279 +#: InvenTree/models.py:285 msgid "Description (optional)" msgstr "Mô tả (tùy chọn)" -#: InvenTree/models.py:287 +#: InvenTree/models.py:293 msgid "parent" msgstr "" -#: InvenTree/serializers.py:62 part/models.py:2674 +#: InvenTree/serializers.py:65 part/models.py:2674 msgid "Must be a valid number" msgstr "" -#: InvenTree/serializers.py:285 +#: InvenTree/serializers.py:299 msgid "Filename" msgstr "Tên tập tin" @@ -361,7 +362,7 @@ msgid "Returned" msgstr "" #: InvenTree/status_codes.py:143 -#: order/templates/order/sales_order_base.html:147 +#: order/templates/order/sales_order_base.html:148 msgid "Shipped" msgstr "" @@ -566,7 +567,7 @@ msgid "Barcode associated with StockItem" msgstr "" #: build/forms.py:36 build/models.py:1283 -#: build/templates/build/build_base.html:124 +#: build/templates/build/build_base.html:132 #: build/templates/build/detail.html:35 common/models.py:1225 #: company/forms.py:42 company/templates/company/supplier_part.html:251 #: order/forms.py:102 order/models.py:729 order/models.py:991 @@ -574,26 +575,27 @@ msgstr "" #: order/templates/order/order_wizard/select_parts.html:34 part/forms.py:223 #: part/forms.py:239 part/forms.py:255 part/models.py:2576 #: part/templates/part/bom_upload/match_parts.html:31 -#: part/templates/part/detail.html:1076 part/templates/part/detail.html:1162 +#: part/templates/part/detail.html:967 part/templates/part/detail.html:1053 #: part/templates/part/part_pricing.html:16 #: report/templates/report/inventree_build_order_base.html:114 #: report/templates/report/inventree_po_report.html:91 #: report/templates/report/inventree_so_report.html:91 #: report/templates/report/inventree_test_report_base.html:81 #: report/templates/report/inventree_test_report_base.html:139 -#: stock/forms.py:156 stock/serializers.py:286 -#: stock/templates/stock/item_base.html:256 +#: stock/forms.py:156 stock/serializers.py:291 +#: stock/templates/stock/item_base.html:174 #: templates/js/translated/barcode.js:385 templates/js/translated/bom.js:443 #: templates/js/translated/build.js:235 templates/js/translated/build.js:435 #: templates/js/translated/build.js:629 templates/js/translated/build.js:639 #: templates/js/translated/build.js:1015 templates/js/translated/build.js:1362 #: templates/js/translated/model_renderers.js:99 -#: templates/js/translated/order.js:892 templates/js/translated/order.js:1205 -#: templates/js/translated/order.js:1283 templates/js/translated/order.js:1290 -#: templates/js/translated/order.js:1379 templates/js/translated/order.js:1479 -#: templates/js/translated/part.js:1615 templates/js/translated/part.js:1738 -#: templates/js/translated/part.js:1816 templates/js/translated/stock.js:377 -#: templates/js/translated/stock.js:2069 templates/js/translated/stock.js:2171 +#: templates/js/translated/order.js:891 templates/js/translated/order.js:1204 +#: templates/js/translated/order.js:1282 templates/js/translated/order.js:1289 +#: templates/js/translated/order.js:1378 templates/js/translated/order.js:1478 +#: templates/js/translated/part.js:843 templates/js/translated/part.js:1796 +#: templates/js/translated/part.js:1919 templates/js/translated/part.js:1997 +#: templates/js/translated/stock.js:378 templates/js/translated/stock.js:2151 +#: templates/js/translated/stock.js:2253 msgid "Quantity" msgstr "" @@ -602,8 +604,8 @@ msgid "Enter quantity for build output" msgstr "" #: build/forms.py:41 order/forms.py:96 stock/forms.py:95 -#: stock/serializers.py:307 templates/js/translated/stock.js:224 -#: templates/js/translated/stock.js:378 +#: stock/serializers.py:312 templates/js/translated/stock.js:225 +#: templates/js/translated/stock.js:379 msgid "Serial Numbers" msgstr "" @@ -646,7 +648,7 @@ msgstr "Tạo đơn hàng" #: build/templates/build/index.html:8 build/templates/build/index.html:12 #: order/templates/order/sales_order_detail.html:42 #: order/templates/order/so_sidebar.html:7 -#: part/templates/part/part_sidebar.html:22 templates/InvenTree/index.html:221 +#: part/templates/part/part_sidebar.html:20 templates/InvenTree/index.html:221 #: templates/InvenTree/search.html:145 #: templates/InvenTree/settings/sidebar.html:42 users/models.py:44 msgid "Build Orders" @@ -662,7 +664,7 @@ msgstr "" #: report/templates/report/inventree_po_report.html:92 #: report/templates/report/inventree_so_report.html:92 #: templates/js/translated/bom.js:435 templates/js/translated/build.js:1119 -#: templates/js/translated/order.js:886 templates/js/translated/order.js:1473 +#: templates/js/translated/order.js:885 templates/js/translated/order.js:1472 msgid "Reference" msgstr "" @@ -670,7 +672,7 @@ msgstr "" msgid "Brief description of the build" msgstr "" -#: build/models.py:219 build/templates/build/build_base.html:156 +#: build/models.py:219 build/templates/build/build_base.html:164 #: build/templates/build/detail.html:88 msgid "Parent Build" msgstr "" @@ -679,7 +681,7 @@ msgstr "" msgid "BuildOrder to which this build is allocated" msgstr "" -#: build/models.py:225 build/templates/build/build_base.html:119 +#: build/models.py:225 build/templates/build/build_base.html:77 #: build/templates/build/detail.html:30 company/models.py:705 #: order/models.py:789 order/models.py:860 #: order/templates/order/order_wizard/select_parts.html:32 part/models.py:357 @@ -700,10 +702,10 @@ msgstr "" #: templates/js/translated/build.js:988 templates/js/translated/build.js:1359 #: templates/js/translated/build.js:1626 templates/js/translated/company.js:489 #: templates/js/translated/company.js:746 templates/js/translated/order.js:426 -#: templates/js/translated/order.js:840 templates/js/translated/order.js:1457 -#: templates/js/translated/part.js:737 templates/js/translated/part.js:818 -#: templates/js/translated/part.js:985 templates/js/translated/stock.js:508 -#: templates/js/translated/stock.js:1108 templates/js/translated/stock.js:2159 +#: templates/js/translated/order.js:839 templates/js/translated/order.js:1456 +#: templates/js/translated/part.js:918 templates/js/translated/part.js:999 +#: templates/js/translated/part.js:1166 templates/js/translated/stock.js:590 +#: templates/js/translated/stock.js:1190 templates/js/translated/stock.js:2241 msgid "Part" msgstr "Nguyên liệu" @@ -751,7 +753,7 @@ msgstr "" msgid "Number of stock items which have been completed" msgstr "" -#: build/models.py:277 part/templates/part/part_base.html:216 +#: build/models.py:277 part/templates/part/part_base.html:234 msgid "Build Status" msgstr "" @@ -759,7 +761,7 @@ msgstr "" msgid "Build status code" msgstr "" -#: build/models.py:285 stock/models.py:544 +#: build/models.py:285 stock/models.py:534 msgid "Batch Code" msgstr "" @@ -768,7 +770,7 @@ msgid "Batch code for this build output" msgstr "" #: build/models.py:292 order/models.py:165 part/models.py:936 -#: part/templates/part/detail.html:86 templates/js/translated/order.js:1104 +#: part/templates/part/part_base.html:313 templates/js/translated/order.js:1103 msgid "Creation Date" msgstr "" @@ -797,12 +799,12 @@ msgstr "" msgid "User who issued this build order" msgstr "" -#: build/models.py:323 build/templates/build/build_base.html:177 +#: build/models.py:323 build/templates/build/build_base.html:185 #: build/templates/build/detail.html:116 order/models.py:179 -#: order/templates/order/order_base.html:154 -#: order/templates/order/sales_order_base.html:161 part/models.py:940 +#: order/templates/order/order_base.html:158 +#: order/templates/order/sales_order_base.html:162 part/models.py:940 #: report/templates/report/inventree_build_order_base.html:159 -#: templates/js/translated/build.js:1680 templates/js/translated/order.js:700 +#: templates/js/translated/build.js:1680 templates/js/translated/order.js:699 msgid "Responsible" msgstr "" @@ -811,10 +813,10 @@ msgid "User responsible for this build order" msgstr "" #: build/models.py:329 build/templates/build/detail.html:102 -#: company/templates/company/manufacturer_part.html:87 -#: company/templates/company/supplier_part.html:88 -#: part/templates/part/detail.html:80 stock/models.py:538 -#: stock/templates/stock/item_base.html:346 +#: company/templates/company/manufacturer_part.html:102 +#: company/templates/company/supplier_part.html:126 +#: part/templates/part/part_base.html:354 stock/models.py:528 +#: stock/templates/stock/item_base.html:374 msgid "External Link" msgstr "" @@ -824,15 +826,15 @@ msgstr "" #: order/models.py:183 order/models.py:738 #: order/templates/order/po_sidebar.html:11 #: order/templates/order/so_sidebar.html:11 part/models.py:925 -#: part/templates/part/detail.html:223 part/templates/part/part_sidebar.html:52 +#: part/templates/part/detail.html:116 part/templates/part/part_sidebar.html:50 #: report/templates/report/inventree_build_order_base.html:173 -#: stock/forms.py:154 stock/forms.py:204 stock/forms.py:238 stock/models.py:610 -#: stock/models.py:1774 stock/models.py:1880 stock/serializers.py:325 -#: stock/serializers.py:583 stock/templates/stock/stock_sidebar.html:21 +#: stock/forms.py:154 stock/forms.py:204 stock/forms.py:238 stock/models.py:600 +#: stock/models.py:1764 stock/models.py:1870 stock/serializers.py:330 +#: stock/serializers.py:588 stock/templates/stock/stock_sidebar.html:21 #: templates/js/translated/barcode.js:58 templates/js/translated/bom.js:599 -#: templates/js/translated/company.js:842 templates/js/translated/order.js:985 -#: templates/js/translated/order.js:1583 templates/js/translated/stock.js:891 -#: templates/js/translated/stock.js:1370 +#: templates/js/translated/company.js:842 templates/js/translated/order.js:984 +#: templates/js/translated/order.js:1582 templates/js/translated/stock.js:973 +#: templates/js/translated/stock.js:1452 msgid "Notes" msgstr "" @@ -877,7 +879,7 @@ msgstr "" msgid "Selected stock item not found in BOM" msgstr "" -#: build/models.py:1253 stock/templates/stock/item_base.html:318 +#: build/models.py:1253 stock/templates/stock/item_base.html:346 #: templates/InvenTree/search.html:143 templates/js/translated/build.js:1599 #: templates/navbar.html:33 msgid "Build" @@ -890,11 +892,11 @@ msgstr "" #: build/models.py:1270 build/serializers.py:328 #: stock/templates/stock/item_base.html:8 #: stock/templates/stock/item_base.html:16 -#: stock/templates/stock/item_base.html:340 +#: stock/templates/stock/item_base.html:368 #: templates/js/translated/build.js:408 templates/js/translated/build.js:413 #: templates/js/translated/build.js:1361 templates/js/translated/build.js:1742 -#: templates/js/translated/order.js:1178 templates/js/translated/order.js:1183 -#: templates/js/translated/stock.js:2020 +#: templates/js/translated/order.js:1177 templates/js/translated/order.js:1182 +#: templates/js/translated/stock.js:2102 msgid "Stock Item" msgstr "" @@ -934,16 +936,16 @@ msgstr "" msgid "This build output is not fully allocated" msgstr "" -#: build/serializers.py:190 order/serializers.py:219 order/serializers.py:287 -#: stock/forms.py:236 stock/serializers.py:318 stock/serializers.py:685 -#: stock/templates/stock/item_base.html:286 +#: build/serializers.py:190 order/serializers.py:228 order/serializers.py:296 +#: stock/forms.py:236 stock/serializers.py:323 stock/serializers.py:690 +#: stock/templates/stock/item_base.html:314 #: templates/js/translated/barcode.js:384 #: templates/js/translated/barcode.js:557 templates/js/translated/build.js:420 #: templates/js/translated/build.js:1027 templates/js/translated/order.js:348 -#: templates/js/translated/order.js:1190 templates/js/translated/order.js:1298 -#: templates/js/translated/order.js:1304 templates/js/translated/part.js:181 -#: templates/js/translated/stock.js:510 templates/js/translated/stock.js:1251 -#: templates/js/translated/stock.js:1961 +#: templates/js/translated/order.js:1189 templates/js/translated/order.js:1297 +#: templates/js/translated/order.js:1303 templates/js/translated/part.js:177 +#: templates/js/translated/stock.js:592 templates/js/translated/stock.js:1333 +#: templates/js/translated/stock.js:2043 msgid "Location" msgstr "" @@ -951,13 +953,13 @@ msgstr "" msgid "Location for completed build outputs" msgstr "" -#: build/serializers.py:197 build/templates/build/build_base.html:129 +#: build/serializers.py:197 build/templates/build/build_base.html:137 #: build/templates/build/detail.html:63 order/models.py:572 -#: order/serializers.py:240 stock/templates/stock/item_base.html:409 +#: order/serializers.py:249 stock/templates/stock/item_base.html:180 #: templates/js/translated/barcode.js:140 templates/js/translated/build.js:1655 -#: templates/js/translated/order.js:431 templates/js/translated/order.js:677 -#: templates/js/translated/order.js:1096 templates/js/translated/stock.js:1226 -#: templates/js/translated/stock.js:2038 templates/js/translated/stock.js:2187 +#: templates/js/translated/order.js:431 templates/js/translated/order.js:1095 +#: templates/js/translated/stock.js:1308 templates/js/translated/stock.js:2120 +#: templates/js/translated/stock.js:2269 msgid "Status" msgstr "Trạng thái" @@ -986,8 +988,8 @@ msgstr "" msgid "Item must be in stock" msgstr "" -#: build/serializers.py:348 order/models.py:316 order/serializers.py:233 -#: stock/models.py:381 stock/models.py:1103 stock/serializers.py:298 +#: build/serializers.py:348 order/models.py:316 order/serializers.py:242 +#: stock/models.py:371 stock/models.py:1093 stock/serializers.py:303 msgid "Quantity must be greater than zero" msgstr "" @@ -1031,7 +1033,7 @@ msgid "Edit Build" msgstr "" #: build/templates/build/build_base.html:56 -#: build/templates/build/build_base.html:207 build/views.py:56 +#: build/templates/build/build_base.html:215 build/views.py:56 msgid "Cancel Build" msgstr "" @@ -1041,93 +1043,95 @@ msgstr "" #: build/templates/build/build_base.html:64 #: build/templates/build/build_base.html:65 -#: build/templates/build/build_base.html:223 +#: build/templates/build/build_base.html:231 msgid "Complete Build" msgstr "" -#: build/templates/build/build_base.html:79 +#: build/templates/build/build_base.html:82 +msgid "Build Description" +msgstr "" + +#: build/templates/build/build_base.html:91 #, python-format msgid "This Build Order is allocated to Sales Order %(link)s" msgstr "" -#: build/templates/build/build_base.html:86 +#: build/templates/build/build_base.html:98 #, python-format msgid "This Build Order is a child of Build Order %(link)s" msgstr "" -#: build/templates/build/build_base.html:93 +#: build/templates/build/build_base.html:105 msgid "Build Order is ready to mark as completed" msgstr "" -#: build/templates/build/build_base.html:98 +#: build/templates/build/build_base.html:110 msgid "Build Order cannot be completed as outstanding outputs remain" msgstr "" -#: build/templates/build/build_base.html:103 +#: build/templates/build/build_base.html:115 msgid "Required build quantity has not yet been completed" msgstr "" -#: build/templates/build/build_base.html:108 +#: build/templates/build/build_base.html:120 msgid "Stock has not been fully allocated to this Build Order" msgstr "" -#: build/templates/build/build_base.html:138 +#: build/templates/build/build_base.html:146 #: build/templates/build/detail.html:132 -#: order/templates/order/order_base.html:140 -#: order/templates/order/sales_order_base.html:140 +#: order/templates/order/order_base.html:144 +#: order/templates/order/sales_order_base.html:141 #: report/templates/report/inventree_build_order_base.html:126 -#: templates/js/translated/build.js:1692 templates/js/translated/order.js:690 -#: templates/js/translated/order.js:1109 +#: templates/js/translated/build.js:1692 templates/js/translated/order.js:689 +#: templates/js/translated/order.js:1108 msgid "Target Date" msgstr "" -#: build/templates/build/build_base.html:143 +#: build/templates/build/build_base.html:151 #, python-format msgid "This build was due on %(target)s" msgstr "" -#: build/templates/build/build_base.html:143 -#: build/templates/build/build_base.html:188 -#: order/templates/order/order_base.html:81 -#: order/templates/order/order_base.html:102 -#: order/templates/order/sales_order_base.html:78 -#: order/templates/order/sales_order_base.html:107 +#: build/templates/build/build_base.html:151 +#: build/templates/build/build_base.html:196 +#: order/templates/order/order_base.html:98 +#: order/templates/order/sales_order_base.html:93 #: templates/js/translated/table_filters.js:294 #: templates/js/translated/table_filters.js:322 #: templates/js/translated/table_filters.js:339 msgid "Overdue" msgstr "" -#: build/templates/build/build_base.html:150 +#: build/templates/build/build_base.html:158 #: build/templates/build/detail.html:68 build/templates/build/detail.html:143 #: templates/js/translated/build.js:1641 #: templates/js/translated/table_filters.js:304 msgid "Completed" msgstr "Đã hoàn thành" -#: build/templates/build/build_base.html:163 +#: build/templates/build/build_base.html:171 #: build/templates/build/detail.html:95 order/models.py:857 #: order/templates/order/sales_order_base.html:9 #: order/templates/order/sales_order_base.html:28 #: order/templates/order/sales_order_ship.html:25 #: report/templates/report/inventree_build_order_base.html:136 #: report/templates/report/inventree_so_report.html:77 -#: stock/templates/stock/item_base.html:280 -#: templates/js/translated/order.js:1051 +#: stock/templates/stock/item_base.html:308 +#: templates/js/translated/order.js:1050 msgid "Sales Order" msgstr "" -#: build/templates/build/build_base.html:170 +#: build/templates/build/build_base.html:178 #: build/templates/build/detail.html:109 #: report/templates/report/inventree_build_order_base.html:153 msgid "Issued By" msgstr "" -#: build/templates/build/build_base.html:215 +#: build/templates/build/build_base.html:223 msgid "Incomplete Outputs" msgstr "" -#: build/templates/build/build_base.html:216 +#: build/templates/build/build_base.html:224 msgid "Build Order cannot be completed as incomplete build outputs remain" msgstr "" @@ -1188,7 +1192,7 @@ msgid "Stock can be taken from any available location." msgstr "" #: build/templates/build/detail.html:50 order/models.py:811 stock/forms.py:150 -#: templates/js/translated/order.js:432 templates/js/translated/order.js:974 +#: templates/js/translated/order.js:432 templates/js/translated/order.js:973 msgid "Destination" msgstr "" @@ -1201,16 +1205,16 @@ msgid "Allocated Parts" msgstr "" #: build/templates/build/detail.html:81 -#: stock/templates/stock/item_base.html:304 -#: templates/js/translated/stock.js:1240 templates/js/translated/stock.js:2194 +#: stock/templates/stock/item_base.html:332 +#: templates/js/translated/stock.js:1322 templates/js/translated/stock.js:2276 #: templates/js/translated/table_filters.js:151 #: templates/js/translated/table_filters.js:233 msgid "Batch" msgstr "" #: build/templates/build/detail.html:127 -#: order/templates/order/order_base.html:127 -#: order/templates/order/sales_order_base.html:134 +#: order/templates/order/order_base.html:131 +#: order/templates/order/sales_order_base.html:135 #: templates/js/translated/build.js:1663 msgid "Created" msgstr "" @@ -1254,7 +1258,7 @@ msgstr "" #: build/templates/build/detail.html:185 #: company/templates/company/detail.html:38 #: company/templates/company/detail.html:85 order/views.py:509 -#: part/templates/part/category.html:166 +#: part/templates/part/category.html:173 msgid "Order Parts" msgstr "" @@ -1306,8 +1310,8 @@ msgstr "" #: order/templates/order/po_sidebar.html:9 #: order/templates/order/purchase_order_detail.html:60 #: order/templates/order/sales_order_detail.html:52 -#: order/templates/order/so_sidebar.html:9 part/templates/part/detail.html:300 -#: part/templates/part/part_sidebar.html:50 stock/templates/stock/item.html:95 +#: order/templates/order/so_sidebar.html:9 part/templates/part/detail.html:193 +#: part/templates/part/part_sidebar.html:48 stock/templates/stock/item.html:95 #: stock/templates/stock/stock_sidebar.html:19 msgid "Attachments" msgstr "" @@ -1323,7 +1327,7 @@ msgstr "" #: order/templates/order/purchase_order_detail.html:108 #: order/templates/order/sales_order_detail.html:72 #: order/templates/order/sales_order_detail.html:99 -#: part/templates/part/detail.html:227 stock/templates/stock/item.html:115 +#: part/templates/part/detail.html:120 stock/templates/stock/item.html:115 #: stock/templates/stock/item.html:205 msgid "Edit Notes" msgstr "" @@ -1336,7 +1340,7 @@ msgstr "" msgid "All untracked stock items have been allocated" msgstr "" -#: build/templates/build/index.html:18 part/templates/part/detail.html:407 +#: build/templates/build/index.html:18 part/templates/part/detail.html:300 msgid "New Build Order" msgstr "" @@ -1380,7 +1384,7 @@ msgstr "" msgid "Maximum output quantity is " msgstr "" -#: build/views.py:122 stock/serializers.py:356 stock/views.py:1290 +#: build/views.py:122 stock/serializers.py:361 stock/views.py:1290 msgid "Serial numbers already exist" msgstr "" @@ -1675,7 +1679,7 @@ msgid "Parts are trackable by default" msgstr "" #: common/models.py:745 part/models.py:920 -#: part/templates/part/part_base.html:144 +#: part/templates/part/part_base.html:147 #: templates/js/translated/table_filters.js:42 msgid "Virtual" msgstr "" @@ -2142,7 +2146,7 @@ msgstr "" #: common/models.py:1233 company/serializers.py:264 #: company/templates/company/supplier_part.html:256 -#: templates/js/translated/part.js:1620 +#: templates/js/translated/part.js:852 templates/js/translated/part.js:1801 msgid "Price" msgstr "" @@ -2206,7 +2210,7 @@ msgstr "" msgid "Description of the company" msgstr "" -#: company/models.py:112 company/templates/company/company_base.html:70 +#: company/models.py:112 company/templates/company/company_base.html:97 #: templates/js/translated/company.js:349 msgid "Website" msgstr "" @@ -2215,7 +2219,7 @@ msgstr "" msgid "Company website URL" msgstr "" -#: company/models.py:117 company/templates/company/company_base.html:88 +#: company/models.py:117 company/templates/company/company_base.html:115 msgid "Address" msgstr "" @@ -2231,7 +2235,7 @@ msgstr "" msgid "Contact phone number" msgstr "" -#: company/models.py:125 company/templates/company/company_base.html:102 +#: company/models.py:125 company/templates/company/company_base.html:129 #: templates/InvenTree/settings/user.html:47 msgid "Email" msgstr "" @@ -2240,7 +2244,7 @@ msgstr "" msgid "Contact email address" msgstr "" -#: company/models.py:128 company/templates/company/company_base.html:109 +#: company/models.py:128 company/templates/company/company_base.html:136 msgid "Contact" msgstr "" @@ -2281,7 +2285,7 @@ msgid "Does this company manufacture parts?" msgstr "" #: company/models.py:152 company/serializers.py:270 -#: company/templates/company/company_base.html:76 stock/serializers.py:172 +#: company/templates/company/company_base.html:103 stock/serializers.py:177 msgid "Currency" msgstr "" @@ -2289,8 +2293,8 @@ msgstr "" msgid "Default currency used for this company" msgstr "" -#: company/models.py:320 company/models.py:535 stock/models.py:484 -#: stock/templates/stock/item_base.html:224 +#: company/models.py:320 company/models.py:535 stock/models.py:474 +#: stock/templates/stock/item_base.html:135 msgid "Base Part" msgstr "" @@ -2298,29 +2302,29 @@ msgstr "" msgid "Select part" msgstr "" -#: company/models.py:335 company/templates/company/company_base.html:116 -#: company/templates/company/manufacturer_part.html:93 -#: company/templates/company/supplier_part.html:104 -#: stock/templates/stock/item_base.html:353 +#: company/models.py:335 company/templates/company/company_base.html:73 +#: company/templates/company/manufacturer_part.html:91 +#: company/templates/company/supplier_part.html:97 +#: stock/templates/stock/item_base.html:381 #: templates/js/translated/company.js:333 #: templates/js/translated/company.js:514 -#: templates/js/translated/company.js:797 templates/js/translated/part.js:229 +#: templates/js/translated/company.js:797 templates/js/translated/part.js:232 msgid "Manufacturer" msgstr "Nhà sản xuất" -#: company/models.py:336 templates/js/translated/part.js:230 +#: company/models.py:336 templates/js/translated/part.js:233 msgid "Select manufacturer" msgstr "" -#: company/models.py:342 company/templates/company/manufacturer_part.html:97 -#: company/templates/company/supplier_part.html:112 +#: company/models.py:342 company/templates/company/manufacturer_part.html:96 +#: company/templates/company/supplier_part.html:105 #: templates/js/translated/company.js:530 -#: templates/js/translated/company.js:815 templates/js/translated/order.js:874 -#: templates/js/translated/part.js:240 +#: templates/js/translated/company.js:815 templates/js/translated/order.js:873 +#: templates/js/translated/part.js:243 templates/js/translated/part.js:832 msgid "MPN" msgstr "" -#: company/models.py:343 templates/js/translated/part.js:241 +#: company/models.py:343 templates/js/translated/part.js:244 msgid "Manufacturer Part Number" msgstr "" @@ -2335,7 +2339,7 @@ msgstr "" #: company/models.py:409 company/models.py:558 #: company/templates/company/manufacturer_part.html:6 #: company/templates/company/manufacturer_part.html:23 -#: stock/templates/stock/item_base.html:363 +#: stock/templates/stock/item_base.html:391 msgid "Manufacturer Part" msgstr "" @@ -2345,8 +2349,8 @@ msgstr "" #: company/models.py:422 #: report/templates/report/inventree_test_report_base.html:95 -#: stock/models.py:1867 templates/js/translated/company.js:644 -#: templates/js/translated/part.js:645 templates/js/translated/stock.js:878 +#: stock/models.py:1857 templates/js/translated/company.js:644 +#: templates/js/translated/part.js:652 templates/js/translated/stock.js:960 msgid "Value" msgstr "" @@ -2355,9 +2359,9 @@ msgid "Parameter value" msgstr "" #: company/models.py:429 part/models.py:882 part/models.py:2397 -#: part/templates/part/detail.html:59 +#: part/templates/part/part_base.html:288 #: templates/InvenTree/settings/settings.html:264 -#: templates/js/translated/company.js:650 templates/js/translated/part.js:651 +#: templates/js/translated/company.js:650 templates/js/translated/part.js:658 msgid "Units" msgstr "" @@ -2369,28 +2373,28 @@ msgstr "" msgid "Linked manufacturer part must reference the same base part" msgstr "" -#: company/models.py:545 company/templates/company/company_base.html:121 -#: company/templates/company/supplier_part.html:94 order/models.py:263 -#: order/templates/order/order_base.html:108 +#: company/models.py:545 company/templates/company/company_base.html:78 +#: company/templates/company/supplier_part.html:87 order/models.py:263 +#: order/templates/order/order_base.html:112 #: order/templates/order/order_wizard/select_pos.html:30 part/bom.py:219 -#: part/bom.py:247 stock/templates/stock/item_base.html:370 +#: part/bom.py:247 stock/templates/stock/item_base.html:398 #: templates/js/translated/company.js:337 -#: templates/js/translated/company.js:771 templates/js/translated/order.js:660 -#: templates/js/translated/part.js:210 +#: templates/js/translated/company.js:771 templates/js/translated/order.js:667 +#: templates/js/translated/part.js:213 templates/js/translated/part.js:800 msgid "Supplier" msgstr "Nhà cung cấp" -#: company/models.py:546 templates/js/translated/part.js:211 +#: company/models.py:546 templates/js/translated/part.js:214 msgid "Select supplier" msgstr "" -#: company/models.py:551 company/templates/company/supplier_part.html:98 -#: part/bom.py:220 part/bom.py:248 templates/js/translated/order.js:861 -#: templates/js/translated/part.js:221 +#: company/models.py:551 company/templates/company/supplier_part.html:91 +#: part/bom.py:220 part/bom.py:248 templates/js/translated/order.js:860 +#: templates/js/translated/part.js:224 templates/js/translated/part.js:818 msgid "SKU" msgstr "" -#: company/models.py:552 templates/js/translated/part.js:222 +#: company/models.py:552 templates/js/translated/part.js:225 msgid "Supplier stock keeping unit" msgstr "" @@ -2406,7 +2410,7 @@ msgstr "" msgid "Supplier part description" msgstr "" -#: company/models.py:576 company/templates/company/supplier_part.html:126 +#: company/models.py:576 company/templates/company/supplier_part.html:119 #: part/models.py:2588 report/templates/report/inventree_po_report.html:93 #: report/templates/report/inventree_so_report.html:93 msgid "Note" @@ -2420,9 +2424,9 @@ msgstr "" msgid "Minimum charge (e.g. stocking fee)" msgstr "" -#: company/models.py:582 company/templates/company/supplier_part.html:119 -#: stock/models.py:507 stock/templates/stock/item_base.html:311 -#: templates/js/translated/company.js:847 templates/js/translated/stock.js:1366 +#: company/models.py:582 company/templates/company/supplier_part.html:112 +#: stock/models.py:497 stock/templates/stock/item_base.html:339 +#: templates/js/translated/company.js:847 templates/js/translated/stock.js:1448 msgid "Packaging" msgstr "" @@ -2457,43 +2461,56 @@ msgstr "" msgid "Create Purchase Order" msgstr "" -#: company/templates/company/company_base.html:27 +#: company/templates/company/company_base.html:26 +msgid "Company actions" +msgstr "" + +#: company/templates/company/company_base.html:31 msgid "Edit company information" msgstr "" #: company/templates/company/company_base.html:32 -#: company/templates/company/company_base.html:148 +#: templates/js/translated/company.js:265 +msgid "Edit Company" +msgstr "" + +#: company/templates/company/company_base.html:36 +msgid "Delete company" +msgstr "" + +#: company/templates/company/company_base.html:37 +#: company/templates/company/company_base.html:159 msgid "Delete Company" msgstr "" -#: company/templates/company/company_base.html:48 +#: company/templates/company/company_base.html:53 #: part/templates/part/part_thumb.html:12 msgid "Upload new image" msgstr "" -#: company/templates/company/company_base.html:51 +#: company/templates/company/company_base.html:56 #: part/templates/part/part_thumb.html:14 msgid "Download image from URL" msgstr "" -#: company/templates/company/company_base.html:81 -msgid "Uses default currency" -msgstr "" - -#: company/templates/company/company_base.html:95 -msgid "Phone" -msgstr "" - -#: company/templates/company/company_base.html:126 order/models.py:567 -#: order/templates/order/sales_order_base.html:114 stock/models.py:525 -#: stock/models.py:526 stock/templates/stock/item_base.html:263 -#: templates/js/translated/company.js:329 templates/js/translated/order.js:1073 -#: templates/js/translated/stock.js:2002 +#: company/templates/company/company_base.html:83 order/models.py:567 +#: order/templates/order/sales_order_base.html:115 stock/models.py:515 +#: stock/models.py:516 stock/templates/stock/item_base.html:291 +#: templates/js/translated/company.js:329 templates/js/translated/order.js:1072 +#: templates/js/translated/stock.js:2084 msgid "Customer" msgstr "" -#: company/templates/company/company_base.html:194 -#: part/templates/part/part_base.html:342 +#: company/templates/company/company_base.html:108 +msgid "Uses default currency" +msgstr "" + +#: company/templates/company/company_base.html:122 +msgid "Phone" +msgstr "" + +#: company/templates/company/company_base.html:205 +#: part/templates/part/part_base.html:471 msgid "Upload Image" msgstr "" @@ -2509,23 +2526,23 @@ msgid "Create new supplier part" msgstr "" #: company/templates/company/detail.html:20 -#: company/templates/company/manufacturer_part.html:112 -#: part/templates/part/detail.html:440 +#: company/templates/company/manufacturer_part.html:118 +#: part/templates/part/detail.html:333 msgid "New Supplier Part" msgstr "" #: company/templates/company/detail.html:32 #: company/templates/company/detail.html:79 -#: company/templates/company/manufacturer_part.html:121 -#: company/templates/company/manufacturer_part.html:150 -#: part/templates/part/category.html:160 part/templates/part/detail.html:449 -#: part/templates/part/detail.html:477 +#: company/templates/company/manufacturer_part.html:127 +#: company/templates/company/manufacturer_part.html:156 +#: part/templates/part/category.html:167 part/templates/part/detail.html:342 +#: part/templates/part/detail.html:370 msgid "Options" msgstr "" #: company/templates/company/detail.html:37 #: company/templates/company/detail.html:84 -#: part/templates/part/category.html:166 +#: part/templates/part/category.html:173 msgid "Order parts" msgstr "" @@ -2547,7 +2564,7 @@ msgstr "" msgid "Create new manufacturer part" msgstr "" -#: company/templates/company/detail.html:67 part/templates/part/detail.html:467 +#: company/templates/company/detail.html:67 part/templates/part/detail.html:360 msgid "New Manufacturer Part" msgstr "" @@ -2561,7 +2578,7 @@ msgstr "" #: order/templates/order/order_base.html:13 #: order/templates/order/purchase_orders.html:8 #: order/templates/order/purchase_orders.html:12 -#: part/templates/part/detail.html:171 part/templates/part/part_sidebar.html:35 +#: part/templates/part/detail.html:64 part/templates/part/part_sidebar.html:33 #: templates/InvenTree/index.html:252 templates/InvenTree/search.html:203 #: templates/InvenTree/settings/sidebar.html:44 templates/navbar.html:45 #: users/models.py:45 @@ -2583,7 +2600,7 @@ msgstr "" #: order/templates/order/sales_order_base.html:13 #: order/templates/order/sales_orders.html:8 #: order/templates/order/sales_orders.html:15 -#: part/templates/part/detail.html:194 part/templates/part/part_sidebar.html:39 +#: part/templates/part/detail.html:87 part/templates/part/part_sidebar.html:37 #: templates/InvenTree/index.html:283 templates/InvenTree/search.html:223 #: templates/InvenTree/settings/sidebar.html:46 templates/navbar.html:56 #: users/models.py:46 @@ -2610,14 +2627,14 @@ msgid "Company Notes" msgstr "" #: company/templates/company/detail.html:383 -#: company/templates/company/manufacturer_part.html:209 -#: part/templates/part/detail.html:520 +#: company/templates/company/manufacturer_part.html:215 +#: part/templates/part/detail.html:413 msgid "Delete Supplier Parts?" msgstr "" #: company/templates/company/detail.html:384 -#: company/templates/company/manufacturer_part.html:210 -#: part/templates/part/detail.html:521 +#: company/templates/company/manufacturer_part.html:216 +#: part/templates/part/detail.html:414 msgid "All selected supplier parts will be deleted" msgstr "" @@ -2634,7 +2651,7 @@ msgstr "" #: company/templates/company/manufacturer_part.html:35 #: company/templates/company/supplier_part.html:34 #: company/templates/company/supplier_part.html:159 -#: part/templates/part/detail.html:174 part/templates/part/part_base.html:76 +#: part/templates/part/detail.html:67 part/templates/part/part_base.html:76 msgid "Order part" msgstr "" @@ -2648,60 +2665,60 @@ msgstr "" msgid "Delete manufacturer part" msgstr "" -#: company/templates/company/manufacturer_part.html:70 -#: company/templates/company/supplier_part.html:71 +#: company/templates/company/manufacturer_part.html:66 +#: company/templates/company/supplier_part.html:63 msgid "Internal Part" msgstr "" -#: company/templates/company/manufacturer_part.html:108 +#: company/templates/company/manufacturer_part.html:114 #: company/templates/company/supplier_part.html:15 company/views.py:49 -#: part/templates/part/part_sidebar.html:33 part/templates/part/prices.html:163 +#: part/templates/part/part_sidebar.html:31 part/templates/part/prices.html:163 #: templates/InvenTree/search.html:194 templates/navbar.html:43 msgid "Suppliers" msgstr "" -#: company/templates/company/manufacturer_part.html:123 -#: part/templates/part/detail.html:451 +#: company/templates/company/manufacturer_part.html:129 +#: part/templates/part/detail.html:344 msgid "Delete supplier parts" msgstr "" -#: company/templates/company/manufacturer_part.html:123 -#: company/templates/company/manufacturer_part.html:152 -#: company/templates/company/manufacturer_part.html:248 -#: part/templates/part/detail.html:451 part/templates/part/detail.html:479 +#: company/templates/company/manufacturer_part.html:129 +#: company/templates/company/manufacturer_part.html:158 +#: company/templates/company/manufacturer_part.html:254 +#: part/templates/part/detail.html:344 part/templates/part/detail.html:372 #: templates/js/translated/company.js:425 templates/js/translated/helpers.js:31 #: users/models.py:204 msgid "Delete" msgstr "" -#: company/templates/company/manufacturer_part.html:137 +#: company/templates/company/manufacturer_part.html:143 #: company/templates/company/manufacturer_part_sidebar.html:5 #: part/templates/part/category_sidebar.html:17 -#: part/templates/part/detail.html:277 part/templates/part/part_sidebar.html:10 +#: part/templates/part/detail.html:170 part/templates/part/part_sidebar.html:8 msgid "Parameters" msgstr "" -#: company/templates/company/manufacturer_part.html:141 -#: part/templates/part/detail.html:282 +#: company/templates/company/manufacturer_part.html:147 +#: part/templates/part/detail.html:175 #: templates/InvenTree/settings/category.html:12 #: templates/InvenTree/settings/part.html:65 msgid "New Parameter" msgstr "" -#: company/templates/company/manufacturer_part.html:152 +#: company/templates/company/manufacturer_part.html:158 msgid "Delete parameters" msgstr "" -#: company/templates/company/manufacturer_part.html:185 -#: part/templates/part/detail.html:976 +#: company/templates/company/manufacturer_part.html:191 +#: part/templates/part/detail.html:867 msgid "Add Parameter" msgstr "" -#: company/templates/company/manufacturer_part.html:233 +#: company/templates/company/manufacturer_part.html:239 msgid "Selected parameters will be deleted" msgstr "" -#: company/templates/company/manufacturer_part.html:245 +#: company/templates/company/manufacturer_part.html:251 msgid "Delete Parameters" msgstr "" @@ -2722,9 +2739,9 @@ msgid "Assigned Stock Items" msgstr "" #: company/templates/company/supplier_part.html:7 -#: company/templates/company/supplier_part.html:24 stock/models.py:492 -#: stock/templates/stock/item_base.html:375 -#: templates/js/translated/company.js:787 templates/js/translated/stock.js:1323 +#: company/templates/company/supplier_part.html:24 stock/models.py:482 +#: stock/templates/stock/item_base.html:403 +#: templates/js/translated/company.js:787 templates/js/translated/stock.js:1405 msgid "Supplier Part" msgstr "" @@ -2744,13 +2761,13 @@ msgid "Supplier Part Stock" msgstr "" #: company/templates/company/supplier_part.html:141 -#: part/templates/part/detail.html:127 stock/templates/stock/location.html:147 +#: part/templates/part/detail.html:20 stock/templates/stock/location.html:162 msgid "Create new stock item" msgstr "" #: company/templates/company/supplier_part.html:142 -#: part/templates/part/detail.html:128 stock/templates/stock/location.html:148 -#: templates/js/translated/stock.js:354 +#: part/templates/part/detail.html:21 stock/templates/stock/location.html:163 +#: templates/js/translated/stock.js:355 msgid "New Stock Item" msgstr "" @@ -2760,7 +2777,7 @@ msgid "Supplier Part Orders" msgstr "" #: company/templates/company/supplier_part.html:160 -#: part/templates/part/detail.html:175 +#: part/templates/part/detail.html:68 msgid "Order Part" msgstr "" @@ -2796,15 +2813,15 @@ msgid "Delete price break" msgstr "" #: company/templates/company/supplier_part_navbar.html:15 -#: part/templates/part/part_sidebar.html:16 +#: part/templates/part/part_sidebar.html:14 #: stock/templates/stock/loc_link.html:3 stock/templates/stock/location.html:14 #: stock/templates/stock/stock_app_base.html:10 #: templates/InvenTree/search.html:156 #: templates/InvenTree/settings/sidebar.html:40 -#: templates/js/translated/bom.js:216 templates/js/translated/part.js:427 -#: templates/js/translated/part.js:562 templates/js/translated/part.js:878 -#: templates/js/translated/part.js:1039 templates/js/translated/stock.js:509 -#: templates/js/translated/stock.js:1162 templates/navbar.html:26 +#: templates/js/translated/bom.js:216 templates/js/translated/part.js:434 +#: templates/js/translated/part.js:569 templates/js/translated/part.js:1059 +#: templates/js/translated/part.js:1220 templates/js/translated/stock.js:591 +#: templates/js/translated/stock.js:1244 templates/navbar.html:26 msgid "Stock" msgstr "Kiện hàng" @@ -2818,16 +2835,16 @@ msgid "Supplier Part Pricing" msgstr "" #: company/templates/company/supplier_part_navbar.html:29 -#: part/templates/part/part_sidebar.html:30 +#: part/templates/part/part_sidebar.html:28 msgid "Pricing" msgstr "" #: company/templates/company/supplier_part_sidebar.html:5 -#: stock/templates/stock/location.html:118 -#: stock/templates/stock/location.html:132 -#: stock/templates/stock/location.html:144 +#: stock/templates/stock/location.html:133 +#: stock/templates/stock/location.html:147 +#: stock/templates/stock/location.html:159 #: stock/templates/stock/location_sidebar.html:7 -#: templates/InvenTree/search.html:158 templates/js/translated/stock.js:1901 +#: templates/InvenTree/search.html:158 templates/js/translated/stock.js:1983 #: templates/stats.html:93 templates/stats.html:102 users/models.py:43 msgid "Stock Items" msgstr "" @@ -2947,7 +2964,7 @@ msgstr "" msgid "Place order" msgstr "" -#: order/forms.py:37 order/templates/order/order_base.html:59 +#: order/forms.py:37 order/templates/order/order_base.html:60 msgid "Mark order as complete" msgstr "" @@ -3000,8 +3017,8 @@ msgstr "" msgid "Company from which the items are being ordered" msgstr "" -#: order/models.py:267 order/templates/order/order_base.html:114 -#: templates/js/translated/order.js:669 +#: order/models.py:267 order/templates/order/order_base.html:118 +#: templates/js/translated/order.js:676 msgid "Supplier Reference" msgstr "" @@ -3061,7 +3078,7 @@ msgstr "" msgid "Target date for order completion. Order will be overdue after this date." msgstr "" -#: order/models.py:582 templates/js/translated/order.js:1114 +#: order/models.py:582 templates/js/translated/order.js:1113 msgid "Shipment Date" msgstr "" @@ -3086,16 +3103,16 @@ msgid "Line item notes" msgstr "" #: order/models.py:768 order/models.py:856 -#: templates/js/translated/order.js:1166 +#: templates/js/translated/order.js:1165 msgid "Order" msgstr "" #: order/models.py:769 order/templates/order/order_base.html:9 #: order/templates/order/order_base.html:18 #: report/templates/report/inventree_po_report.html:77 -#: stock/templates/stock/item_base.html:325 -#: templates/js/translated/order.js:638 templates/js/translated/stock.js:1300 -#: templates/js/translated/stock.js:1983 +#: stock/templates/stock/item_base.html:353 +#: templates/js/translated/order.js:638 templates/js/translated/part.js:775 +#: templates/js/translated/stock.js:1382 templates/js/translated/stock.js:2065 msgid "Purchase Order" msgstr "Đơn hàng" @@ -3103,9 +3120,10 @@ msgstr "Đơn hàng" msgid "Supplier part" msgstr "" -#: order/models.py:797 order/templates/order/order_base.html:147 -#: order/templates/order/sales_order_base.html:154 -#: templates/js/translated/order.js:429 templates/js/translated/order.js:954 +#: order/models.py:797 order/templates/order/order_base.html:151 +#: order/templates/order/sales_order_base.html:155 +#: templates/js/translated/order.js:429 templates/js/translated/order.js:953 +#: templates/js/translated/part.js:847 templates/js/translated/part.js:873 msgid "Received" msgstr "" @@ -3113,9 +3131,9 @@ msgstr "" msgid "Number of items received" msgstr "" -#: order/models.py:805 part/templates/part/prices.html:176 stock/models.py:619 -#: stock/serializers.py:163 stock/templates/stock/item_base.html:332 -#: templates/js/translated/stock.js:1354 +#: order/models.py:805 part/templates/part/prices.html:176 stock/models.py:609 +#: stock/serializers.py:168 stock/templates/stock/item_base.html:360 +#: templates/js/translated/stock.js:1436 msgid "Purchase Price" msgstr "Giá mua" @@ -3176,47 +3194,47 @@ msgstr "" msgid "Enter stock allocation quantity" msgstr "" -#: order/serializers.py:169 +#: order/serializers.py:175 msgid "Purchase price currency" msgstr "" -#: order/serializers.py:204 +#: order/serializers.py:213 msgid "Line Item" msgstr "" -#: order/serializers.py:210 +#: order/serializers.py:219 msgid "Line item does not match purchase order" msgstr "" -#: order/serializers.py:220 order/serializers.py:288 +#: order/serializers.py:229 order/serializers.py:297 msgid "Select destination location for received items" msgstr "" -#: order/serializers.py:244 +#: order/serializers.py:253 msgid "Barcode Hash" msgstr "" -#: order/serializers.py:245 +#: order/serializers.py:254 msgid "Unique identifier field" msgstr "" -#: order/serializers.py:262 +#: order/serializers.py:271 msgid "Barcode is already in use" msgstr "" -#: order/serializers.py:300 +#: order/serializers.py:309 msgid "Line items must be provided" msgstr "" -#: order/serializers.py:317 +#: order/serializers.py:326 msgid "Destination location must be specified" msgstr "" -#: order/serializers.py:328 +#: order/serializers.py:337 msgid "Supplied barcode values must be unique" msgstr "" -#: order/serializers.py:569 +#: order/serializers.py:578 msgid "Sale price currency" msgstr "" @@ -3248,22 +3266,36 @@ msgstr "" msgid "Receive items" msgstr "" -#: order/templates/order/order_base.html:93 -#: order/templates/order/sales_order_base.html:98 +#: order/templates/order/order_base.html:58 +#: order/templates/order/purchase_order_detail.html:31 +msgid "Receive Items" +msgstr "" + +#: order/templates/order/order_base.html:62 order/views.py:185 +msgid "Complete Order" +msgstr "" + +#: order/templates/order/order_base.html:84 +#: order/templates/order/sales_order_base.html:79 msgid "Order Reference" msgstr "" -#: order/templates/order/order_base.html:98 -#: order/templates/order/sales_order_base.html:103 +#: order/templates/order/order_base.html:89 +#: order/templates/order/sales_order_base.html:84 +msgid "Order Description" +msgstr "" + +#: order/templates/order/order_base.html:94 +#: order/templates/order/sales_order_base.html:89 msgid "Order Status" msgstr "" -#: order/templates/order/order_base.html:133 +#: order/templates/order/order_base.html:137 #: report/templates/report/inventree_build_order_base.html:122 msgid "Issued" msgstr "" -#: order/templates/order/order_base.html:203 +#: order/templates/order/order_base.html:207 msgid "Edit Purchase Order" msgstr "" @@ -3421,7 +3453,7 @@ msgid "Select existing purchase orders, or create new orders." msgstr "" #: order/templates/order/order_wizard/select_pos.html:31 -#: templates/js/translated/order.js:695 templates/js/translated/order.js:1119 +#: templates/js/translated/order.js:694 templates/js/translated/order.js:1118 msgid "Items" msgstr "" @@ -3465,10 +3497,6 @@ msgstr "" msgid "Receive selected items" msgstr "" -#: order/templates/order/purchase_order_detail.html:31 -msgid "Receive Items" -msgstr "" - #: order/templates/order/purchase_order_detail.html:50 msgid "Received Items" msgstr "" @@ -3496,16 +3524,16 @@ msgstr "" msgid "Ship Order" msgstr "" -#: order/templates/order/sales_order_base.html:86 +#: order/templates/order/sales_order_base.html:102 msgid "This Sales Order has not been fully allocated" msgstr "" -#: order/templates/order/sales_order_base.html:121 -#: templates/js/translated/order.js:1086 +#: order/templates/order/sales_order_base.html:122 +#: templates/js/translated/order.js:1085 msgid "Customer Reference" msgstr "" -#: order/templates/order/sales_order_base.html:194 +#: order/templates/order/sales_order_base.html:195 msgid "Edit Sales Order" msgstr "" @@ -3576,10 +3604,6 @@ msgstr "" msgid "Purchase order issued" msgstr "" -#: order/views.py:185 -msgid "Complete Order" -msgstr "" - #: order/views.py:201 msgid "Confirm order completion" msgstr "" @@ -3672,11 +3696,11 @@ msgid "This field is required" msgstr "" #: part/bom.py:125 part/models.py:81 part/models.py:816 -#: part/templates/part/category.html:90 part/templates/part/detail.html:104 +#: part/templates/part/category.html:104 part/templates/part/part_base.html:338 msgid "Default Location" msgstr "" -#: part/bom.py:126 part/templates/part/part_base.html:167 +#: part/bom.py:126 part/templates/part/part_base.html:185 msgid "Available Stock" msgstr "" @@ -3793,19 +3817,19 @@ msgstr "" msgid "Part Category" msgstr "" -#: part/models.py:96 part/templates/part/category.html:117 +#: part/models.py:96 part/templates/part/category.html:124 #: templates/InvenTree/search.html:101 templates/stats.html:84 #: users/models.py:40 msgid "Part Categories" msgstr "" #: part/models.py:358 part/templates/part/cat_link.html:3 -#: part/templates/part/category.html:13 part/templates/part/category.html:122 -#: part/templates/part/category.html:142 +#: part/templates/part/category.html:13 part/templates/part/category.html:129 +#: part/templates/part/category.html:149 #: part/templates/part/category_sidebar.html:9 #: templates/InvenTree/index.html:85 templates/InvenTree/search.html:88 #: templates/InvenTree/settings/sidebar.html:36 -#: templates/js/translated/part.js:1416 templates/navbar.html:19 +#: templates/js/translated/part.js:1597 templates/navbar.html:19 #: templates/stats.html:80 templates/stats.html:89 users/models.py:41 msgid "Parts" msgstr "Nguyên liệu" @@ -3859,8 +3883,8 @@ msgstr "" msgid "Part description" msgstr "" -#: part/models.py:770 part/templates/part/category.html:97 -#: part/templates/part/detail.html:73 +#: part/models.py:770 part/templates/part/category.html:82 +#: part/templates/part/part_base.html:302 msgid "Keywords" msgstr "" @@ -3869,9 +3893,10 @@ msgid "Part keywords to improve visibility in search results" msgstr "" #: part/models.py:778 part/models.py:2223 part/models.py:2472 -#: part/templates/part/detail.html:36 part/templates/part/set_category.html:15 +#: part/templates/part/part_base.html:265 +#: part/templates/part/set_category.html:15 #: templates/InvenTree/settings/settings.html:163 -#: templates/js/translated/part.js:1021 +#: templates/js/translated/part.js:1202 msgid "Category" msgstr "" @@ -3879,9 +3904,9 @@ msgstr "" msgid "Part category" msgstr "" -#: part/models.py:784 part/templates/part/detail.html:45 -#: templates/js/translated/part.js:550 templates/js/translated/part.js:974 -#: templates/js/translated/stock.js:1134 +#: part/models.py:784 part/templates/part/part_base.html:274 +#: templates/js/translated/part.js:557 templates/js/translated/part.js:1155 +#: templates/js/translated/stock.js:1216 msgid "IPN" msgstr "" @@ -3893,8 +3918,8 @@ msgstr "" msgid "Part revision or version number" msgstr "" -#: part/models.py:792 part/templates/part/detail.html:52 report/models.py:200 -#: templates/js/translated/part.js:554 +#: part/models.py:792 part/templates/part/part_base.html:281 +#: report/models.py:200 templates/js/translated/part.js:561 msgid "Revision" msgstr "" @@ -3902,7 +3927,7 @@ msgstr "" msgid "Where is this item normally stored?" msgstr "" -#: part/models.py:861 part/templates/part/detail.html:113 +#: part/models.py:861 part/templates/part/part_base.html:347 msgid "Default Supplier" msgstr "" @@ -3918,7 +3943,7 @@ msgstr "" msgid "Expiry time (in days) for stock items of this part" msgstr "" -#: part/models.py:875 part/templates/part/part_base.html:178 +#: part/models.py:875 part/templates/part/part_base.html:196 msgid "Minimum Stock" msgstr "" @@ -4001,8 +4026,8 @@ msgstr "" msgid "Test with this name already exists for this part" msgstr "" -#: part/models.py:2310 templates/js/translated/part.js:1467 -#: templates/js/translated/stock.js:858 +#: part/models.py:2310 templates/js/translated/part.js:1648 +#: templates/js/translated/stock.js:940 msgid "Test Name" msgstr "" @@ -4018,7 +4043,7 @@ msgstr "" msgid "Enter description for this test" msgstr "" -#: part/models.py:2322 templates/js/translated/part.js:1476 +#: part/models.py:2322 templates/js/translated/part.js:1657 #: templates/js/translated/table_filters.js:276 msgid "Required" msgstr "" @@ -4027,7 +4052,7 @@ msgstr "" msgid "Is this test required to pass?" msgstr "" -#: part/models.py:2328 templates/js/translated/part.js:1484 +#: part/models.py:2328 templates/js/translated/part.js:1665 msgid "Requires Value" msgstr "" @@ -4035,7 +4060,7 @@ msgstr "" msgid "Does this test require a value when adding a test result?" msgstr "" -#: part/models.py:2334 templates/js/translated/part.js:1491 +#: part/models.py:2334 templates/js/translated/part.js:1672 msgid "Requires Attachment" msgstr "" @@ -4150,7 +4175,7 @@ msgstr "" msgid "Stock items for variant parts can be used for this BOM item" msgstr "" -#: part/models.py:2686 stock/models.py:371 +#: part/models.py:2686 stock/models.py:361 msgid "Quantity must be integer value for trackable parts" msgstr "" @@ -4213,7 +4238,7 @@ msgstr "" msgid "The BOM for %(part)s has not been validated." msgstr "" -#: part/templates/part/bom.html:30 part/templates/part/detail.html:357 +#: part/templates/part/bom.html:30 part/templates/part/detail.html:250 msgid "BOM actions" msgstr "" @@ -4298,68 +4323,64 @@ msgstr "" msgid "New Category" msgstr "" -#: part/templates/part/category.html:67 -msgid "Top level part category" -msgstr "" - -#: part/templates/part/category.html:79 +#: part/templates/part/category.html:76 part/templates/part/category.html:89 msgid "Category Path" msgstr "" -#: part/templates/part/category.html:84 -msgid "Category Description" +#: part/templates/part/category.html:90 +msgid "Top level part category" msgstr "" -#: part/templates/part/category.html:103 part/templates/part/category.html:194 +#: part/templates/part/category.html:110 part/templates/part/category.html:201 #: part/templates/part/category_sidebar.html:7 msgid "Subcategories" msgstr "" -#: part/templates/part/category.html:108 +#: part/templates/part/category.html:115 msgid "Parts (Including subcategories)" msgstr "" -#: part/templates/part/category.html:145 +#: part/templates/part/category.html:152 msgid "Export Part Data" msgstr "" -#: part/templates/part/category.html:146 part/templates/part/category.html:170 +#: part/templates/part/category.html:153 part/templates/part/category.html:177 msgid "Export" msgstr "" -#: part/templates/part/category.html:149 +#: part/templates/part/category.html:156 msgid "Create new part" msgstr "" -#: part/templates/part/category.html:150 templates/js/translated/bom.js:40 +#: part/templates/part/category.html:157 templates/js/translated/bom.js:40 msgid "New Part" msgstr "" -#: part/templates/part/category.html:164 +#: part/templates/part/category.html:171 msgid "Set category" msgstr "" -#: part/templates/part/category.html:164 +#: part/templates/part/category.html:171 msgid "Set Category" msgstr "" -#: part/templates/part/category.html:168 +#: part/templates/part/category.html:175 msgid "Print Labels" msgstr "" -#: part/templates/part/category.html:170 +#: part/templates/part/category.html:177 msgid "Export Data" msgstr "" -#: part/templates/part/category.html:184 +#: part/templates/part/category.html:191 msgid "Part Parameters" msgstr "" -#: part/templates/part/category.html:261 +#: part/templates/part/category.html:268 msgid "Create Part Category" msgstr "" -#: part/templates/part/category.html:288 +#: part/templates/part/category.html:295 msgid "Create Part" msgstr "" @@ -4402,7 +4423,7 @@ msgstr "" msgid "Import Parts" msgstr "" -#: part/templates/part/copy_part.html:9 templates/js/translated/part.js:366 +#: part/templates/part/copy_part.html:9 templates/js/translated/part.js:373 msgid "Duplicate Part" msgstr "" @@ -4426,167 +4447,155 @@ msgstr "" msgid "%(full_name)s - %(desc)s (%(match_per)s%% match)" msgstr "" -#: part/templates/part/detail.html:16 -msgid "Part Details" -msgstr "" - -#: part/templates/part/detail.html:66 -msgid "Minimum stock level" -msgstr "" - -#: part/templates/part/detail.html:97 -msgid "Latest Serial Number" -msgstr "Số seri mới nhất" - -#: part/templates/part/detail.html:124 +#: part/templates/part/detail.html:17 msgid "Part Stock" msgstr "" -#: part/templates/part/detail.html:136 +#: part/templates/part/detail.html:29 #, python-format msgid "Showing stock for all variants of %(full_name)s" msgstr "" -#: part/templates/part/detail.html:146 +#: part/templates/part/detail.html:39 msgid "Part Test Templates" msgstr "" -#: part/templates/part/detail.html:151 +#: part/templates/part/detail.html:44 msgid "Add Test Template" msgstr "" -#: part/templates/part/detail.html:208 +#: part/templates/part/detail.html:101 msgid "Sales Order Allocations" msgstr "" -#: part/templates/part/detail.html:249 +#: part/templates/part/detail.html:142 msgid "Part Variants" msgstr "" -#: part/templates/part/detail.html:253 +#: part/templates/part/detail.html:146 msgid "Create new variant" msgstr "" -#: part/templates/part/detail.html:254 +#: part/templates/part/detail.html:147 msgid "New Variant" msgstr "" -#: part/templates/part/detail.html:281 +#: part/templates/part/detail.html:174 msgid "Add new parameter" msgstr "" -#: part/templates/part/detail.html:315 part/templates/part/part_sidebar.html:47 +#: part/templates/part/detail.html:208 part/templates/part/part_sidebar.html:45 msgid "Related Parts" msgstr "" -#: part/templates/part/detail.html:319 part/templates/part/detail.html:320 +#: part/templates/part/detail.html:212 part/templates/part/detail.html:213 msgid "Add Related" msgstr "" -#: part/templates/part/detail.html:340 part/templates/part/part_sidebar.html:19 +#: part/templates/part/detail.html:233 part/templates/part/part_sidebar.html:17 msgid "Bill of Materials" msgstr "" -#: part/templates/part/detail.html:345 +#: part/templates/part/detail.html:238 msgid "Export actions" msgstr "" -#: part/templates/part/detail.html:349 +#: part/templates/part/detail.html:242 msgid "Export BOM" msgstr "" -#: part/templates/part/detail.html:351 +#: part/templates/part/detail.html:244 msgid "Print BOM Report" msgstr "" -#: part/templates/part/detail.html:361 +#: part/templates/part/detail.html:254 msgid "Upload BOM" msgstr "" -#: part/templates/part/detail.html:363 templates/js/translated/part.js:267 +#: part/templates/part/detail.html:256 templates/js/translated/part.js:270 msgid "Copy BOM" msgstr "" -#: part/templates/part/detail.html:365 part/views.py:755 +#: part/templates/part/detail.html:258 part/views.py:755 msgid "Validate BOM" msgstr "" -#: part/templates/part/detail.html:370 +#: part/templates/part/detail.html:263 msgid "New BOM Item" msgstr "" -#: part/templates/part/detail.html:371 +#: part/templates/part/detail.html:264 msgid "Add BOM Item" msgstr "" -#: part/templates/part/detail.html:384 +#: part/templates/part/detail.html:277 msgid "Assemblies" msgstr "" -#: part/templates/part/detail.html:401 +#: part/templates/part/detail.html:294 msgid "Part Builds" msgstr "" -#: part/templates/part/detail.html:426 +#: part/templates/part/detail.html:319 msgid "Build Order Allocations" msgstr "" -#: part/templates/part/detail.html:436 +#: part/templates/part/detail.html:329 msgid "Part Suppliers" msgstr "" -#: part/templates/part/detail.html:463 +#: part/templates/part/detail.html:356 msgid "Part Manufacturers" msgstr "" -#: part/templates/part/detail.html:479 +#: part/templates/part/detail.html:372 msgid "Delete manufacturer parts" msgstr "" -#: part/templates/part/detail.html:660 +#: part/templates/part/detail.html:553 msgid "Delete selected BOM items?" msgstr "" -#: part/templates/part/detail.html:661 +#: part/templates/part/detail.html:554 msgid "All selected BOM items will be deleted" msgstr "" -#: part/templates/part/detail.html:712 +#: part/templates/part/detail.html:605 msgid "Create BOM Item" msgstr "" -#: part/templates/part/detail.html:764 +#: part/templates/part/detail.html:657 msgid "Related Part" msgstr "" -#: part/templates/part/detail.html:772 +#: part/templates/part/detail.html:665 msgid "Add Related Part" msgstr "" -#: part/templates/part/detail.html:869 +#: part/templates/part/detail.html:760 msgid "Add Test Result Template" msgstr "" -#: part/templates/part/detail.html:926 +#: part/templates/part/detail.html:817 msgid "Edit Part Notes" msgstr "" -#: part/templates/part/detail.html:1039 +#: part/templates/part/detail.html:930 #, python-format msgid "Purchase Unit Price - %(currency)s" msgstr "" -#: part/templates/part/detail.html:1051 +#: part/templates/part/detail.html:942 #, python-format msgid "Unit Price-Cost Difference - %(currency)s" msgstr "" -#: part/templates/part/detail.html:1063 +#: part/templates/part/detail.html:954 #, python-format msgid "Supplier Unit Cost - %(currency)s" msgstr "" -#: part/templates/part/detail.html:1152 +#: part/templates/part/detail.html:1043 #, python-format msgid "Unit Price - %(currency)s" msgstr "" @@ -4668,86 +4677,108 @@ msgstr "" msgid "Delete part" msgstr "" -#: part/templates/part/part_base.html:109 +#: part/templates/part/part_base.html:112 msgid "Part is a template part (variants can be made from this part)" msgstr "" -#: part/templates/part/part_base.html:113 +#: part/templates/part/part_base.html:116 msgid "Part can be assembled from other parts" msgstr "" -#: part/templates/part/part_base.html:117 +#: part/templates/part/part_base.html:120 msgid "Part can be used in assemblies" msgstr "" -#: part/templates/part/part_base.html:121 +#: part/templates/part/part_base.html:124 msgid "Part stock is tracked by serial number" msgstr "" -#: part/templates/part/part_base.html:125 +#: part/templates/part/part_base.html:128 msgid "Part can be purchased from external suppliers" msgstr "" -#: part/templates/part/part_base.html:129 +#: part/templates/part/part_base.html:132 msgid "Part can be sold to customers" msgstr "" -#: part/templates/part/part_base.html:135 -#: part/templates/part/part_base.html:143 +#: part/templates/part/part_base.html:138 +#: part/templates/part/part_base.html:146 msgid "Part is virtual (not a physical part)" msgstr "" -#: part/templates/part/part_base.html:136 +#: part/templates/part/part_base.html:139 #: templates/js/translated/company.js:505 #: templates/js/translated/company.js:762 #: templates/js/translated/model_renderers.js:175 -#: templates/js/translated/part.js:465 templates/js/translated/part.js:542 +#: templates/js/translated/part.js:472 templates/js/translated/part.js:549 msgid "Inactive" msgstr "" -#: part/templates/part/part_base.html:155 +#: part/templates/part/part_base.html:156 +#: part/templates/part/part_base.html:579 +msgid "Show Part Details" +msgstr "" + +#: part/templates/part/part_base.html:173 #, python-format msgid "This part is a variant of %(link)s" msgstr "" -#: part/templates/part/part_base.html:172 templates/js/translated/order.js:1546 +#: part/templates/part/part_base.html:190 templates/js/translated/order.js:1545 #: templates/js/translated/table_filters.js:188 msgid "In Stock" msgstr "" -#: part/templates/part/part_base.html:185 templates/js/translated/part.js:1054 +#: part/templates/part/part_base.html:203 templates/js/translated/part.js:1235 msgid "On Order" msgstr "" -#: part/templates/part/part_base.html:192 templates/InvenTree/index.html:178 +#: part/templates/part/part_base.html:210 templates/InvenTree/index.html:178 msgid "Required for Build Orders" msgstr "" -#: part/templates/part/part_base.html:199 +#: part/templates/part/part_base.html:217 msgid "Required for Sales Orders" msgstr "" -#: part/templates/part/part_base.html:206 +#: part/templates/part/part_base.html:224 msgid "Allocated to Orders" msgstr "" -#: part/templates/part/part_base.html:221 templates/js/translated/bom.js:566 +#: part/templates/part/part_base.html:239 templates/js/translated/bom.js:566 msgid "Can Build" msgstr "" -#: part/templates/part/part_base.html:227 templates/js/translated/part.js:885 -#: templates/js/translated/part.js:1058 +#: part/templates/part/part_base.html:245 templates/js/translated/part.js:1066 +#: templates/js/translated/part.js:1239 msgid "Building" msgstr "" -#: part/templates/part/part_base.html:320 part/templates/part/prices.html:144 +#: part/templates/part/part_base.html:295 +msgid "Minimum stock level" +msgstr "" + +#: part/templates/part/part_base.html:324 +msgid "Latest Serial Number" +msgstr "Số seri mới nhất" + +#: part/templates/part/part_base.html:328 +#: stock/templates/stock/item_base.html:159 +msgid "Search for serial number" +msgstr "" + +#: part/templates/part/part_base.html:449 part/templates/part/prices.html:144 msgid "Calculate" msgstr "" -#: part/templates/part/part_base.html:363 +#: part/templates/part/part_base.html:492 msgid "No matching images found" msgstr "" +#: part/templates/part/part_base.html:573 +msgid "Hide Part Details" +msgstr "" + #: part/templates/part/part_pricing.html:22 part/templates/part/prices.html:21 msgid "Supplier Pricing" msgstr "" @@ -4805,20 +4836,15 @@ msgstr "" msgid "No pricing information is available for this part." msgstr "" -#: part/templates/part/part_sidebar.html:8 -#: templates/js/translated/stock.js:1949 -msgid "Details" -msgstr "" - -#: part/templates/part/part_sidebar.html:13 +#: part/templates/part/part_sidebar.html:11 msgid "Variants" msgstr "" -#: part/templates/part/part_sidebar.html:27 +#: part/templates/part/part_sidebar.html:25 msgid "Used In" msgstr "" -#: part/templates/part/part_sidebar.html:43 +#: part/templates/part/part_sidebar.html:41 msgid "Test Templates" msgstr "" @@ -4934,8 +4960,8 @@ msgid "Set category for the following parts" msgstr "" #: part/templates/part/stock_count.html:7 templates/js/translated/bom.js:476 -#: templates/js/translated/part.js:429 templates/js/translated/part.js:875 -#: templates/js/translated/part.js:1062 +#: templates/js/translated/part.js:436 templates/js/translated/part.js:1056 +#: templates/js/translated/part.js:1243 msgid "No Stock" msgstr "" @@ -5037,7 +5063,7 @@ msgstr "" msgid "Delete Part Parameter Template" msgstr "" -#: part/views.py:1489 templates/js/translated/part.js:310 +#: part/views.py:1489 templates/js/translated/part.js:313 msgid "Edit Part Category" msgstr "" @@ -5171,11 +5197,12 @@ msgid "Stock Item Test Report" msgstr "" #: report/templates/report/inventree_test_report_base.html:79 -#: stock/models.py:530 stock/templates/stock/item_base.html:238 +#: stock/models.py:520 stock/templates/stock/item_base.html:149 #: templates/js/translated/build.js:233 templates/js/translated/build.js:637 #: templates/js/translated/build.js:1013 #: templates/js/translated/model_renderers.js:95 -#: templates/js/translated/order.js:1288 templates/js/translated/order.js:1377 +#: templates/js/translated/order.js:1287 templates/js/translated/order.js:1376 +#: templates/js/translated/stock.js:410 msgid "Serial Number" msgstr "" @@ -5184,17 +5211,17 @@ msgid "Test Results" msgstr "" #: report/templates/report/inventree_test_report_base.html:93 -#: stock/models.py:1855 +#: stock/models.py:1845 msgid "Test" msgstr "" #: report/templates/report/inventree_test_report_base.html:94 -#: stock/models.py:1861 +#: stock/models.py:1851 msgid "Result" msgstr "" #: report/templates/report/inventree_test_report_base.html:97 -#: templates/js/translated/order.js:685 templates/js/translated/stock.js:1917 +#: templates/js/translated/order.js:684 templates/js/translated/stock.js:1999 msgid "Date" msgstr "" @@ -5212,7 +5239,7 @@ msgid "Installed Items" msgstr "" #: report/templates/report/inventree_test_report_base.html:137 -#: templates/js/translated/stock.js:2177 +#: templates/js/translated/stock.js:2259 msgid "Serial" msgstr "" @@ -5220,9 +5247,9 @@ msgstr "" msgid "Quantity is required" msgstr "" -#: stock/forms.py:91 stock/forms.py:265 stock/models.py:587 -#: stock/templates/stock/item_base.html:382 -#: templates/js/translated/stock.js:1276 +#: stock/forms.py:91 stock/forms.py:265 stock/models.py:577 +#: stock/templates/stock/item_base.html:186 +#: templates/js/translated/stock.js:1358 msgid "Expiry Date" msgstr "" @@ -5270,241 +5297,241 @@ msgstr "" msgid "Confirm removal of installed stock items" msgstr "" -#: stock/models.py:60 stock/models.py:624 -#: stock/templates/stock/item_base.html:422 +#: stock/models.py:60 stock/models.py:614 +#: stock/templates/stock/item_base.html:417 msgid "Owner" msgstr "" -#: stock/models.py:61 stock/models.py:625 +#: stock/models.py:61 stock/models.py:615 msgid "Select Owner" msgstr "" -#: stock/models.py:352 +#: stock/models.py:342 msgid "StockItem with this serial number already exists" msgstr "" -#: stock/models.py:388 +#: stock/models.py:378 #, python-brace-format msgid "Part type ('{pf}') must be {pe}" msgstr "" -#: stock/models.py:398 stock/models.py:407 +#: stock/models.py:388 stock/models.py:397 msgid "Quantity must be 1 for item with a serial number" msgstr "" -#: stock/models.py:399 +#: stock/models.py:389 msgid "Serial number cannot be set if quantity greater than 1" msgstr "" -#: stock/models.py:421 +#: stock/models.py:411 msgid "Item cannot belong to itself" msgstr "" -#: stock/models.py:427 +#: stock/models.py:417 msgid "Item must have a build reference if is_building=True" msgstr "" -#: stock/models.py:434 +#: stock/models.py:424 msgid "Build reference does not point to the same part object" msgstr "" -#: stock/models.py:476 +#: stock/models.py:466 msgid "Parent Stock Item" msgstr "" -#: stock/models.py:485 +#: stock/models.py:475 msgid "Base part" msgstr "" -#: stock/models.py:493 +#: stock/models.py:483 msgid "Select a matching supplier part for this stock item" msgstr "" -#: stock/models.py:498 stock/templates/stock/location.html:12 +#: stock/models.py:488 stock/templates/stock/location.html:12 #: stock/templates/stock/stock_app_base.html:8 msgid "Stock Location" msgstr "Kho hàng" -#: stock/models.py:501 +#: stock/models.py:491 msgid "Where is this stock item located?" msgstr "" -#: stock/models.py:508 +#: stock/models.py:498 msgid "Packaging this stock item is stored in" msgstr "" -#: stock/models.py:513 stock/templates/stock/item_base.html:271 +#: stock/models.py:503 stock/templates/stock/item_base.html:299 msgid "Installed In" msgstr "" -#: stock/models.py:516 +#: stock/models.py:506 msgid "Is this item installed in another item?" msgstr "" -#: stock/models.py:532 +#: stock/models.py:522 msgid "Serial number for this item" msgstr "" -#: stock/models.py:546 +#: stock/models.py:536 msgid "Batch code for this stock item" msgstr "" -#: stock/models.py:550 +#: stock/models.py:540 msgid "Stock Quantity" msgstr "" -#: stock/models.py:559 +#: stock/models.py:549 msgid "Source Build" msgstr "" -#: stock/models.py:561 +#: stock/models.py:551 msgid "Build for this stock item" msgstr "" -#: stock/models.py:572 +#: stock/models.py:562 msgid "Source Purchase Order" msgstr "" -#: stock/models.py:575 +#: stock/models.py:565 msgid "Purchase order for this stock item" msgstr "" -#: stock/models.py:581 +#: stock/models.py:571 msgid "Destination Sales Order" msgstr "" -#: stock/models.py:588 +#: stock/models.py:578 msgid "Expiry date for stock item. Stock will be considered expired after this date" msgstr "" -#: stock/models.py:601 +#: stock/models.py:591 msgid "Delete on deplete" msgstr "" -#: stock/models.py:601 +#: stock/models.py:591 msgid "Delete this Stock Item when stock is depleted" msgstr "" -#: stock/models.py:611 stock/templates/stock/item.html:111 +#: stock/models.py:601 stock/templates/stock/item.html:111 msgid "Stock Item Notes" msgstr "" -#: stock/models.py:620 +#: stock/models.py:610 msgid "Single unit purchase price at time of purchase" msgstr "" -#: stock/models.py:630 +#: stock/models.py:620 msgid "Scheduled for deletion" msgstr "" -#: stock/models.py:631 +#: stock/models.py:621 msgid "This StockItem will be deleted by the background worker" msgstr "" -#: stock/models.py:1094 +#: stock/models.py:1084 msgid "Part is not set as trackable" msgstr "" -#: stock/models.py:1100 +#: stock/models.py:1090 msgid "Quantity must be integer" msgstr "" -#: stock/models.py:1106 +#: stock/models.py:1096 #, python-brace-format msgid "Quantity must not exceed available stock quantity ({n})" msgstr "" -#: stock/models.py:1109 +#: stock/models.py:1099 msgid "Serial numbers must be a list of integers" msgstr "" -#: stock/models.py:1112 +#: stock/models.py:1102 msgid "Quantity does not match serial numbers" msgstr "" -#: stock/models.py:1119 +#: stock/models.py:1109 #, python-brace-format msgid "Serial numbers already exist: {exists}" msgstr "" -#: stock/models.py:1277 +#: stock/models.py:1267 msgid "StockItem cannot be moved as it is not in stock" msgstr "" -#: stock/models.py:1775 +#: stock/models.py:1765 msgid "Entry notes" msgstr "" -#: stock/models.py:1832 +#: stock/models.py:1822 msgid "Value must be provided for this test" msgstr "" -#: stock/models.py:1838 +#: stock/models.py:1828 msgid "Attachment must be uploaded for this test" msgstr "" -#: stock/models.py:1856 +#: stock/models.py:1846 msgid "Test name" msgstr "" -#: stock/models.py:1862 templates/js/translated/table_filters.js:266 +#: stock/models.py:1852 templates/js/translated/table_filters.js:266 msgid "Test result" msgstr "" -#: stock/models.py:1868 +#: stock/models.py:1858 msgid "Test output value" msgstr "" -#: stock/models.py:1875 +#: stock/models.py:1865 msgid "Test result attachment" msgstr "" -#: stock/models.py:1881 +#: stock/models.py:1871 msgid "Test notes" msgstr "" -#: stock/serializers.py:166 +#: stock/serializers.py:171 msgid "Purchase price of this stock item" msgstr "" -#: stock/serializers.py:173 +#: stock/serializers.py:178 msgid "Purchase currency of this stock item" msgstr "" -#: stock/serializers.py:287 +#: stock/serializers.py:292 msgid "Enter number of stock items to serialize" msgstr "" -#: stock/serializers.py:302 +#: stock/serializers.py:307 #, python-brace-format msgid "Quantity must not exceed available stock quantity ({q})" msgstr "" -#: stock/serializers.py:308 +#: stock/serializers.py:313 msgid "Enter serial numbers for new items" msgstr "" -#: stock/serializers.py:319 stock/serializers.py:686 +#: stock/serializers.py:324 stock/serializers.py:691 msgid "Destination stock location" msgstr "" -#: stock/serializers.py:326 +#: stock/serializers.py:331 msgid "Optional note field" msgstr "" -#: stock/serializers.py:339 +#: stock/serializers.py:344 msgid "Serial numbers cannot be assigned to this part" msgstr "" -#: stock/serializers.py:556 +#: stock/serializers.py:561 msgid "StockItem primary key value" msgstr "" -#: stock/serializers.py:584 +#: stock/serializers.py:589 msgid "Stock transaction notes" msgstr "" -#: stock/serializers.py:594 +#: stock/serializers.py:599 msgid "A list of stock items must be provided" msgstr "" @@ -5629,125 +5656,131 @@ msgstr "" msgid "Install" msgstr "" -#: stock/templates/stock/item_base.html:106 +#: stock/templates/stock/item_base.html:108 msgid "Convert to variant" msgstr "" -#: stock/templates/stock/item_base.html:109 +#: stock/templates/stock/item_base.html:111 msgid "Duplicate stock item" msgstr "" -#: stock/templates/stock/item_base.html:111 +#: stock/templates/stock/item_base.html:113 msgid "Edit stock item" msgstr "" -#: stock/templates/stock/item_base.html:114 +#: stock/templates/stock/item_base.html:116 msgid "Delete stock item" msgstr "" -#: stock/templates/stock/item_base.html:136 -#: stock/templates/stock/item_base.html:386 -#: templates/js/translated/table_filters.js:247 -msgid "Expired" +#: stock/templates/stock/item_base.html:154 +msgid "previous page" msgstr "" -#: stock/templates/stock/item_base.html:146 -#: stock/templates/stock/item_base.html:388 -#: templates/js/translated/table_filters.js:253 -msgid "Stale" +#: stock/templates/stock/item_base.html:154 +msgid "Navigate to previous serial number" msgstr "" -#: stock/templates/stock/item_base.html:161 -msgid "You are not in the list of owners of this item. This stock item cannot be edited." +#: stock/templates/stock/item_base.html:163 +msgid "next page" msgstr "" -#: stock/templates/stock/item_base.html:168 -msgid "This stock item is in production and cannot be edited." -msgstr "" - -#: stock/templates/stock/item_base.html:169 -msgid "Edit the stock item from the build view." -msgstr "" - -#: stock/templates/stock/item_base.html:182 -msgid "This stock item has not passed all required tests" +#: stock/templates/stock/item_base.html:163 +msgid "Navigate to next serial number" msgstr "" #: stock/templates/stock/item_base.html:190 #, python-format -msgid "This stock item is allocated to Sales Order %(link)s (Quantity: %(qty)s)" -msgstr "" - -#: stock/templates/stock/item_base.html:198 -#, python-format -msgid "This stock item is allocated to Build %(link)s (Quantity: %(qty)s)" -msgstr "" - -#: stock/templates/stock/item_base.html:204 -msgid "This stock item is serialized - it has a unique serial number and the quantity cannot be adjusted." -msgstr "" - -#: stock/templates/stock/item_base.html:208 -msgid "This stock item cannot be deleted as it has child items" -msgstr "" - -#: stock/templates/stock/item_base.html:212 -msgid "This stock item will be automatically deleted when all stock is depleted." -msgstr "" - -#: stock/templates/stock/item_base.html:241 -msgid "previous page" -msgstr "" - -#: stock/templates/stock/item_base.html:247 -msgid "next page" -msgstr "" - -#: stock/templates/stock/item_base.html:290 -#: templates/js/translated/build.js:1035 -msgid "No location set" -msgstr "" - -#: stock/templates/stock/item_base.html:297 -msgid "Barcode Identifier" -msgstr "" - -#: stock/templates/stock/item_base.html:339 -msgid "Parent Item" -msgstr "" - -#: stock/templates/stock/item_base.html:357 -msgid "No manufacturer set" -msgstr "" - -#: stock/templates/stock/item_base.html:386 -#, python-format msgid "This StockItem expired on %(item.expiry_date)s" msgstr "" -#: stock/templates/stock/item_base.html:388 +#: stock/templates/stock/item_base.html:190 +#: templates/js/translated/table_filters.js:247 +msgid "Expired" +msgstr "" + +#: stock/templates/stock/item_base.html:192 #, python-format msgid "This StockItem expires on %(item.expiry_date)s" msgstr "" -#: stock/templates/stock/item_base.html:395 -#: templates/js/translated/stock.js:1289 +#: stock/templates/stock/item_base.html:192 +#: templates/js/translated/table_filters.js:253 +msgid "Stale" +msgstr "" + +#: stock/templates/stock/item_base.html:199 +#: templates/js/translated/stock.js:1371 msgid "Last Updated" msgstr "" -#: stock/templates/stock/item_base.html:400 +#: stock/templates/stock/item_base.html:204 msgid "Last Stocktake" msgstr "" -#: stock/templates/stock/item_base.html:404 +#: stock/templates/stock/item_base.html:208 msgid "No stocktake performed" msgstr "" -#: stock/templates/stock/item_base.html:415 +#: stock/templates/stock/item_base.html:226 +msgid "You are not in the list of owners of this item. This stock item cannot be edited." +msgstr "" + +#: stock/templates/stock/item_base.html:233 +msgid "This stock item is in production and cannot be edited." +msgstr "" + +#: stock/templates/stock/item_base.html:234 +msgid "Edit the stock item from the build view." +msgstr "" + +#: stock/templates/stock/item_base.html:247 +msgid "This stock item has not passed all required tests" +msgstr "" + +#: stock/templates/stock/item_base.html:255 +#, python-format +msgid "This stock item is allocated to Sales Order %(link)s (Quantity: %(qty)s)" +msgstr "" + +#: stock/templates/stock/item_base.html:263 +#, python-format +msgid "This stock item is allocated to Build %(link)s (Quantity: %(qty)s)" +msgstr "" + +#: stock/templates/stock/item_base.html:269 +msgid "This stock item is serialized - it has a unique serial number and the quantity cannot be adjusted." +msgstr "" + +#: stock/templates/stock/item_base.html:273 +msgid "This stock item cannot be deleted as it has child items" +msgstr "" + +#: stock/templates/stock/item_base.html:277 +msgid "This stock item will be automatically deleted when all stock is depleted." +msgstr "" + +#: stock/templates/stock/item_base.html:318 +#: templates/js/translated/build.js:1035 +msgid "No location set" +msgstr "" + +#: stock/templates/stock/item_base.html:325 +msgid "Barcode Identifier" +msgstr "" + +#: stock/templates/stock/item_base.html:367 +msgid "Parent Item" +msgstr "" + +#: stock/templates/stock/item_base.html:385 +msgid "No manufacturer set" +msgstr "" + +#: stock/templates/stock/item_base.html:410 msgid "Tests" msgstr "" -#: stock/templates/stock/item_base.html:505 +#: stock/templates/stock/item_base.html:500 msgid "Edit Stock Status" msgstr "" @@ -5825,30 +5858,35 @@ msgstr "" msgid "New Location" msgstr "" -#: stock/templates/stock/location.html:86 +#: stock/templates/stock/location.html:95 +#: stock/templates/stock/location.html:101 +msgid "Location Path" +msgstr "" + +#: stock/templates/stock/location.html:102 msgid "Top level stock location" msgstr "" -#: stock/templates/stock/location.html:95 +#: stock/templates/stock/location.html:115 msgid "You are not in the list of owners of this location. This stock location cannot be edited." msgstr "" -#: stock/templates/stock/location.html:113 -#: stock/templates/stock/location.html:160 +#: stock/templates/stock/location.html:128 +#: stock/templates/stock/location.html:175 #: stock/templates/stock/location_sidebar.html:5 msgid "Sublocations" msgstr "" -#: stock/templates/stock/location.html:127 templates/InvenTree/search.html:170 +#: stock/templates/stock/location.html:142 templates/InvenTree/search.html:170 #: templates/stats.html:97 users/models.py:42 msgid "Stock Locations" msgstr "" -#: stock/templates/stock/location.html:167 templates/stock_table.html:30 +#: stock/templates/stock/location.html:182 templates/stock_table.html:30 msgid "Printing Actions" msgstr "" -#: stock/templates/stock/location.html:171 templates/stock_table.html:34 +#: stock/templates/stock/location.html:186 templates/stock_table.html:34 msgid "Print labels" msgstr "" @@ -5942,7 +5980,7 @@ msgstr "" msgid "Uninstall Stock Items" msgstr "" -#: stock/views.py:760 templates/js/translated/stock.js:648 +#: stock/views.py:760 templates/js/translated/stock.js:730 msgid "Confirm stock adjustment" msgstr "" @@ -5950,7 +5988,7 @@ msgstr "" msgid "Uninstalled stock items" msgstr "" -#: stock/views.py:793 templates/js/translated/stock.js:318 +#: stock/views.py:793 templates/js/translated/stock.js:319 msgid "Edit Stock Item" msgstr "" @@ -5962,7 +6000,7 @@ msgstr "" msgid "Create new Stock Item" msgstr "" -#: stock/views.py:1186 templates/js/translated/stock.js:298 +#: stock/views.py:1186 templates/js/translated/stock.js:299 msgid "Duplicate Stock Item" msgstr "" @@ -6868,7 +6906,7 @@ msgstr "" msgid "Unlink" msgstr "" -#: templates/js/translated/barcode.js:397 templates/js/translated/stock.js:600 +#: templates/js/translated/barcode.js:397 templates/js/translated/stock.js:682 msgid "Remove stock item" msgstr "" @@ -6963,7 +7001,7 @@ msgid "View BOM" msgstr "" #: templates/js/translated/bom.js:608 templates/js/translated/build.js:1183 -#: templates/js/translated/order.js:1320 +#: templates/js/translated/order.js:1319 msgid "Actions" msgstr "" @@ -7055,7 +7093,7 @@ msgstr "" msgid "No build order allocations found" msgstr "" -#: templates/js/translated/build.js:424 templates/js/translated/order.js:1194 +#: templates/js/translated/build.js:424 templates/js/translated/order.js:1193 msgid "Location not specified" msgstr "" @@ -7064,12 +7102,12 @@ msgid "No active build outputs found" msgstr "" #: templates/js/translated/build.js:1052 templates/js/translated/build.js:1760 -#: templates/js/translated/order.js:1327 +#: templates/js/translated/order.js:1326 msgid "Edit stock allocation" msgstr "" #: templates/js/translated/build.js:1054 templates/js/translated/build.js:1761 -#: templates/js/translated/order.js:1328 +#: templates/js/translated/order.js:1327 msgid "Delete stock allocation" msgstr "" @@ -7090,11 +7128,11 @@ msgid "Quantity Per" msgstr "" #: templates/js/translated/build.js:1134 templates/js/translated/build.js:1360 -#: templates/js/translated/build.js:1756 templates/js/translated/order.js:1557 +#: templates/js/translated/build.js:1756 templates/js/translated/order.js:1556 msgid "Allocated" msgstr "" -#: templates/js/translated/build.js:1190 templates/js/translated/order.js:1611 +#: templates/js/translated/build.js:1190 templates/js/translated/order.js:1610 msgid "Build stock" msgstr "" @@ -7102,7 +7140,7 @@ msgstr "" msgid "Order stock" msgstr "" -#: templates/js/translated/build.js:1197 templates/js/translated/order.js:1604 +#: templates/js/translated/build.js:1197 templates/js/translated/order.js:1603 msgid "Allocate stock" msgstr "" @@ -7143,9 +7181,9 @@ msgstr "" msgid "No builds matching query" msgstr "" -#: templates/js/translated/build.js:1593 templates/js/translated/part.js:966 -#: templates/js/translated/part.js:1377 templates/js/translated/stock.js:1094 -#: templates/js/translated/stock.js:1871 +#: templates/js/translated/build.js:1593 templates/js/translated/part.js:1147 +#: templates/js/translated/part.js:1558 templates/js/translated/stock.js:1176 +#: templates/js/translated/stock.js:1953 msgid "Select" msgstr "" @@ -7153,7 +7191,7 @@ msgstr "" msgid "Build order is overdue" msgstr "" -#: templates/js/translated/build.js:1674 templates/js/translated/stock.js:2090 +#: templates/js/translated/build.js:1674 templates/js/translated/stock.js:2172 msgid "No user information" msgstr "" @@ -7197,10 +7235,6 @@ msgstr "" msgid "Delete Supplier Part" msgstr "" -#: templates/js/translated/company.js:265 -msgid "Edit Company" -msgstr "" - #: templates/js/translated/company.js:286 msgid "Add new Company" msgstr "" @@ -7230,34 +7264,34 @@ msgid "No manufacturer parts found" msgstr "" #: templates/js/translated/company.js:497 -#: templates/js/translated/company.js:754 templates/js/translated/part.js:449 -#: templates/js/translated/part.js:534 +#: templates/js/translated/company.js:754 templates/js/translated/part.js:456 +#: templates/js/translated/part.js:541 msgid "Template part" msgstr "" #: templates/js/translated/company.js:501 -#: templates/js/translated/company.js:758 templates/js/translated/part.js:453 -#: templates/js/translated/part.js:538 +#: templates/js/translated/company.js:758 templates/js/translated/part.js:460 +#: templates/js/translated/part.js:545 msgid "Assembled part" msgstr "" -#: templates/js/translated/company.js:628 templates/js/translated/part.js:626 +#: templates/js/translated/company.js:628 templates/js/translated/part.js:633 msgid "No parameters found" msgstr "" -#: templates/js/translated/company.js:665 templates/js/translated/part.js:668 +#: templates/js/translated/company.js:665 templates/js/translated/part.js:675 msgid "Edit parameter" msgstr "" -#: templates/js/translated/company.js:666 templates/js/translated/part.js:669 +#: templates/js/translated/company.js:666 templates/js/translated/part.js:676 msgid "Delete parameter" msgstr "" -#: templates/js/translated/company.js:685 templates/js/translated/part.js:686 +#: templates/js/translated/company.js:685 templates/js/translated/part.js:693 msgid "Edit Parameter" msgstr "" -#: templates/js/translated/company.js:696 templates/js/translated/part.js:698 +#: templates/js/translated/company.js:696 templates/js/translated/part.js:705 msgid "Delete Parameter" msgstr "" @@ -7346,7 +7380,7 @@ msgid "NO" msgstr "" #: templates/js/translated/label.js:29 templates/js/translated/report.js:118 -#: templates/js/translated/stock.js:624 +#: templates/js/translated/stock.js:706 msgid "Select Stock Items" msgstr "" @@ -7502,11 +7536,11 @@ msgstr "" msgid "Export Order" msgstr "" -#: templates/js/translated/order.js:211 templates/js/translated/stock.js:423 +#: templates/js/translated/order.js:211 templates/js/translated/stock.js:505 msgid "Format" msgstr "" -#: templates/js/translated/order.js:212 templates/js/translated/stock.js:424 +#: templates/js/translated/order.js:212 templates/js/translated/stock.js:506 msgid "Select file format" msgstr "" @@ -7522,7 +7556,7 @@ msgstr "" msgid "Quantity to receive" msgstr "" -#: templates/js/translated/order.js:360 templates/js/translated/stock.js:1673 +#: templates/js/translated/order.js:360 templates/js/translated/stock.js:1755 msgid "Stock Status" msgstr "" @@ -7546,321 +7580,321 @@ msgstr "" msgid "Receive Purchase Order Items" msgstr "" -#: templates/js/translated/order.js:627 +#: templates/js/translated/order.js:627 templates/js/translated/part.js:746 msgid "No purchase orders found" msgstr "" -#: templates/js/translated/order.js:652 templates/js/translated/order.js:1063 +#: templates/js/translated/order.js:659 templates/js/translated/order.js:1062 msgid "Order is overdue" msgstr "" -#: templates/js/translated/order.js:772 templates/js/translated/order.js:1646 +#: templates/js/translated/order.js:771 templates/js/translated/order.js:1645 msgid "Edit Line Item" msgstr "" -#: templates/js/translated/order.js:784 templates/js/translated/order.js:1657 +#: templates/js/translated/order.js:783 templates/js/translated/order.js:1656 msgid "Delete Line Item" msgstr "" -#: templates/js/translated/order.js:823 +#: templates/js/translated/order.js:822 msgid "No line items found" msgstr "" -#: templates/js/translated/order.js:850 templates/js/translated/order.js:1467 +#: templates/js/translated/order.js:849 templates/js/translated/order.js:1466 msgid "Total" msgstr "" -#: templates/js/translated/order.js:904 templates/js/translated/order.js:1492 -#: templates/js/translated/part.js:1594 templates/js/translated/part.js:1805 +#: templates/js/translated/order.js:903 templates/js/translated/order.js:1491 +#: templates/js/translated/part.js:1775 templates/js/translated/part.js:1986 msgid "Unit Price" msgstr "" -#: templates/js/translated/order.js:919 templates/js/translated/order.js:1508 +#: templates/js/translated/order.js:918 templates/js/translated/order.js:1507 msgid "Total Price" msgstr "" -#: templates/js/translated/order.js:997 templates/js/translated/order.js:1617 +#: templates/js/translated/order.js:996 templates/js/translated/order.js:1616 msgid "Edit line item" msgstr "" -#: templates/js/translated/order.js:998 +#: templates/js/translated/order.js:997 msgid "Delete line item" msgstr "" -#: templates/js/translated/order.js:1002 +#: templates/js/translated/order.js:1001 templates/js/translated/part.js:878 msgid "Receive line item" msgstr "" -#: templates/js/translated/order.js:1039 +#: templates/js/translated/order.js:1038 msgid "No sales orders found" msgstr "" -#: templates/js/translated/order.js:1077 +#: templates/js/translated/order.js:1076 msgid "Invalid Customer" msgstr "" -#: templates/js/translated/order.js:1155 +#: templates/js/translated/order.js:1154 msgid "No sales order allocations found" msgstr "" -#: templates/js/translated/order.js:1248 +#: templates/js/translated/order.js:1247 msgid "Edit Stock Allocation" msgstr "" -#: templates/js/translated/order.js:1265 +#: templates/js/translated/order.js:1264 msgid "Confirm Delete Operation" msgstr "" -#: templates/js/translated/order.js:1266 +#: templates/js/translated/order.js:1265 msgid "Delete Stock Allocation" msgstr "" -#: templates/js/translated/order.js:1308 +#: templates/js/translated/order.js:1307 msgid "Stock location not specified" msgstr "" -#: templates/js/translated/order.js:1557 +#: templates/js/translated/order.js:1556 msgid "Fulfilled" msgstr "" -#: templates/js/translated/order.js:1601 +#: templates/js/translated/order.js:1600 msgid "Allocate serial numbers" msgstr "" -#: templates/js/translated/order.js:1607 +#: templates/js/translated/order.js:1606 msgid "Purchase stock" msgstr "" -#: templates/js/translated/order.js:1614 templates/js/translated/order.js:1793 +#: templates/js/translated/order.js:1613 templates/js/translated/order.js:1792 msgid "Calculate price" msgstr "" -#: templates/js/translated/order.js:1618 +#: templates/js/translated/order.js:1617 msgid "Delete line item " msgstr "" -#: templates/js/translated/order.js:1741 +#: templates/js/translated/order.js:1740 msgid "Allocate Stock Item" msgstr "" -#: templates/js/translated/order.js:1801 +#: templates/js/translated/order.js:1800 msgid "Update Unit Price" msgstr "" -#: templates/js/translated/order.js:1815 +#: templates/js/translated/order.js:1814 msgid "No matching line items" msgstr "" -#: templates/js/translated/part.js:51 +#: templates/js/translated/part.js:52 msgid "Part Attributes" msgstr "" -#: templates/js/translated/part.js:55 +#: templates/js/translated/part.js:56 msgid "Part Creation Options" msgstr "" -#: templates/js/translated/part.js:59 +#: templates/js/translated/part.js:60 msgid "Part Duplication Options" msgstr "" -#: templates/js/translated/part.js:63 +#: templates/js/translated/part.js:64 msgid "Supplier Options" msgstr "" -#: templates/js/translated/part.js:77 +#: templates/js/translated/part.js:78 msgid "Add Part Category" msgstr "" -#: templates/js/translated/part.js:166 +#: templates/js/translated/part.js:162 msgid "Create Initial Stock" msgstr "" -#: templates/js/translated/part.js:167 +#: templates/js/translated/part.js:163 msgid "Create an initial stock item for this part" msgstr "" -#: templates/js/translated/part.js:174 +#: templates/js/translated/part.js:170 msgid "Initial Stock Quantity" msgstr "" -#: templates/js/translated/part.js:175 +#: templates/js/translated/part.js:171 msgid "Specify initial stock quantity for this part" msgstr "" -#: templates/js/translated/part.js:182 +#: templates/js/translated/part.js:178 msgid "Select destination stock location" msgstr "" -#: templates/js/translated/part.js:193 +#: templates/js/translated/part.js:196 msgid "Copy Category Parameters" msgstr "" -#: templates/js/translated/part.js:194 +#: templates/js/translated/part.js:197 msgid "Copy parameter templates from selected part category" msgstr "" -#: templates/js/translated/part.js:202 +#: templates/js/translated/part.js:205 msgid "Add Supplier Data" msgstr "" -#: templates/js/translated/part.js:203 +#: templates/js/translated/part.js:206 msgid "Create initial supplier data for this part" msgstr "" -#: templates/js/translated/part.js:259 +#: templates/js/translated/part.js:262 msgid "Copy Image" msgstr "" -#: templates/js/translated/part.js:260 +#: templates/js/translated/part.js:263 msgid "Copy image from original part" msgstr "" -#: templates/js/translated/part.js:268 +#: templates/js/translated/part.js:271 msgid "Copy bill of materials from original part" msgstr "" -#: templates/js/translated/part.js:275 +#: templates/js/translated/part.js:278 msgid "Copy Parameters" msgstr "" -#: templates/js/translated/part.js:276 +#: templates/js/translated/part.js:279 msgid "Copy parameter data from original part" msgstr "" -#: templates/js/translated/part.js:289 +#: templates/js/translated/part.js:292 msgid "Parent part category" msgstr "" -#: templates/js/translated/part.js:333 +#: templates/js/translated/part.js:336 msgid "Edit Part" msgstr "" -#: templates/js/translated/part.js:335 +#: templates/js/translated/part.js:338 msgid "Part edited" msgstr "" -#: templates/js/translated/part.js:403 +#: templates/js/translated/part.js:410 msgid "You are subscribed to notifications for this item" msgstr "" -#: templates/js/translated/part.js:405 +#: templates/js/translated/part.js:412 msgid "You have subscribed to notifications for this item" msgstr "" -#: templates/js/translated/part.js:410 +#: templates/js/translated/part.js:417 msgid "Subscribe to notifications for this item" msgstr "" -#: templates/js/translated/part.js:412 +#: templates/js/translated/part.js:419 msgid "You have unsubscribed to notifications for this item" msgstr "" -#: templates/js/translated/part.js:441 templates/js/translated/part.js:526 +#: templates/js/translated/part.js:448 templates/js/translated/part.js:533 msgid "Trackable part" msgstr "" -#: templates/js/translated/part.js:445 templates/js/translated/part.js:530 +#: templates/js/translated/part.js:452 templates/js/translated/part.js:537 msgid "Virtual part" msgstr "" -#: templates/js/translated/part.js:457 +#: templates/js/translated/part.js:464 msgid "Subscribed part" msgstr "" -#: templates/js/translated/part.js:461 +#: templates/js/translated/part.js:468 msgid "Salable part" msgstr "" -#: templates/js/translated/part.js:576 +#: templates/js/translated/part.js:583 msgid "No variants found" msgstr "" -#: templates/js/translated/part.js:765 +#: templates/js/translated/part.js:946 msgid "Delete part relationship" msgstr "" -#: templates/js/translated/part.js:789 +#: templates/js/translated/part.js:970 msgid "Delete Part Relationship" msgstr "" -#: templates/js/translated/part.js:856 templates/js/translated/part.js:1116 +#: templates/js/translated/part.js:1037 templates/js/translated/part.js:1297 msgid "No parts found" msgstr "" -#: templates/js/translated/part.js:1026 +#: templates/js/translated/part.js:1207 msgid "No category" msgstr "" -#: templates/js/translated/part.js:1049 +#: templates/js/translated/part.js:1230 #: templates/js/translated/table_filters.js:381 msgid "Low stock" msgstr "" -#: templates/js/translated/part.js:1140 templates/js/translated/part.js:1312 -#: templates/js/translated/stock.js:1832 +#: templates/js/translated/part.js:1321 templates/js/translated/part.js:1493 +#: templates/js/translated/stock.js:1914 msgid "Display as list" msgstr "" -#: templates/js/translated/part.js:1156 +#: templates/js/translated/part.js:1337 msgid "Display as grid" msgstr "" -#: templates/js/translated/part.js:1331 templates/js/translated/stock.js:1851 +#: templates/js/translated/part.js:1512 templates/js/translated/stock.js:1933 msgid "Display as tree" msgstr "" -#: templates/js/translated/part.js:1395 +#: templates/js/translated/part.js:1576 msgid "Subscribed category" msgstr "" -#: templates/js/translated/part.js:1409 templates/js/translated/stock.js:1895 +#: templates/js/translated/part.js:1590 templates/js/translated/stock.js:1977 msgid "Path" msgstr "" -#: templates/js/translated/part.js:1453 +#: templates/js/translated/part.js:1634 msgid "No test templates matching query" msgstr "" -#: templates/js/translated/part.js:1504 templates/js/translated/stock.js:816 +#: templates/js/translated/part.js:1685 templates/js/translated/stock.js:898 msgid "Edit test result" msgstr "" -#: templates/js/translated/part.js:1505 templates/js/translated/stock.js:817 +#: templates/js/translated/part.js:1686 templates/js/translated/stock.js:899 msgid "Delete test result" msgstr "" -#: templates/js/translated/part.js:1511 +#: templates/js/translated/part.js:1692 msgid "This test is defined for a parent part" msgstr "" -#: templates/js/translated/part.js:1533 +#: templates/js/translated/part.js:1714 msgid "Edit Test Result Template" msgstr "" -#: templates/js/translated/part.js:1547 +#: templates/js/translated/part.js:1728 msgid "Delete Test Result Template" msgstr "" -#: templates/js/translated/part.js:1572 +#: templates/js/translated/part.js:1753 #, python-brace-format msgid "No ${human_name} information found" msgstr "" -#: templates/js/translated/part.js:1627 +#: templates/js/translated/part.js:1808 #, python-brace-format msgid "Edit ${human_name}" msgstr "" -#: templates/js/translated/part.js:1628 +#: templates/js/translated/part.js:1809 #, python-brace-format msgid "Delete ${human_name}" msgstr "" -#: templates/js/translated/part.js:1729 +#: templates/js/translated/part.js:1910 msgid "Single Price" msgstr "" -#: templates/js/translated/part.js:1748 +#: templates/js/translated/part.js:1929 msgid "Single Price Difference" msgstr "" @@ -7930,276 +7964,300 @@ msgstr "" msgid "Sales Order(s) must be selected before printing report" msgstr "" -#: templates/js/translated/stock.js:70 +#: templates/js/translated/stock.js:71 msgid "Serialize Stock Item" msgstr "" -#: templates/js/translated/stock.js:88 templates/js/translated/stock.js:167 +#: templates/js/translated/stock.js:89 templates/js/translated/stock.js:168 msgid "Next available serial number" msgstr "" -#: templates/js/translated/stock.js:90 templates/js/translated/stock.js:169 +#: templates/js/translated/stock.js:91 templates/js/translated/stock.js:170 msgid "Latest serial number" msgstr "Số seri mới nhất" -#: templates/js/translated/stock.js:104 +#: templates/js/translated/stock.js:105 msgid "Parent stock location" msgstr "" -#: templates/js/translated/stock.js:140 +#: templates/js/translated/stock.js:141 msgid "New Stock Location" msgstr "" -#: templates/js/translated/stock.js:180 +#: templates/js/translated/stock.js:181 msgid "This part cannot be serialized" msgstr "" -#: templates/js/translated/stock.js:219 +#: templates/js/translated/stock.js:220 msgid "Enter initial quantity for this stock item" msgstr "" -#: templates/js/translated/stock.js:225 +#: templates/js/translated/stock.js:226 msgid "Enter serial numbers for new stock (or leave blank)" msgstr "" -#: templates/js/translated/stock.js:368 +#: templates/js/translated/stock.js:369 msgid "Created new stock item" msgstr "" -#: templates/js/translated/stock.js:381 +#: templates/js/translated/stock.js:382 msgid "Created multiple stock items" msgstr "" -#: templates/js/translated/stock.js:420 +#: templates/js/translated/stock.js:407 +msgid "Find Serial Number" +msgstr "" + +#: templates/js/translated/stock.js:411 templates/js/translated/stock.js:412 +msgid "Enter serial number" +msgstr "" + +#: templates/js/translated/stock.js:428 +msgid "Enter a serial number" +msgstr "" + +#: templates/js/translated/stock.js:448 +msgid "No matching serial number" +msgstr "" + +#: templates/js/translated/stock.js:457 +msgid "More than one matching result found" +msgstr "" + +#: templates/js/translated/stock.js:502 msgid "Export Stock" msgstr "" -#: templates/js/translated/stock.js:431 +#: templates/js/translated/stock.js:513 msgid "Include Sublocations" msgstr "" -#: templates/js/translated/stock.js:432 +#: templates/js/translated/stock.js:514 msgid "Include stock items in sublocations" msgstr "" -#: templates/js/translated/stock.js:474 +#: templates/js/translated/stock.js:556 msgid "Transfer Stock" msgstr "" -#: templates/js/translated/stock.js:475 +#: templates/js/translated/stock.js:557 msgid "Move" msgstr "" -#: templates/js/translated/stock.js:481 +#: templates/js/translated/stock.js:563 msgid "Count Stock" msgstr "" -#: templates/js/translated/stock.js:482 +#: templates/js/translated/stock.js:564 msgid "Count" msgstr "" -#: templates/js/translated/stock.js:486 +#: templates/js/translated/stock.js:568 msgid "Remove Stock" msgstr "" -#: templates/js/translated/stock.js:487 +#: templates/js/translated/stock.js:569 msgid "Take" msgstr "" -#: templates/js/translated/stock.js:491 +#: templates/js/translated/stock.js:573 msgid "Add Stock" msgstr "" -#: templates/js/translated/stock.js:492 users/models.py:200 +#: templates/js/translated/stock.js:574 users/models.py:200 msgid "Add" msgstr "" -#: templates/js/translated/stock.js:496 templates/stock_table.html:56 +#: templates/js/translated/stock.js:578 templates/stock_table.html:56 msgid "Delete Stock" msgstr "" -#: templates/js/translated/stock.js:585 +#: templates/js/translated/stock.js:667 msgid "Quantity cannot be adjusted for serialized stock" msgstr "" -#: templates/js/translated/stock.js:585 +#: templates/js/translated/stock.js:667 msgid "Specify stock quantity" msgstr "" -#: templates/js/translated/stock.js:625 +#: templates/js/translated/stock.js:707 msgid "You must select at least one available stock item" msgstr "" -#: templates/js/translated/stock.js:783 +#: templates/js/translated/stock.js:865 msgid "PASS" msgstr "" -#: templates/js/translated/stock.js:785 +#: templates/js/translated/stock.js:867 msgid "FAIL" msgstr "" -#: templates/js/translated/stock.js:790 +#: templates/js/translated/stock.js:872 msgid "NO RESULT" msgstr "" -#: templates/js/translated/stock.js:812 +#: templates/js/translated/stock.js:894 msgid "Add test result" msgstr "" -#: templates/js/translated/stock.js:838 +#: templates/js/translated/stock.js:920 msgid "No test results found" msgstr "" -#: templates/js/translated/stock.js:895 +#: templates/js/translated/stock.js:977 msgid "Test Date" msgstr "" -#: templates/js/translated/stock.js:1002 +#: templates/js/translated/stock.js:1084 msgid "In production" msgstr "" -#: templates/js/translated/stock.js:1006 +#: templates/js/translated/stock.js:1088 msgid "Installed in Stock Item" msgstr "" -#: templates/js/translated/stock.js:1010 +#: templates/js/translated/stock.js:1092 msgid "Shipped to customer" msgstr "" -#: templates/js/translated/stock.js:1014 +#: templates/js/translated/stock.js:1096 msgid "Assigned to Sales Order" msgstr "" -#: templates/js/translated/stock.js:1020 +#: templates/js/translated/stock.js:1102 msgid "No stock location set" msgstr "" -#: templates/js/translated/stock.js:1178 +#: templates/js/translated/stock.js:1260 msgid "Stock item is in production" msgstr "" -#: templates/js/translated/stock.js:1183 +#: templates/js/translated/stock.js:1265 msgid "Stock item assigned to sales order" msgstr "" -#: templates/js/translated/stock.js:1186 +#: templates/js/translated/stock.js:1268 msgid "Stock item assigned to customer" msgstr "" -#: templates/js/translated/stock.js:1190 +#: templates/js/translated/stock.js:1272 msgid "Stock item has expired" msgstr "" -#: templates/js/translated/stock.js:1192 +#: templates/js/translated/stock.js:1274 msgid "Stock item will expire soon" msgstr "" -#: templates/js/translated/stock.js:1196 +#: templates/js/translated/stock.js:1278 msgid "Stock item has been allocated" msgstr "" -#: templates/js/translated/stock.js:1200 +#: templates/js/translated/stock.js:1282 msgid "Stock item has been installed in another item" msgstr "" -#: templates/js/translated/stock.js:1207 +#: templates/js/translated/stock.js:1289 msgid "Stock item has been rejected" msgstr "" -#: templates/js/translated/stock.js:1209 +#: templates/js/translated/stock.js:1291 msgid "Stock item is lost" msgstr "" -#: templates/js/translated/stock.js:1211 +#: templates/js/translated/stock.js:1293 msgid "Stock item is destroyed" msgstr "" -#: templates/js/translated/stock.js:1215 +#: templates/js/translated/stock.js:1297 #: templates/js/translated/table_filters.js:183 msgid "Depleted" msgstr "" -#: templates/js/translated/stock.js:1265 +#: templates/js/translated/stock.js:1347 msgid "Stocktake" msgstr "" -#: templates/js/translated/stock.js:1338 +#: templates/js/translated/stock.js:1420 msgid "Supplier part not specified" msgstr "" -#: templates/js/translated/stock.js:1376 +#: templates/js/translated/stock.js:1458 msgid "No stock items matching query" msgstr "" -#: templates/js/translated/stock.js:1397 templates/js/translated/stock.js:1445 +#: templates/js/translated/stock.js:1479 templates/js/translated/stock.js:1527 msgid "items" msgstr "" -#: templates/js/translated/stock.js:1485 +#: templates/js/translated/stock.js:1567 msgid "batches" msgstr "" -#: templates/js/translated/stock.js:1512 +#: templates/js/translated/stock.js:1594 msgid "locations" msgstr "" -#: templates/js/translated/stock.js:1514 +#: templates/js/translated/stock.js:1596 msgid "Undefined location" msgstr "" -#: templates/js/translated/stock.js:1688 +#: templates/js/translated/stock.js:1770 msgid "Set Stock Status" msgstr "" -#: templates/js/translated/stock.js:1702 +#: templates/js/translated/stock.js:1784 msgid "Select Status Code" msgstr "" -#: templates/js/translated/stock.js:1703 +#: templates/js/translated/stock.js:1785 msgid "Status code must be selected" msgstr "" -#: templates/js/translated/stock.js:1927 +#: templates/js/translated/stock.js:2009 msgid "Invalid date" msgstr "" -#: templates/js/translated/stock.js:1974 +#: templates/js/translated/stock.js:2031 +msgid "Details" +msgstr "" + +#: templates/js/translated/stock.js:2056 msgid "Location no longer exists" msgstr "" -#: templates/js/translated/stock.js:1993 +#: templates/js/translated/stock.js:2075 msgid "Purchase order no longer exists" msgstr "" -#: templates/js/translated/stock.js:2012 +#: templates/js/translated/stock.js:2094 msgid "Customer no longer exists" msgstr "" -#: templates/js/translated/stock.js:2030 +#: templates/js/translated/stock.js:2112 msgid "Stock item no longer exists" msgstr "" -#: templates/js/translated/stock.js:2053 +#: templates/js/translated/stock.js:2135 msgid "Added" msgstr "" -#: templates/js/translated/stock.js:2061 +#: templates/js/translated/stock.js:2143 msgid "Removed" msgstr "" -#: templates/js/translated/stock.js:2102 +#: templates/js/translated/stock.js:2184 msgid "Edit tracking entry" msgstr "" -#: templates/js/translated/stock.js:2103 +#: templates/js/translated/stock.js:2185 msgid "Delete tracking entry" msgstr "" -#: templates/js/translated/stock.js:2154 +#: templates/js/translated/stock.js:2236 msgid "No installed items" msgstr "" -#: templates/js/translated/stock.js:2205 +#: templates/js/translated/stock.js:2287 msgid "Uninstall Stock Item" msgstr "" diff --git a/InvenTree/locale/zh/LC_MESSAGES/django.po b/InvenTree/locale/zh/LC_MESSAGES/django.po index 88f3d3ad18..c482dd3fb5 100644 --- a/InvenTree/locale/zh/LC_MESSAGES/django.po +++ b/InvenTree/locale/zh/LC_MESSAGES/django.po @@ -2,8 +2,8 @@ msgid "" msgstr "" "Project-Id-Version: inventree\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2021-11-30 21:49+0000\n" -"PO-Revision-Date: 2021-11-30 21:52\n" +"POT-Creation-Date: 2021-12-03 10:37+0000\n" +"PO-Revision-Date: 2021-12-03 11:26\n" "Last-Translator: \n" "Language-Team: Chinese Simplified\n" "Language: zh_CN\n" @@ -114,129 +114,130 @@ msgstr "未找到序列号" msgid "Number of unique serial number ({s}) must match quantity ({q})" msgstr "唯一序列号 ({s}) 必须匹配数量 ({q})" -#: InvenTree/models.py:114 +#: InvenTree/models.py:120 msgid "Missing file" msgstr "缺少文件" -#: InvenTree/models.py:115 +#: InvenTree/models.py:121 msgid "Missing external link" msgstr "" -#: InvenTree/models.py:126 stock/models.py:1874 +#: InvenTree/models.py:132 stock/models.py:1864 #: templates/js/translated/attachment.js:117 msgid "Attachment" msgstr "附件" -#: InvenTree/models.py:127 +#: InvenTree/models.py:133 msgid "Select file to attach" msgstr "选择附件" -#: InvenTree/models.py:133 company/models.py:131 company/models.py:348 +#: InvenTree/models.py:139 company/models.py:131 company/models.py:348 #: company/models.py:564 order/models.py:163 part/models.py:797 #: report/templates/report/inventree_build_order_base.html:165 #: templates/js/translated/company.js:537 -#: templates/js/translated/company.js:826 templates/js/translated/part.js:1077 +#: templates/js/translated/company.js:826 templates/js/translated/part.js:1258 msgid "Link" msgstr "链接" -#: InvenTree/models.py:134 build/models.py:330 part/models.py:798 -#: stock/models.py:540 +#: InvenTree/models.py:140 build/models.py:330 part/models.py:798 +#: stock/models.py:530 msgid "Link to external URL" msgstr "链接到外部 URL" -#: InvenTree/models.py:137 templates/js/translated/attachment.js:161 +#: InvenTree/models.py:143 templates/js/translated/attachment.js:161 msgid "Comment" msgstr "注释" -#: InvenTree/models.py:137 +#: InvenTree/models.py:143 msgid "File comment" msgstr "文件注释" -#: InvenTree/models.py:143 InvenTree/models.py:144 common/models.py:1185 +#: InvenTree/models.py:149 InvenTree/models.py:150 common/models.py:1185 #: common/models.py:1186 part/models.py:2205 part/models.py:2225 #: report/templates/report/inventree_test_report_base.html:96 -#: templates/js/translated/stock.js:2084 +#: templates/js/translated/stock.js:2166 msgid "User" msgstr "用户" -#: InvenTree/models.py:147 +#: InvenTree/models.py:153 msgid "upload date" msgstr "上传日期" -#: InvenTree/models.py:170 +#: InvenTree/models.py:176 msgid "Filename must not be empty" msgstr "文件名不能为空!" -#: InvenTree/models.py:193 +#: InvenTree/models.py:199 msgid "Invalid attachment directory" msgstr "非法的附件目录" -#: InvenTree/models.py:203 +#: InvenTree/models.py:209 #, python-brace-format msgid "Filename contains illegal character '{c}'" msgstr "文件名包含非法字符 '{c}'" -#: InvenTree/models.py:206 +#: InvenTree/models.py:212 msgid "Filename missing extension" msgstr "缺少文件名扩展" -#: InvenTree/models.py:213 +#: InvenTree/models.py:219 msgid "Attachment with this filename already exists" msgstr "使用此文件名的附件已存在" -#: InvenTree/models.py:220 +#: InvenTree/models.py:226 msgid "Error renaming file" msgstr "重命名文件出错" -#: InvenTree/models.py:255 +#: InvenTree/models.py:261 msgid "Invalid choice" msgstr "选择无效" -#: InvenTree/models.py:271 InvenTree/models.py:272 company/models.py:415 +#: InvenTree/models.py:277 InvenTree/models.py:278 company/models.py:415 #: label/models.py:112 part/models.py:741 part/models.py:2389 -#: part/templates/part/detail.html:25 report/models.py:181 -#: templates/InvenTree/settings/settings.html:259 -#: templates/js/translated/company.js:638 templates/js/translated/part.js:499 -#: templates/js/translated/part.js:636 templates/js/translated/part.js:1384 -#: templates/js/translated/stock.js:1877 +#: report/models.py:181 templates/InvenTree/settings/settings.html:259 +#: templates/js/translated/company.js:638 templates/js/translated/part.js:506 +#: templates/js/translated/part.js:643 templates/js/translated/part.js:1565 +#: templates/js/translated/stock.js:1959 msgid "Name" msgstr "名称" -#: InvenTree/models.py:278 build/models.py:207 +#: InvenTree/models.py:284 build/models.py:207 #: build/templates/build/detail.html:25 company/models.py:354 -#: company/models.py:570 company/templates/company/manufacturer_part.html:80 -#: company/templates/company/supplier_part.html:81 label/models.py:119 -#: order/models.py:161 part/models.py:764 part/templates/part/detail.html:30 +#: company/models.py:570 company/templates/company/company_base.html:68 +#: company/templates/company/manufacturer_part.html:76 +#: company/templates/company/supplier_part.html:73 label/models.py:119 +#: order/models.py:161 part/models.py:764 part/templates/part/category.html:70 +#: part/templates/part/part_base.html:163 #: part/templates/part/set_category.html:14 report/models.py:194 #: report/models.py:553 report/models.py:592 #: report/templates/report/inventree_build_order_base.html:118 -#: stock/templates/stock/location.html:108 templates/js/translated/bom.js:215 +#: stock/templates/stock/location.html:89 templates/js/translated/bom.js:215 #: templates/js/translated/bom.js:428 templates/js/translated/build.js:1621 #: templates/js/translated/company.js:345 #: templates/js/translated/company.js:548 -#: templates/js/translated/company.js:837 templates/js/translated/order.js:673 -#: templates/js/translated/order.js:855 templates/js/translated/order.js:1091 -#: templates/js/translated/part.js:558 templates/js/translated/part.js:752 -#: templates/js/translated/part.js:837 templates/js/translated/part.js:1007 -#: templates/js/translated/part.js:1403 templates/js/translated/part.js:1472 -#: templates/js/translated/stock.js:1151 templates/js/translated/stock.js:1889 -#: templates/js/translated/stock.js:1934 +#: templates/js/translated/company.js:837 templates/js/translated/order.js:680 +#: templates/js/translated/order.js:854 templates/js/translated/order.js:1090 +#: templates/js/translated/part.js:565 templates/js/translated/part.js:933 +#: templates/js/translated/part.js:1018 templates/js/translated/part.js:1188 +#: templates/js/translated/part.js:1584 templates/js/translated/part.js:1653 +#: templates/js/translated/stock.js:1233 templates/js/translated/stock.js:1971 +#: templates/js/translated/stock.js:2016 msgid "Description" msgstr "描述信息" -#: InvenTree/models.py:279 +#: InvenTree/models.py:285 msgid "Description (optional)" msgstr "描述 (可选)" -#: InvenTree/models.py:287 +#: InvenTree/models.py:293 msgid "parent" msgstr "上级项" -#: InvenTree/serializers.py:62 part/models.py:2674 +#: InvenTree/serializers.py:65 part/models.py:2674 msgid "Must be a valid number" msgstr "必须是有效数字" -#: InvenTree/serializers.py:285 +#: InvenTree/serializers.py:299 msgid "Filename" msgstr "文件名" @@ -361,7 +362,7 @@ msgid "Returned" msgstr "已退回" #: InvenTree/status_codes.py:143 -#: order/templates/order/sales_order_base.html:147 +#: order/templates/order/sales_order_base.html:148 msgid "Shipped" msgstr "已发货" @@ -566,7 +567,7 @@ msgid "Barcode associated with StockItem" msgstr "与库存项关联的条形码" #: build/forms.py:36 build/models.py:1283 -#: build/templates/build/build_base.html:124 +#: build/templates/build/build_base.html:132 #: build/templates/build/detail.html:35 common/models.py:1225 #: company/forms.py:42 company/templates/company/supplier_part.html:251 #: order/forms.py:102 order/models.py:729 order/models.py:991 @@ -574,26 +575,27 @@ msgstr "与库存项关联的条形码" #: order/templates/order/order_wizard/select_parts.html:34 part/forms.py:223 #: part/forms.py:239 part/forms.py:255 part/models.py:2576 #: part/templates/part/bom_upload/match_parts.html:31 -#: part/templates/part/detail.html:1076 part/templates/part/detail.html:1162 +#: part/templates/part/detail.html:967 part/templates/part/detail.html:1053 #: part/templates/part/part_pricing.html:16 #: report/templates/report/inventree_build_order_base.html:114 #: report/templates/report/inventree_po_report.html:91 #: report/templates/report/inventree_so_report.html:91 #: report/templates/report/inventree_test_report_base.html:81 #: report/templates/report/inventree_test_report_base.html:139 -#: stock/forms.py:156 stock/serializers.py:286 -#: stock/templates/stock/item_base.html:256 +#: stock/forms.py:156 stock/serializers.py:291 +#: stock/templates/stock/item_base.html:174 #: templates/js/translated/barcode.js:385 templates/js/translated/bom.js:443 #: templates/js/translated/build.js:235 templates/js/translated/build.js:435 #: templates/js/translated/build.js:629 templates/js/translated/build.js:639 #: templates/js/translated/build.js:1015 templates/js/translated/build.js:1362 #: templates/js/translated/model_renderers.js:99 -#: templates/js/translated/order.js:892 templates/js/translated/order.js:1205 -#: templates/js/translated/order.js:1283 templates/js/translated/order.js:1290 -#: templates/js/translated/order.js:1379 templates/js/translated/order.js:1479 -#: templates/js/translated/part.js:1615 templates/js/translated/part.js:1738 -#: templates/js/translated/part.js:1816 templates/js/translated/stock.js:377 -#: templates/js/translated/stock.js:2069 templates/js/translated/stock.js:2171 +#: templates/js/translated/order.js:891 templates/js/translated/order.js:1204 +#: templates/js/translated/order.js:1282 templates/js/translated/order.js:1289 +#: templates/js/translated/order.js:1378 templates/js/translated/order.js:1478 +#: templates/js/translated/part.js:843 templates/js/translated/part.js:1796 +#: templates/js/translated/part.js:1919 templates/js/translated/part.js:1997 +#: templates/js/translated/stock.js:378 templates/js/translated/stock.js:2151 +#: templates/js/translated/stock.js:2253 msgid "Quantity" msgstr "数量" @@ -602,8 +604,8 @@ msgid "Enter quantity for build output" msgstr "输入生产产出数量" #: build/forms.py:41 order/forms.py:96 stock/forms.py:95 -#: stock/serializers.py:307 templates/js/translated/stock.js:224 -#: templates/js/translated/stock.js:378 +#: stock/serializers.py:312 templates/js/translated/stock.js:225 +#: templates/js/translated/stock.js:379 msgid "Serial Numbers" msgstr "序列号" @@ -646,7 +648,7 @@ msgstr "生产订单" #: build/templates/build/index.html:8 build/templates/build/index.html:12 #: order/templates/order/sales_order_detail.html:42 #: order/templates/order/so_sidebar.html:7 -#: part/templates/part/part_sidebar.html:22 templates/InvenTree/index.html:221 +#: part/templates/part/part_sidebar.html:20 templates/InvenTree/index.html:221 #: templates/InvenTree/search.html:145 #: templates/InvenTree/settings/sidebar.html:42 users/models.py:44 msgid "Build Orders" @@ -662,7 +664,7 @@ msgstr "相关生产订单" #: report/templates/report/inventree_po_report.html:92 #: report/templates/report/inventree_so_report.html:92 #: templates/js/translated/bom.js:435 templates/js/translated/build.js:1119 -#: templates/js/translated/order.js:886 templates/js/translated/order.js:1473 +#: templates/js/translated/order.js:885 templates/js/translated/order.js:1472 msgid "Reference" msgstr "引用" @@ -670,7 +672,7 @@ msgstr "引用" msgid "Brief description of the build" msgstr "生产的简短描述." -#: build/models.py:219 build/templates/build/build_base.html:156 +#: build/models.py:219 build/templates/build/build_base.html:164 #: build/templates/build/detail.html:88 msgid "Parent Build" msgstr "上级生产" @@ -679,7 +681,7 @@ msgstr "上级生产" msgid "BuildOrder to which this build is allocated" msgstr "此次生产匹配的订单" -#: build/models.py:225 build/templates/build/build_base.html:119 +#: build/models.py:225 build/templates/build/build_base.html:77 #: build/templates/build/detail.html:30 company/models.py:705 #: order/models.py:789 order/models.py:860 #: order/templates/order/order_wizard/select_parts.html:32 part/models.py:357 @@ -700,10 +702,10 @@ msgstr "此次生产匹配的订单" #: templates/js/translated/build.js:988 templates/js/translated/build.js:1359 #: templates/js/translated/build.js:1626 templates/js/translated/company.js:489 #: templates/js/translated/company.js:746 templates/js/translated/order.js:426 -#: templates/js/translated/order.js:840 templates/js/translated/order.js:1457 -#: templates/js/translated/part.js:737 templates/js/translated/part.js:818 -#: templates/js/translated/part.js:985 templates/js/translated/stock.js:508 -#: templates/js/translated/stock.js:1108 templates/js/translated/stock.js:2159 +#: templates/js/translated/order.js:839 templates/js/translated/order.js:1456 +#: templates/js/translated/part.js:918 templates/js/translated/part.js:999 +#: templates/js/translated/part.js:1166 templates/js/translated/stock.js:590 +#: templates/js/translated/stock.js:1190 templates/js/translated/stock.js:2241 msgid "Part" msgstr "商品" @@ -751,7 +753,7 @@ msgstr "已完成项目" msgid "Number of stock items which have been completed" msgstr "已完成的库存项目数量" -#: build/models.py:277 part/templates/part/part_base.html:216 +#: build/models.py:277 part/templates/part/part_base.html:234 msgid "Build Status" msgstr "生产状态" @@ -759,7 +761,7 @@ msgstr "生产状态" msgid "Build status code" msgstr "生产状态代码" -#: build/models.py:285 stock/models.py:544 +#: build/models.py:285 stock/models.py:534 msgid "Batch Code" msgstr "批量代码" @@ -768,7 +770,7 @@ msgid "Batch code for this build output" msgstr "此生产产出的批量代码" #: build/models.py:292 order/models.py:165 part/models.py:936 -#: part/templates/part/detail.html:86 templates/js/translated/order.js:1104 +#: part/templates/part/part_base.html:313 templates/js/translated/order.js:1103 msgid "Creation Date" msgstr "创建日期" @@ -797,12 +799,12 @@ msgstr "发布者" msgid "User who issued this build order" msgstr "发布此生产订单的用户" -#: build/models.py:323 build/templates/build/build_base.html:177 +#: build/models.py:323 build/templates/build/build_base.html:185 #: build/templates/build/detail.html:116 order/models.py:179 -#: order/templates/order/order_base.html:154 -#: order/templates/order/sales_order_base.html:161 part/models.py:940 +#: order/templates/order/order_base.html:158 +#: order/templates/order/sales_order_base.html:162 part/models.py:940 #: report/templates/report/inventree_build_order_base.html:159 -#: templates/js/translated/build.js:1680 templates/js/translated/order.js:700 +#: templates/js/translated/build.js:1680 templates/js/translated/order.js:699 msgid "Responsible" msgstr "责任人" @@ -811,10 +813,10 @@ msgid "User responsible for this build order" msgstr "负责此生产订单的用户" #: build/models.py:329 build/templates/build/detail.html:102 -#: company/templates/company/manufacturer_part.html:87 -#: company/templates/company/supplier_part.html:88 -#: part/templates/part/detail.html:80 stock/models.py:538 -#: stock/templates/stock/item_base.html:346 +#: company/templates/company/manufacturer_part.html:102 +#: company/templates/company/supplier_part.html:126 +#: part/templates/part/part_base.html:354 stock/models.py:528 +#: stock/templates/stock/item_base.html:374 msgid "External Link" msgstr "外部链接" @@ -824,15 +826,15 @@ msgstr "外部链接" #: order/models.py:183 order/models.py:738 #: order/templates/order/po_sidebar.html:11 #: order/templates/order/so_sidebar.html:11 part/models.py:925 -#: part/templates/part/detail.html:223 part/templates/part/part_sidebar.html:52 +#: part/templates/part/detail.html:116 part/templates/part/part_sidebar.html:50 #: report/templates/report/inventree_build_order_base.html:173 -#: stock/forms.py:154 stock/forms.py:204 stock/forms.py:238 stock/models.py:610 -#: stock/models.py:1774 stock/models.py:1880 stock/serializers.py:325 -#: stock/serializers.py:583 stock/templates/stock/stock_sidebar.html:21 +#: stock/forms.py:154 stock/forms.py:204 stock/forms.py:238 stock/models.py:600 +#: stock/models.py:1764 stock/models.py:1870 stock/serializers.py:330 +#: stock/serializers.py:588 stock/templates/stock/stock_sidebar.html:21 #: templates/js/translated/barcode.js:58 templates/js/translated/bom.js:599 -#: templates/js/translated/company.js:842 templates/js/translated/order.js:985 -#: templates/js/translated/order.js:1583 templates/js/translated/stock.js:891 -#: templates/js/translated/stock.js:1370 +#: templates/js/translated/company.js:842 templates/js/translated/order.js:984 +#: templates/js/translated/order.js:1582 templates/js/translated/stock.js:973 +#: templates/js/translated/stock.js:1452 msgid "Notes" msgstr "备注" @@ -877,7 +879,7 @@ msgstr "" msgid "Selected stock item not found in BOM" msgstr "" -#: build/models.py:1253 stock/templates/stock/item_base.html:318 +#: build/models.py:1253 stock/templates/stock/item_base.html:346 #: templates/InvenTree/search.html:143 templates/js/translated/build.js:1599 #: templates/navbar.html:33 msgid "Build" @@ -890,11 +892,11 @@ msgstr "" #: build/models.py:1270 build/serializers.py:328 #: stock/templates/stock/item_base.html:8 #: stock/templates/stock/item_base.html:16 -#: stock/templates/stock/item_base.html:340 +#: stock/templates/stock/item_base.html:368 #: templates/js/translated/build.js:408 templates/js/translated/build.js:413 #: templates/js/translated/build.js:1361 templates/js/translated/build.js:1742 -#: templates/js/translated/order.js:1178 templates/js/translated/order.js:1183 -#: templates/js/translated/stock.js:2020 +#: templates/js/translated/order.js:1177 templates/js/translated/order.js:1182 +#: templates/js/translated/stock.js:2102 msgid "Stock Item" msgstr "库存项" @@ -934,16 +936,16 @@ msgstr "" msgid "This build output is not fully allocated" msgstr "" -#: build/serializers.py:190 order/serializers.py:219 order/serializers.py:287 -#: stock/forms.py:236 stock/serializers.py:318 stock/serializers.py:685 -#: stock/templates/stock/item_base.html:286 +#: build/serializers.py:190 order/serializers.py:228 order/serializers.py:296 +#: stock/forms.py:236 stock/serializers.py:323 stock/serializers.py:690 +#: stock/templates/stock/item_base.html:314 #: templates/js/translated/barcode.js:384 #: templates/js/translated/barcode.js:557 templates/js/translated/build.js:420 #: templates/js/translated/build.js:1027 templates/js/translated/order.js:348 -#: templates/js/translated/order.js:1190 templates/js/translated/order.js:1298 -#: templates/js/translated/order.js:1304 templates/js/translated/part.js:181 -#: templates/js/translated/stock.js:510 templates/js/translated/stock.js:1251 -#: templates/js/translated/stock.js:1961 +#: templates/js/translated/order.js:1189 templates/js/translated/order.js:1297 +#: templates/js/translated/order.js:1303 templates/js/translated/part.js:177 +#: templates/js/translated/stock.js:592 templates/js/translated/stock.js:1333 +#: templates/js/translated/stock.js:2043 msgid "Location" msgstr "地点" @@ -951,13 +953,13 @@ msgstr "地点" msgid "Location for completed build outputs" msgstr "" -#: build/serializers.py:197 build/templates/build/build_base.html:129 +#: build/serializers.py:197 build/templates/build/build_base.html:137 #: build/templates/build/detail.html:63 order/models.py:572 -#: order/serializers.py:240 stock/templates/stock/item_base.html:409 +#: order/serializers.py:249 stock/templates/stock/item_base.html:180 #: templates/js/translated/barcode.js:140 templates/js/translated/build.js:1655 -#: templates/js/translated/order.js:431 templates/js/translated/order.js:677 -#: templates/js/translated/order.js:1096 templates/js/translated/stock.js:1226 -#: templates/js/translated/stock.js:2038 templates/js/translated/stock.js:2187 +#: templates/js/translated/order.js:431 templates/js/translated/order.js:1095 +#: templates/js/translated/stock.js:1308 templates/js/translated/stock.js:2120 +#: templates/js/translated/stock.js:2269 msgid "Status" msgstr "状态" @@ -986,8 +988,8 @@ msgstr "" msgid "Item must be in stock" msgstr "" -#: build/serializers.py:348 order/models.py:316 order/serializers.py:233 -#: stock/models.py:381 stock/models.py:1103 stock/serializers.py:298 +#: build/serializers.py:348 order/models.py:316 order/serializers.py:242 +#: stock/models.py:371 stock/models.py:1093 stock/serializers.py:303 msgid "Quantity must be greater than zero" msgstr "" @@ -1031,7 +1033,7 @@ msgid "Edit Build" msgstr "编辑生产" #: build/templates/build/build_base.html:56 -#: build/templates/build/build_base.html:207 build/views.py:56 +#: build/templates/build/build_base.html:215 build/views.py:56 msgid "Cancel Build" msgstr "取消生产" @@ -1041,93 +1043,95 @@ msgstr "删除生产" #: build/templates/build/build_base.html:64 #: build/templates/build/build_base.html:65 -#: build/templates/build/build_base.html:223 +#: build/templates/build/build_base.html:231 msgid "Complete Build" msgstr "生产完成" -#: build/templates/build/build_base.html:79 +#: build/templates/build/build_base.html:82 +msgid "Build Description" +msgstr "" + +#: build/templates/build/build_base.html:91 #, python-format msgid "This Build Order is allocated to Sales Order %(link)s" msgstr "" -#: build/templates/build/build_base.html:86 +#: build/templates/build/build_base.html:98 #, python-format msgid "This Build Order is a child of Build Order %(link)s" msgstr "" -#: build/templates/build/build_base.html:93 +#: build/templates/build/build_base.html:105 msgid "Build Order is ready to mark as completed" msgstr "" -#: build/templates/build/build_base.html:98 +#: build/templates/build/build_base.html:110 msgid "Build Order cannot be completed as outstanding outputs remain" msgstr "" -#: build/templates/build/build_base.html:103 +#: build/templates/build/build_base.html:115 msgid "Required build quantity has not yet been completed" msgstr "所需生产数量尚未完成" -#: build/templates/build/build_base.html:108 +#: build/templates/build/build_base.html:120 msgid "Stock has not been fully allocated to this Build Order" msgstr "" -#: build/templates/build/build_base.html:138 +#: build/templates/build/build_base.html:146 #: build/templates/build/detail.html:132 -#: order/templates/order/order_base.html:140 -#: order/templates/order/sales_order_base.html:140 +#: order/templates/order/order_base.html:144 +#: order/templates/order/sales_order_base.html:141 #: report/templates/report/inventree_build_order_base.html:126 -#: templates/js/translated/build.js:1692 templates/js/translated/order.js:690 -#: templates/js/translated/order.js:1109 +#: templates/js/translated/build.js:1692 templates/js/translated/order.js:689 +#: templates/js/translated/order.js:1108 msgid "Target Date" msgstr "预计日期" -#: build/templates/build/build_base.html:143 +#: build/templates/build/build_base.html:151 #, python-format msgid "This build was due on %(target)s" msgstr "此次生产的截止日期为 %(target)s" -#: build/templates/build/build_base.html:143 -#: build/templates/build/build_base.html:188 -#: order/templates/order/order_base.html:81 -#: order/templates/order/order_base.html:102 -#: order/templates/order/sales_order_base.html:78 -#: order/templates/order/sales_order_base.html:107 +#: build/templates/build/build_base.html:151 +#: build/templates/build/build_base.html:196 +#: order/templates/order/order_base.html:98 +#: order/templates/order/sales_order_base.html:93 #: templates/js/translated/table_filters.js:294 #: templates/js/translated/table_filters.js:322 #: templates/js/translated/table_filters.js:339 msgid "Overdue" msgstr "逾期" -#: build/templates/build/build_base.html:150 +#: build/templates/build/build_base.html:158 #: build/templates/build/detail.html:68 build/templates/build/detail.html:143 #: templates/js/translated/build.js:1641 #: templates/js/translated/table_filters.js:304 msgid "Completed" msgstr "已完成" -#: build/templates/build/build_base.html:163 +#: build/templates/build/build_base.html:171 #: build/templates/build/detail.html:95 order/models.py:857 #: order/templates/order/sales_order_base.html:9 #: order/templates/order/sales_order_base.html:28 #: order/templates/order/sales_order_ship.html:25 #: report/templates/report/inventree_build_order_base.html:136 #: report/templates/report/inventree_so_report.html:77 -#: stock/templates/stock/item_base.html:280 -#: templates/js/translated/order.js:1051 +#: stock/templates/stock/item_base.html:308 +#: templates/js/translated/order.js:1050 msgid "Sales Order" msgstr "销售订单" -#: build/templates/build/build_base.html:170 +#: build/templates/build/build_base.html:178 #: build/templates/build/detail.html:109 #: report/templates/report/inventree_build_order_base.html:153 msgid "Issued By" msgstr "发布者" -#: build/templates/build/build_base.html:215 +#: build/templates/build/build_base.html:223 msgid "Incomplete Outputs" msgstr "未完成输出" -#: build/templates/build/build_base.html:216 +#: build/templates/build/build_base.html:224 msgid "Build Order cannot be completed as incomplete build outputs remain" msgstr "" @@ -1188,7 +1192,7 @@ msgid "Stock can be taken from any available location." msgstr "" #: build/templates/build/detail.html:50 order/models.py:811 stock/forms.py:150 -#: templates/js/translated/order.js:432 templates/js/translated/order.js:974 +#: templates/js/translated/order.js:432 templates/js/translated/order.js:973 msgid "Destination" msgstr "" @@ -1201,16 +1205,16 @@ msgid "Allocated Parts" msgstr "" #: build/templates/build/detail.html:81 -#: stock/templates/stock/item_base.html:304 -#: templates/js/translated/stock.js:1240 templates/js/translated/stock.js:2194 +#: stock/templates/stock/item_base.html:332 +#: templates/js/translated/stock.js:1322 templates/js/translated/stock.js:2276 #: templates/js/translated/table_filters.js:151 #: templates/js/translated/table_filters.js:233 msgid "Batch" msgstr "" #: build/templates/build/detail.html:127 -#: order/templates/order/order_base.html:127 -#: order/templates/order/sales_order_base.html:134 +#: order/templates/order/order_base.html:131 +#: order/templates/order/sales_order_base.html:135 #: templates/js/translated/build.js:1663 msgid "Created" msgstr "已创建" @@ -1254,7 +1258,7 @@ msgstr "订单所需部件" #: build/templates/build/detail.html:185 #: company/templates/company/detail.html:38 #: company/templates/company/detail.html:85 order/views.py:509 -#: part/templates/part/category.html:166 +#: part/templates/part/category.html:173 msgid "Order Parts" msgstr "订购商品" @@ -1306,8 +1310,8 @@ msgstr "" #: order/templates/order/po_sidebar.html:9 #: order/templates/order/purchase_order_detail.html:60 #: order/templates/order/sales_order_detail.html:52 -#: order/templates/order/so_sidebar.html:9 part/templates/part/detail.html:300 -#: part/templates/part/part_sidebar.html:50 stock/templates/stock/item.html:95 +#: order/templates/order/so_sidebar.html:9 part/templates/part/detail.html:193 +#: part/templates/part/part_sidebar.html:48 stock/templates/stock/item.html:95 #: stock/templates/stock/stock_sidebar.html:19 msgid "Attachments" msgstr "附件" @@ -1323,7 +1327,7 @@ msgstr "生产备注" #: order/templates/order/purchase_order_detail.html:108 #: order/templates/order/sales_order_detail.html:72 #: order/templates/order/sales_order_detail.html:99 -#: part/templates/part/detail.html:227 stock/templates/stock/item.html:115 +#: part/templates/part/detail.html:120 stock/templates/stock/item.html:115 #: stock/templates/stock/item.html:205 msgid "Edit Notes" msgstr "编辑备注" @@ -1336,7 +1340,7 @@ msgstr "" msgid "All untracked stock items have been allocated" msgstr "" -#: build/templates/build/index.html:18 part/templates/part/detail.html:407 +#: build/templates/build/index.html:18 part/templates/part/detail.html:300 msgid "New Build Order" msgstr "新建生产订单" @@ -1380,7 +1384,7 @@ msgstr "创建创建生产产出" msgid "Maximum output quantity is " msgstr "最大产出量是 " -#: build/views.py:122 stock/serializers.py:356 stock/views.py:1290 +#: build/views.py:122 stock/serializers.py:361 stock/views.py:1290 msgid "Serial numbers already exist" msgstr "序列号已存在" @@ -1675,7 +1679,7 @@ msgid "Parts are trackable by default" msgstr "商品默认可跟踪" #: common/models.py:745 part/models.py:920 -#: part/templates/part/part_base.html:144 +#: part/templates/part/part_base.html:147 #: templates/js/translated/table_filters.js:42 msgid "Virtual" msgstr "虚拟" @@ -2142,7 +2146,7 @@ msgstr "" #: common/models.py:1233 company/serializers.py:264 #: company/templates/company/supplier_part.html:256 -#: templates/js/translated/part.js:1620 +#: templates/js/translated/part.js:852 templates/js/translated/part.js:1801 msgid "Price" msgstr "价格" @@ -2206,7 +2210,7 @@ msgstr "公司简介" msgid "Description of the company" msgstr "公司简介" -#: company/models.py:112 company/templates/company/company_base.html:70 +#: company/models.py:112 company/templates/company/company_base.html:97 #: templates/js/translated/company.js:349 msgid "Website" msgstr "网站" @@ -2215,7 +2219,7 @@ msgstr "网站" msgid "Company website URL" msgstr "公司网站" -#: company/models.py:117 company/templates/company/company_base.html:88 +#: company/models.py:117 company/templates/company/company_base.html:115 msgid "Address" msgstr "地址" @@ -2231,7 +2235,7 @@ msgstr "电话号码" msgid "Contact phone number" msgstr "联系电话" -#: company/models.py:125 company/templates/company/company_base.html:102 +#: company/models.py:125 company/templates/company/company_base.html:129 #: templates/InvenTree/settings/user.html:47 msgid "Email" msgstr "电子邮件" @@ -2240,7 +2244,7 @@ msgstr "电子邮件" msgid "Contact email address" msgstr "联系人电子邮件" -#: company/models.py:128 company/templates/company/company_base.html:109 +#: company/models.py:128 company/templates/company/company_base.html:136 msgid "Contact" msgstr "联系人" @@ -2281,7 +2285,7 @@ msgid "Does this company manufacture parts?" msgstr "该公司制造商品吗?" #: company/models.py:152 company/serializers.py:270 -#: company/templates/company/company_base.html:76 stock/serializers.py:172 +#: company/templates/company/company_base.html:103 stock/serializers.py:177 msgid "Currency" msgstr "货币" @@ -2289,8 +2293,8 @@ msgstr "货币" msgid "Default currency used for this company" msgstr "该公司使用的默认货币" -#: company/models.py:320 company/models.py:535 stock/models.py:484 -#: stock/templates/stock/item_base.html:224 +#: company/models.py:320 company/models.py:535 stock/models.py:474 +#: stock/templates/stock/item_base.html:135 msgid "Base Part" msgstr "" @@ -2298,29 +2302,29 @@ msgstr "" msgid "Select part" msgstr "选择商品" -#: company/models.py:335 company/templates/company/company_base.html:116 -#: company/templates/company/manufacturer_part.html:93 -#: company/templates/company/supplier_part.html:104 -#: stock/templates/stock/item_base.html:353 +#: company/models.py:335 company/templates/company/company_base.html:73 +#: company/templates/company/manufacturer_part.html:91 +#: company/templates/company/supplier_part.html:97 +#: stock/templates/stock/item_base.html:381 #: templates/js/translated/company.js:333 #: templates/js/translated/company.js:514 -#: templates/js/translated/company.js:797 templates/js/translated/part.js:229 +#: templates/js/translated/company.js:797 templates/js/translated/part.js:232 msgid "Manufacturer" msgstr "制造商" -#: company/models.py:336 templates/js/translated/part.js:230 +#: company/models.py:336 templates/js/translated/part.js:233 msgid "Select manufacturer" msgstr "选择制造商" -#: company/models.py:342 company/templates/company/manufacturer_part.html:97 -#: company/templates/company/supplier_part.html:112 +#: company/models.py:342 company/templates/company/manufacturer_part.html:96 +#: company/templates/company/supplier_part.html:105 #: templates/js/translated/company.js:530 -#: templates/js/translated/company.js:815 templates/js/translated/order.js:874 -#: templates/js/translated/part.js:240 +#: templates/js/translated/company.js:815 templates/js/translated/order.js:873 +#: templates/js/translated/part.js:243 templates/js/translated/part.js:832 msgid "MPN" msgstr "MPN" -#: company/models.py:343 templates/js/translated/part.js:241 +#: company/models.py:343 templates/js/translated/part.js:244 msgid "Manufacturer Part Number" msgstr "制造商商品编号" @@ -2335,7 +2339,7 @@ msgstr "制造商商品描述" #: company/models.py:409 company/models.py:558 #: company/templates/company/manufacturer_part.html:6 #: company/templates/company/manufacturer_part.html:23 -#: stock/templates/stock/item_base.html:363 +#: stock/templates/stock/item_base.html:391 msgid "Manufacturer Part" msgstr "制造商商品" @@ -2345,8 +2349,8 @@ msgstr "参数名称" #: company/models.py:422 #: report/templates/report/inventree_test_report_base.html:95 -#: stock/models.py:1867 templates/js/translated/company.js:644 -#: templates/js/translated/part.js:645 templates/js/translated/stock.js:878 +#: stock/models.py:1857 templates/js/translated/company.js:644 +#: templates/js/translated/part.js:652 templates/js/translated/stock.js:960 msgid "Value" msgstr "数值" @@ -2355,9 +2359,9 @@ msgid "Parameter value" msgstr "参数值" #: company/models.py:429 part/models.py:882 part/models.py:2397 -#: part/templates/part/detail.html:59 +#: part/templates/part/part_base.html:288 #: templates/InvenTree/settings/settings.html:264 -#: templates/js/translated/company.js:650 templates/js/translated/part.js:651 +#: templates/js/translated/company.js:650 templates/js/translated/part.js:658 msgid "Units" msgstr "单位" @@ -2369,28 +2373,28 @@ msgstr "参数单位" msgid "Linked manufacturer part must reference the same base part" msgstr "" -#: company/models.py:545 company/templates/company/company_base.html:121 -#: company/templates/company/supplier_part.html:94 order/models.py:263 -#: order/templates/order/order_base.html:108 +#: company/models.py:545 company/templates/company/company_base.html:78 +#: company/templates/company/supplier_part.html:87 order/models.py:263 +#: order/templates/order/order_base.html:112 #: order/templates/order/order_wizard/select_pos.html:30 part/bom.py:219 -#: part/bom.py:247 stock/templates/stock/item_base.html:370 +#: part/bom.py:247 stock/templates/stock/item_base.html:398 #: templates/js/translated/company.js:337 -#: templates/js/translated/company.js:771 templates/js/translated/order.js:660 -#: templates/js/translated/part.js:210 +#: templates/js/translated/company.js:771 templates/js/translated/order.js:667 +#: templates/js/translated/part.js:213 templates/js/translated/part.js:800 msgid "Supplier" msgstr "供应商" -#: company/models.py:546 templates/js/translated/part.js:211 +#: company/models.py:546 templates/js/translated/part.js:214 msgid "Select supplier" msgstr "选择供应商" -#: company/models.py:551 company/templates/company/supplier_part.html:98 -#: part/bom.py:220 part/bom.py:248 templates/js/translated/order.js:861 -#: templates/js/translated/part.js:221 +#: company/models.py:551 company/templates/company/supplier_part.html:91 +#: part/bom.py:220 part/bom.py:248 templates/js/translated/order.js:860 +#: templates/js/translated/part.js:224 templates/js/translated/part.js:818 msgid "SKU" msgstr "SKU" -#: company/models.py:552 templates/js/translated/part.js:222 +#: company/models.py:552 templates/js/translated/part.js:225 msgid "Supplier stock keeping unit" msgstr "" @@ -2406,7 +2410,7 @@ msgstr "外部供货商商品链接URL" msgid "Supplier part description" msgstr "供应商商品描述" -#: company/models.py:576 company/templates/company/supplier_part.html:126 +#: company/models.py:576 company/templates/company/supplier_part.html:119 #: part/models.py:2588 report/templates/report/inventree_po_report.html:93 #: report/templates/report/inventree_so_report.html:93 msgid "Note" @@ -2420,9 +2424,9 @@ msgstr "" msgid "Minimum charge (e.g. stocking fee)" msgstr "最低收费(例如库存费)" -#: company/models.py:582 company/templates/company/supplier_part.html:119 -#: stock/models.py:507 stock/templates/stock/item_base.html:311 -#: templates/js/translated/company.js:847 templates/js/translated/stock.js:1366 +#: company/models.py:582 company/templates/company/supplier_part.html:112 +#: stock/models.py:497 stock/templates/stock/item_base.html:339 +#: templates/js/translated/company.js:847 templates/js/translated/stock.js:1448 msgid "Packaging" msgstr "打包" @@ -2457,43 +2461,56 @@ msgstr "公司" msgid "Create Purchase Order" msgstr "创建采购订单" -#: company/templates/company/company_base.html:27 +#: company/templates/company/company_base.html:26 +msgid "Company actions" +msgstr "" + +#: company/templates/company/company_base.html:31 msgid "Edit company information" msgstr "编辑公司信息" #: company/templates/company/company_base.html:32 -#: company/templates/company/company_base.html:148 +#: templates/js/translated/company.js:265 +msgid "Edit Company" +msgstr "编辑公司信息" + +#: company/templates/company/company_base.html:36 +msgid "Delete company" +msgstr "" + +#: company/templates/company/company_base.html:37 +#: company/templates/company/company_base.html:159 msgid "Delete Company" msgstr "删除该公司" -#: company/templates/company/company_base.html:48 +#: company/templates/company/company_base.html:53 #: part/templates/part/part_thumb.html:12 msgid "Upload new image" msgstr "上传新图片" -#: company/templates/company/company_base.html:51 +#: company/templates/company/company_base.html:56 #: part/templates/part/part_thumb.html:14 msgid "Download image from URL" msgstr "从 URL 下载图片" -#: company/templates/company/company_base.html:81 -msgid "Uses default currency" -msgstr "使用默认货币" - -#: company/templates/company/company_base.html:95 -msgid "Phone" -msgstr "电话" - -#: company/templates/company/company_base.html:126 order/models.py:567 -#: order/templates/order/sales_order_base.html:114 stock/models.py:525 -#: stock/models.py:526 stock/templates/stock/item_base.html:263 -#: templates/js/translated/company.js:329 templates/js/translated/order.js:1073 -#: templates/js/translated/stock.js:2002 +#: company/templates/company/company_base.html:83 order/models.py:567 +#: order/templates/order/sales_order_base.html:115 stock/models.py:515 +#: stock/models.py:516 stock/templates/stock/item_base.html:291 +#: templates/js/translated/company.js:329 templates/js/translated/order.js:1072 +#: templates/js/translated/stock.js:2084 msgid "Customer" msgstr "客户" -#: company/templates/company/company_base.html:194 -#: part/templates/part/part_base.html:342 +#: company/templates/company/company_base.html:108 +msgid "Uses default currency" +msgstr "使用默认货币" + +#: company/templates/company/company_base.html:122 +msgid "Phone" +msgstr "电话" + +#: company/templates/company/company_base.html:205 +#: part/templates/part/part_base.html:471 msgid "Upload Image" msgstr "上传图片" @@ -2509,23 +2526,23 @@ msgid "Create new supplier part" msgstr "创建新的供应商商品" #: company/templates/company/detail.html:20 -#: company/templates/company/manufacturer_part.html:112 -#: part/templates/part/detail.html:440 +#: company/templates/company/manufacturer_part.html:118 +#: part/templates/part/detail.html:333 msgid "New Supplier Part" msgstr "新建供应商商品" #: company/templates/company/detail.html:32 #: company/templates/company/detail.html:79 -#: company/templates/company/manufacturer_part.html:121 -#: company/templates/company/manufacturer_part.html:150 -#: part/templates/part/category.html:160 part/templates/part/detail.html:449 -#: part/templates/part/detail.html:477 +#: company/templates/company/manufacturer_part.html:127 +#: company/templates/company/manufacturer_part.html:156 +#: part/templates/part/category.html:167 part/templates/part/detail.html:342 +#: part/templates/part/detail.html:370 msgid "Options" msgstr "选项" #: company/templates/company/detail.html:37 #: company/templates/company/detail.html:84 -#: part/templates/part/category.html:166 +#: part/templates/part/category.html:173 msgid "Order parts" msgstr "订购商品" @@ -2547,7 +2564,7 @@ msgstr "制造商商品" msgid "Create new manufacturer part" msgstr "新建制造商商品" -#: company/templates/company/detail.html:67 part/templates/part/detail.html:467 +#: company/templates/company/detail.html:67 part/templates/part/detail.html:360 msgid "New Manufacturer Part" msgstr "新建制造商商品" @@ -2561,7 +2578,7 @@ msgstr "供货商库存" #: order/templates/order/order_base.html:13 #: order/templates/order/purchase_orders.html:8 #: order/templates/order/purchase_orders.html:12 -#: part/templates/part/detail.html:171 part/templates/part/part_sidebar.html:35 +#: part/templates/part/detail.html:64 part/templates/part/part_sidebar.html:33 #: templates/InvenTree/index.html:252 templates/InvenTree/search.html:203 #: templates/InvenTree/settings/sidebar.html:44 templates/navbar.html:45 #: users/models.py:45 @@ -2583,7 +2600,7 @@ msgstr "新建采购订单" #: order/templates/order/sales_order_base.html:13 #: order/templates/order/sales_orders.html:8 #: order/templates/order/sales_orders.html:15 -#: part/templates/part/detail.html:194 part/templates/part/part_sidebar.html:39 +#: part/templates/part/detail.html:87 part/templates/part/part_sidebar.html:37 #: templates/InvenTree/index.html:283 templates/InvenTree/search.html:223 #: templates/InvenTree/settings/sidebar.html:46 templates/navbar.html:56 #: users/models.py:46 @@ -2610,14 +2627,14 @@ msgid "Company Notes" msgstr "公司备注" #: company/templates/company/detail.html:383 -#: company/templates/company/manufacturer_part.html:209 -#: part/templates/part/detail.html:520 +#: company/templates/company/manufacturer_part.html:215 +#: part/templates/part/detail.html:413 msgid "Delete Supplier Parts?" msgstr "删除供应商商品?" #: company/templates/company/detail.html:384 -#: company/templates/company/manufacturer_part.html:210 -#: part/templates/part/detail.html:521 +#: company/templates/company/manufacturer_part.html:216 +#: part/templates/part/detail.html:414 msgid "All selected supplier parts will be deleted" msgstr "删除所有选定的供应商商品" @@ -2634,7 +2651,7 @@ msgstr "制造商" #: company/templates/company/manufacturer_part.html:35 #: company/templates/company/supplier_part.html:34 #: company/templates/company/supplier_part.html:159 -#: part/templates/part/detail.html:174 part/templates/part/part_base.html:76 +#: part/templates/part/detail.html:67 part/templates/part/part_base.html:76 msgid "Order part" msgstr "订购商品" @@ -2648,60 +2665,60 @@ msgstr "编辑制造商商品" msgid "Delete manufacturer part" msgstr "删除生产商商品" -#: company/templates/company/manufacturer_part.html:70 -#: company/templates/company/supplier_part.html:71 +#: company/templates/company/manufacturer_part.html:66 +#: company/templates/company/supplier_part.html:63 msgid "Internal Part" msgstr "内部商品" -#: company/templates/company/manufacturer_part.html:108 +#: company/templates/company/manufacturer_part.html:114 #: company/templates/company/supplier_part.html:15 company/views.py:49 -#: part/templates/part/part_sidebar.html:33 part/templates/part/prices.html:163 +#: part/templates/part/part_sidebar.html:31 part/templates/part/prices.html:163 #: templates/InvenTree/search.html:194 templates/navbar.html:43 msgid "Suppliers" msgstr "供应商" -#: company/templates/company/manufacturer_part.html:123 -#: part/templates/part/detail.html:451 +#: company/templates/company/manufacturer_part.html:129 +#: part/templates/part/detail.html:344 msgid "Delete supplier parts" msgstr "删除供应商商品" -#: company/templates/company/manufacturer_part.html:123 -#: company/templates/company/manufacturer_part.html:152 -#: company/templates/company/manufacturer_part.html:248 -#: part/templates/part/detail.html:451 part/templates/part/detail.html:479 +#: company/templates/company/manufacturer_part.html:129 +#: company/templates/company/manufacturer_part.html:158 +#: company/templates/company/manufacturer_part.html:254 +#: part/templates/part/detail.html:344 part/templates/part/detail.html:372 #: templates/js/translated/company.js:425 templates/js/translated/helpers.js:31 #: users/models.py:204 msgid "Delete" msgstr "删除" -#: company/templates/company/manufacturer_part.html:137 +#: company/templates/company/manufacturer_part.html:143 #: company/templates/company/manufacturer_part_sidebar.html:5 #: part/templates/part/category_sidebar.html:17 -#: part/templates/part/detail.html:277 part/templates/part/part_sidebar.html:10 +#: part/templates/part/detail.html:170 part/templates/part/part_sidebar.html:8 msgid "Parameters" msgstr "参数" -#: company/templates/company/manufacturer_part.html:141 -#: part/templates/part/detail.html:282 +#: company/templates/company/manufacturer_part.html:147 +#: part/templates/part/detail.html:175 #: templates/InvenTree/settings/category.html:12 #: templates/InvenTree/settings/part.html:65 msgid "New Parameter" msgstr "新建参数" -#: company/templates/company/manufacturer_part.html:152 +#: company/templates/company/manufacturer_part.html:158 msgid "Delete parameters" msgstr "删除参数" -#: company/templates/company/manufacturer_part.html:185 -#: part/templates/part/detail.html:976 +#: company/templates/company/manufacturer_part.html:191 +#: part/templates/part/detail.html:867 msgid "Add Parameter" msgstr "添加参数" -#: company/templates/company/manufacturer_part.html:233 +#: company/templates/company/manufacturer_part.html:239 msgid "Selected parameters will be deleted" msgstr "所选参数将被删除" -#: company/templates/company/manufacturer_part.html:245 +#: company/templates/company/manufacturer_part.html:251 msgid "Delete Parameters" msgstr "删除参数" @@ -2722,9 +2739,9 @@ msgid "Assigned Stock Items" msgstr "" #: company/templates/company/supplier_part.html:7 -#: company/templates/company/supplier_part.html:24 stock/models.py:492 -#: stock/templates/stock/item_base.html:375 -#: templates/js/translated/company.js:787 templates/js/translated/stock.js:1323 +#: company/templates/company/supplier_part.html:24 stock/models.py:482 +#: stock/templates/stock/item_base.html:403 +#: templates/js/translated/company.js:787 templates/js/translated/stock.js:1405 msgid "Supplier Part" msgstr "供应商商品" @@ -2744,13 +2761,13 @@ msgid "Supplier Part Stock" msgstr "供货商商品库存" #: company/templates/company/supplier_part.html:141 -#: part/templates/part/detail.html:127 stock/templates/stock/location.html:147 +#: part/templates/part/detail.html:20 stock/templates/stock/location.html:162 msgid "Create new stock item" msgstr "" #: company/templates/company/supplier_part.html:142 -#: part/templates/part/detail.html:128 stock/templates/stock/location.html:148 -#: templates/js/translated/stock.js:354 +#: part/templates/part/detail.html:21 stock/templates/stock/location.html:163 +#: templates/js/translated/stock.js:355 msgid "New Stock Item" msgstr "" @@ -2760,7 +2777,7 @@ msgid "Supplier Part Orders" msgstr "供应商商品订单" #: company/templates/company/supplier_part.html:160 -#: part/templates/part/detail.html:175 +#: part/templates/part/detail.html:68 msgid "Order Part" msgstr "订购商品" @@ -2796,15 +2813,15 @@ msgid "Delete price break" msgstr "" #: company/templates/company/supplier_part_navbar.html:15 -#: part/templates/part/part_sidebar.html:16 +#: part/templates/part/part_sidebar.html:14 #: stock/templates/stock/loc_link.html:3 stock/templates/stock/location.html:14 #: stock/templates/stock/stock_app_base.html:10 #: templates/InvenTree/search.html:156 #: templates/InvenTree/settings/sidebar.html:40 -#: templates/js/translated/bom.js:216 templates/js/translated/part.js:427 -#: templates/js/translated/part.js:562 templates/js/translated/part.js:878 -#: templates/js/translated/part.js:1039 templates/js/translated/stock.js:509 -#: templates/js/translated/stock.js:1162 templates/navbar.html:26 +#: templates/js/translated/bom.js:216 templates/js/translated/part.js:434 +#: templates/js/translated/part.js:569 templates/js/translated/part.js:1059 +#: templates/js/translated/part.js:1220 templates/js/translated/stock.js:591 +#: templates/js/translated/stock.js:1244 templates/navbar.html:26 msgid "Stock" msgstr "库存" @@ -2818,16 +2835,16 @@ msgid "Supplier Part Pricing" msgstr "供应商商品价格" #: company/templates/company/supplier_part_navbar.html:29 -#: part/templates/part/part_sidebar.html:30 +#: part/templates/part/part_sidebar.html:28 msgid "Pricing" msgstr "定价" #: company/templates/company/supplier_part_sidebar.html:5 -#: stock/templates/stock/location.html:118 -#: stock/templates/stock/location.html:132 -#: stock/templates/stock/location.html:144 +#: stock/templates/stock/location.html:133 +#: stock/templates/stock/location.html:147 +#: stock/templates/stock/location.html:159 #: stock/templates/stock/location_sidebar.html:7 -#: templates/InvenTree/search.html:158 templates/js/translated/stock.js:1901 +#: templates/InvenTree/search.html:158 templates/js/translated/stock.js:1983 #: templates/stats.html:93 templates/stats.html:102 users/models.py:43 msgid "Stock Items" msgstr "库存项" @@ -2947,7 +2964,7 @@ msgstr "商品查询筛选器 (逗号分隔的键值对列表)" msgid "Place order" msgstr "" -#: order/forms.py:37 order/templates/order/order_base.html:59 +#: order/forms.py:37 order/templates/order/order_base.html:60 msgid "Mark order as complete" msgstr "" @@ -3000,8 +3017,8 @@ msgstr "" msgid "Company from which the items are being ordered" msgstr "订购该商品的公司" -#: order/models.py:267 order/templates/order/order_base.html:114 -#: templates/js/translated/order.js:669 +#: order/models.py:267 order/templates/order/order_base.html:118 +#: templates/js/translated/order.js:676 msgid "Supplier Reference" msgstr "" @@ -3061,7 +3078,7 @@ msgstr "" msgid "Target date for order completion. Order will be overdue after this date." msgstr "" -#: order/models.py:582 templates/js/translated/order.js:1114 +#: order/models.py:582 templates/js/translated/order.js:1113 msgid "Shipment Date" msgstr "" @@ -3086,16 +3103,16 @@ msgid "Line item notes" msgstr "" #: order/models.py:768 order/models.py:856 -#: templates/js/translated/order.js:1166 +#: templates/js/translated/order.js:1165 msgid "Order" msgstr "" #: order/models.py:769 order/templates/order/order_base.html:9 #: order/templates/order/order_base.html:18 #: report/templates/report/inventree_po_report.html:77 -#: stock/templates/stock/item_base.html:325 -#: templates/js/translated/order.js:638 templates/js/translated/stock.js:1300 -#: templates/js/translated/stock.js:1983 +#: stock/templates/stock/item_base.html:353 +#: templates/js/translated/order.js:638 templates/js/translated/part.js:775 +#: templates/js/translated/stock.js:1382 templates/js/translated/stock.js:2065 msgid "Purchase Order" msgstr "" @@ -3103,9 +3120,10 @@ msgstr "" msgid "Supplier part" msgstr "供应商商品" -#: order/models.py:797 order/templates/order/order_base.html:147 -#: order/templates/order/sales_order_base.html:154 -#: templates/js/translated/order.js:429 templates/js/translated/order.js:954 +#: order/models.py:797 order/templates/order/order_base.html:151 +#: order/templates/order/sales_order_base.html:155 +#: templates/js/translated/order.js:429 templates/js/translated/order.js:953 +#: templates/js/translated/part.js:847 templates/js/translated/part.js:873 msgid "Received" msgstr "" @@ -3113,9 +3131,9 @@ msgstr "" msgid "Number of items received" msgstr "" -#: order/models.py:805 part/templates/part/prices.html:176 stock/models.py:619 -#: stock/serializers.py:163 stock/templates/stock/item_base.html:332 -#: templates/js/translated/stock.js:1354 +#: order/models.py:805 part/templates/part/prices.html:176 stock/models.py:609 +#: stock/serializers.py:168 stock/templates/stock/item_base.html:360 +#: templates/js/translated/stock.js:1436 msgid "Purchase Price" msgstr "采购价格" @@ -3176,47 +3194,47 @@ msgstr "" msgid "Enter stock allocation quantity" msgstr "" -#: order/serializers.py:169 +#: order/serializers.py:175 msgid "Purchase price currency" msgstr "" -#: order/serializers.py:204 +#: order/serializers.py:213 msgid "Line Item" msgstr "" -#: order/serializers.py:210 +#: order/serializers.py:219 msgid "Line item does not match purchase order" msgstr "" -#: order/serializers.py:220 order/serializers.py:288 +#: order/serializers.py:229 order/serializers.py:297 msgid "Select destination location for received items" msgstr "" -#: order/serializers.py:244 +#: order/serializers.py:253 msgid "Barcode Hash" msgstr "" -#: order/serializers.py:245 +#: order/serializers.py:254 msgid "Unique identifier field" msgstr "" -#: order/serializers.py:262 +#: order/serializers.py:271 msgid "Barcode is already in use" msgstr "" -#: order/serializers.py:300 +#: order/serializers.py:309 msgid "Line items must be provided" msgstr "" -#: order/serializers.py:317 +#: order/serializers.py:326 msgid "Destination location must be specified" msgstr "" -#: order/serializers.py:328 +#: order/serializers.py:337 msgid "Supplied barcode values must be unique" msgstr "" -#: order/serializers.py:569 +#: order/serializers.py:578 msgid "Sale price currency" msgstr "" @@ -3248,22 +3266,36 @@ msgstr "" msgid "Receive items" msgstr "" -#: order/templates/order/order_base.html:93 -#: order/templates/order/sales_order_base.html:98 +#: order/templates/order/order_base.html:58 +#: order/templates/order/purchase_order_detail.html:31 +msgid "Receive Items" +msgstr "" + +#: order/templates/order/order_base.html:62 order/views.py:185 +msgid "Complete Order" +msgstr "" + +#: order/templates/order/order_base.html:84 +#: order/templates/order/sales_order_base.html:79 msgid "Order Reference" msgstr "" -#: order/templates/order/order_base.html:98 -#: order/templates/order/sales_order_base.html:103 +#: order/templates/order/order_base.html:89 +#: order/templates/order/sales_order_base.html:84 +msgid "Order Description" +msgstr "" + +#: order/templates/order/order_base.html:94 +#: order/templates/order/sales_order_base.html:89 msgid "Order Status" msgstr "" -#: order/templates/order/order_base.html:133 +#: order/templates/order/order_base.html:137 #: report/templates/report/inventree_build_order_base.html:122 msgid "Issued" msgstr "" -#: order/templates/order/order_base.html:203 +#: order/templates/order/order_base.html:207 msgid "Edit Purchase Order" msgstr "" @@ -3421,7 +3453,7 @@ msgid "Select existing purchase orders, or create new orders." msgstr "" #: order/templates/order/order_wizard/select_pos.html:31 -#: templates/js/translated/order.js:695 templates/js/translated/order.js:1119 +#: templates/js/translated/order.js:694 templates/js/translated/order.js:1118 msgid "Items" msgstr "" @@ -3465,10 +3497,6 @@ msgstr "" msgid "Receive selected items" msgstr "" -#: order/templates/order/purchase_order_detail.html:31 -msgid "Receive Items" -msgstr "" - #: order/templates/order/purchase_order_detail.html:50 msgid "Received Items" msgstr "" @@ -3496,16 +3524,16 @@ msgstr "" msgid "Ship Order" msgstr "" -#: order/templates/order/sales_order_base.html:86 +#: order/templates/order/sales_order_base.html:102 msgid "This Sales Order has not been fully allocated" msgstr "" -#: order/templates/order/sales_order_base.html:121 -#: templates/js/translated/order.js:1086 +#: order/templates/order/sales_order_base.html:122 +#: templates/js/translated/order.js:1085 msgid "Customer Reference" msgstr "" -#: order/templates/order/sales_order_base.html:194 +#: order/templates/order/sales_order_base.html:195 msgid "Edit Sales Order" msgstr "" @@ -3576,10 +3604,6 @@ msgstr "" msgid "Purchase order issued" msgstr "" -#: order/views.py:185 -msgid "Complete Order" -msgstr "" - #: order/views.py:201 msgid "Confirm order completion" msgstr "" @@ -3672,11 +3696,11 @@ msgid "This field is required" msgstr "此字段为必填" #: part/bom.py:125 part/models.py:81 part/models.py:816 -#: part/templates/part/category.html:90 part/templates/part/detail.html:104 +#: part/templates/part/category.html:104 part/templates/part/part_base.html:338 msgid "Default Location" msgstr "默认仓储地点" -#: part/bom.py:126 part/templates/part/part_base.html:167 +#: part/bom.py:126 part/templates/part/part_base.html:185 msgid "Available Stock" msgstr "可用库存" @@ -3793,19 +3817,19 @@ msgstr "此类别商品的默认关键字" msgid "Part Category" msgstr "商品类别" -#: part/models.py:96 part/templates/part/category.html:117 +#: part/models.py:96 part/templates/part/category.html:124 #: templates/InvenTree/search.html:101 templates/stats.html:84 #: users/models.py:40 msgid "Part Categories" msgstr "商品类别" #: part/models.py:358 part/templates/part/cat_link.html:3 -#: part/templates/part/category.html:13 part/templates/part/category.html:122 -#: part/templates/part/category.html:142 +#: part/templates/part/category.html:13 part/templates/part/category.html:129 +#: part/templates/part/category.html:149 #: part/templates/part/category_sidebar.html:9 #: templates/InvenTree/index.html:85 templates/InvenTree/search.html:88 #: templates/InvenTree/settings/sidebar.html:36 -#: templates/js/translated/part.js:1416 templates/navbar.html:19 +#: templates/js/translated/part.js:1597 templates/navbar.html:19 #: templates/stats.html:80 templates/stats.html:89 users/models.py:41 msgid "Parts" msgstr "商品" @@ -3859,8 +3883,8 @@ msgstr "" msgid "Part description" msgstr "商品描述" -#: part/models.py:770 part/templates/part/category.html:97 -#: part/templates/part/detail.html:73 +#: part/models.py:770 part/templates/part/category.html:82 +#: part/templates/part/part_base.html:302 msgid "Keywords" msgstr "关键词" @@ -3869,9 +3893,10 @@ msgid "Part keywords to improve visibility in search results" msgstr "提高搜索结果可见性的关键字" #: part/models.py:778 part/models.py:2223 part/models.py:2472 -#: part/templates/part/detail.html:36 part/templates/part/set_category.html:15 +#: part/templates/part/part_base.html:265 +#: part/templates/part/set_category.html:15 #: templates/InvenTree/settings/settings.html:163 -#: templates/js/translated/part.js:1021 +#: templates/js/translated/part.js:1202 msgid "Category" msgstr "类别" @@ -3879,9 +3904,9 @@ msgstr "类别" msgid "Part category" msgstr "商品类别" -#: part/models.py:784 part/templates/part/detail.html:45 -#: templates/js/translated/part.js:550 templates/js/translated/part.js:974 -#: templates/js/translated/stock.js:1134 +#: part/models.py:784 part/templates/part/part_base.html:274 +#: templates/js/translated/part.js:557 templates/js/translated/part.js:1155 +#: templates/js/translated/stock.js:1216 msgid "IPN" msgstr "" @@ -3893,8 +3918,8 @@ msgstr "内部商品编号" msgid "Part revision or version number" msgstr "商品版本号" -#: part/models.py:792 part/templates/part/detail.html:52 report/models.py:200 -#: templates/js/translated/part.js:554 +#: part/models.py:792 part/templates/part/part_base.html:281 +#: report/models.py:200 templates/js/translated/part.js:561 msgid "Revision" msgstr "" @@ -3902,7 +3927,7 @@ msgstr "" msgid "Where is this item normally stored?" msgstr "" -#: part/models.py:861 part/templates/part/detail.html:113 +#: part/models.py:861 part/templates/part/part_base.html:347 msgid "Default Supplier" msgstr "" @@ -3918,7 +3943,7 @@ msgstr "" msgid "Expiry time (in days) for stock items of this part" msgstr "" -#: part/models.py:875 part/templates/part/part_base.html:178 +#: part/models.py:875 part/templates/part/part_base.html:196 msgid "Minimum Stock" msgstr "最低库存" @@ -4001,8 +4026,8 @@ msgstr "" msgid "Test with this name already exists for this part" msgstr "" -#: part/models.py:2310 templates/js/translated/part.js:1467 -#: templates/js/translated/stock.js:858 +#: part/models.py:2310 templates/js/translated/part.js:1648 +#: templates/js/translated/stock.js:940 msgid "Test Name" msgstr "" @@ -4018,7 +4043,7 @@ msgstr "" msgid "Enter description for this test" msgstr "" -#: part/models.py:2322 templates/js/translated/part.js:1476 +#: part/models.py:2322 templates/js/translated/part.js:1657 #: templates/js/translated/table_filters.js:276 msgid "Required" msgstr "" @@ -4027,7 +4052,7 @@ msgstr "" msgid "Is this test required to pass?" msgstr "" -#: part/models.py:2328 templates/js/translated/part.js:1484 +#: part/models.py:2328 templates/js/translated/part.js:1665 msgid "Requires Value" msgstr "" @@ -4035,7 +4060,7 @@ msgstr "" msgid "Does this test require a value when adding a test result?" msgstr "" -#: part/models.py:2334 templates/js/translated/part.js:1491 +#: part/models.py:2334 templates/js/translated/part.js:1672 msgid "Requires Attachment" msgstr "" @@ -4150,7 +4175,7 @@ msgstr "" msgid "Stock items for variant parts can be used for this BOM item" msgstr "" -#: part/models.py:2686 stock/models.py:371 +#: part/models.py:2686 stock/models.py:361 msgid "Quantity must be integer value for trackable parts" msgstr "" @@ -4213,7 +4238,7 @@ msgstr "" msgid "The BOM for %(part)s has not been validated." msgstr "" -#: part/templates/part/bom.html:30 part/templates/part/detail.html:357 +#: part/templates/part/bom.html:30 part/templates/part/detail.html:250 msgid "BOM actions" msgstr "" @@ -4298,68 +4323,64 @@ msgstr "新建商品类别" msgid "New Category" msgstr "" -#: part/templates/part/category.html:67 -msgid "Top level part category" -msgstr "" - -#: part/templates/part/category.html:79 +#: part/templates/part/category.html:76 part/templates/part/category.html:89 msgid "Category Path" msgstr "类别路径" -#: part/templates/part/category.html:84 -msgid "Category Description" -msgstr "类别说明" +#: part/templates/part/category.html:90 +msgid "Top level part category" +msgstr "" -#: part/templates/part/category.html:103 part/templates/part/category.html:194 +#: part/templates/part/category.html:110 part/templates/part/category.html:201 #: part/templates/part/category_sidebar.html:7 msgid "Subcategories" msgstr "子类别" -#: part/templates/part/category.html:108 +#: part/templates/part/category.html:115 msgid "Parts (Including subcategories)" msgstr "商品 (包括子类别)" -#: part/templates/part/category.html:145 +#: part/templates/part/category.html:152 msgid "Export Part Data" msgstr "导出商品数据" -#: part/templates/part/category.html:146 part/templates/part/category.html:170 +#: part/templates/part/category.html:153 part/templates/part/category.html:177 msgid "Export" msgstr "导出" -#: part/templates/part/category.html:149 +#: part/templates/part/category.html:156 msgid "Create new part" msgstr "新建商品" -#: part/templates/part/category.html:150 templates/js/translated/bom.js:40 +#: part/templates/part/category.html:157 templates/js/translated/bom.js:40 msgid "New Part" msgstr "新商品" -#: part/templates/part/category.html:164 +#: part/templates/part/category.html:171 msgid "Set category" msgstr "设置类别" -#: part/templates/part/category.html:164 +#: part/templates/part/category.html:171 msgid "Set Category" msgstr "设置类别" -#: part/templates/part/category.html:168 +#: part/templates/part/category.html:175 msgid "Print Labels" msgstr "打印标签" -#: part/templates/part/category.html:170 +#: part/templates/part/category.html:177 msgid "Export Data" msgstr "导出数据" -#: part/templates/part/category.html:184 +#: part/templates/part/category.html:191 msgid "Part Parameters" msgstr "商品参数" -#: part/templates/part/category.html:261 +#: part/templates/part/category.html:268 msgid "Create Part Category" msgstr "创建商品类别" -#: part/templates/part/category.html:288 +#: part/templates/part/category.html:295 msgid "Create Part" msgstr "创建商品" @@ -4402,7 +4423,7 @@ msgstr "" msgid "Import Parts" msgstr "" -#: part/templates/part/copy_part.html:9 templates/js/translated/part.js:366 +#: part/templates/part/copy_part.html:9 templates/js/translated/part.js:373 msgid "Duplicate Part" msgstr "复制部件" @@ -4426,167 +4447,155 @@ msgstr "" msgid "%(full_name)s - %(desc)s (%(match_per)s%% match)" msgstr "" -#: part/templates/part/detail.html:16 -msgid "Part Details" -msgstr "" - -#: part/templates/part/detail.html:66 -msgid "Minimum stock level" -msgstr "" - -#: part/templates/part/detail.html:97 -msgid "Latest Serial Number" -msgstr "" - -#: part/templates/part/detail.html:124 +#: part/templates/part/detail.html:17 msgid "Part Stock" msgstr "商品库存" -#: part/templates/part/detail.html:136 +#: part/templates/part/detail.html:29 #, python-format msgid "Showing stock for all variants of %(full_name)s" msgstr "" -#: part/templates/part/detail.html:146 +#: part/templates/part/detail.html:39 msgid "Part Test Templates" msgstr "" -#: part/templates/part/detail.html:151 +#: part/templates/part/detail.html:44 msgid "Add Test Template" msgstr "" -#: part/templates/part/detail.html:208 +#: part/templates/part/detail.html:101 msgid "Sales Order Allocations" msgstr "" -#: part/templates/part/detail.html:249 +#: part/templates/part/detail.html:142 msgid "Part Variants" msgstr "" -#: part/templates/part/detail.html:253 +#: part/templates/part/detail.html:146 msgid "Create new variant" msgstr "" -#: part/templates/part/detail.html:254 +#: part/templates/part/detail.html:147 msgid "New Variant" msgstr "" -#: part/templates/part/detail.html:281 +#: part/templates/part/detail.html:174 msgid "Add new parameter" msgstr "" -#: part/templates/part/detail.html:315 part/templates/part/part_sidebar.html:47 +#: part/templates/part/detail.html:208 part/templates/part/part_sidebar.html:45 msgid "Related Parts" msgstr "" -#: part/templates/part/detail.html:319 part/templates/part/detail.html:320 +#: part/templates/part/detail.html:212 part/templates/part/detail.html:213 msgid "Add Related" msgstr "" -#: part/templates/part/detail.html:340 part/templates/part/part_sidebar.html:19 +#: part/templates/part/detail.html:233 part/templates/part/part_sidebar.html:17 msgid "Bill of Materials" msgstr "" -#: part/templates/part/detail.html:345 +#: part/templates/part/detail.html:238 msgid "Export actions" msgstr "" -#: part/templates/part/detail.html:349 +#: part/templates/part/detail.html:242 msgid "Export BOM" msgstr "" -#: part/templates/part/detail.html:351 +#: part/templates/part/detail.html:244 msgid "Print BOM Report" msgstr "" -#: part/templates/part/detail.html:361 +#: part/templates/part/detail.html:254 msgid "Upload BOM" msgstr "" -#: part/templates/part/detail.html:363 templates/js/translated/part.js:267 +#: part/templates/part/detail.html:256 templates/js/translated/part.js:270 msgid "Copy BOM" msgstr "" -#: part/templates/part/detail.html:365 part/views.py:755 +#: part/templates/part/detail.html:258 part/views.py:755 msgid "Validate BOM" msgstr "" -#: part/templates/part/detail.html:370 +#: part/templates/part/detail.html:263 msgid "New BOM Item" msgstr "" -#: part/templates/part/detail.html:371 +#: part/templates/part/detail.html:264 msgid "Add BOM Item" msgstr "" -#: part/templates/part/detail.html:384 +#: part/templates/part/detail.html:277 msgid "Assemblies" msgstr "" -#: part/templates/part/detail.html:401 +#: part/templates/part/detail.html:294 msgid "Part Builds" msgstr "" -#: part/templates/part/detail.html:426 +#: part/templates/part/detail.html:319 msgid "Build Order Allocations" msgstr "" -#: part/templates/part/detail.html:436 +#: part/templates/part/detail.html:329 msgid "Part Suppliers" msgstr "商品供应商" -#: part/templates/part/detail.html:463 +#: part/templates/part/detail.html:356 msgid "Part Manufacturers" msgstr "商品制造商" -#: part/templates/part/detail.html:479 +#: part/templates/part/detail.html:372 msgid "Delete manufacturer parts" msgstr "删除制造商商品" -#: part/templates/part/detail.html:660 +#: part/templates/part/detail.html:553 msgid "Delete selected BOM items?" msgstr "" -#: part/templates/part/detail.html:661 +#: part/templates/part/detail.html:554 msgid "All selected BOM items will be deleted" msgstr "" -#: part/templates/part/detail.html:712 +#: part/templates/part/detail.html:605 msgid "Create BOM Item" msgstr "" -#: part/templates/part/detail.html:764 +#: part/templates/part/detail.html:657 msgid "Related Part" msgstr "" -#: part/templates/part/detail.html:772 +#: part/templates/part/detail.html:665 msgid "Add Related Part" msgstr "" -#: part/templates/part/detail.html:869 +#: part/templates/part/detail.html:760 msgid "Add Test Result Template" msgstr "" -#: part/templates/part/detail.html:926 +#: part/templates/part/detail.html:817 msgid "Edit Part Notes" msgstr "编辑商品注释" -#: part/templates/part/detail.html:1039 +#: part/templates/part/detail.html:930 #, python-format msgid "Purchase Unit Price - %(currency)s" msgstr "" -#: part/templates/part/detail.html:1051 +#: part/templates/part/detail.html:942 #, python-format msgid "Unit Price-Cost Difference - %(currency)s" msgstr "" -#: part/templates/part/detail.html:1063 +#: part/templates/part/detail.html:954 #, python-format msgid "Supplier Unit Cost - %(currency)s" msgstr "" -#: part/templates/part/detail.html:1152 +#: part/templates/part/detail.html:1043 #, python-format msgid "Unit Price - %(currency)s" msgstr "" @@ -4668,86 +4677,108 @@ msgstr "编辑商品" msgid "Delete part" msgstr "删除商品" -#: part/templates/part/part_base.html:109 +#: part/templates/part/part_base.html:112 msgid "Part is a template part (variants can be made from this part)" msgstr "" -#: part/templates/part/part_base.html:113 +#: part/templates/part/part_base.html:116 msgid "Part can be assembled from other parts" msgstr "商品可以由其他部件组装" -#: part/templates/part/part_base.html:117 +#: part/templates/part/part_base.html:120 msgid "Part can be used in assemblies" msgstr "商品可以用于组装成品" -#: part/templates/part/part_base.html:121 +#: part/templates/part/part_base.html:124 msgid "Part stock is tracked by serial number" msgstr "" -#: part/templates/part/part_base.html:125 +#: part/templates/part/part_base.html:128 msgid "Part can be purchased from external suppliers" msgstr "商品可以从外部供应商处购买" -#: part/templates/part/part_base.html:129 +#: part/templates/part/part_base.html:132 msgid "Part can be sold to customers" msgstr "商品可以销售给客户" -#: part/templates/part/part_base.html:135 -#: part/templates/part/part_base.html:143 +#: part/templates/part/part_base.html:138 +#: part/templates/part/part_base.html:146 msgid "Part is virtual (not a physical part)" msgstr "商品是虚拟的(不是实体零件)" -#: part/templates/part/part_base.html:136 +#: part/templates/part/part_base.html:139 #: templates/js/translated/company.js:505 #: templates/js/translated/company.js:762 #: templates/js/translated/model_renderers.js:175 -#: templates/js/translated/part.js:465 templates/js/translated/part.js:542 +#: templates/js/translated/part.js:472 templates/js/translated/part.js:549 msgid "Inactive" msgstr "" -#: part/templates/part/part_base.html:155 +#: part/templates/part/part_base.html:156 +#: part/templates/part/part_base.html:579 +msgid "Show Part Details" +msgstr "" + +#: part/templates/part/part_base.html:173 #, python-format msgid "This part is a variant of %(link)s" msgstr "" -#: part/templates/part/part_base.html:172 templates/js/translated/order.js:1546 +#: part/templates/part/part_base.html:190 templates/js/translated/order.js:1545 #: templates/js/translated/table_filters.js:188 msgid "In Stock" msgstr "" -#: part/templates/part/part_base.html:185 templates/js/translated/part.js:1054 +#: part/templates/part/part_base.html:203 templates/js/translated/part.js:1235 msgid "On Order" msgstr "" -#: part/templates/part/part_base.html:192 templates/InvenTree/index.html:178 +#: part/templates/part/part_base.html:210 templates/InvenTree/index.html:178 msgid "Required for Build Orders" msgstr "" -#: part/templates/part/part_base.html:199 +#: part/templates/part/part_base.html:217 msgid "Required for Sales Orders" msgstr "" -#: part/templates/part/part_base.html:206 +#: part/templates/part/part_base.html:224 msgid "Allocated to Orders" msgstr "" -#: part/templates/part/part_base.html:221 templates/js/translated/bom.js:566 +#: part/templates/part/part_base.html:239 templates/js/translated/bom.js:566 msgid "Can Build" msgstr "" -#: part/templates/part/part_base.html:227 templates/js/translated/part.js:885 -#: templates/js/translated/part.js:1058 +#: part/templates/part/part_base.html:245 templates/js/translated/part.js:1066 +#: templates/js/translated/part.js:1239 msgid "Building" msgstr "" -#: part/templates/part/part_base.html:320 part/templates/part/prices.html:144 +#: part/templates/part/part_base.html:295 +msgid "Minimum stock level" +msgstr "" + +#: part/templates/part/part_base.html:324 +msgid "Latest Serial Number" +msgstr "" + +#: part/templates/part/part_base.html:328 +#: stock/templates/stock/item_base.html:159 +msgid "Search for serial number" +msgstr "" + +#: part/templates/part/part_base.html:449 part/templates/part/prices.html:144 msgid "Calculate" msgstr "" -#: part/templates/part/part_base.html:363 +#: part/templates/part/part_base.html:492 msgid "No matching images found" msgstr "" +#: part/templates/part/part_base.html:573 +msgid "Hide Part Details" +msgstr "" + #: part/templates/part/part_pricing.html:22 part/templates/part/prices.html:21 msgid "Supplier Pricing" msgstr "" @@ -4805,20 +4836,15 @@ msgstr "" msgid "No pricing information is available for this part." msgstr "此商品无价格信息可用。" -#: part/templates/part/part_sidebar.html:8 -#: templates/js/translated/stock.js:1949 -msgid "Details" -msgstr "详情" - -#: part/templates/part/part_sidebar.html:13 +#: part/templates/part/part_sidebar.html:11 msgid "Variants" msgstr "" -#: part/templates/part/part_sidebar.html:27 +#: part/templates/part/part_sidebar.html:25 msgid "Used In" msgstr "" -#: part/templates/part/part_sidebar.html:43 +#: part/templates/part/part_sidebar.html:41 msgid "Test Templates" msgstr "" @@ -4934,8 +4960,8 @@ msgid "Set category for the following parts" msgstr "为以下商品设置类别" #: part/templates/part/stock_count.html:7 templates/js/translated/bom.js:476 -#: templates/js/translated/part.js:429 templates/js/translated/part.js:875 -#: templates/js/translated/part.js:1062 +#: templates/js/translated/part.js:436 templates/js/translated/part.js:1056 +#: templates/js/translated/part.js:1243 msgid "No Stock" msgstr "" @@ -5037,7 +5063,7 @@ msgstr "" msgid "Delete Part Parameter Template" msgstr "" -#: part/views.py:1489 templates/js/translated/part.js:310 +#: part/views.py:1489 templates/js/translated/part.js:313 msgid "Edit Part Category" msgstr "编辑商品类别" @@ -5171,11 +5197,12 @@ msgid "Stock Item Test Report" msgstr "" #: report/templates/report/inventree_test_report_base.html:79 -#: stock/models.py:530 stock/templates/stock/item_base.html:238 +#: stock/models.py:520 stock/templates/stock/item_base.html:149 #: templates/js/translated/build.js:233 templates/js/translated/build.js:637 #: templates/js/translated/build.js:1013 #: templates/js/translated/model_renderers.js:95 -#: templates/js/translated/order.js:1288 templates/js/translated/order.js:1377 +#: templates/js/translated/order.js:1287 templates/js/translated/order.js:1376 +#: templates/js/translated/stock.js:410 msgid "Serial Number" msgstr "序列号" @@ -5184,17 +5211,17 @@ msgid "Test Results" msgstr "" #: report/templates/report/inventree_test_report_base.html:93 -#: stock/models.py:1855 +#: stock/models.py:1845 msgid "Test" msgstr "" #: report/templates/report/inventree_test_report_base.html:94 -#: stock/models.py:1861 +#: stock/models.py:1851 msgid "Result" msgstr "" #: report/templates/report/inventree_test_report_base.html:97 -#: templates/js/translated/order.js:685 templates/js/translated/stock.js:1917 +#: templates/js/translated/order.js:684 templates/js/translated/stock.js:1999 msgid "Date" msgstr "" @@ -5212,7 +5239,7 @@ msgid "Installed Items" msgstr "" #: report/templates/report/inventree_test_report_base.html:137 -#: templates/js/translated/stock.js:2177 +#: templates/js/translated/stock.js:2259 msgid "Serial" msgstr "" @@ -5220,9 +5247,9 @@ msgstr "" msgid "Quantity is required" msgstr "" -#: stock/forms.py:91 stock/forms.py:265 stock/models.py:587 -#: stock/templates/stock/item_base.html:382 -#: templates/js/translated/stock.js:1276 +#: stock/forms.py:91 stock/forms.py:265 stock/models.py:577 +#: stock/templates/stock/item_base.html:186 +#: templates/js/translated/stock.js:1358 msgid "Expiry Date" msgstr "" @@ -5270,241 +5297,241 @@ msgstr "" msgid "Confirm removal of installed stock items" msgstr "" -#: stock/models.py:60 stock/models.py:624 -#: stock/templates/stock/item_base.html:422 +#: stock/models.py:60 stock/models.py:614 +#: stock/templates/stock/item_base.html:417 msgid "Owner" msgstr "" -#: stock/models.py:61 stock/models.py:625 +#: stock/models.py:61 stock/models.py:615 msgid "Select Owner" msgstr "" -#: stock/models.py:352 +#: stock/models.py:342 msgid "StockItem with this serial number already exists" msgstr "" -#: stock/models.py:388 +#: stock/models.py:378 #, python-brace-format msgid "Part type ('{pf}') must be {pe}" msgstr "商品类型 ('{pf}') 必须是 {pe}" -#: stock/models.py:398 stock/models.py:407 +#: stock/models.py:388 stock/models.py:397 msgid "Quantity must be 1 for item with a serial number" msgstr "" -#: stock/models.py:399 +#: stock/models.py:389 msgid "Serial number cannot be set if quantity greater than 1" msgstr "" -#: stock/models.py:421 +#: stock/models.py:411 msgid "Item cannot belong to itself" msgstr "" -#: stock/models.py:427 +#: stock/models.py:417 msgid "Item must have a build reference if is_building=True" msgstr "" -#: stock/models.py:434 +#: stock/models.py:424 msgid "Build reference does not point to the same part object" msgstr "" -#: stock/models.py:476 +#: stock/models.py:466 msgid "Parent Stock Item" msgstr "" -#: stock/models.py:485 +#: stock/models.py:475 msgid "Base part" msgstr "" -#: stock/models.py:493 +#: stock/models.py:483 msgid "Select a matching supplier part for this stock item" msgstr "" -#: stock/models.py:498 stock/templates/stock/location.html:12 +#: stock/models.py:488 stock/templates/stock/location.html:12 #: stock/templates/stock/stock_app_base.html:8 msgid "Stock Location" msgstr "仓储地点" -#: stock/models.py:501 +#: stock/models.py:491 msgid "Where is this stock item located?" msgstr "" -#: stock/models.py:508 +#: stock/models.py:498 msgid "Packaging this stock item is stored in" msgstr "" -#: stock/models.py:513 stock/templates/stock/item_base.html:271 +#: stock/models.py:503 stock/templates/stock/item_base.html:299 msgid "Installed In" msgstr "" -#: stock/models.py:516 +#: stock/models.py:506 msgid "Is this item installed in another item?" msgstr "" -#: stock/models.py:532 +#: stock/models.py:522 msgid "Serial number for this item" msgstr "" -#: stock/models.py:546 +#: stock/models.py:536 msgid "Batch code for this stock item" msgstr "" -#: stock/models.py:550 +#: stock/models.py:540 msgid "Stock Quantity" msgstr "" -#: stock/models.py:559 +#: stock/models.py:549 msgid "Source Build" msgstr "" -#: stock/models.py:561 +#: stock/models.py:551 msgid "Build for this stock item" msgstr "" -#: stock/models.py:572 +#: stock/models.py:562 msgid "Source Purchase Order" msgstr "" -#: stock/models.py:575 +#: stock/models.py:565 msgid "Purchase order for this stock item" msgstr "" -#: stock/models.py:581 +#: stock/models.py:571 msgid "Destination Sales Order" msgstr "" -#: stock/models.py:588 +#: stock/models.py:578 msgid "Expiry date for stock item. Stock will be considered expired after this date" msgstr "" -#: stock/models.py:601 +#: stock/models.py:591 msgid "Delete on deplete" msgstr "" -#: stock/models.py:601 +#: stock/models.py:591 msgid "Delete this Stock Item when stock is depleted" msgstr "" -#: stock/models.py:611 stock/templates/stock/item.html:111 +#: stock/models.py:601 stock/templates/stock/item.html:111 msgid "Stock Item Notes" msgstr "" -#: stock/models.py:620 +#: stock/models.py:610 msgid "Single unit purchase price at time of purchase" msgstr "" -#: stock/models.py:630 +#: stock/models.py:620 msgid "Scheduled for deletion" msgstr "" -#: stock/models.py:631 +#: stock/models.py:621 msgid "This StockItem will be deleted by the background worker" msgstr "" -#: stock/models.py:1094 +#: stock/models.py:1084 msgid "Part is not set as trackable" msgstr "" -#: stock/models.py:1100 +#: stock/models.py:1090 msgid "Quantity must be integer" msgstr "" -#: stock/models.py:1106 +#: stock/models.py:1096 #, python-brace-format msgid "Quantity must not exceed available stock quantity ({n})" msgstr "" -#: stock/models.py:1109 +#: stock/models.py:1099 msgid "Serial numbers must be a list of integers" msgstr "" -#: stock/models.py:1112 +#: stock/models.py:1102 msgid "Quantity does not match serial numbers" msgstr "" -#: stock/models.py:1119 +#: stock/models.py:1109 #, python-brace-format msgid "Serial numbers already exist: {exists}" msgstr "" -#: stock/models.py:1277 +#: stock/models.py:1267 msgid "StockItem cannot be moved as it is not in stock" msgstr "" -#: stock/models.py:1775 +#: stock/models.py:1765 msgid "Entry notes" msgstr "" -#: stock/models.py:1832 +#: stock/models.py:1822 msgid "Value must be provided for this test" msgstr "" -#: stock/models.py:1838 +#: stock/models.py:1828 msgid "Attachment must be uploaded for this test" msgstr "" -#: stock/models.py:1856 +#: stock/models.py:1846 msgid "Test name" msgstr "" -#: stock/models.py:1862 templates/js/translated/table_filters.js:266 +#: stock/models.py:1852 templates/js/translated/table_filters.js:266 msgid "Test result" msgstr "" -#: stock/models.py:1868 +#: stock/models.py:1858 msgid "Test output value" msgstr "" -#: stock/models.py:1875 +#: stock/models.py:1865 msgid "Test result attachment" msgstr "" -#: stock/models.py:1881 +#: stock/models.py:1871 msgid "Test notes" msgstr "" -#: stock/serializers.py:166 +#: stock/serializers.py:171 msgid "Purchase price of this stock item" msgstr "" -#: stock/serializers.py:173 +#: stock/serializers.py:178 msgid "Purchase currency of this stock item" msgstr "" -#: stock/serializers.py:287 +#: stock/serializers.py:292 msgid "Enter number of stock items to serialize" msgstr "" -#: stock/serializers.py:302 +#: stock/serializers.py:307 #, python-brace-format msgid "Quantity must not exceed available stock quantity ({q})" msgstr "" -#: stock/serializers.py:308 +#: stock/serializers.py:313 msgid "Enter serial numbers for new items" msgstr "" -#: stock/serializers.py:319 stock/serializers.py:686 +#: stock/serializers.py:324 stock/serializers.py:691 msgid "Destination stock location" msgstr "" -#: stock/serializers.py:326 +#: stock/serializers.py:331 msgid "Optional note field" msgstr "" -#: stock/serializers.py:339 +#: stock/serializers.py:344 msgid "Serial numbers cannot be assigned to this part" msgstr "" -#: stock/serializers.py:556 +#: stock/serializers.py:561 msgid "StockItem primary key value" msgstr "" -#: stock/serializers.py:584 +#: stock/serializers.py:589 msgid "Stock transaction notes" msgstr "" -#: stock/serializers.py:594 +#: stock/serializers.py:599 msgid "A list of stock items must be provided" msgstr "" @@ -5629,125 +5656,131 @@ msgstr "" msgid "Install" msgstr "" -#: stock/templates/stock/item_base.html:106 +#: stock/templates/stock/item_base.html:108 msgid "Convert to variant" msgstr "" -#: stock/templates/stock/item_base.html:109 +#: stock/templates/stock/item_base.html:111 msgid "Duplicate stock item" msgstr "" -#: stock/templates/stock/item_base.html:111 +#: stock/templates/stock/item_base.html:113 msgid "Edit stock item" msgstr "" -#: stock/templates/stock/item_base.html:114 +#: stock/templates/stock/item_base.html:116 msgid "Delete stock item" msgstr "" -#: stock/templates/stock/item_base.html:136 -#: stock/templates/stock/item_base.html:386 -#: templates/js/translated/table_filters.js:247 -msgid "Expired" +#: stock/templates/stock/item_base.html:154 +msgid "previous page" msgstr "" -#: stock/templates/stock/item_base.html:146 -#: stock/templates/stock/item_base.html:388 -#: templates/js/translated/table_filters.js:253 -msgid "Stale" +#: stock/templates/stock/item_base.html:154 +msgid "Navigate to previous serial number" msgstr "" -#: stock/templates/stock/item_base.html:161 -msgid "You are not in the list of owners of this item. This stock item cannot be edited." +#: stock/templates/stock/item_base.html:163 +msgid "next page" msgstr "" -#: stock/templates/stock/item_base.html:168 -msgid "This stock item is in production and cannot be edited." -msgstr "此库存项目正在生产中,无法编辑。" - -#: stock/templates/stock/item_base.html:169 -msgid "Edit the stock item from the build view." -msgstr "" - -#: stock/templates/stock/item_base.html:182 -msgid "This stock item has not passed all required tests" +#: stock/templates/stock/item_base.html:163 +msgid "Navigate to next serial number" msgstr "" #: stock/templates/stock/item_base.html:190 #, python-format -msgid "This stock item is allocated to Sales Order %(link)s (Quantity: %(qty)s)" -msgstr "" - -#: stock/templates/stock/item_base.html:198 -#, python-format -msgid "This stock item is allocated to Build %(link)s (Quantity: %(qty)s)" -msgstr "" - -#: stock/templates/stock/item_base.html:204 -msgid "This stock item is serialized - it has a unique serial number and the quantity cannot be adjusted." -msgstr "" - -#: stock/templates/stock/item_base.html:208 -msgid "This stock item cannot be deleted as it has child items" -msgstr "" - -#: stock/templates/stock/item_base.html:212 -msgid "This stock item will be automatically deleted when all stock is depleted." -msgstr "" - -#: stock/templates/stock/item_base.html:241 -msgid "previous page" -msgstr "" - -#: stock/templates/stock/item_base.html:247 -msgid "next page" -msgstr "" - -#: stock/templates/stock/item_base.html:290 -#: templates/js/translated/build.js:1035 -msgid "No location set" -msgstr "未设置仓储地点" - -#: stock/templates/stock/item_base.html:297 -msgid "Barcode Identifier" -msgstr "" - -#: stock/templates/stock/item_base.html:339 -msgid "Parent Item" -msgstr "" - -#: stock/templates/stock/item_base.html:357 -msgid "No manufacturer set" -msgstr "" - -#: stock/templates/stock/item_base.html:386 -#, python-format msgid "This StockItem expired on %(item.expiry_date)s" msgstr "" -#: stock/templates/stock/item_base.html:388 +#: stock/templates/stock/item_base.html:190 +#: templates/js/translated/table_filters.js:247 +msgid "Expired" +msgstr "" + +#: stock/templates/stock/item_base.html:192 #, python-format msgid "This StockItem expires on %(item.expiry_date)s" msgstr "" -#: stock/templates/stock/item_base.html:395 -#: templates/js/translated/stock.js:1289 +#: stock/templates/stock/item_base.html:192 +#: templates/js/translated/table_filters.js:253 +msgid "Stale" +msgstr "" + +#: stock/templates/stock/item_base.html:199 +#: templates/js/translated/stock.js:1371 msgid "Last Updated" msgstr "" -#: stock/templates/stock/item_base.html:400 +#: stock/templates/stock/item_base.html:204 msgid "Last Stocktake" msgstr "" -#: stock/templates/stock/item_base.html:404 +#: stock/templates/stock/item_base.html:208 msgid "No stocktake performed" msgstr "" -#: stock/templates/stock/item_base.html:415 +#: stock/templates/stock/item_base.html:226 +msgid "You are not in the list of owners of this item. This stock item cannot be edited." +msgstr "" + +#: stock/templates/stock/item_base.html:233 +msgid "This stock item is in production and cannot be edited." +msgstr "此库存项目正在生产中,无法编辑。" + +#: stock/templates/stock/item_base.html:234 +msgid "Edit the stock item from the build view." +msgstr "" + +#: stock/templates/stock/item_base.html:247 +msgid "This stock item has not passed all required tests" +msgstr "" + +#: stock/templates/stock/item_base.html:255 +#, python-format +msgid "This stock item is allocated to Sales Order %(link)s (Quantity: %(qty)s)" +msgstr "" + +#: stock/templates/stock/item_base.html:263 +#, python-format +msgid "This stock item is allocated to Build %(link)s (Quantity: %(qty)s)" +msgstr "" + +#: stock/templates/stock/item_base.html:269 +msgid "This stock item is serialized - it has a unique serial number and the quantity cannot be adjusted." +msgstr "" + +#: stock/templates/stock/item_base.html:273 +msgid "This stock item cannot be deleted as it has child items" +msgstr "" + +#: stock/templates/stock/item_base.html:277 +msgid "This stock item will be automatically deleted when all stock is depleted." +msgstr "" + +#: stock/templates/stock/item_base.html:318 +#: templates/js/translated/build.js:1035 +msgid "No location set" +msgstr "未设置仓储地点" + +#: stock/templates/stock/item_base.html:325 +msgid "Barcode Identifier" +msgstr "" + +#: stock/templates/stock/item_base.html:367 +msgid "Parent Item" +msgstr "" + +#: stock/templates/stock/item_base.html:385 +msgid "No manufacturer set" +msgstr "" + +#: stock/templates/stock/item_base.html:410 msgid "Tests" msgstr "" -#: stock/templates/stock/item_base.html:505 +#: stock/templates/stock/item_base.html:500 msgid "Edit Stock Status" msgstr "" @@ -5825,30 +5858,35 @@ msgstr "新建仓储地点" msgid "New Location" msgstr "新建仓储地点" -#: stock/templates/stock/location.html:86 +#: stock/templates/stock/location.html:95 +#: stock/templates/stock/location.html:101 +msgid "Location Path" +msgstr "" + +#: stock/templates/stock/location.html:102 msgid "Top level stock location" msgstr "" -#: stock/templates/stock/location.html:95 +#: stock/templates/stock/location.html:115 msgid "You are not in the list of owners of this location. This stock location cannot be edited." msgstr "您不在此仓储地的所有者列表中,无法编辑此仓储地。" -#: stock/templates/stock/location.html:113 -#: stock/templates/stock/location.html:160 +#: stock/templates/stock/location.html:128 +#: stock/templates/stock/location.html:175 #: stock/templates/stock/location_sidebar.html:5 msgid "Sublocations" msgstr "" -#: stock/templates/stock/location.html:127 templates/InvenTree/search.html:170 +#: stock/templates/stock/location.html:142 templates/InvenTree/search.html:170 #: templates/stats.html:97 users/models.py:42 msgid "Stock Locations" msgstr "仓储地点" -#: stock/templates/stock/location.html:167 templates/stock_table.html:30 +#: stock/templates/stock/location.html:182 templates/stock_table.html:30 msgid "Printing Actions" msgstr "打印操作" -#: stock/templates/stock/location.html:171 templates/stock_table.html:34 +#: stock/templates/stock/location.html:186 templates/stock_table.html:34 msgid "Print labels" msgstr "打印标签" @@ -5942,7 +5980,7 @@ msgstr "" msgid "Uninstall Stock Items" msgstr "" -#: stock/views.py:760 templates/js/translated/stock.js:648 +#: stock/views.py:760 templates/js/translated/stock.js:730 msgid "Confirm stock adjustment" msgstr "" @@ -5950,7 +5988,7 @@ msgstr "" msgid "Uninstalled stock items" msgstr "" -#: stock/views.py:793 templates/js/translated/stock.js:318 +#: stock/views.py:793 templates/js/translated/stock.js:319 msgid "Edit Stock Item" msgstr "" @@ -5962,7 +6000,7 @@ msgstr "新建仓储地点" msgid "Create new Stock Item" msgstr "" -#: stock/views.py:1186 templates/js/translated/stock.js:298 +#: stock/views.py:1186 templates/js/translated/stock.js:299 msgid "Duplicate Stock Item" msgstr "" @@ -6868,7 +6906,7 @@ msgstr "" msgid "Unlink" msgstr "" -#: templates/js/translated/barcode.js:397 templates/js/translated/stock.js:600 +#: templates/js/translated/barcode.js:397 templates/js/translated/stock.js:682 msgid "Remove stock item" msgstr "" @@ -6963,7 +7001,7 @@ msgid "View BOM" msgstr "" #: templates/js/translated/bom.js:608 templates/js/translated/build.js:1183 -#: templates/js/translated/order.js:1320 +#: templates/js/translated/order.js:1319 msgid "Actions" msgstr "" @@ -7055,7 +7093,7 @@ msgstr "" msgid "No build order allocations found" msgstr "" -#: templates/js/translated/build.js:424 templates/js/translated/order.js:1194 +#: templates/js/translated/build.js:424 templates/js/translated/order.js:1193 msgid "Location not specified" msgstr "未指定仓储地点" @@ -7064,12 +7102,12 @@ msgid "No active build outputs found" msgstr "" #: templates/js/translated/build.js:1052 templates/js/translated/build.js:1760 -#: templates/js/translated/order.js:1327 +#: templates/js/translated/order.js:1326 msgid "Edit stock allocation" msgstr "" #: templates/js/translated/build.js:1054 templates/js/translated/build.js:1761 -#: templates/js/translated/order.js:1328 +#: templates/js/translated/order.js:1327 msgid "Delete stock allocation" msgstr "" @@ -7090,11 +7128,11 @@ msgid "Quantity Per" msgstr "" #: templates/js/translated/build.js:1134 templates/js/translated/build.js:1360 -#: templates/js/translated/build.js:1756 templates/js/translated/order.js:1557 +#: templates/js/translated/build.js:1756 templates/js/translated/order.js:1556 msgid "Allocated" msgstr "" -#: templates/js/translated/build.js:1190 templates/js/translated/order.js:1611 +#: templates/js/translated/build.js:1190 templates/js/translated/order.js:1610 msgid "Build stock" msgstr "" @@ -7102,7 +7140,7 @@ msgstr "" msgid "Order stock" msgstr "" -#: templates/js/translated/build.js:1197 templates/js/translated/order.js:1604 +#: templates/js/translated/build.js:1197 templates/js/translated/order.js:1603 msgid "Allocate stock" msgstr "" @@ -7143,9 +7181,9 @@ msgstr "" msgid "No builds matching query" msgstr "" -#: templates/js/translated/build.js:1593 templates/js/translated/part.js:966 -#: templates/js/translated/part.js:1377 templates/js/translated/stock.js:1094 -#: templates/js/translated/stock.js:1871 +#: templates/js/translated/build.js:1593 templates/js/translated/part.js:1147 +#: templates/js/translated/part.js:1558 templates/js/translated/stock.js:1176 +#: templates/js/translated/stock.js:1953 msgid "Select" msgstr "" @@ -7153,7 +7191,7 @@ msgstr "" msgid "Build order is overdue" msgstr "" -#: templates/js/translated/build.js:1674 templates/js/translated/stock.js:2090 +#: templates/js/translated/build.js:1674 templates/js/translated/stock.js:2172 msgid "No user information" msgstr "没有用户信息" @@ -7197,10 +7235,6 @@ msgstr "编辑供应商商品" msgid "Delete Supplier Part" msgstr "删除供应商商品" -#: templates/js/translated/company.js:265 -msgid "Edit Company" -msgstr "编辑公司信息" - #: templates/js/translated/company.js:286 msgid "Add new Company" msgstr "增加新的公司信息" @@ -7230,34 +7264,34 @@ msgid "No manufacturer parts found" msgstr "" #: templates/js/translated/company.js:497 -#: templates/js/translated/company.js:754 templates/js/translated/part.js:449 -#: templates/js/translated/part.js:534 +#: templates/js/translated/company.js:754 templates/js/translated/part.js:456 +#: templates/js/translated/part.js:541 msgid "Template part" msgstr "" #: templates/js/translated/company.js:501 -#: templates/js/translated/company.js:758 templates/js/translated/part.js:453 -#: templates/js/translated/part.js:538 +#: templates/js/translated/company.js:758 templates/js/translated/part.js:460 +#: templates/js/translated/part.js:545 msgid "Assembled part" msgstr "" -#: templates/js/translated/company.js:628 templates/js/translated/part.js:626 +#: templates/js/translated/company.js:628 templates/js/translated/part.js:633 msgid "No parameters found" msgstr "无指定参数" -#: templates/js/translated/company.js:665 templates/js/translated/part.js:668 +#: templates/js/translated/company.js:665 templates/js/translated/part.js:675 msgid "Edit parameter" msgstr "编辑参数" -#: templates/js/translated/company.js:666 templates/js/translated/part.js:669 +#: templates/js/translated/company.js:666 templates/js/translated/part.js:676 msgid "Delete parameter" msgstr "删除参数" -#: templates/js/translated/company.js:685 templates/js/translated/part.js:686 +#: templates/js/translated/company.js:685 templates/js/translated/part.js:693 msgid "Edit Parameter" msgstr "编辑参数" -#: templates/js/translated/company.js:696 templates/js/translated/part.js:698 +#: templates/js/translated/company.js:696 templates/js/translated/part.js:705 msgid "Delete Parameter" msgstr "删除参数" @@ -7346,7 +7380,7 @@ msgid "NO" msgstr "" #: templates/js/translated/label.js:29 templates/js/translated/report.js:118 -#: templates/js/translated/stock.js:624 +#: templates/js/translated/stock.js:706 msgid "Select Stock Items" msgstr "选择库存项" @@ -7502,11 +7536,11 @@ msgstr "" msgid "Export Order" msgstr "" -#: templates/js/translated/order.js:211 templates/js/translated/stock.js:423 +#: templates/js/translated/order.js:211 templates/js/translated/stock.js:505 msgid "Format" msgstr "" -#: templates/js/translated/order.js:212 templates/js/translated/stock.js:424 +#: templates/js/translated/order.js:212 templates/js/translated/stock.js:506 msgid "Select file format" msgstr "" @@ -7522,7 +7556,7 @@ msgstr "" msgid "Quantity to receive" msgstr "" -#: templates/js/translated/order.js:360 templates/js/translated/stock.js:1673 +#: templates/js/translated/order.js:360 templates/js/translated/stock.js:1755 msgid "Stock Status" msgstr "" @@ -7546,321 +7580,321 @@ msgstr "" msgid "Receive Purchase Order Items" msgstr "" -#: templates/js/translated/order.js:627 +#: templates/js/translated/order.js:627 templates/js/translated/part.js:746 msgid "No purchase orders found" msgstr "" -#: templates/js/translated/order.js:652 templates/js/translated/order.js:1063 +#: templates/js/translated/order.js:659 templates/js/translated/order.js:1062 msgid "Order is overdue" msgstr "" -#: templates/js/translated/order.js:772 templates/js/translated/order.js:1646 +#: templates/js/translated/order.js:771 templates/js/translated/order.js:1645 msgid "Edit Line Item" msgstr "" -#: templates/js/translated/order.js:784 templates/js/translated/order.js:1657 +#: templates/js/translated/order.js:783 templates/js/translated/order.js:1656 msgid "Delete Line Item" msgstr "" -#: templates/js/translated/order.js:823 +#: templates/js/translated/order.js:822 msgid "No line items found" msgstr "" -#: templates/js/translated/order.js:850 templates/js/translated/order.js:1467 +#: templates/js/translated/order.js:849 templates/js/translated/order.js:1466 msgid "Total" msgstr "" -#: templates/js/translated/order.js:904 templates/js/translated/order.js:1492 -#: templates/js/translated/part.js:1594 templates/js/translated/part.js:1805 +#: templates/js/translated/order.js:903 templates/js/translated/order.js:1491 +#: templates/js/translated/part.js:1775 templates/js/translated/part.js:1986 msgid "Unit Price" msgstr "单价" -#: templates/js/translated/order.js:919 templates/js/translated/order.js:1508 +#: templates/js/translated/order.js:918 templates/js/translated/order.js:1507 msgid "Total Price" msgstr "" -#: templates/js/translated/order.js:997 templates/js/translated/order.js:1617 +#: templates/js/translated/order.js:996 templates/js/translated/order.js:1616 msgid "Edit line item" msgstr "" -#: templates/js/translated/order.js:998 +#: templates/js/translated/order.js:997 msgid "Delete line item" msgstr "" -#: templates/js/translated/order.js:1002 +#: templates/js/translated/order.js:1001 templates/js/translated/part.js:878 msgid "Receive line item" msgstr "" -#: templates/js/translated/order.js:1039 +#: templates/js/translated/order.js:1038 msgid "No sales orders found" msgstr "" -#: templates/js/translated/order.js:1077 +#: templates/js/translated/order.js:1076 msgid "Invalid Customer" msgstr "" -#: templates/js/translated/order.js:1155 +#: templates/js/translated/order.js:1154 msgid "No sales order allocations found" msgstr "" -#: templates/js/translated/order.js:1248 +#: templates/js/translated/order.js:1247 msgid "Edit Stock Allocation" msgstr "" -#: templates/js/translated/order.js:1265 +#: templates/js/translated/order.js:1264 msgid "Confirm Delete Operation" msgstr "确认删除操作" -#: templates/js/translated/order.js:1266 +#: templates/js/translated/order.js:1265 msgid "Delete Stock Allocation" msgstr "" -#: templates/js/translated/order.js:1308 +#: templates/js/translated/order.js:1307 msgid "Stock location not specified" msgstr "" -#: templates/js/translated/order.js:1557 +#: templates/js/translated/order.js:1556 msgid "Fulfilled" msgstr "" -#: templates/js/translated/order.js:1601 +#: templates/js/translated/order.js:1600 msgid "Allocate serial numbers" msgstr "" -#: templates/js/translated/order.js:1607 +#: templates/js/translated/order.js:1606 msgid "Purchase stock" msgstr "" -#: templates/js/translated/order.js:1614 templates/js/translated/order.js:1793 +#: templates/js/translated/order.js:1613 templates/js/translated/order.js:1792 msgid "Calculate price" msgstr "" -#: templates/js/translated/order.js:1618 +#: templates/js/translated/order.js:1617 msgid "Delete line item " msgstr "" -#: templates/js/translated/order.js:1741 +#: templates/js/translated/order.js:1740 msgid "Allocate Stock Item" msgstr "" -#: templates/js/translated/order.js:1801 +#: templates/js/translated/order.js:1800 msgid "Update Unit Price" msgstr "" -#: templates/js/translated/order.js:1815 +#: templates/js/translated/order.js:1814 msgid "No matching line items" msgstr "" -#: templates/js/translated/part.js:51 +#: templates/js/translated/part.js:52 msgid "Part Attributes" msgstr "商品属性" -#: templates/js/translated/part.js:55 +#: templates/js/translated/part.js:56 msgid "Part Creation Options" msgstr "商品创建选项" -#: templates/js/translated/part.js:59 +#: templates/js/translated/part.js:60 msgid "Part Duplication Options" msgstr "商品重复选项" -#: templates/js/translated/part.js:63 +#: templates/js/translated/part.js:64 msgid "Supplier Options" msgstr "" -#: templates/js/translated/part.js:77 +#: templates/js/translated/part.js:78 msgid "Add Part Category" msgstr "增加商品类别" -#: templates/js/translated/part.js:166 +#: templates/js/translated/part.js:162 msgid "Create Initial Stock" msgstr "" -#: templates/js/translated/part.js:167 +#: templates/js/translated/part.js:163 msgid "Create an initial stock item for this part" msgstr "" -#: templates/js/translated/part.js:174 +#: templates/js/translated/part.js:170 msgid "Initial Stock Quantity" msgstr "" -#: templates/js/translated/part.js:175 +#: templates/js/translated/part.js:171 msgid "Specify initial stock quantity for this part" msgstr "" -#: templates/js/translated/part.js:182 +#: templates/js/translated/part.js:178 msgid "Select destination stock location" msgstr "" -#: templates/js/translated/part.js:193 +#: templates/js/translated/part.js:196 msgid "Copy Category Parameters" msgstr "复制类别参数" -#: templates/js/translated/part.js:194 +#: templates/js/translated/part.js:197 msgid "Copy parameter templates from selected part category" msgstr "" -#: templates/js/translated/part.js:202 +#: templates/js/translated/part.js:205 msgid "Add Supplier Data" msgstr "" -#: templates/js/translated/part.js:203 +#: templates/js/translated/part.js:206 msgid "Create initial supplier data for this part" msgstr "" -#: templates/js/translated/part.js:259 +#: templates/js/translated/part.js:262 msgid "Copy Image" msgstr "" -#: templates/js/translated/part.js:260 +#: templates/js/translated/part.js:263 msgid "Copy image from original part" msgstr "" -#: templates/js/translated/part.js:268 +#: templates/js/translated/part.js:271 msgid "Copy bill of materials from original part" msgstr "" -#: templates/js/translated/part.js:275 +#: templates/js/translated/part.js:278 msgid "Copy Parameters" msgstr "" -#: templates/js/translated/part.js:276 +#: templates/js/translated/part.js:279 msgid "Copy parameter data from original part" msgstr "" -#: templates/js/translated/part.js:289 +#: templates/js/translated/part.js:292 msgid "Parent part category" msgstr "" -#: templates/js/translated/part.js:333 +#: templates/js/translated/part.js:336 msgid "Edit Part" msgstr "编辑商品" -#: templates/js/translated/part.js:335 +#: templates/js/translated/part.js:338 msgid "Part edited" msgstr "" -#: templates/js/translated/part.js:403 +#: templates/js/translated/part.js:410 msgid "You are subscribed to notifications for this item" msgstr "" -#: templates/js/translated/part.js:405 +#: templates/js/translated/part.js:412 msgid "You have subscribed to notifications for this item" msgstr "" -#: templates/js/translated/part.js:410 +#: templates/js/translated/part.js:417 msgid "Subscribe to notifications for this item" msgstr "" -#: templates/js/translated/part.js:412 +#: templates/js/translated/part.js:419 msgid "You have unsubscribed to notifications for this item" msgstr "" -#: templates/js/translated/part.js:441 templates/js/translated/part.js:526 +#: templates/js/translated/part.js:448 templates/js/translated/part.js:533 msgid "Trackable part" msgstr "可追溯商品" -#: templates/js/translated/part.js:445 templates/js/translated/part.js:530 +#: templates/js/translated/part.js:452 templates/js/translated/part.js:537 msgid "Virtual part" msgstr "虚拟商品" -#: templates/js/translated/part.js:457 +#: templates/js/translated/part.js:464 msgid "Subscribed part" msgstr "" -#: templates/js/translated/part.js:461 +#: templates/js/translated/part.js:468 msgid "Salable part" msgstr "可销售商品" -#: templates/js/translated/part.js:576 +#: templates/js/translated/part.js:583 msgid "No variants found" msgstr "" -#: templates/js/translated/part.js:765 +#: templates/js/translated/part.js:946 msgid "Delete part relationship" msgstr "" -#: templates/js/translated/part.js:789 +#: templates/js/translated/part.js:970 msgid "Delete Part Relationship" msgstr "" -#: templates/js/translated/part.js:856 templates/js/translated/part.js:1116 +#: templates/js/translated/part.js:1037 templates/js/translated/part.js:1297 msgid "No parts found" msgstr "" -#: templates/js/translated/part.js:1026 +#: templates/js/translated/part.js:1207 msgid "No category" msgstr "没有分类" -#: templates/js/translated/part.js:1049 +#: templates/js/translated/part.js:1230 #: templates/js/translated/table_filters.js:381 msgid "Low stock" msgstr "" -#: templates/js/translated/part.js:1140 templates/js/translated/part.js:1312 -#: templates/js/translated/stock.js:1832 +#: templates/js/translated/part.js:1321 templates/js/translated/part.js:1493 +#: templates/js/translated/stock.js:1914 msgid "Display as list" msgstr "" -#: templates/js/translated/part.js:1156 +#: templates/js/translated/part.js:1337 msgid "Display as grid" msgstr "" -#: templates/js/translated/part.js:1331 templates/js/translated/stock.js:1851 +#: templates/js/translated/part.js:1512 templates/js/translated/stock.js:1933 msgid "Display as tree" msgstr "" -#: templates/js/translated/part.js:1395 +#: templates/js/translated/part.js:1576 msgid "Subscribed category" msgstr "" -#: templates/js/translated/part.js:1409 templates/js/translated/stock.js:1895 +#: templates/js/translated/part.js:1590 templates/js/translated/stock.js:1977 msgid "Path" msgstr "" -#: templates/js/translated/part.js:1453 +#: templates/js/translated/part.js:1634 msgid "No test templates matching query" msgstr "" -#: templates/js/translated/part.js:1504 templates/js/translated/stock.js:816 +#: templates/js/translated/part.js:1685 templates/js/translated/stock.js:898 msgid "Edit test result" msgstr "" -#: templates/js/translated/part.js:1505 templates/js/translated/stock.js:817 +#: templates/js/translated/part.js:1686 templates/js/translated/stock.js:899 msgid "Delete test result" msgstr "" -#: templates/js/translated/part.js:1511 +#: templates/js/translated/part.js:1692 msgid "This test is defined for a parent part" msgstr "" -#: templates/js/translated/part.js:1533 +#: templates/js/translated/part.js:1714 msgid "Edit Test Result Template" msgstr "" -#: templates/js/translated/part.js:1547 +#: templates/js/translated/part.js:1728 msgid "Delete Test Result Template" msgstr "" -#: templates/js/translated/part.js:1572 +#: templates/js/translated/part.js:1753 #, python-brace-format msgid "No ${human_name} information found" msgstr "" -#: templates/js/translated/part.js:1627 +#: templates/js/translated/part.js:1808 #, python-brace-format msgid "Edit ${human_name}" msgstr "" -#: templates/js/translated/part.js:1628 +#: templates/js/translated/part.js:1809 #, python-brace-format msgid "Delete ${human_name}" msgstr "" -#: templates/js/translated/part.js:1729 +#: templates/js/translated/part.js:1910 msgid "Single Price" msgstr "" -#: templates/js/translated/part.js:1748 +#: templates/js/translated/part.js:1929 msgid "Single Price Difference" msgstr "" @@ -7930,276 +7964,300 @@ msgstr "" msgid "Sales Order(s) must be selected before printing report" msgstr "" -#: templates/js/translated/stock.js:70 +#: templates/js/translated/stock.js:71 msgid "Serialize Stock Item" msgstr "" -#: templates/js/translated/stock.js:88 templates/js/translated/stock.js:167 +#: templates/js/translated/stock.js:89 templates/js/translated/stock.js:168 msgid "Next available serial number" msgstr "" -#: templates/js/translated/stock.js:90 templates/js/translated/stock.js:169 +#: templates/js/translated/stock.js:91 templates/js/translated/stock.js:170 msgid "Latest serial number" msgstr "" -#: templates/js/translated/stock.js:104 +#: templates/js/translated/stock.js:105 msgid "Parent stock location" msgstr "" -#: templates/js/translated/stock.js:140 +#: templates/js/translated/stock.js:141 msgid "New Stock Location" msgstr "" -#: templates/js/translated/stock.js:180 +#: templates/js/translated/stock.js:181 msgid "This part cannot be serialized" msgstr "" -#: templates/js/translated/stock.js:219 +#: templates/js/translated/stock.js:220 msgid "Enter initial quantity for this stock item" msgstr "" -#: templates/js/translated/stock.js:225 +#: templates/js/translated/stock.js:226 msgid "Enter serial numbers for new stock (or leave blank)" msgstr "" -#: templates/js/translated/stock.js:368 +#: templates/js/translated/stock.js:369 msgid "Created new stock item" msgstr "" -#: templates/js/translated/stock.js:381 +#: templates/js/translated/stock.js:382 msgid "Created multiple stock items" msgstr "" -#: templates/js/translated/stock.js:420 +#: templates/js/translated/stock.js:407 +msgid "Find Serial Number" +msgstr "" + +#: templates/js/translated/stock.js:411 templates/js/translated/stock.js:412 +msgid "Enter serial number" +msgstr "" + +#: templates/js/translated/stock.js:428 +msgid "Enter a serial number" +msgstr "" + +#: templates/js/translated/stock.js:448 +msgid "No matching serial number" +msgstr "" + +#: templates/js/translated/stock.js:457 +msgid "More than one matching result found" +msgstr "" + +#: templates/js/translated/stock.js:502 msgid "Export Stock" msgstr "" -#: templates/js/translated/stock.js:431 +#: templates/js/translated/stock.js:513 msgid "Include Sublocations" msgstr "" -#: templates/js/translated/stock.js:432 +#: templates/js/translated/stock.js:514 msgid "Include stock items in sublocations" msgstr "" -#: templates/js/translated/stock.js:474 +#: templates/js/translated/stock.js:556 msgid "Transfer Stock" msgstr "" -#: templates/js/translated/stock.js:475 +#: templates/js/translated/stock.js:557 msgid "Move" msgstr "" -#: templates/js/translated/stock.js:481 +#: templates/js/translated/stock.js:563 msgid "Count Stock" msgstr "" -#: templates/js/translated/stock.js:482 +#: templates/js/translated/stock.js:564 msgid "Count" msgstr "" -#: templates/js/translated/stock.js:486 +#: templates/js/translated/stock.js:568 msgid "Remove Stock" msgstr "" -#: templates/js/translated/stock.js:487 +#: templates/js/translated/stock.js:569 msgid "Take" msgstr "" -#: templates/js/translated/stock.js:491 +#: templates/js/translated/stock.js:573 msgid "Add Stock" msgstr "" -#: templates/js/translated/stock.js:492 users/models.py:200 +#: templates/js/translated/stock.js:574 users/models.py:200 msgid "Add" msgstr "添加" -#: templates/js/translated/stock.js:496 templates/stock_table.html:56 +#: templates/js/translated/stock.js:578 templates/stock_table.html:56 msgid "Delete Stock" msgstr "" -#: templates/js/translated/stock.js:585 +#: templates/js/translated/stock.js:667 msgid "Quantity cannot be adjusted for serialized stock" msgstr "" -#: templates/js/translated/stock.js:585 +#: templates/js/translated/stock.js:667 msgid "Specify stock quantity" msgstr "" -#: templates/js/translated/stock.js:625 +#: templates/js/translated/stock.js:707 msgid "You must select at least one available stock item" msgstr "" -#: templates/js/translated/stock.js:783 +#: templates/js/translated/stock.js:865 msgid "PASS" msgstr "" -#: templates/js/translated/stock.js:785 +#: templates/js/translated/stock.js:867 msgid "FAIL" msgstr "" -#: templates/js/translated/stock.js:790 +#: templates/js/translated/stock.js:872 msgid "NO RESULT" msgstr "" -#: templates/js/translated/stock.js:812 +#: templates/js/translated/stock.js:894 msgid "Add test result" msgstr "" -#: templates/js/translated/stock.js:838 +#: templates/js/translated/stock.js:920 msgid "No test results found" msgstr "" -#: templates/js/translated/stock.js:895 +#: templates/js/translated/stock.js:977 msgid "Test Date" msgstr "" -#: templates/js/translated/stock.js:1002 +#: templates/js/translated/stock.js:1084 msgid "In production" msgstr "正在生产" -#: templates/js/translated/stock.js:1006 +#: templates/js/translated/stock.js:1088 msgid "Installed in Stock Item" msgstr "" -#: templates/js/translated/stock.js:1010 +#: templates/js/translated/stock.js:1092 msgid "Shipped to customer" msgstr "" -#: templates/js/translated/stock.js:1014 +#: templates/js/translated/stock.js:1096 msgid "Assigned to Sales Order" msgstr "" -#: templates/js/translated/stock.js:1020 +#: templates/js/translated/stock.js:1102 msgid "No stock location set" msgstr "未设置仓储地点" -#: templates/js/translated/stock.js:1178 +#: templates/js/translated/stock.js:1260 msgid "Stock item is in production" msgstr "库存品正在生产" -#: templates/js/translated/stock.js:1183 +#: templates/js/translated/stock.js:1265 msgid "Stock item assigned to sales order" msgstr "" -#: templates/js/translated/stock.js:1186 +#: templates/js/translated/stock.js:1268 msgid "Stock item assigned to customer" msgstr "" -#: templates/js/translated/stock.js:1190 +#: templates/js/translated/stock.js:1272 msgid "Stock item has expired" msgstr "" -#: templates/js/translated/stock.js:1192 +#: templates/js/translated/stock.js:1274 msgid "Stock item will expire soon" msgstr "" -#: templates/js/translated/stock.js:1196 +#: templates/js/translated/stock.js:1278 msgid "Stock item has been allocated" msgstr "" -#: templates/js/translated/stock.js:1200 +#: templates/js/translated/stock.js:1282 msgid "Stock item has been installed in another item" msgstr "" -#: templates/js/translated/stock.js:1207 +#: templates/js/translated/stock.js:1289 msgid "Stock item has been rejected" msgstr "" -#: templates/js/translated/stock.js:1209 +#: templates/js/translated/stock.js:1291 msgid "Stock item is lost" msgstr "" -#: templates/js/translated/stock.js:1211 +#: templates/js/translated/stock.js:1293 msgid "Stock item is destroyed" msgstr "" -#: templates/js/translated/stock.js:1215 +#: templates/js/translated/stock.js:1297 #: templates/js/translated/table_filters.js:183 msgid "Depleted" msgstr "" -#: templates/js/translated/stock.js:1265 +#: templates/js/translated/stock.js:1347 msgid "Stocktake" msgstr "" -#: templates/js/translated/stock.js:1338 +#: templates/js/translated/stock.js:1420 msgid "Supplier part not specified" msgstr "" -#: templates/js/translated/stock.js:1376 +#: templates/js/translated/stock.js:1458 msgid "No stock items matching query" msgstr "" -#: templates/js/translated/stock.js:1397 templates/js/translated/stock.js:1445 +#: templates/js/translated/stock.js:1479 templates/js/translated/stock.js:1527 msgid "items" msgstr "" -#: templates/js/translated/stock.js:1485 +#: templates/js/translated/stock.js:1567 msgid "batches" msgstr "" -#: templates/js/translated/stock.js:1512 +#: templates/js/translated/stock.js:1594 msgid "locations" msgstr "" -#: templates/js/translated/stock.js:1514 +#: templates/js/translated/stock.js:1596 msgid "Undefined location" msgstr "" -#: templates/js/translated/stock.js:1688 +#: templates/js/translated/stock.js:1770 msgid "Set Stock Status" msgstr "" -#: templates/js/translated/stock.js:1702 +#: templates/js/translated/stock.js:1784 msgid "Select Status Code" msgstr "" -#: templates/js/translated/stock.js:1703 +#: templates/js/translated/stock.js:1785 msgid "Status code must be selected" msgstr "" -#: templates/js/translated/stock.js:1927 +#: templates/js/translated/stock.js:2009 msgid "Invalid date" msgstr "" -#: templates/js/translated/stock.js:1974 +#: templates/js/translated/stock.js:2031 +msgid "Details" +msgstr "详情" + +#: templates/js/translated/stock.js:2056 msgid "Location no longer exists" msgstr "" -#: templates/js/translated/stock.js:1993 +#: templates/js/translated/stock.js:2075 msgid "Purchase order no longer exists" msgstr "" -#: templates/js/translated/stock.js:2012 +#: templates/js/translated/stock.js:2094 msgid "Customer no longer exists" msgstr "" -#: templates/js/translated/stock.js:2030 +#: templates/js/translated/stock.js:2112 msgid "Stock item no longer exists" msgstr "" -#: templates/js/translated/stock.js:2053 +#: templates/js/translated/stock.js:2135 msgid "Added" msgstr "" -#: templates/js/translated/stock.js:2061 +#: templates/js/translated/stock.js:2143 msgid "Removed" msgstr "" -#: templates/js/translated/stock.js:2102 +#: templates/js/translated/stock.js:2184 msgid "Edit tracking entry" msgstr "" -#: templates/js/translated/stock.js:2103 +#: templates/js/translated/stock.js:2185 msgid "Delete tracking entry" msgstr "" -#: templates/js/translated/stock.js:2154 +#: templates/js/translated/stock.js:2236 msgid "No installed items" msgstr "" -#: templates/js/translated/stock.js:2205 +#: templates/js/translated/stock.js:2287 msgid "Uninstall Stock Item" msgstr "" diff --git a/InvenTree/order/admin.py b/InvenTree/order/admin.py index 502c63c084..e98b31939a 100644 --- a/InvenTree/order/admin.py +++ b/InvenTree/order/admin.py @@ -10,7 +10,7 @@ from import_export.fields import Field from .models import PurchaseOrder, PurchaseOrderLineItem from .models import SalesOrder, SalesOrderLineItem -from .models import SalesOrderAllocation +from .models import SalesOrderShipment, SalesOrderAllocation class PurchaseOrderLineItemInlineAdmin(admin.StackedInline): @@ -42,6 +42,8 @@ class PurchaseOrderAdmin(ImportExportModelAdmin): PurchaseOrderLineItemInlineAdmin ] + autocomplete_fields = ('supplier',) + class SalesOrderAdmin(ImportExportModelAdmin): @@ -63,6 +65,8 @@ class SalesOrderAdmin(ImportExportModelAdmin): 'description', ] + autocomplete_fields = ('customer',) + class POLineItemResource(ModelResource): """ Class for managing import / export of POLineItem data """ @@ -124,6 +128,10 @@ class PurchaseOrderLineItemAdmin(ImportExportModelAdmin): 'reference' ) + search_fields = ('reference',) + + autocomplete_fields = ('order', 'part', 'destination',) + class SalesOrderLineItemAdmin(ImportExportModelAdmin): @@ -136,6 +144,32 @@ class SalesOrderLineItemAdmin(ImportExportModelAdmin): 'reference' ) + search_fields = [ + 'part__name', + 'order__reference', + 'order__customer__name', + 'reference', + ] + + autocomplete_fields = ('order', 'part',) + + +class SalesOrderShipmentAdmin(ImportExportModelAdmin): + + list_display = [ + 'order', + 'shipment_date', + 'reference', + ] + + search_fields = [ + 'reference', + 'order__reference', + 'order__customer__name', + ] + + autocomplete_fields = ('order',) + class SalesOrderAllocationAdmin(ImportExportModelAdmin): @@ -145,6 +179,8 @@ class SalesOrderAllocationAdmin(ImportExportModelAdmin): 'quantity' ) + autocomplete_fields = ('line', 'shipment', 'item',) + admin.site.register(PurchaseOrder, PurchaseOrderAdmin) admin.site.register(PurchaseOrderLineItem, PurchaseOrderLineItemAdmin) @@ -152,4 +188,5 @@ admin.site.register(PurchaseOrderLineItem, PurchaseOrderLineItemAdmin) admin.site.register(SalesOrder, SalesOrderAdmin) admin.site.register(SalesOrderLineItem, SalesOrderLineItemAdmin) +admin.site.register(SalesOrderShipment, SalesOrderShipmentAdmin) admin.site.register(SalesOrderAllocation, SalesOrderAllocationAdmin) diff --git a/InvenTree/order/api.py b/InvenTree/order/api.py index dc5f5b87f4..98b9bbe934 100644 --- a/InvenTree/order/api.py +++ b/InvenTree/order/api.py @@ -13,24 +13,48 @@ from rest_framework import generics from rest_framework import filters, status from rest_framework.response import Response +from company.models import SupplierPart from InvenTree.filters import InvenTreeOrderingFilter from InvenTree.helpers import str2bool from InvenTree.api import AttachmentMixin from InvenTree.status_codes import PurchaseOrderStatus, SalesOrderStatus +import order.models as models +import order.serializers as serializers from part.models import Part -from company.models import SupplierPart +from users.models import Owner -from .models import PurchaseOrder, PurchaseOrderLineItem -from .models import PurchaseOrderAttachment -from .serializers import POSerializer, POLineItemSerializer, POAttachmentSerializer -from .models import SalesOrder, SalesOrderLineItem, SalesOrderAllocation -from .models import SalesOrderAttachment -from .serializers import SalesOrderSerializer, SOLineItemSerializer, SOAttachmentSerializer -from .serializers import SalesOrderAllocationSerializer -from .serializers import POReceiveSerializer +class POFilter(rest_filters.FilterSet): + """ + Custom API filters for the POList endpoint + """ + + assigned_to_me = rest_filters.BooleanFilter(label='assigned_to_me', method='filter_assigned_to_me') + + def filter_assigned_to_me(self, queryset, name, value): + """ + Filter by orders which are assigned to the current user + """ + + value = str2bool(value) + + # Work out who "me" is! + owners = Owner.get_owners_matching_user(self.request.user) + + if value: + queryset = queryset.filter(responsible__in=owners) + else: + queryset = queryset.exclude(responsible__in=owners) + + return queryset + + class Meta: + model = models.PurchaseOrder + fields = [ + 'supplier', + ] class POList(generics.ListCreateAPIView): @@ -40,8 +64,9 @@ class POList(generics.ListCreateAPIView): - POST: Create a new PurchaseOrder object """ - queryset = PurchaseOrder.objects.all() - serializer_class = POSerializer + queryset = models.PurchaseOrder.objects.all() + serializer_class = serializers.POSerializer + filterset_class = POFilter def create(self, request, *args, **kwargs): """ @@ -78,7 +103,7 @@ class POList(generics.ListCreateAPIView): 'lines', ) - queryset = POSerializer.annotate_queryset(queryset) + queryset = serializers.POSerializer.annotate_queryset(queryset) return queryset @@ -107,9 +132,9 @@ class POList(generics.ListCreateAPIView): overdue = str2bool(overdue) if overdue: - queryset = queryset.filter(PurchaseOrder.OVERDUE_FILTER) + queryset = queryset.filter(models.PurchaseOrder.OVERDUE_FILTER) else: - queryset = queryset.exclude(PurchaseOrder.OVERDUE_FILTER) + queryset = queryset.exclude(models.PurchaseOrder.OVERDUE_FILTER) # Special filtering for 'status' field status = params.get('status', None) @@ -143,7 +168,7 @@ class POList(generics.ListCreateAPIView): max_date = params.get('max_date', None) if min_date is not None and max_date is not None: - queryset = PurchaseOrder.filterByDate(queryset, min_date, max_date) + queryset = models.PurchaseOrder.filterByDate(queryset, min_date, max_date) return queryset @@ -157,10 +182,6 @@ class POList(generics.ListCreateAPIView): 'reference': ['reference_int', 'reference'], } - filter_fields = [ - 'supplier', - ] - search_fields = [ 'reference', 'supplier__name', @@ -183,8 +204,8 @@ class POList(generics.ListCreateAPIView): class PODetail(generics.RetrieveUpdateDestroyAPIView): """ API endpoint for detail view of a PurchaseOrder object """ - queryset = PurchaseOrder.objects.all() - serializer_class = POSerializer + queryset = models.PurchaseOrder.objects.all() + serializer_class = serializers.POSerializer def get_serializer(self, *args, **kwargs): @@ -207,7 +228,7 @@ class PODetail(generics.RetrieveUpdateDestroyAPIView): 'lines', ) - queryset = POSerializer.annotate_queryset(queryset) + queryset = serializers.POSerializer.annotate_queryset(queryset) return queryset @@ -225,9 +246,9 @@ class POReceive(generics.CreateAPIView): - A global location can also be specified """ - queryset = PurchaseOrderLineItem.objects.none() + queryset = models.PurchaseOrderLineItem.objects.none() - serializer_class = POReceiveSerializer + serializer_class = serializers.POReceiveSerializer def get_serializer_context(self): @@ -235,7 +256,7 @@ class POReceive(generics.CreateAPIView): # Pass the purchase order through to the serializer for validation try: - context['order'] = PurchaseOrder.objects.get(pk=self.kwargs.get('pk', None)) + context['order'] = models.PurchaseOrder.objects.get(pk=self.kwargs.get('pk', None)) except: pass @@ -250,7 +271,7 @@ class POLineItemFilter(rest_filters.FilterSet): """ class Meta: - model = PurchaseOrderLineItem + model = models.PurchaseOrderLineItem fields = [ 'order', 'part' @@ -284,15 +305,15 @@ class POLineItemList(generics.ListCreateAPIView): - POST: Create a new PurchaseOrderLineItem object """ - queryset = PurchaseOrderLineItem.objects.all() - serializer_class = POLineItemSerializer + queryset = models.PurchaseOrderLineItem.objects.all() + serializer_class = serializers.POLineItemSerializer filterset_class = POLineItemFilter def get_queryset(self, *args, **kwargs): queryset = super().get_queryset(*args, **kwargs) - queryset = POLineItemSerializer.annotate_queryset(queryset) + queryset = serializers.POLineItemSerializer.annotate_queryset(queryset) return queryset @@ -300,6 +321,7 @@ class POLineItemList(generics.ListCreateAPIView): try: kwargs['part_detail'] = str2bool(self.request.query_params.get('part_detail', False)) + kwargs['order_detail'] = str2bool(self.request.query_params.get('order_detail', False)) except AttributeError: pass @@ -307,6 +329,28 @@ class POLineItemList(generics.ListCreateAPIView): return self.serializer_class(*args, **kwargs) + def filter_queryset(self, queryset): + """ + Additional filtering options + """ + + params = self.request.query_params + + queryset = super().filter_queryset(queryset) + + base_part = params.get('base_part', None) + + if base_part: + try: + base_part = Part.objects.get(pk=base_part) + + queryset = queryset.filter(part__part=base_part) + + except (ValueError, Part.DoesNotExist): + pass + + return queryset + filter_backends = [ rest_filters.DjangoFilterBackend, filters.SearchFilter, @@ -349,14 +393,14 @@ class POLineItemDetail(generics.RetrieveUpdateDestroyAPIView): Detail API endpoint for PurchaseOrderLineItem object """ - queryset = PurchaseOrderLineItem.objects.all() - serializer_class = POLineItemSerializer + queryset = models.PurchaseOrderLineItem.objects.all() + serializer_class = serializers.POLineItemSerializer def get_queryset(self): queryset = super().get_queryset() - queryset = POLineItemSerializer.annotate_queryset(queryset) + queryset = serializers.POLineItemSerializer.annotate_queryset(queryset) return queryset @@ -366,8 +410,8 @@ class SOAttachmentList(generics.ListCreateAPIView, AttachmentMixin): API endpoint for listing (and creating) a SalesOrderAttachment (file upload) """ - queryset = SalesOrderAttachment.objects.all() - serializer_class = SOAttachmentSerializer + queryset = models.SalesOrderAttachment.objects.all() + serializer_class = serializers.SOAttachmentSerializer filter_backends = [ rest_filters.DjangoFilterBackend, @@ -383,8 +427,8 @@ class SOAttachmentDetail(generics.RetrieveUpdateDestroyAPIView, AttachmentMixin) Detail endpoint for SalesOrderAttachment """ - queryset = SalesOrderAttachment.objects.all() - serializer_class = SOAttachmentSerializer + queryset = models.SalesOrderAttachment.objects.all() + serializer_class = serializers.SOAttachmentSerializer class SOList(generics.ListCreateAPIView): @@ -395,8 +439,8 @@ class SOList(generics.ListCreateAPIView): - POST: Create a new SalesOrder """ - queryset = SalesOrder.objects.all() - serializer_class = SalesOrderSerializer + queryset = models.SalesOrder.objects.all() + serializer_class = serializers.SalesOrderSerializer def create(self, request, *args, **kwargs): """ @@ -433,7 +477,7 @@ class SOList(generics.ListCreateAPIView): 'lines' ) - queryset = SalesOrderSerializer.annotate_queryset(queryset) + queryset = serializers.SalesOrderSerializer.annotate_queryset(queryset) return queryset @@ -453,9 +497,9 @@ class SOList(generics.ListCreateAPIView): outstanding = str2bool(outstanding) if outstanding: - queryset = queryset.filter(status__in=SalesOrderStatus.OPEN) + queryset = queryset.filter(status__in=models.SalesOrderStatus.OPEN) else: - queryset = queryset.exclude(status__in=SalesOrderStatus.OPEN) + queryset = queryset.exclude(status__in=models.SalesOrderStatus.OPEN) # Filter by 'overdue' status overdue = params.get('overdue', None) @@ -464,9 +508,9 @@ class SOList(generics.ListCreateAPIView): overdue = str2bool(overdue) if overdue: - queryset = queryset.filter(SalesOrder.OVERDUE_FILTER) + queryset = queryset.filter(models.SalesOrder.OVERDUE_FILTER) else: - queryset = queryset.exclude(SalesOrder.OVERDUE_FILTER) + queryset = queryset.exclude(models.SalesOrder.OVERDUE_FILTER) status = params.get('status', None) @@ -489,7 +533,7 @@ class SOList(generics.ListCreateAPIView): max_date = params.get('max_date', None) if min_date is not None and max_date is not None: - queryset = SalesOrder.filterByDate(queryset, min_date, max_date) + queryset = models.SalesOrder.filterByDate(queryset, min_date, max_date) return queryset @@ -533,8 +577,8 @@ class SODetail(generics.RetrieveUpdateDestroyAPIView): API endpoint for detail view of a SalesOrder object. """ - queryset = SalesOrder.objects.all() - serializer_class = SalesOrderSerializer + queryset = models.SalesOrder.objects.all() + serializer_class = serializers.SalesOrderSerializer def get_serializer(self, *args, **kwargs): @@ -553,7 +597,40 @@ class SODetail(generics.RetrieveUpdateDestroyAPIView): queryset = queryset.prefetch_related('customer', 'lines') - queryset = SalesOrderSerializer.annotate_queryset(queryset) + queryset = serializers.SalesOrderSerializer.annotate_queryset(queryset) + + return queryset + + +class SOLineItemFilter(rest_filters.FilterSet): + """ + Custom filters for SOLineItemList endpoint + """ + + class Meta: + model = models.SalesOrderLineItem + fields = [ + 'order', + 'part', + ] + + completed = rest_filters.BooleanFilter(label='completed', method='filter_completed') + + def filter_completed(self, queryset, name, value): + """ + Filter by lines which are "completed" + + A line is completed when shipped >= quantity + """ + + value = str2bool(value) + + q = Q(shipped__gte=F('quantity')) + + if value: + queryset = queryset.filter(q) + else: + queryset = queryset.exclude(q) return queryset @@ -563,8 +640,9 @@ class SOLineItemList(generics.ListCreateAPIView): API endpoint for accessing a list of SalesOrderLineItem objects. """ - queryset = SalesOrderLineItem.objects.all() - serializer_class = SOLineItemSerializer + queryset = models.SalesOrderLineItem.objects.all() + serializer_class = serializers.SOLineItemSerializer + filterset_class = SOLineItemFilter def get_serializer(self, *args, **kwargs): @@ -623,8 +701,80 @@ class SOLineItemList(generics.ListCreateAPIView): class SOLineItemDetail(generics.RetrieveUpdateDestroyAPIView): """ API endpoint for detail view of a SalesOrderLineItem object """ - queryset = SalesOrderLineItem.objects.all() - serializer_class = SOLineItemSerializer + queryset = models.SalesOrderLineItem.objects.all() + serializer_class = serializers.SOLineItemSerializer + + +class SalesOrderComplete(generics.CreateAPIView): + """ + API endpoint for manually marking a SalesOrder as "complete". + """ + + queryset = models.SalesOrder.objects.all() + serializer_class = serializers.SalesOrderCompleteSerializer + + def get_serializer_context(self): + + ctx = super().get_serializer_context() + + ctx['request'] = self.request + + try: + ctx['order'] = models.SalesOrder.objects.get(pk=self.kwargs.get('pk', None)) + except: + pass + + return ctx + + +class SalesOrderAllocateSerials(generics.CreateAPIView): + """ + API endpoint to allocation stock items against a SalesOrder, + by specifying serial numbers. + """ + + queryset = models.SalesOrder.objects.none() + serializer_class = serializers.SOSerialAllocationSerializer + + def get_serializer_context(self): + + ctx = super().get_serializer_context() + + # Pass through the SalesOrder object to the serializer + try: + ctx['order'] = models.SalesOrder.objects.get(pk=self.kwargs.get('pk', None)) + except: + pass + + ctx['request'] = self.request + + return ctx + + +class SalesOrderAllocate(generics.CreateAPIView): + """ + API endpoint to allocate stock items against a SalesOrder + + - The SalesOrder is specified in the URL + - See the SOShipmentAllocationSerializer class + """ + + queryset = models.SalesOrder.objects.none() + serializer_class = serializers.SOShipmentAllocationSerializer + + def get_serializer_context(self): + + ctx = super().get_serializer_context() + + # Pass through the SalesOrder object to the serializer + try: + ctx['order'] = models.SalesOrder.objects.get(pk=self.kwargs.get('pk', None)) + except: + pass + + ctx['request'] = self.request + + return ctx class SOAllocationDetail(generics.RetrieveUpdateDestroyAPIView): @@ -632,17 +782,17 @@ class SOAllocationDetail(generics.RetrieveUpdateDestroyAPIView): API endpoint for detali view of a SalesOrderAllocation object """ - queryset = SalesOrderAllocation.objects.all() - serializer_class = SalesOrderAllocationSerializer + queryset = models.SalesOrderAllocation.objects.all() + serializer_class = serializers.SalesOrderAllocationSerializer -class SOAllocationList(generics.ListCreateAPIView): +class SOAllocationList(generics.ListAPIView): """ API endpoint for listing SalesOrderAllocation objects """ - queryset = SalesOrderAllocation.objects.all() - serializer_class = SalesOrderAllocationSerializer + queryset = models.SalesOrderAllocation.objects.all() + serializer_class = serializers.SalesOrderAllocationSerializer def get_serializer(self, *args, **kwargs): @@ -700,13 +850,87 @@ class SOAllocationList(generics.ListCreateAPIView): ] +class SOShipmentFilter(rest_filters.FilterSet): + """ + Custom filterset for the SOShipmentList endpoint + """ + + shipped = rest_filters.BooleanFilter(label='shipped', method='filter_shipped') + + def filter_shipped(self, queryset, name, value): + + value = str2bool(value) + + if value: + queryset = queryset.exclude(shipment_date=None) + else: + queryset = queryset.filter(shipment_date=None) + + return queryset + + class Meta: + model = models.SalesOrderShipment + fields = [ + 'order', + ] + + +class SOShipmentList(generics.ListCreateAPIView): + """ + API list endpoint for SalesOrderShipment model + """ + + queryset = models.SalesOrderShipment.objects.all() + serializer_class = serializers.SalesOrderShipmentSerializer + filterset_class = SOShipmentFilter + + filter_backends = [ + rest_filters.DjangoFilterBackend, + ] + + +class SOShipmentDetail(generics.RetrieveUpdateDestroyAPIView): + """ + API detail endpooint for SalesOrderShipment model + """ + + queryset = models.SalesOrderShipment.objects.all() + serializer_class = serializers.SalesOrderShipmentSerializer + + +class SOShipmentComplete(generics.CreateAPIView): + """ + API endpoint for completing (shipping) a SalesOrderShipment + """ + + queryset = models.SalesOrderShipment.objects.all() + serializer_class = serializers.SalesOrderShipmentCompleteSerializer + + 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: + pass + + return ctx + + class POAttachmentList(generics.ListCreateAPIView, AttachmentMixin): """ API endpoint for listing (and creating) a PurchaseOrderAttachment (file upload) """ - queryset = PurchaseOrderAttachment.objects.all() - serializer_class = POAttachmentSerializer + queryset = models.PurchaseOrderAttachment.objects.all() + serializer_class = serializers.POAttachmentSerializer filter_backends = [ rest_filters.DjangoFilterBackend, @@ -722,8 +946,8 @@ class POAttachmentDetail(generics.RetrieveUpdateDestroyAPIView, AttachmentMixin) Detail endpoint for a PurchaseOrderAttachment """ - queryset = PurchaseOrderAttachment.objects.all() - serializer_class = POAttachmentSerializer + queryset = models.PurchaseOrderAttachment.objects.all() + serializer_class = serializers.POAttachmentSerializer order_api_urls = [ @@ -760,7 +984,23 @@ order_api_urls = [ url(r'^.*$', SOAttachmentList.as_view(), name='api-so-attachment-list'), ])), - url(r'^(?P\d+)/$', SODetail.as_view(), name='api-so-detail'), + url(r'^shipment/', include([ + url(r'^(?P\d+)/', include([ + url(r'^ship/$', SOShipmentComplete.as_view(), name='api-so-shipment-ship'), + url(r'^.*$', SOShipmentDetail.as_view(), name='api-so-shipment-detail'), + ])), + url(r'^.*$', SOShipmentList.as_view(), name='api-so-shipment-list'), + ])), + + # Sales order detail view + url(r'^(?P\d+)/', include([ + url(r'^complete/', SalesOrderComplete.as_view(), name='api-so-complete'), + url(r'^allocate/', SalesOrderAllocate.as_view(), name='api-so-allocate'), + url(r'^allocate-serials/', SalesOrderAllocateSerials.as_view(), name='api-so-allocate-serials'), + url(r'^.*$', SODetail.as_view(), name='api-so-detail'), + ])), + + # Sales order list view url(r'^.*$', SOList.as_view(), name='api-so-list'), ])), diff --git a/InvenTree/order/forms.py b/InvenTree/order/forms.py index 6f0bc43c46..3eb5566a1e 100644 --- a/InvenTree/order/forms.py +++ b/InvenTree/order/forms.py @@ -15,10 +15,8 @@ from InvenTree.helpers import clean_decimal from common.forms import MatchItemForm -import part.models - from .models import PurchaseOrder -from .models import SalesOrder, SalesOrderLineItem +from .models import SalesOrder class IssuePurchaseOrderForm(HelperForm): @@ -65,57 +63,6 @@ class CancelSalesOrderForm(HelperForm): ] -class ShipSalesOrderForm(HelperForm): - - confirm = forms.BooleanField(required=True, label=_('Confirm'), help_text=_('Ship order')) - - class Meta: - model = SalesOrder - fields = [ - 'confirm', - ] - - -class AllocateSerialsToSalesOrderForm(forms.Form): - """ - Form for assigning stock to a sales order, - by serial number lookup - - TODO: Refactor this form / view to use the new API forms interface - """ - - line = forms.ModelChoiceField( - queryset=SalesOrderLineItem.objects.all(), - ) - - part = forms.ModelChoiceField( - queryset=part.models.Part.objects.all(), - ) - - serials = forms.CharField( - label=_("Serial Numbers"), - required=True, - help_text=_('Enter stock item serial numbers'), - ) - - quantity = forms.IntegerField( - label=_('Quantity'), - required=True, - help_text=_('Enter quantity of stock items'), - initial=1, - min_value=1 - ) - - class Meta: - - fields = [ - 'line', - 'part', - 'serials', - 'quantity', - ] - - class OrderMatchItemForm(MatchItemForm): """ Override MatchItemForm fields """ diff --git a/InvenTree/order/migrations/0053_salesordershipment.py b/InvenTree/order/migrations/0053_salesordershipment.py new file mode 100644 index 0000000000..f36895c5ee --- /dev/null +++ b/InvenTree/order/migrations/0053_salesordershipment.py @@ -0,0 +1,31 @@ +# Generated by Django 3.2.5 on 2021-10-25 02:08 + +from django.conf import settings +from django.db import migrations, models +import django.db.models.deletion + +import order.models + +import markdownx.models + + +class Migration(migrations.Migration): + + dependencies = [ + migrations.swappable_dependency(settings.AUTH_USER_MODEL), + ('order', '0053_auto_20211128_0151'), + ] + + operations = [ + migrations.CreateModel( + name='SalesOrderShipment', + fields=[ + ('id', models.AutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')), + ('shipment_date', models.DateField(blank=True, help_text='Date of shipment', null=True, verbose_name='Shipment Date')), + ('reference', models.CharField(default='1', help_text='Shipment reference', max_length=100, verbose_name='Reference')), + ('notes', markdownx.models.MarkdownxField(blank=True, help_text='Shipment notes', verbose_name='Notes')), + ('checked_by', models.ForeignKey(blank=True, help_text='User who checked this shipment', null=True, on_delete=django.db.models.deletion.SET_NULL, related_name='+', to=settings.AUTH_USER_MODEL, verbose_name='Checked By')), + ('order', models.ForeignKey(help_text='Sales Order', on_delete=django.db.models.deletion.CASCADE, related_name='shipments', to='order.salesorder', verbose_name='Order')), + ], + ), + ] diff --git a/InvenTree/order/migrations/0054_salesorderallocation_shipment.py b/InvenTree/order/migrations/0054_salesorderallocation_shipment.py new file mode 100644 index 0000000000..cfb74dd859 --- /dev/null +++ b/InvenTree/order/migrations/0054_salesorderallocation_shipment.py @@ -0,0 +1,19 @@ +# Generated by Django 3.2.5 on 2021-10-25 06:42 + +from django.db import migrations, models +import django.db.models.deletion + + +class Migration(migrations.Migration): + + dependencies = [ + ('order', '0053_salesordershipment'), + ] + + operations = [ + migrations.AddField( + model_name='salesorderallocation', + name='shipment', + field=models.ForeignKey(blank=True, help_text='Sales order shipment reference', null=True, on_delete=django.db.models.deletion.CASCADE, to='order.salesordershipment', verbose_name='Shipment'), + ), + ] diff --git a/InvenTree/order/migrations/0055_auto_20211025_0645.py b/InvenTree/order/migrations/0055_auto_20211025_0645.py new file mode 100644 index 0000000000..d45e92aead --- /dev/null +++ b/InvenTree/order/migrations/0055_auto_20211025_0645.py @@ -0,0 +1,92 @@ +# Generated by Django 3.2.5 on 2021-10-25 06:45 + +from django.db import migrations + + +from InvenTree.status_codes import SalesOrderStatus + + +def add_shipment(apps, schema_editor): + """ + Create a SalesOrderShipment for each existing SalesOrder instance. + + Any "allocations" are marked against that shipment. + + For each existing SalesOrder instance, we create a default SalesOrderShipment, + and associate each SalesOrderAllocation with this shipment + """ + + Allocation = apps.get_model('order', 'salesorderallocation') + SalesOrder = apps.get_model('order', 'salesorder') + Shipment = apps.get_model('order', 'salesordershipment') + + n = 0 + + for order in SalesOrder.objects.all(): + + """ + We only create an automatic shipment for "PENDING" orders, + as SalesOrderAllocations were historically deleted for "SHIPPED" or "CANCELLED" orders + """ + + allocations = Allocation.objects.filter( + line__order=order + ) + + if allocations.count() == 0 and order.status != SalesOrderStatus.PENDING: + continue + + # Create a new Shipment instance against this order + shipment = Shipment.objects.create( + order=order, + ) + + if order.status == SalesOrderStatus.SHIPPED: + shipment.shipment_date = order.shipment_date + + shipment.save() + + # Iterate through each allocation associated with this order + for allocation in allocations: + allocation.shipment = shipment + allocation.save() + + n += 1 + + if n > 0: + print(f"\nCreated SalesOrderShipment for {n} SalesOrder instances") + + +def reverse_add_shipment(apps, schema_editor): + """ + Reverse the migration, delete and SalesOrderShipment instances + """ + + Allocation = apps.get_model('order', 'salesorderallocation') + + # First, ensure that all SalesOrderAllocation objects point to a null shipment + for allocation in Allocation.objects.exclude(shipment=None): + allocation.shipment = None + allocation.save() + + SOS = apps.get_model('order', 'salesordershipment') + + n = SOS.objects.count() + + print(f"Deleting {n} SalesOrderShipment instances") + + SOS.objects.all().delete() + + +class Migration(migrations.Migration): + + dependencies = [ + ('order', '0054_salesorderallocation_shipment'), + ] + + operations = [ + migrations.RunPython( + add_shipment, + reverse_code=reverse_add_shipment, + ) + ] diff --git a/InvenTree/order/migrations/0056_alter_salesorderallocation_shipment.py b/InvenTree/order/migrations/0056_alter_salesorderallocation_shipment.py new file mode 100644 index 0000000000..340a8d4ab5 --- /dev/null +++ b/InvenTree/order/migrations/0056_alter_salesorderallocation_shipment.py @@ -0,0 +1,19 @@ +# Generated by Django 3.2.5 on 2021-10-25 11:40 + +from django.db import migrations, models +import django.db.models.deletion + + +class Migration(migrations.Migration): + + dependencies = [ + ('order', '0055_auto_20211025_0645'), + ] + + operations = [ + migrations.AlterField( + model_name='salesorderallocation', + name='shipment', + field=models.ForeignKey(help_text='Sales order shipment reference', on_delete=django.db.models.deletion.CASCADE, related_name='allocations', to='order.salesordershipment', verbose_name='Shipment'), + ), + ] diff --git a/InvenTree/order/migrations/0057_salesorderlineitem_shipped.py b/InvenTree/order/migrations/0057_salesorderlineitem_shipped.py new file mode 100644 index 0000000000..e11eb62cbb --- /dev/null +++ b/InvenTree/order/migrations/0057_salesorderlineitem_shipped.py @@ -0,0 +1,20 @@ +# Generated by Django 3.2.5 on 2021-11-26 12:06 + +import InvenTree.fields +import django.core.validators +from django.db import migrations + + +class Migration(migrations.Migration): + + dependencies = [ + ('order', '0056_alter_salesorderallocation_shipment'), + ] + + operations = [ + migrations.AddField( + model_name='salesorderlineitem', + name='shipped', + field=InvenTree.fields.RoundingDecimalField(decimal_places=5, default=0, help_text='Shipped quantity', max_digits=15, validators=[django.core.validators.MinValueValidator(0)], verbose_name='Shipped'), + ), + ] diff --git a/InvenTree/order/migrations/0058_auto_20211126_1210.py b/InvenTree/order/migrations/0058_auto_20211126_1210.py new file mode 100644 index 0000000000..2736416e66 --- /dev/null +++ b/InvenTree/order/migrations/0058_auto_20211126_1210.py @@ -0,0 +1,62 @@ +# Generated by Django 3.2.5 on 2021-11-26 12:10 + +from django.db import migrations + +from InvenTree.status_codes import SalesOrderStatus + + +def calculate_shipped_quantity(apps, schema_editor): + """ + In migration 0057 we added a new field 'shipped' to the SalesOrderLineItem model. + + This field is used to record the number of items shipped, + even if the actual stock items get deleted from the database. + + For existing orders in the database, we calculate this as follows: + + - If the order is "shipped" then we use the total quantity + - Otherwise, we use the "fulfilled" calculated quantity + + """ + + StockItem = apps.get_model('stock', 'stockitem') + SalesOrderLineItem = apps.get_model('order', 'salesorderlineitem') + + for item in SalesOrderLineItem.objects.all(): + + if item.order.status == SalesOrderStatus.SHIPPED: + item.shipped = item.quantity + else: + # Calculate total stock quantity of items allocated to this order? + items = StockItem.objects.filter( + sales_order=item.order, + part=item.part + ) + + q = sum([item.quantity for item in items]) + + item.shipped = q + + item.save() + + +def reverse_calculate_shipped_quantity(apps, schema_editor): + """ + Provided only for reverse migration compatibility. + This function does nothing. + """ + pass + + +class Migration(migrations.Migration): + + dependencies = [ + ('order', '0057_salesorderlineitem_shipped'), + ] + + operations = [ + migrations.RunPython( + calculate_shipped_quantity, + reverse_code=reverse_calculate_shipped_quantity + ) + ] diff --git a/InvenTree/order/migrations/0059_salesordershipment_tracking_number.py b/InvenTree/order/migrations/0059_salesordershipment_tracking_number.py new file mode 100644 index 0000000000..473761fb4a --- /dev/null +++ b/InvenTree/order/migrations/0059_salesordershipment_tracking_number.py @@ -0,0 +1,18 @@ +# Generated by Django 3.2.5 on 2021-11-29 11:58 + +from django.db import migrations, models + + +class Migration(migrations.Migration): + + dependencies = [ + ('order', '0058_auto_20211126_1210'), + ] + + operations = [ + migrations.AddField( + model_name='salesordershipment', + name='tracking_number', + field=models.CharField(blank=True, help_text='Shipment tracking information', max_length=100, verbose_name='Tracking Number'), + ), + ] diff --git a/InvenTree/order/migrations/0060_auto_20211129_1339.py b/InvenTree/order/migrations/0060_auto_20211129_1339.py new file mode 100644 index 0000000000..2166ec45ad --- /dev/null +++ b/InvenTree/order/migrations/0060_auto_20211129_1339.py @@ -0,0 +1,22 @@ +# Generated by Django 3.2.5 on 2021-11-29 13:39 + +from django.db import migrations, models + + +class Migration(migrations.Migration): + + dependencies = [ + ('order', '0059_salesordershipment_tracking_number'), + ] + + operations = [ + migrations.AlterField( + model_name='salesordershipment', + name='reference', + field=models.CharField(default='1', help_text='Shipment number', max_length=100, verbose_name='Shipment'), + ), + migrations.AlterUniqueTogether( + name='salesordershipment', + unique_together={('order', 'reference')}, + ), + ] diff --git a/InvenTree/order/migrations/0061_merge_0054_auto_20211201_2139_0060_auto_20211129_1339.py b/InvenTree/order/migrations/0061_merge_0054_auto_20211201_2139_0060_auto_20211129_1339.py new file mode 100644 index 0000000000..e844b0fc23 --- /dev/null +++ b/InvenTree/order/migrations/0061_merge_0054_auto_20211201_2139_0060_auto_20211129_1339.py @@ -0,0 +1,14 @@ +# Generated by Django 3.2.5 on 2021-12-02 13:31 + +from django.db import migrations + + +class Migration(migrations.Migration): + + dependencies = [ + ('order', '0054_auto_20211201_2139'), + ('order', '0060_auto_20211129_1339'), + ] + + operations = [ + ] diff --git a/InvenTree/order/models.py b/InvenTree/order/models.py index b8fdd3870c..3a7d39d7b5 100644 --- a/InvenTree/order/models.py +++ b/InvenTree/order/models.py @@ -107,45 +107,6 @@ class Order(ReferenceIndexingMixin): responsible: User (or group) responsible for managing the order """ - @classmethod - def getNextOrderNumber(cls): - """ - Try to predict the next order-number - """ - - if cls.objects.count() == 0: - return None - - # We will assume that the latest pk has the highest PO number - order = cls.objects.last() - ref = order.reference - - if not ref: - return None - - tries = set() - - tries.add(ref) - - while 1: - new_ref = increment(ref) - - print("Reference:", new_ref) - - if new_ref in tries: - # We are in a looping situation - simply return the original one - return ref - - # Check that the new ref does not exist in the database - if cls.objects.filter(reference=new_ref).exists(): - tries.add(new_ref) - new_ref = increment(new_ref) - - else: - break - - return new_ref - def save(self, *args, **kwargs): self.rebuild_reference_field() @@ -402,11 +363,30 @@ class PurchaseOrder(Order): return self.lines.filter(quantity__gt=F('received')) + def completed_line_items(self): + """ + Return a list of completed line items against this order + """ + return self.lines.filter(quantity__lte=F('received')) + + @property + def line_count(self): + return self.lines.count() + + @property + def completed_line_count(self): + + return self.completed_line_items().count() + + @property + def pending_line_count(self): + return self.pending_line_items().count() + @property def is_complete(self): """ Return True if all line items have been received """ - return self.pending_line_items().count() == 0 + return self.lines.count() > 0 and self.pending_line_items().count() == 0 @transaction.atomic def receive_line_item(self, line, location, quantity, user, status=StockStatus.OK, purchase_price=None, **kwargs): @@ -606,6 +586,16 @@ class SalesOrder(Order): def is_pending(self): return self.status == SalesOrderStatus.PENDING + @property + def stock_allocations(self): + """ + Return a queryset containing all allocations for this order + """ + + return SalesOrderAllocation.objects.filter( + line__in=[line.pk for line in self.lines.all()] + ) + def is_fully_allocated(self): """ Return True if all line items are fully allocated """ @@ -624,29 +614,55 @@ class SalesOrder(Order): return False - @transaction.atomic - def ship_order(self, user): - """ Mark this order as 'shipped' """ + def is_completed(self): + """ + Check if this order is "shipped" (all line items delivered), + """ - # The order can only be 'shipped' if the current status is PENDING - if not self.status == SalesOrderStatus.PENDING: - raise ValidationError({'status': _("SalesOrder cannot be shipped as it is not currently pending")}) + return self.lines.count() > 0 and all([line.is_completed() for line in self.lines.all()]) - # Complete the allocation for each allocated StockItem - for line in self.lines.all(): - for allocation in line.allocations.all(): - allocation.complete_allocation(user) + def can_complete(self, raise_error=False): + """ + Test if this SalesOrder can be completed. - # Remove the allocation from the database once it has been 'fulfilled' - if allocation.item.sales_order == self: - allocation.delete() - else: - raise ValidationError("Could not complete order - allocation item not fulfilled") + Throws a ValidationError if cannot be completed. + """ + + # Order without line items cannot be completed + if self.lines.count() == 0: + if raise_error: + raise ValidationError(_('Order cannot be completed as no parts have been assigned')) + + # Only a PENDING order can be marked as SHIPPED + elif self.status != SalesOrderStatus.PENDING: + if raise_error: + raise ValidationError(_('Only a pending order can be marked as complete')) + + elif self.pending_shipment_count > 0: + if raise_error: + raise ValidationError(_("Order cannot be completed as there are incomplete shipments")) + + elif self.pending_line_count > 0: + if raise_error: + raise ValidationError(_("Order cannot be completed as there are incomplete line items")) + + else: + return True + + return False + + def complete_order(self, user): + """ + Mark this order as "complete" + """ + + if not self.can_complete(): + return False - # Ensure the order status is marked as "Shipped" self.status = SalesOrderStatus.SHIPPED - self.shipment_date = datetime.now().date() self.shipped_by = user + self.shipment_date = datetime.now() + self.save() return True @@ -682,6 +698,55 @@ class SalesOrder(Order): return True + @property + def line_count(self): + return self.lines.count() + + def completed_line_items(self): + """ + Return a queryset of the completed line items for this order + """ + return self.lines.filter(shipped__gte=F('quantity')) + + def pending_line_items(self): + """ + Return a queryset of the pending line items for this order + """ + return self.lines.filter(shipped__lt=F('quantity')) + + @property + def completed_line_count(self): + return self.completed_line_items().count() + + @property + def pending_line_count(self): + return self.pending_line_items().count() + + def completed_shipments(self): + """ + Return a queryset of the completed shipments for this order + """ + return self.shipments.exclude(shipment_date=None) + + def pending_shipments(self): + """ + Return a queryset of the pending shipments for this order + """ + + return self.shipments.filter(shipment_date=None) + + @property + def shipment_count(self): + return self.shipments.count() + + @property + def completed_shipment_count(self): + return self.completed_shipments().count() + + @property + def pending_shipment_count(self): + return self.pending_shipments().count() + class PurchaseOrderAttachment(InvenTreeAttachment): """ @@ -815,13 +880,15 @@ class PurchaseOrderLineItem(OrderLineItem): ) def get_destination(self): - """Show where the line item is or should be placed""" - # NOTE: If a line item gets split when recieved, only an arbitrary - # stock items location will be reported as the location for the - # entire line. - for stock in stock_models.StockItem.objects.filter( - supplier_part=self.part, purchase_order=self.order - ): + """ + Show where the line item is or should be placed + + NOTE: If a line item gets split when recieved, only an arbitrary + stock items location will be reported as the location for the + entire line. + """ + + for stock in stock_models.StockItem.objects.filter(supplier_part=self.part, purchase_order=self.order): if stock.location: return stock.location if self.destination: @@ -843,6 +910,7 @@ class SalesOrderLineItem(OrderLineItem): order: Link to the SalesOrder that this line item belongs to part: Link to a Part object (may be null) sale_price: The unit sale price for this OrderLineItem + shipped: The number of items which have actually shipped against this line item """ @staticmethod @@ -867,6 +935,14 @@ class SalesOrderLineItem(OrderLineItem): help_text=_('Unit sale price'), ) + shipped = RoundingDecimalField( + verbose_name=_('Shipped'), + help_text=_('Shipped quantity'), + default=0, + max_digits=15, decimal_places=5, + validators=[MinValueValidator(0)] + ) + class Meta: unique_together = [ ] @@ -902,6 +978,130 @@ class SalesOrderLineItem(OrderLineItem): """ Return True if this line item is over allocated """ return self.allocated_quantity() > self.quantity + def is_completed(self): + """ + Return True if this line item is completed (has been fully shipped) + """ + + return self.shipped >= self.quantity + + +class SalesOrderShipment(models.Model): + """ + The SalesOrderShipment model represents a physical shipment made against a SalesOrder. + + - Points to a single SalesOrder object + - Multiple SalesOrderAllocation objects point to a particular SalesOrderShipment + - When a given SalesOrderShipment is "shipped", stock items are removed from stock + + Attributes: + order: SalesOrder reference + shipment_date: Date this shipment was "shipped" (or null) + checked_by: User reference field indicating who checked this order + reference: Custom reference text for this shipment (e.g. consignment number?) + notes: Custom notes field for this shipment + """ + + class Meta: + # Shipment reference must be unique for a given sales order + unique_together = [ + 'order', 'reference', + ] + + @staticmethod + def get_api_url(): + return reverse('api-so-shipment-list') + + order = models.ForeignKey( + SalesOrder, + on_delete=models.CASCADE, + blank=False, null=False, + related_name='shipments', + verbose_name=_('Order'), + help_text=_('Sales Order'), + ) + + shipment_date = models.DateField( + null=True, blank=True, + verbose_name=_('Shipment Date'), + help_text=_('Date of shipment'), + ) + + checked_by = models.ForeignKey( + User, + on_delete=models.SET_NULL, + blank=True, null=True, + verbose_name=_('Checked By'), + help_text=_('User who checked this shipment'), + related_name='+', + ) + + reference = models.CharField( + max_length=100, + blank=False, + verbose_name=('Shipment'), + help_text=_('Shipment number'), + default='1', + ) + + notes = MarkdownxField( + blank=True, + verbose_name=_('Notes'), + help_text=_('Shipment notes'), + ) + + tracking_number = models.CharField( + max_length=100, + blank=True, + unique=False, + verbose_name=_('Tracking Number'), + help_text=_('Shipment tracking information'), + ) + + def is_complete(self): + return self.shipment_date is not None + + def check_can_complete(self): + + if self.shipment_date: + # Shipment has already been sent! + raise ValidationError(_("Shipment has already been sent")) + + if self.allocations.count() == 0: + raise ValidationError(_("Shipment has no allocated stock items")) + + @transaction.atomic + def complete_shipment(self, user, **kwargs): + """ + Complete this particular shipment: + + 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 + """ + + # Check if the shipment can be completed (throw error if not) + self.check_can_complete() + + allocations = self.allocations.all() + + # Iterate through each stock item assigned to this shipment + for allocation in allocations: + # Mark the allocation as "complete" + allocation.complete_allocation(user) + + # Update the "shipment" date + self.shipment_date = datetime.now() + self.shipped_by = user + + # Was a tracking number provided? + tracking_number = kwargs.get('tracking_number', None) + + if tracking_number is not None: + self.tracking_number = tracking_number + + self.save() + class SalesOrderAllocation(models.Model): """ @@ -911,6 +1111,7 @@ class SalesOrderAllocation(models.Model): Attributes: line: SalesOrderLineItem reference + shipment: SalesOrderShipment reference item: StockItem reference quantity: Quantity to take from the StockItem @@ -966,6 +1167,10 @@ class SalesOrderAllocation(models.Model): if self.item.serial and not self.quantity == 1: errors['quantity'] = _('Quantity must be 1 for serialized stock item') + if self.line.order != self.shipment.order: + errors['line'] = _('Sales order does not match shipment') + errors['shipment'] = _('Shipment does not match sales order') + if len(errors) > 0: raise ValidationError(errors) @@ -973,7 +1178,16 @@ class SalesOrderAllocation(models.Model): SalesOrderLineItem, on_delete=models.CASCADE, verbose_name=_('Line'), - related_name='allocations') + related_name='allocations' + ) + + shipment = models.ForeignKey( + SalesOrderShipment, + on_delete=models.CASCADE, + related_name='allocations', + verbose_name=_('Shipment'), + help_text=_('Sales order shipment reference'), + ) item = models.ForeignKey( 'stock.StockItem', @@ -1022,6 +1236,10 @@ class SalesOrderAllocation(models.Model): user=user ) + # Update the 'shipped' quantity + self.line.shipped += self.quantity + self.line.save() + # Update our own reference to the StockItem # (It may have changed if the stock was split) self.item = item diff --git a/InvenTree/order/serializers.py b/InvenTree/order/serializers.py index 38a058ae6d..32e50943b1 100644 --- a/InvenTree/order/serializers.py +++ b/InvenTree/order/serializers.py @@ -21,21 +21,19 @@ from common.settings import currency_code_mappings from company.serializers import CompanyBriefSerializer, SupplierPartSerializer from InvenTree.serializers import InvenTreeAttachmentSerializer +from InvenTree.helpers import normalize, extract_serial_numbers from InvenTree.serializers import InvenTreeModelSerializer from InvenTree.serializers import InvenTreeDecimalField from InvenTree.serializers import InvenTreeMoneySerializer from InvenTree.serializers import ReferenceIndexingSerializerMixin from InvenTree.status_codes import StockStatus +import order.models + from part.serializers import PartBriefSerializer import stock.models -from stock.serializers import LocationBriefSerializer, StockItemSerializer, LocationSerializer - -from .models import PurchaseOrder, PurchaseOrderLineItem -from .models import PurchaseOrderAttachment, SalesOrderAttachment -from .models import SalesOrder, SalesOrderLineItem -from .models import SalesOrderAllocation +import stock.serializers from users.serializers import OwnerSerializer @@ -68,7 +66,7 @@ class POSerializer(ReferenceIndexingSerializerMixin, InvenTreeModelSerializer): queryset = queryset.annotate( overdue=Case( When( - PurchaseOrder.OVERDUE_FILTER, then=Value(True, output_field=BooleanField()), + order.models.PurchaseOrder.OVERDUE_FILTER, then=Value(True, output_field=BooleanField()), ), default=Value(False, output_field=BooleanField()) ) @@ -89,7 +87,7 @@ class POSerializer(ReferenceIndexingSerializerMixin, InvenTreeModelSerializer): responsible_detail = OwnerSerializer(source='responsible', read_only=True, many=False) class Meta: - model = PurchaseOrder + model = order.models.PurchaseOrder fields = [ 'pk', @@ -143,12 +141,17 @@ class POLineItemSerializer(InvenTreeModelSerializer): part_detail = kwargs.pop('part_detail', False) + order_detail = kwargs.pop('order_detail', False) + super().__init__(*args, **kwargs) if part_detail is not True: self.fields.pop('part_detail') self.fields.pop('supplier_part_detail') + if order_detail is not True: + self.fields.pop('order_detail') + quantity = serializers.FloatField(default=1) received = serializers.FloatField(default=0) @@ -163,15 +166,17 @@ class POLineItemSerializer(InvenTreeModelSerializer): purchase_price_string = serializers.CharField(source='purchase_price', read_only=True) - destination_detail = LocationBriefSerializer(source='get_destination', read_only=True) + destination_detail = stock.serializers.LocationBriefSerializer(source='get_destination', read_only=True) purchase_price_currency = serializers.ChoiceField( choices=currency_code_mappings(), help_text=_('Purchase price currency'), ) + order_detail = POSerializer(source='order', read_only=True, many=False) + class Meta: - model = PurchaseOrderLineItem + model = order.models.PurchaseOrderLineItem fields = [ 'pk', @@ -179,6 +184,7 @@ class POLineItemSerializer(InvenTreeModelSerializer): 'reference', 'notes', 'order', + 'order_detail', 'part', 'part_detail', 'supplier_part_detail', @@ -198,7 +204,7 @@ class POLineItemReceiveSerializer(serializers.Serializer): """ line_item = serializers.PrimaryKeyRelatedField( - queryset=PurchaseOrderLineItem.objects.all(), + queryset=order.models.PurchaseOrderLineItem.objects.all(), many=False, allow_null=False, required=True, @@ -378,7 +384,7 @@ class POAttachmentSerializer(InvenTreeAttachmentSerializer): """ class Meta: - model = PurchaseOrderAttachment + model = order.models.PurchaseOrderAttachment fields = [ 'pk', @@ -425,7 +431,7 @@ class SalesOrderSerializer(ReferenceIndexingSerializerMixin, InvenTreeModelSeria queryset = queryset.annotate( overdue=Case( When( - SalesOrder.OVERDUE_FILTER, then=Value(True, output_field=BooleanField()), + order.models.SalesOrder.OVERDUE_FILTER, then=Value(True, output_field=BooleanField()), ), default=Value(False, output_field=BooleanField()) ) @@ -444,7 +450,7 @@ class SalesOrderSerializer(ReferenceIndexingSerializerMixin, InvenTreeModelSeria reference = serializers.CharField(required=True) class Meta: - model = SalesOrder + model = order.models.SalesOrder fields = [ 'pk', @@ -487,13 +493,15 @@ class SalesOrderAllocationSerializer(InvenTreeModelSerializer): # Extra detail fields order_detail = SalesOrderSerializer(source='line.order', many=False, read_only=True) part_detail = PartBriefSerializer(source='item.part', many=False, read_only=True) - item_detail = StockItemSerializer(source='item', many=False, read_only=True) - location_detail = LocationSerializer(source='item.location', many=False, read_only=True) + item_detail = stock.serializers.StockItemSerializer(source='item', many=False, read_only=True) + location_detail = stock.serializers.LocationSerializer(source='item.location', many=False, read_only=True) + + shipment_date = serializers.DateField(source='shipment.shipment_date', read_only=True) def __init__(self, *args, **kwargs): order_detail = kwargs.pop('order_detail', False) - part_detail = kwargs.pop('part_detail', False) + part_detail = kwargs.pop('part_detail', True) item_detail = kwargs.pop('item_detail', False) location_detail = kwargs.pop('location_detail', False) @@ -512,7 +520,7 @@ class SalesOrderAllocationSerializer(InvenTreeModelSerializer): self.fields.pop('location_detail') class Meta: - model = SalesOrderAllocation + model = order.models.SalesOrderAllocation fields = [ 'pk', @@ -527,6 +535,8 @@ class SalesOrderAllocationSerializer(InvenTreeModelSerializer): 'order_detail', 'part', 'part_detail', + 'shipment', + 'shipment_date', ] @@ -557,7 +567,8 @@ class SOLineItemSerializer(InvenTreeModelSerializer): quantity = InvenTreeDecimalField() allocated = serializers.FloatField(source='allocated_quantity', read_only=True) - fulfilled = serializers.FloatField(source='fulfilled_quantity', read_only=True) + + shipped = InvenTreeDecimalField(read_only=True) sale_price = InvenTreeMoneySerializer( allow_null=True @@ -571,14 +582,13 @@ class SOLineItemSerializer(InvenTreeModelSerializer): ) class Meta: - model = SalesOrderLineItem + model = order.models.SalesOrderLineItem fields = [ 'pk', 'allocated', 'allocations', 'quantity', - 'fulfilled', 'reference', 'notes', 'order', @@ -588,16 +598,421 @@ class SOLineItemSerializer(InvenTreeModelSerializer): 'sale_price', 'sale_price_currency', 'sale_price_string', + 'shipped', ] +class SalesOrderShipmentSerializer(InvenTreeModelSerializer): + """ + Serializer for the SalesOrderShipment class + """ + + allocations = SalesOrderAllocationSerializer(many=True, read_only=True, location_detail=True) + + order_detail = SalesOrderSerializer(source='order', read_only=True, many=False) + + class Meta: + model = order.models.SalesOrderShipment + + fields = [ + 'pk', + 'order', + 'order_detail', + 'allocations', + 'shipment_date', + 'checked_by', + 'reference', + 'tracking_number', + 'notes', + ] + + +class SalesOrderShipmentCompleteSerializer(serializers.ModelSerializer): + """ + Serializer for completing (shipping) a SalesOrderShipment + """ + + class Meta: + model = order.models.SalesOrderShipment + + fields = [ + 'tracking_number', + ] + + def validate(self, data): + + data = super().validate(data) + + shipment = self.context.get('shipment', None) + + if not shipment: + raise ValidationError(_("No shipment details provided")) + + shipment.check_can_complete() + + return data + + def save(self): + + shipment = self.context.get('shipment', None) + + if not shipment: + return + + data = self.validated_data + + request = self.context['request'] + user = request.user + + # Extract provided tracking number (optional) + tracking_number = data.get('tracking_number', None) + + shipment.complete_shipment(user, tracking_number=tracking_number) + + +class SOShipmentAllocationItemSerializer(serializers.Serializer): + """ + A serializer for allocating a single stock-item against a SalesOrder shipment + """ + + class Meta: + fields = [ + 'line_item', + 'stock_item', + 'quantity', + ] + + line_item = serializers.PrimaryKeyRelatedField( + queryset=order.models.SalesOrderLineItem.objects.all(), + many=False, + allow_null=False, + required=True, + label=_('Stock Item'), + ) + + def validate_line_item(self, line_item): + + order = self.context['order'] + + # Ensure that the line item points to the correct order + if line_item.order != order: + raise ValidationError(_("Line item is not associated with this order")) + + return line_item + + stock_item = serializers.PrimaryKeyRelatedField( + queryset=stock.models.StockItem.objects.all(), + many=False, + allow_null=False, + required=True, + label=_('Stock Item'), + ) + + quantity = serializers.DecimalField( + max_digits=15, + decimal_places=5, + min_value=0, + required=True + ) + + def validate_quantity(self, quantity): + + if quantity <= 0: + raise ValidationError(_("Quantity must be positive")) + + return quantity + + def validate(self, data): + + data = super().validate(data) + + stock_item = data['stock_item'] + quantity = data['quantity'] + + if stock_item.serialized and quantity != 1: + raise ValidationError({ + 'quantity': _("Quantity must be 1 for serialized stock item"), + }) + + q = normalize(stock_item.unallocated_quantity()) + + if quantity > q: + raise ValidationError({ + 'quantity': _(f"Available quantity ({q}) exceeded") + }) + + return data + + +class SalesOrderCompleteSerializer(serializers.Serializer): + """ + DRF serializer for manually marking a sales order as complete + """ + + def validate(self, data): + + data = super().validate(data) + + order = self.context['order'] + + order.can_complete(raise_error=True) + + return data + + def save(self): + + request = self.context['request'] + order = self.context['order'] + + user = getattr(request, 'user', None) + + order.complete_order(user) + + +class SOSerialAllocationSerializer(serializers.Serializer): + """ + DRF serializer for allocation of serial numbers against a sales order / shipment + """ + + class Meta: + fields = [ + 'line_item', + 'quantity', + 'serial_numbers', + 'shipment', + ] + + line_item = serializers.PrimaryKeyRelatedField( + queryset=order.models.SalesOrderLineItem.objects.all(), + many=False, + required=True, + allow_null=False, + label=_('Line Item'), + ) + + def validate_line_item(self, line_item): + """ + Ensure that the line_item is valid + """ + + order = self.context['order'] + + # Ensure that the line item points to the correct order + if line_item.order != order: + raise ValidationError(_("Line item is not associated with this order")) + + return line_item + + quantity = serializers.IntegerField( + min_value=1, + required=True, + allow_null=False, + label=_('Quantity'), + ) + + serial_numbers = serializers.CharField( + label=_("Serial Numbers"), + help_text=_("Enter serial numbers to allocate"), + required=True, + allow_blank=False, + ) + + shipment = serializers.PrimaryKeyRelatedField( + queryset=order.models.SalesOrderShipment.objects.all(), + many=False, + allow_null=False, + required=True, + label=_('Shipment'), + ) + + def validate_shipment(self, shipment): + """ + Validate the shipment: + + - Must point to the same order + - Must not be shipped + """ + + order = self.context['order'] + + if shipment.shipment_date is not None: + raise ValidationError(_("Shipment has already been shipped")) + + if shipment.order != order: + raise ValidationError(_("Shipment is not associated with this order")) + + return shipment + + def validate(self, data): + """ + Validation for the serializer: + + - Ensure the serial_numbers and quantity fields match + - Check that all serial numbers exist + - Check that the serial numbers are not yet allocated + """ + + data = super().validate(data) + + line_item = data['line_item'] + quantity = data['quantity'] + serial_numbers = data['serial_numbers'] + + part = line_item.part + + try: + data['serials'] = extract_serial_numbers(serial_numbers, quantity) + except DjangoValidationError as e: + raise ValidationError({ + 'serial_numbers': e.messages, + }) + + serials_not_exist = [] + serials_allocated = [] + stock_items_to_allocate = [] + + for serial in data['serials']: + items = stock.models.StockItem.objects.filter( + part=part, + serial=serial, + quantity=1, + ) + + if not items.exists(): + serials_not_exist.append(str(serial)) + continue + + stock_item = items[0] + + if stock_item.unallocated_quantity() == 1: + stock_items_to_allocate.append(stock_item) + else: + serials_allocated.append(str(serial)) + + if len(serials_not_exist) > 0: + + error_msg = _("No match found for the following serial numbers") + error_msg += ": " + error_msg += ",".join(serials_not_exist) + + raise ValidationError({ + 'serial_numbers': error_msg + }) + + if len(serials_allocated) > 0: + + error_msg = _("The following serial numbers are already allocated") + error_msg += ": " + error_msg += ",".join(serials_allocated) + + raise ValidationError({ + 'serial_numbers': error_msg, + }) + + data['stock_items'] = stock_items_to_allocate + + return data + + def save(self): + + data = self.validated_data + + line_item = data['line_item'] + stock_items = data['stock_items'] + shipment = data['shipment'] + + with transaction.atomic(): + for stock_item in stock_items: + # Create a new SalesOrderAllocation + order.models.SalesOrderAllocation.objects.create( + line=line_item, + item=stock_item, + quantity=1, + shipment=shipment + ) + + +class SOShipmentAllocationSerializer(serializers.Serializer): + """ + DRF serializer for allocation of stock items against a sales order / shipment + """ + + class Meta: + fields = [ + 'items', + 'shipment', + ] + + items = SOShipmentAllocationItemSerializer(many=True) + + shipment = serializers.PrimaryKeyRelatedField( + queryset=order.models.SalesOrderShipment.objects.all(), + many=False, + allow_null=False, + required=True, + label=_('Shipment'), + ) + + def validate_shipment(self, shipment): + """ + Run validation against the provided shipment instance + """ + + order = self.context['order'] + + if shipment.shipment_date is not None: + raise ValidationError(_("Shipment has already been shipped")) + + if shipment.order != order: + raise ValidationError(_("Shipment is not associated with this order")) + + return shipment + + def validate(self, data): + """ + Serializer validation + """ + + data = super().validate(data) + + # Extract SalesOrder from serializer context + # order = self.context['order'] + + items = data.get('items', []) + + if len(items) == 0: + raise ValidationError(_('Allocation items must be provided')) + + return data + + def save(self): + """ + Perform the allocation of items against this order + """ + + data = self.validated_data + + items = data['items'] + shipment = data['shipment'] + + with transaction.atomic(): + for entry in items: + # Create a new SalesOrderAllocation + order.models.SalesOrderAllocation.objects.create( + line=entry.get('line_item'), + item=entry.get('stock_item'), + quantity=entry.get('quantity'), + shipment=shipment, + ) + + class SOAttachmentSerializer(InvenTreeAttachmentSerializer): """ Serializers for the SalesOrderAttachment model """ class Meta: - model = SalesOrderAttachment + model = order.models.SalesOrderAttachment fields = [ 'pk', diff --git a/InvenTree/order/templates/order/order_base.html b/InvenTree/order/templates/order/order_base.html index da78b83561..195f2273a3 100644 --- a/InvenTree/order/templates/order/order_base.html +++ b/InvenTree/order/templates/order/order_base.html @@ -119,6 +119,18 @@ src="{% static 'img/blank_image.png' %}" {{ order.supplier_reference }}{% include "clip.html"%} {% endif %} + + + {% trans "Completed Line Items" %} + + {{ order.completed_line_count }} / {{ order.line_count }} + {% if order.is_complete %} + {% trans "Complete" %} + {% else %} + {% trans "Incomplete" %} + {% endif %} + + {% if order.link %} diff --git a/InvenTree/order/templates/order/purchase_order_detail.html b/InvenTree/order/templates/order/purchase_order_detail.html index 90a105caf1..d0215777bb 100644 --- a/InvenTree/order/templates/order/purchase_order_detail.html +++ b/InvenTree/order/templates/order/purchase_order_detail.html @@ -37,7 +37,7 @@
- {% include "filter_list.html" with id="order-lines" %} + {% include "filter_list.html" with id="purchase-order-lines" %}
@@ -190,6 +190,10 @@ $('#new-po-line').click(function() { $('#receive-selected-items').click(function() { var items = $("#po-line-table").bootstrapTable('getSelections'); + if (items.length == 0) { + items = $("#po-line-table").bootstrapTable('getData'); + } + receivePurchaseOrderItems( {{ order.id }}, items, diff --git a/InvenTree/order/templates/order/sales_order_base.html b/InvenTree/order/templates/order/sales_order_base.html index 2a5a79a161..c8718d54d8 100644 --- a/InvenTree/order/templates/order/sales_order_base.html +++ b/InvenTree/order/templates/order/sales_order_base.html @@ -63,8 +63,8 @@ src="{% static 'img/blank_image.png' %}" {% if order.status == SalesOrderStatus.PENDING %} - {% endif %} {% endif %} @@ -123,6 +123,28 @@ src="{% static 'img/blank_image.png' %}" {% endif %} + + + + + + + + + + {% if order.link %} @@ -145,15 +167,13 @@ src="{% static 'img/blank_image.png' %}" {% if order.shipment_date %} - - - - {% endif %} - {% if order.status == PurchaseOrderStatus.COMPLETE %} - - - - + + {% endif %} {% if order.responsible %} @@ -203,8 +223,11 @@ $("#cancel-order").click(function() { }); }); -$("#ship-order").click(function() { - launchModalForm("{% url 'so-ship' order.id %}", { +$("#complete-order").click(function() { + constructForm('{% url "api-so-complete" order.id %}', { + method: 'POST', + title: '{% trans "Complete Sales Order" %}', + confirm: true, reload: true, }); }); diff --git a/InvenTree/order/templates/order/sales_order_detail.html b/InvenTree/order/templates/order/sales_order_detail.html index 1cf2ce06cc..48b2542752 100644 --- a/InvenTree/order/templates/order/sales_order_detail.html +++ b/InvenTree/order/templates/order/sales_order_detail.html @@ -18,7 +18,7 @@

{% trans "Sales Order Items" %}

{% include "spacer.html" %}
- {% if roles.sales_order.change %} + {% if roles.sales_order.change and order.is_pending %} @@ -37,12 +37,67 @@
+{% if order.is_pending %} +
+
+
+

{% trans "Pending Shipments" %}

+ {% include "spacer.html" %} +
+ {% if 0 %} + + + {% endif %} + {% if roles.sales_order.change %} + + {% endif %} +
+
+
+
+ {% if roles.sales_order.change %} +
+
+ {% include "filter_list.html" with id="pending-shipments" %} +
+
+ {% endif %} +
{{ order.customer_reference }}{% include "clip.html"%}
{% trans "Completed Line Items" %} + {{ order.completed_line_count }} / {{ order.line_count }} + {% if order.is_completed %} + {% trans "Complete" %} + {% else %} + {% trans "Incomplete" %} + {% endif %} +
{% trans "Completed Shipments" %} + {{ order.completed_shipment_count }} / {{ order.shipment_count }} + {% if order.pending_shipment_count > 0 %} + {% trans "Incomplete" %} + {% endif %} +
{% trans "Shipped" %}{{ order.shipment_date }}{{ order.shipped_by }}
{% trans "Received" %}{{ order.complete_date }}{{ order.received_by }}{% trans "Completed" %} + {{ order.shipment_date }} + {% if order.shipped_by %} + {{ order.shipped_by }} + {% endif %} +
+
+ +{% endif %} + +
+
+

{% trans "Completed Shipments" %}

+
+
+
+
+ {% include "filter_list.html" with id="completed-shipments" %} +
+
+
+
+
+

{% trans "Build Orders" %}

-
+
+
+ {% include "filter_list.html" with id='build' %} +
+
+
@@ -89,6 +144,38 @@ {% block js_ready %} {{ block.super }} + // Callback when the "shipments" panel is first loaded + onPanelLoad('order-shipments', function() { + + {% if order.is_pending %} + loadSalesOrderShipmentTable('#pending-shipments-table', { + order: {{ order.pk }}, + shipped: false, + filter_target: '#filter-list-pending-shipments', + }); + + $('#new-shipment').click(function() { + createSalesOrderShipment({ + order: {{ order.pk }}, + reference: '{{ order.reference }}', + onSuccess: function(data) { + $('#pending-shipments-table').bootstrapTable('refresh'); + } + }); + }); + + {% endif %} + + }); + + onPanelLoad('order-shipments-complete', function() { + loadSalesOrderShipmentTable('#completed-shipments-table', { + order: {{ order.pk }}, + shipped: true, + filter_target: '#filter-list-completed-shipments', + }); + }); + $('#edit-notes').click(function() { constructForm('{% url "api-so-detail" order.pk %}', { fields: { diff --git a/InvenTree/order/templates/order/sales_order_ship.html b/InvenTree/order/templates/order/sales_order_ship.html deleted file mode 100644 index 763d3fca57..0000000000 --- a/InvenTree/order/templates/order/sales_order_ship.html +++ /dev/null @@ -1,30 +0,0 @@ -{% extends "modal_form.html" %} - -{% load i18n %} - -{% block pre_form_content %} - -{% if not order.is_fully_allocated %} -
-

{% trans "Warning" %}

- {% trans "This order has not been fully allocated. If the order is marked as shipped, it can no longer be adjusted." %} -
- {% trans "Ensure that the order allocation is correct before shipping the order." %} -
-{% endif %} - -{% if order.is_over_allocated %} -
- {% trans "Some line items in this order have been over-allocated" %} -
- {% trans "Ensure that this is correct before shipping the order." %} -
-{% endif %} - -
- {% trans "Sales Order" %} {{ order.reference }} - {{ order.customer.name }} -
- {% trans "Shipping this order means that the order will no longer be editable." %} -
- -{% endblock %} \ No newline at end of file diff --git a/InvenTree/order/templates/order/so_allocate_by_serial.html b/InvenTree/order/templates/order/so_allocate_by_serial.html deleted file mode 100644 index 3e11d658c7..0000000000 --- a/InvenTree/order/templates/order/so_allocate_by_serial.html +++ /dev/null @@ -1,12 +0,0 @@ -{% extends "modal_form.html" %} -{% load i18n %} - -{% block pre_form_content %} - -
- {% include "hover_image.html" with image=part.image hover=true %}{{ part }} -
- {% trans "Allocate stock items by serial number" %} -
- -{% endblock %} \ No newline at end of file diff --git a/InvenTree/order/templates/order/so_sidebar.html b/InvenTree/order/templates/order/so_sidebar.html index 5f5f040c28..c43e0537c5 100644 --- a/InvenTree/order/templates/order/so_sidebar.html +++ b/InvenTree/order/templates/order/so_sidebar.html @@ -4,6 +4,12 @@ {% trans "Line Items" as text %} {% include "sidebar_item.html" with label='order-items' text=text icon="fa-list-ol" %} +{% if order.is_pending %} +{% trans "Pending Shipments" as text %} +{% include "sidebar_item.html" with label='order-shipments' text=text icon="fa-truck-loading" %} +{% endif %} +{% trans "Completed Shipments" as text %} +{% include "sidebar_item.html" with label='order-shipments-complete' text=text icon="fa-truck" %} {% trans "Build Orders" as text %} {% include "sidebar_item.html" with label='order-builds' text=text icon="fa-tools" %} {% trans "Attachments" as text %} diff --git a/InvenTree/order/test_api.py b/InvenTree/order/test_api.py index 44effe9fb6..2ea2086431 100644 --- a/InvenTree/order/test_api.py +++ b/InvenTree/order/test_api.py @@ -11,9 +11,10 @@ from django.urls import reverse from InvenTree.api_tester import InvenTreeAPITestCase from InvenTree.status_codes import PurchaseOrderStatus +from part.models import Part from stock.models import StockItem -from .models import PurchaseOrder, PurchaseOrderLineItem, SalesOrder +import order.models as models class OrderTest(InvenTreeAPITestCase): @@ -85,7 +86,7 @@ class PurchaseOrderTest(OrderTest): self.filter({'overdue': True}, 0) self.filter({'overdue': False}, 7) - order = PurchaseOrder.objects.get(pk=1) + order = models.PurchaseOrder.objects.get(pk=1) order.target_date = datetime.now().date() - timedelta(days=10) order.save() @@ -137,7 +138,7 @@ class PurchaseOrderTest(OrderTest): Test that we can create / edit and delete a PurchaseOrder via the API """ - n = PurchaseOrder.objects.count() + n = models.PurchaseOrder.objects.count() url = reverse('api-po-list') @@ -154,7 +155,7 @@ class PurchaseOrderTest(OrderTest): ) # And no new PurchaseOrder objects should have been created - self.assertEqual(PurchaseOrder.objects.count(), n) + self.assertEqual(models.PurchaseOrder.objects.count(), n) # Ok, now let's give this user the correct permission self.assignRole('purchase_order.add') @@ -171,7 +172,7 @@ class PurchaseOrderTest(OrderTest): expected_code=201 ) - self.assertEqual(PurchaseOrder.objects.count(), n + 1) + self.assertEqual(models.PurchaseOrder.objects.count(), n + 1) pk = response.data['pk'] @@ -186,7 +187,7 @@ class PurchaseOrderTest(OrderTest): expected_code=400 ) - self.assertEqual(PurchaseOrder.objects.count(), n + 1) + self.assertEqual(models.PurchaseOrder.objects.count(), n + 1) url = reverse('api-po-detail', kwargs={'pk': pk}) @@ -217,7 +218,7 @@ class PurchaseOrderTest(OrderTest): response = self.delete(url, expected_code=204) # Number of PurchaseOrder objects should have decreased - self.assertEqual(PurchaseOrder.objects.count(), n) + self.assertEqual(models.PurchaseOrder.objects.count(), n) # And if we try to access the detail view again, it has gone response = self.get(url, expected_code=404) @@ -256,7 +257,7 @@ class PurchaseOrderReceiveTest(OrderTest): self.n = StockItem.objects.count() # Mark the order as "placed" so we can receive line items - order = PurchaseOrder.objects.get(pk=1) + order = models.PurchaseOrder.objects.get(pk=1) order.status = PurchaseOrderStatus.PLACED order.save() @@ -453,8 +454,8 @@ class PurchaseOrderReceiveTest(OrderTest): Test receipt of valid data """ - line_1 = PurchaseOrderLineItem.objects.get(pk=1) - line_2 = PurchaseOrderLineItem.objects.get(pk=2) + line_1 = models.PurchaseOrderLineItem.objects.get(pk=1) + line_2 = models.PurchaseOrderLineItem.objects.get(pk=2) self.assertEqual(StockItem.objects.filter(supplier_part=line_1.part).count(), 0) self.assertEqual(StockItem.objects.filter(supplier_part=line_2.part).count(), 0) @@ -481,7 +482,7 @@ class PurchaseOrderReceiveTest(OrderTest): # Before posting "valid" data, we will mark the purchase order as "pending" # In this case we do expect an error! - order = PurchaseOrder.objects.get(pk=1) + order = models.PurchaseOrder.objects.get(pk=1) order.status = PurchaseOrderStatus.PENDING order.save() @@ -507,8 +508,8 @@ class PurchaseOrderReceiveTest(OrderTest): # There should be two newly created stock items self.assertEqual(self.n + 2, StockItem.objects.count()) - line_1 = PurchaseOrderLineItem.objects.get(pk=1) - line_2 = PurchaseOrderLineItem.objects.get(pk=2) + line_1 = models.PurchaseOrderLineItem.objects.get(pk=1) + line_2 = models.PurchaseOrderLineItem.objects.get(pk=2) self.assertEqual(line_1.received, 50) self.assertEqual(line_2.received, 250) @@ -563,7 +564,7 @@ class SalesOrderTest(OrderTest): self.filter({'overdue': False}, 5) for pk in [1, 2]: - order = SalesOrder.objects.get(pk=pk) + order = models.SalesOrder.objects.get(pk=pk) order.target_date = datetime.now().date() - timedelta(days=10) order.save() @@ -591,7 +592,7 @@ class SalesOrderTest(OrderTest): Test that we can create / edit and delete a SalesOrder via the API """ - n = SalesOrder.objects.count() + n = models.SalesOrder.objects.count() url = reverse('api-so-list') @@ -621,7 +622,7 @@ class SalesOrderTest(OrderTest): ) # Check that the new order has been created - self.assertEqual(SalesOrder.objects.count(), n + 1) + self.assertEqual(models.SalesOrder.objects.count(), n + 1) # Grab the PK for the newly created SalesOrder pk = response.data['pk'] @@ -664,7 +665,7 @@ class SalesOrderTest(OrderTest): response = self.delete(url, expected_code=204) # Check that the number of sales orders has decreased - self.assertEqual(SalesOrder.objects.count(), n) + self.assertEqual(models.SalesOrder.objects.count(), n) # And the resource should no longer be available response = self.get(url, expected_code=404) @@ -685,3 +686,131 @@ class SalesOrderTest(OrderTest): }, expected_code=201 ) + + +class SalesOrderAllocateTest(OrderTest): + """ + Unit tests for allocating stock items against a SalesOrder + """ + + def setUp(self): + super().setUp() + + self.assignRole('sales_order.add') + + self.url = reverse('api-so-allocate', kwargs={'pk': 1}) + + self.order = models.SalesOrder.objects.get(pk=1) + + # Create some line items for this purchase order + parts = Part.objects.filter(salable=True) + + for part in parts: + + # Create a new line item + models.SalesOrderLineItem.objects.create( + order=self.order, + part=part, + quantity=5, + ) + + # Ensure we have stock! + StockItem.objects.create( + part=part, + quantity=100, + ) + + # Create a new shipment against this SalesOrder + self.shipment = models.SalesOrderShipment.objects.create( + order=self.order, + ) + + def test_invalid(self): + """ + Test POST with invalid data + """ + + # No data + response = self.post(self.url, {}, expected_code=400) + + self.assertIn('This field is required', str(response.data['items'])) + self.assertIn('This field is required', str(response.data['shipment'])) + + # Test with a single line items + line = self.order.lines.first() + part = line.part + + # Valid stock_item, but quantity is invalid + data = { + 'items': [{ + "line_item": line.pk, + "stock_item": part.stock_items.last().pk, + "quantity": 0, + }], + } + + response = self.post(self.url, data, expected_code=400) + + self.assertIn('Quantity must be positive', str(response.data['items'])) + + # Valid stock item, too much quantity + data['items'][0]['quantity'] = 250 + + response = self.post(self.url, data, expected_code=400) + + self.assertIn('Available quantity (100) exceeded', str(response.data['items'])) + + # Valid stock item, valid quantity + data['items'][0]['quantity'] = 50 + + # Invalid shipment! + data['shipment'] = 9999 + + response = self.post(self.url, data, expected_code=400) + + self.assertIn('does not exist', str(response.data['shipment'])) + + # Valid shipment, but points to the wrong order + shipment = models.SalesOrderShipment.objects.create( + order=models.SalesOrder.objects.get(pk=2), + ) + + data['shipment'] = shipment.pk + + response = self.post(self.url, data, expected_code=400) + + self.assertIn('Shipment is not associated with this order', str(response.data['shipment'])) + + def test_allocate(self): + """ + Test the the allocation endpoint acts as expected, + when provided with valid data! + """ + + # First, check that there are no line items allocated against this SalesOrder + self.assertEqual(self.order.stock_allocations.count(), 0) + + data = { + "items": [], + "shipment": self.shipment.pk, + } + + for line in self.order.lines.all(): + stock_item = line.part.stock_items.last() + + # Fully-allocate each line + data['items'].append({ + "line_item": line.pk, + "stock_item": stock_item.pk, + "quantity": 5 + }) + + self.post(self.url, data, expected_code=201) + + # There should have been 1 stock item allocated against each line item + n_lines = self.order.lines.count() + + self.assertEqual(self.order.stock_allocations.count(), n_lines) + + for line in self.order.lines.all(): + self.assertEqual(line.allocations.count(), 1) diff --git a/InvenTree/order/test_migrations.py b/InvenTree/order/test_migrations.py index b7db1f1b70..3afba65223 100644 --- a/InvenTree/order/test_migrations.py +++ b/InvenTree/order/test_migrations.py @@ -4,16 +4,16 @@ Unit tests for the 'order' model data migrations from django_test_migrations.contrib.unittest_case import MigratorTestCase -from InvenTree import helpers +from InvenTree.status_codes import SalesOrderStatus -class TestForwardMigrations(MigratorTestCase): +class TestRefIntMigrations(MigratorTestCase): """ Test entire schema migration """ - migrate_from = ('order', helpers.getOldestMigrationFile('order')) - migrate_to = ('order', helpers.getNewestMigrationFile('order')) + migrate_from = ('order', '0040_salesorder_target_date') + migrate_to = ('order', '0061_merge_0054_auto_20211201_2139_0060_auto_20211129_1339') def prepare(self): """ @@ -26,10 +26,12 @@ class TestForwardMigrations(MigratorTestCase): supplier = Company.objects.create( name='Supplier A', description='A great supplier!', - is_supplier=True + is_supplier=True, + is_customer=True, ) PurchaseOrder = self.old_state.apps.get_model('order', 'purchaseorder') + SalesOrder = self.old_state.apps.get_model('order', 'salesorder') # Create some orders for ii in range(10): @@ -44,16 +46,79 @@ class TestForwardMigrations(MigratorTestCase): with self.assertRaises(AttributeError): print(order.reference_int) + sales_order = SalesOrder.objects.create( + customer=supplier, + reference=f"{ii}-xyz", + description="A test sales order", + ) + + # Initially, the 'reference_int' field is unavailable + with self.assertRaises(AttributeError): + print(sales_order.reference_int) + def test_ref_field(self): """ Test that the 'reference_int' field has been created and is filled out correctly """ PurchaseOrder = self.new_state.apps.get_model('order', 'purchaseorder') + SalesOrder = self.new_state.apps.get_model('order', 'salesorder') for ii in range(10): - order = PurchaseOrder.objects.get(reference=f"{ii}-abcde") + po = PurchaseOrder.objects.get(reference=f"{ii}-abcde") + so = SalesOrder.objects.get(reference=f"{ii}-xyz") # The integer reference field must have been correctly updated - self.assertEqual(order.reference_int, ii) + self.assertEqual(po.reference_int, ii) + self.assertEqual(so.reference_int, ii) + + +class TestShipmentMigration(MigratorTestCase): + """ + Test data migration for the "SalesOrderShipment" model + """ + + migrate_from = ('order', '0051_auto_20211014_0623') + migrate_to = ('order', '0055_auto_20211025_0645') + + def prepare(self): + """ + Create an initial SalesOrder + """ + + Company = self.old_state.apps.get_model('company', 'company') + + customer = Company.objects.create( + name='My customer', + description='A customer we sell stuff too', + is_customer=True + ) + + SalesOrder = self.old_state.apps.get_model('order', 'salesorder') + + for ii in range(5): + order = SalesOrder.objects.create( + reference=f'SO{ii}', + customer=customer, + description='A sales order for stuffs', + status=SalesOrderStatus.PENDING, + ) + + order.save() + + # The "shipment" model does not exist yet + with self.assertRaises(LookupError): + self.old_state.apps.get_model('order', 'salesordershipment') + + def test_shipment_creation(self): + """ + Check that a SalesOrderShipment has been created + """ + + SalesOrder = self.new_state.apps.get_model('order', 'salesorder') + Shipment = self.new_state.apps.get_model('order', 'salesordershipment') + + # Check that the correct number of Shipments have been created + self.assertEqual(SalesOrder.objects.count(), 5) + self.assertEqual(Shipment.objects.count(), 5) diff --git a/InvenTree/order/test_sales_order.py b/InvenTree/order/test_sales_order.py index 8337ff4b57..d43c94996c 100644 --- a/InvenTree/order/test_sales_order.py +++ b/InvenTree/order/test_sales_order.py @@ -7,11 +7,15 @@ from django.core.exceptions import ValidationError from datetime import datetime, timedelta from company.models import Company -from stock.models import StockItem -from order.models import SalesOrder, SalesOrderLineItem, SalesOrderAllocation -from part.models import Part + from InvenTree import status_codes as status +from order.models import SalesOrder, SalesOrderLineItem, SalesOrderAllocation, SalesOrderShipment + +from part.models import Part + +from stock.models import StockItem + class SalesOrderTest(TestCase): """ @@ -38,6 +42,12 @@ class SalesOrderTest(TestCase): customer_reference='ABC 55555' ) + # Create a Shipment against this SalesOrder + self.shipment = SalesOrderShipment.objects.create( + order=self.order, + reference='001', + ) + # Create a line item self.line = SalesOrderLineItem.objects.create(quantity=50, order=self.order, part=self.part) @@ -82,11 +92,13 @@ class SalesOrderTest(TestCase): # Allocate stock to the order SalesOrderAllocation.objects.create( line=self.line, + shipment=self.shipment, item=StockItem.objects.get(pk=self.Sa.pk), quantity=25) SalesOrderAllocation.objects.create( line=self.line, + shipment=self.shipment, item=StockItem.objects.get(pk=self.Sb.pk), quantity=25 if full else 20 ) @@ -120,11 +132,14 @@ class SalesOrderTest(TestCase): self.assertEqual(SalesOrderAllocation.objects.count(), 0) self.assertEqual(self.order.status, status.SalesOrderStatus.CANCELLED) - # Now try to ship it - should fail with self.assertRaises(ValidationError): - self.order.ship_order(None) + self.order.can_complete(raise_error=True) - def test_ship_order(self): + # Now try to ship it - should fail + result = self.order.complete_order(None) + self.assertFalse(result) + + def test_complete_order(self): # Allocate line items, then ship the order # Assert some stuff before we run the test @@ -136,7 +151,25 @@ class SalesOrderTest(TestCase): self.assertEqual(SalesOrderAllocation.objects.count(), 2) - self.order.ship_order(None) + # Attempt to complete the order (but shipments are not completed!) + result = self.order.complete_order(None) + + self.assertFalse(result) + + self.assertIsNone(self.shipment.shipment_date) + self.assertFalse(self.shipment.is_complete()) + + # Mark the shipments as complete + self.shipment.complete_shipment(None) + self.assertTrue(self.shipment.is_complete()) + + # Now, should be OK to ship + result = self.order.complete_order(None) + + self.assertTrue(result) + + self.assertEqual(self.order.status, status.SalesOrderStatus.SHIPPED) + self.assertIsNotNone(self.order.shipment_date) # There should now be 4 stock items self.assertEqual(StockItem.objects.count(), 4) @@ -158,12 +191,12 @@ class SalesOrderTest(TestCase): self.assertEqual(sa.sales_order, None) self.assertEqual(sb.sales_order, None) - # And no allocations - self.assertEqual(SalesOrderAllocation.objects.count(), 0) + # And the allocations still exist + self.assertEqual(SalesOrderAllocation.objects.count(), 2) self.assertEqual(self.order.status, status.SalesOrderStatus.SHIPPED) self.assertTrue(self.order.is_fully_allocated()) self.assertTrue(self.line.is_fully_allocated()) self.assertEqual(self.line.fulfilled_quantity(), 50) - self.assertEqual(self.line.allocated_quantity(), 0) + self.assertEqual(self.line.allocated_quantity(), 50) diff --git a/InvenTree/order/urls.py b/InvenTree/order/urls.py index afc689cc23..504145892a 100644 --- a/InvenTree/order/urls.py +++ b/InvenTree/order/urls.py @@ -35,18 +35,12 @@ purchase_order_urls = [ sales_order_detail_urls = [ url(r'^cancel/', views.SalesOrderCancel.as_view(), name='so-cancel'), - url(r'^ship/', views.SalesOrderShip.as_view(), name='so-ship'), url(r'^export/', views.SalesOrderExport.as_view(), name='so-export'), url(r'^.*$', views.SalesOrderDetail.as_view(), name='so-detail'), ] sales_order_urls = [ - # URLs for sales order allocations - url(r'^allocation/', include([ - url(r'^assign-serials/', views.SalesOrderAssignSerials.as_view(), name='so-assign-serials'), - ])), - # Display detail view for a single SalesOrder url(r'^(?P\d+)/', include(sales_order_detail_urls)), diff --git a/InvenTree/order/views.py b/InvenTree/order/views.py index 8aea60f694..c89d2a77b1 100644 --- a/InvenTree/order/views.py +++ b/InvenTree/order/views.py @@ -9,12 +9,10 @@ from django.db import transaction from django.db.utils import IntegrityError from django.http.response import JsonResponse from django.shortcuts import get_object_or_404 -from django.core.exceptions import ValidationError from django.urls import reverse from django.http import HttpResponseRedirect from django.utils.translation import ugettext_lazy as _ from django.views.generic import DetailView, ListView -from django.views.generic.edit import FormMixin from django.forms import HiddenInput, IntegerField import logging @@ -22,7 +20,6 @@ from decimal import Decimal, InvalidOperation from .models import PurchaseOrder, PurchaseOrderLineItem from .models import SalesOrder, SalesOrderLineItem -from .models import SalesOrderAllocation from .admin import POLineItemResource, SOLineItemResource from build.models import Build from company.models import Company, SupplierPart # ManufacturerPart @@ -38,7 +35,6 @@ from part.views import PartPricing from InvenTree.views import AjaxView, AjaxUpdateView from InvenTree.helpers import DownloadFile, str2bool -from InvenTree.helpers import extract_serial_numbers from InvenTree.views import InvenTreeRoleMixin from InvenTree.status_codes import PurchaseOrderStatus @@ -213,48 +209,6 @@ class PurchaseOrderComplete(AjaxUpdateView): } -class SalesOrderShip(AjaxUpdateView): - """ View for 'shipping' a SalesOrder """ - form_class = order_forms.ShipSalesOrderForm - model = SalesOrder - context_object_name = 'order' - ajax_template_name = 'order/sales_order_ship.html' - ajax_form_title = _('Ship Order') - - def post(self, request, *args, **kwargs): - - self.request = request - - order = self.get_object() - self.object = order - - form = self.get_form() - - confirm = str2bool(request.POST.get('confirm', False)) - - valid = False - - if not confirm: - form.add_error('confirm', _('Confirm order shipment')) - else: - valid = True - - if valid: - if not order.ship_order(request.user): - form.add_error(None, _('Could not ship order')) - valid = False - - data = { - 'form_valid': valid, - } - - context = self.get_context_data() - - context['order'] = order - - return self.renderJsonResponse(request, form, data, context) - - class PurchaseOrderUpload(FileManagementFormView): ''' PurchaseOrder: Upload file, match to fields and parts (using multi-Step form) ''' @@ -834,174 +788,6 @@ class OrderParts(AjaxView): order.add_line_item(supplier_part, quantity, purchase_price=purchase_price) -class SalesOrderAssignSerials(AjaxView, FormMixin): - """ - View for assigning stock items to a sales order, - by serial number lookup. - """ - - model = SalesOrderAllocation - role_required = 'sales_order.change' - ajax_template_name = 'order/so_allocate_by_serial.html' - ajax_form_title = _('Allocate Serial Numbers') - form_class = order_forms.AllocateSerialsToSalesOrderForm - - # Keep track of SalesOrderLineItem and Part references - line = None - part = None - - def get_initial(self): - """ - Initial values are passed as query params - """ - - initials = super().get_initial() - - try: - self.line = SalesOrderLineItem.objects.get(pk=self.request.GET.get('line', None)) - initials['line'] = self.line - except (ValueError, SalesOrderLineItem.DoesNotExist): - pass - - try: - self.part = Part.objects.get(pk=self.request.GET.get('part', None)) - initials['part'] = self.part - except (ValueError, Part.DoesNotExist): - pass - - return initials - - def post(self, request, *args, **kwargs): - - self.form = self.get_form() - - # Validate the form - self.form.is_valid() - self.validate() - - valid = self.form.is_valid() - - if valid: - self.allocate_items() - - data = { - 'form_valid': valid, - 'form_errors': self.form.errors.as_json(), - 'non_field_errors': self.form.non_field_errors().as_json(), - 'success': _("Allocated {n} items").format(n=len(self.stock_items)) - } - - return self.renderJsonResponse(request, self.form, data) - - def validate(self): - - data = self.form.cleaned_data - - # Extract hidden fields from posted data - self.line = data.get('line', None) - self.part = data.get('part', None) - - if self.line: - self.form.fields['line'].widget = HiddenInput() - else: - self.form.add_error('line', _('Select line item')) - - if self.part: - self.form.fields['part'].widget = HiddenInput() - else: - self.form.add_error('part', _('Select part')) - - if not self.form.is_valid(): - return - - # Form is otherwise valid - check serial numbers - serials = data.get('serials', '') - quantity = data.get('quantity', 1) - - # Save a list of serial_numbers - self.serial_numbers = None - self.stock_items = [] - - try: - self.serial_numbers = extract_serial_numbers(serials, quantity) - - for serial in self.serial_numbers: - try: - # Find matching stock item - stock_item = StockItem.objects.get( - part=self.part, - serial=serial - ) - except StockItem.DoesNotExist: - self.form.add_error( - 'serials', - _('No matching item for serial {serial}').format(serial=serial) - ) - continue - - # Now we have a valid stock item - but can it be added to the sales order? - - # If not in stock, cannot be added to the order - if not stock_item.in_stock: - self.form.add_error( - 'serials', - _('{serial} is not in stock').format(serial=serial) - ) - continue - - # Already allocated to an order - if stock_item.is_allocated(): - self.form.add_error( - 'serials', - _('{serial} already allocated to an order').format(serial=serial) - ) - continue - - # Add it to the list! - self.stock_items.append(stock_item) - - except ValidationError as e: - self.form.add_error('serials', e.messages) - - def allocate_items(self): - """ - Create stock item allocations for each selected serial number - """ - - for stock_item in self.stock_items: - SalesOrderAllocation.objects.create( - item=stock_item, - line=self.line, - quantity=1, - ) - - def get_form(self): - - form = super().get_form() - - if self.line: - form.fields['line'].widget = HiddenInput() - - if self.part: - form.fields['part'].widget = HiddenInput() - - return form - - def get_context_data(self): - return { - 'line': self.line, - 'part': self.part, - } - - def get(self, request, *args, **kwargs): - - return self.renderJsonResponse( - request, - self.get_form(), - context=self.get_context_data(), - ) - - class LineItemPricing(PartPricing): """ View for inspecting part pricing information """ diff --git a/InvenTree/part/admin.py b/InvenTree/part/admin.py index 63f48a4e07..fd0a16adc2 100644 --- a/InvenTree/part/admin.py +++ b/InvenTree/part/admin.py @@ -8,10 +8,9 @@ from import_export.resources import ModelResource from import_export.fields import Field import import_export.widgets as widgets -import part.models as models - -from stock.models import StockLocation from company.models import SupplierPart +import part.models as models +from stock.models import StockLocation class PartResource(ModelResource): @@ -76,6 +75,13 @@ class PartAdmin(ImportExportModelAdmin): search_fields = ('name', 'description', 'category__name', 'category__description', 'IPN') + autocomplete_fields = [ + 'variant_of', + 'category', + 'default_location', + 'default_supplier', + ] + class PartCategoryResource(ModelResource): """ Class for managing PartCategory data import/export """ @@ -105,13 +111,6 @@ class PartCategoryResource(ModelResource): models.PartCategory.objects.rebuild() -class PartCategoryInline(admin.TabularInline): - """ - Inline for PartCategory model - """ - model = models.PartCategory - - class PartCategoryAdmin(ImportExportModelAdmin): resource_class = PartCategoryResource @@ -120,35 +119,44 @@ class PartCategoryAdmin(ImportExportModelAdmin): search_fields = ('name', 'description') - inlines = [ - PartCategoryInline, - ] + autocomplete_fields = ('parent', 'default_location',) class PartRelatedAdmin(admin.ModelAdmin): - ''' Class to manage PartRelated objects ''' - pass + """ + Class to manage PartRelated objects + """ + + autocomplete_fields = ('part_1', 'part_2') class PartAttachmentAdmin(admin.ModelAdmin): list_display = ('part', 'attachment', 'comment') + autocomplete_fields = ('part',) + class PartStarAdmin(admin.ModelAdmin): list_display = ('part', 'user') + autocomplete_fields = ('part',) + class PartCategoryStarAdmin(admin.ModelAdmin): list_display = ('category', 'user') + autocomplete_fields = ('category',) + class PartTestTemplateAdmin(admin.ModelAdmin): list_display = ('part', 'test_name', 'required') + autocomplete_fields = ('part',) + class BomItemResource(ModelResource): """ Class for managing BomItem data import/export """ @@ -253,10 +261,14 @@ class BomItemAdmin(ImportExportModelAdmin): search_fields = ('part__name', 'part__description', 'sub_part__name', 'sub_part__description') + autocomplete_fields = ('part', 'sub_part',) + class ParameterTemplateAdmin(ImportExportModelAdmin): list_display = ('name', 'units') + search_fields = ('name', 'units') + class ParameterResource(ModelResource): """ Class for managing PartParameter data import/export """ @@ -282,10 +294,12 @@ class ParameterAdmin(ImportExportModelAdmin): list_display = ('part', 'template', 'data') + autocomplete_fields = ('part', 'template') + class PartCategoryParameterAdmin(admin.ModelAdmin): - pass + autocomplete_fields = ('category', 'parameter_template',) class PartSellPriceBreakAdmin(admin.ModelAdmin): @@ -303,6 +317,8 @@ class PartInternalPriceBreakAdmin(admin.ModelAdmin): list_display = ('part', 'quantity', 'price',) + autocomplete_fields = ('part',) + admin.site.register(models.Part, PartAdmin) admin.site.register(models.PartCategory, PartCategoryAdmin) diff --git a/InvenTree/part/api.py b/InvenTree/part/api.py index dbc1140214..c1b86b6528 100644 --- a/InvenTree/part/api.py +++ b/InvenTree/part/api.py @@ -583,6 +583,8 @@ class PartFilter(rest_filters.FilterSet): active = rest_filters.BooleanFilter() + virtual = rest_filters.BooleanFilter() + class PartList(generics.ListCreateAPIView): """ diff --git a/InvenTree/part/fixtures/part.yaml b/InvenTree/part/fixtures/part.yaml index 3c24690efc..77e808fd7f 100644 --- a/InvenTree/part/fixtures/part.yaml +++ b/InvenTree/part/fixtures/part.yaml @@ -69,6 +69,7 @@ name: 'Widget' description: 'A watchamacallit' category: 7 + salable: true assembly: true trackable: true tree_id: 0 @@ -83,6 +84,7 @@ name: 'Orphan' description: 'A part without a category' category: null + salable: true tree_id: 0 level: 0 lft: 0 @@ -95,6 +97,7 @@ name: 'Bob' description: 'Can we build it?' assembly: true + salable: true purchaseable: false category: 7 active: False @@ -113,6 +116,7 @@ description: 'A chair' is_template: True trackable: true + salable: true category: 7 tree_id: 1 level: 0 diff --git a/InvenTree/part/templates/part/detail.html b/InvenTree/part/templates/part/detail.html index ce78e445e1..de1d46596a 100644 --- a/InvenTree/part/templates/part/detail.html +++ b/InvenTree/part/templates/part/detail.html @@ -73,7 +73,7 @@
- {% include "filter_list.html" with id="purchaseorder" %} + {% include "filter_list.html" with id="partpurchaseorders" %}
@@ -703,12 +703,10 @@ }); onPanelLoad("purchase-orders", function() { - loadPurchaseOrderTable($("#purchase-order-table"), { - url: "{% url 'api-po-list' %}", - params: { - part: {{ part.id }}, - }, - }); + loadPartPurchaseOrderTable( + "#purchase-order-table", + {{ part.pk }}, + ); }); onPanelLoad("sales-orders", function() { diff --git a/InvenTree/stock/admin.py b/InvenTree/stock/admin.py index abd3db20cb..83de1d2484 100644 --- a/InvenTree/stock/admin.py +++ b/InvenTree/stock/admin.py @@ -63,6 +63,10 @@ class LocationAdmin(ImportExportModelAdmin): LocationInline, ] + autocomplete_fields = [ + 'parent', + ] + class StockItemResource(ModelResource): """ Class for managing StockItem data import/export """ @@ -136,20 +140,45 @@ class StockItemAdmin(ImportExportModelAdmin): 'batch', ] + autocomplete_fields = [ + 'belongs_to', + 'build', + 'customer', + 'location', + 'parent', + 'part', + 'purchase_order', + 'sales_order', + 'stocktake_user', + 'supplier_part', + ] + class StockAttachmentAdmin(admin.ModelAdmin): list_display = ('stock_item', 'attachment', 'comment') + autocomplete_fields = [ + 'stock_item', + ] + class StockTrackingAdmin(ImportExportModelAdmin): list_display = ('item', 'date', 'label') + autocomplete_fields = [ + 'item', + ] + class StockItemTestResultAdmin(admin.ModelAdmin): list_display = ('stock_item', 'test', 'result', 'value') + autocomplete_fields = [ + 'stock_item', + ] + admin.site.register(StockLocation, LocationAdmin) admin.site.register(StockItem, StockItemAdmin) diff --git a/InvenTree/stock/api.py b/InvenTree/stock/api.py index 8385041209..760a18c72c 100644 --- a/InvenTree/stock/api.py +++ b/InvenTree/stock/api.py @@ -10,7 +10,7 @@ from datetime import datetime, timedelta from django.core.exceptions import ValidationError as DjangoValidationError from django.conf.urls import url, include from django.http import JsonResponse -from django.db.models import Q +from django.db.models import Q, F from django.db import transaction from django.utils.translation import ugettext_lazy as _ @@ -304,6 +304,24 @@ class StockFilter(rest_filters.FilterSet): return queryset + available = rest_filters.BooleanFilter(label='Available', method='filter_available') + + def filter_available(self, queryset, name, value): + """ + Filter by whether the StockItem is "available" or not. + + Here, "available" means that the allocated quantity is less than the total quantity + """ + + if str2bool(value): + # The 'quantity' field is greater than the calculated 'allocated' field + queryset = queryset.filter(Q(quantity__gt=F('allocated'))) + else: + # The 'quantity' field is less than (or equal to) the calculated 'allocated' field + queryset = queryset.filter(Q(quantity__lte=F('allocated'))) + + return queryset + batch = rest_filters.CharFilter(label="Batch code filter (case insensitive)", lookup_expr='iexact') batch_regex = rest_filters.CharFilter(label="Batch code filter (regex)", field_name='batch', lookup_expr='iregex') diff --git a/InvenTree/stock/templates/stock/item_base.html b/InvenTree/stock/templates/stock/item_base.html index 0d5ab272d6..949c172e9e 100644 --- a/InvenTree/stock/templates/stock/item_base.html +++ b/InvenTree/stock/templates/stock/item_base.html @@ -252,7 +252,7 @@
{% object_link 'so-detail' allocation.line.order.id allocation.line.order as link %} {% decimal allocation.quantity as qty %} - {% blocktrans %}This stock item is allocated to Sales Order {{ link }} (Quantity: {{ qty }}){% endblocktrans %} + {% trans "This stock item is allocated to Sales Order" %} {{ link }} {% if qty < item.quantity %}({% trans "Quantity" %}: {{ qty }}){% endif %}
{% endfor %} @@ -260,7 +260,7 @@
{% object_link 'build-detail' allocation.build.id allocation.build %} {% decimal allocation.quantity as qty %} - {% blocktrans %}This stock item is allocated to Build {{ link }} (Quantity: {{ qty }}){% endblocktrans %} + {% trans "This stock item is allocated to Build Order" %} {{ link }} {% if qty < item.quantity %}({% trans "Quantity" %}: {{ qty }}){% endif %}
{% endfor %} diff --git a/InvenTree/templates/js/translated/build.js b/InvenTree/templates/js/translated/build.js index bcbbfcc6d1..0deec4f859 100644 --- a/InvenTree/templates/js/translated/build.js +++ b/InvenTree/templates/js/translated/build.js @@ -34,7 +34,12 @@ function buildFormFields() { reference: { prefix: global_settings.BUILDORDER_REFERENCE_PREFIX, }, - part: {}, + part: { + filters: { + assembly: true, + virtual: false, + } + }, title: {}, quantity: {}, parent: { @@ -1226,7 +1231,7 @@ function loadBuildOutputAllocationTable(buildInfo, output, options={}) { * * options: * - output: ID / PK of the associated build output (or null for untracked items) - * - source_location: ID / PK of the top-level StockLocation to take parts from (or null) + * - source_location: ID / PK of the top-level StockLocation to source stock from (or null) */ function allocateStockToBuild(build_id, part_id, bom_items, options={}) { @@ -1339,7 +1344,7 @@ function allocateStockToBuild(build_id, part_id, bom_items, options={}) { var html = ``; - // Render a "take from" input + // Render a "source location" input html += constructField( 'take_from', { @@ -1397,6 +1402,13 @@ function allocateStockToBuild(build_id, part_id, bom_items, options={}) { options, ); + // Add callback to "clear" button for take_from field + addClearCallback( + 'take_from', + take_from_field, + options, + ); + // Initialize stock item fields bom_items.forEach(function(bom_item) { initializeRelatedField( @@ -1406,6 +1418,7 @@ function allocateStockToBuild(build_id, part_id, bom_items, options={}) { filters: { bom_item: bom_item.pk, in_stock: true, + available: true, part_detail: true, location_detail: true, }, @@ -1456,14 +1469,7 @@ function allocateStockToBuild(build_id, part_id, bom_items, options={}) { ); }); - // Add callback to "clear" button for take_from field - addClearCallback( - 'take_from', - take_from_field, - options, - ); - - // Add button callbacks + // Add remove-row button callbacks $(options.modal).find('.button-row-remove').click(function() { var pk = $(this).attr('pk'); diff --git a/InvenTree/templates/js/translated/forms.js b/InvenTree/templates/js/translated/forms.js index 5af85d382e..def7e41358 100644 --- a/InvenTree/templates/js/translated/forms.js +++ b/InvenTree/templates/js/translated/forms.js @@ -730,6 +730,9 @@ function submitFormData(fields, options) { data = options.processBeforeUpload(data); } + // Show the progress spinner + $(options.modal).find('#modal-progress-spinner').show(); + // Submit data upload_func( options.url, @@ -737,10 +740,13 @@ function submitFormData(fields, options) { { method: options.method, success: function(response) { + $(options.modal).find('#modal-progress-spinner').hide(); handleFormSuccess(response, options); }, error: function(xhr) { + $(options.modal).find('#modal-progress-spinner').hide(); + switch (xhr.status) { case 400: handleFormErrors(xhr.responseJSON, fields, options); @@ -1713,6 +1719,9 @@ function renderModelData(name, model, data, parameters, options) { case 'salesorder': renderer = renderSalesOrder; break; + case 'salesordershipment': + renderer = renderSalesOrderShipment; + break; case 'manufacturerpart': renderer = renderManufacturerPart; break; diff --git a/InvenTree/templates/js/translated/modals.js b/InvenTree/templates/js/translated/modals.js index 4cd0be8cec..c01bb6c34a 100644 --- a/InvenTree/templates/js/translated/modals.js +++ b/InvenTree/templates/js/translated/modals.js @@ -72,6 +72,7 @@ function createNewModal(options={}) {
+

diff --git a/InvenTree/templates/js/translated/model_renderers.js b/InvenTree/templates/js/translated/model_renderers.js index 38ea7b70f0..710f67ad67 100644 --- a/InvenTree/templates/js/translated/model_renderers.js +++ b/InvenTree/templates/js/translated/model_renderers.js @@ -241,6 +241,23 @@ function renderSalesOrder(name, data, parameters, options) { } +// Renderer for "SalesOrderShipment" model +// eslint-disable-next-line no-unused-vars +function renderSalesOrderShipment(name, data, parameters, options) { + + var so_prefix = global_settings.SALESORDER_REFERENCE_PREFIX; + + var html = ` + ${so_prefix}${data.order_detail.reference} - {% trans "Shipment" %} ${data.reference} + + {% trans "Shipment ID" %}: ${data.pk} + + `; + + return html; +} + + // Renderer for "PartCategory" model // eslint-disable-next-line no-unused-vars function renderPartCategory(name, data, parameters, options) { diff --git a/InvenTree/templates/js/translated/order.js b/InvenTree/templates/js/translated/order.js index a471182399..fefa82475c 100644 --- a/InvenTree/templates/js/translated/order.js +++ b/InvenTree/templates/js/translated/order.js @@ -19,13 +19,17 @@ */ /* exported + allocateStockToSalesOrder, + completeShipment, createSalesOrder, + createSalesOrderShipment, editPurchaseOrderLineItem, exportOrder, loadPurchaseOrderLineItemTable, loadPurchaseOrderTable, loadSalesOrderAllocationTable, loadSalesOrderLineItemTable, + loadSalesOrderShipmentTable, loadSalesOrderTable, newPurchaseOrderFromOrderWizard, newSupplierPartFromOrderWizard, @@ -33,6 +37,160 @@ removePurchaseOrderLineItem, */ + +function salesOrderShipmentFields(options={}) { + var fields = { + order: {}, + reference: {}, + tracking_number: { + icon: 'fa-hashtag', + }, + }; + + // If order is specified, hide the order field + if (options.order) { + fields.order.value = options.order; + fields.order.hidden = true; + } + + return fields; +} + + +/* + * Complete a shipment + */ +function completeShipment(shipment_id) { + + // Request the list of stock items which will be shipped + inventreeGet(`/api/order/so/shipment/${shipment_id}/`, {}, { + success: function(shipment) { + var allocations = shipment.allocations; + + var html = ''; + + if (!allocations || allocations.length == 0) { + html = ` +
+ {% trans "No stock items have been allocated to this shipment" %} +
+ `; + } else { + html = ` + {% trans "The following stock items will be shipped" %} + + + + + + + + + `; + + allocations.forEach(function(allocation) { + + var part = allocation.part_detail; + var thumb = thumbnailImage(part.thumbnail || part.image); + + var stock = ''; + + if (allocation.serial) { + stock = `{% trans "Serial Number" %}: ${allocation.serial}`; + } else { + stock = `{% trans "Quantity" %}: ${allocation.quantity}`; + } + + html += ` + + + + + `; + }); + + html += ` + +
{% trans "Part" %}{% trans "Stock Item" %}
${thumb} ${part.full_name}${stock}
+ `; + } + + constructForm(`/api/order/so/shipment/${shipment_id}/ship/`, { + method: 'POST', + title: '{% trans "Complete Shipment" %}', + fields: { + tracking_number: {}, + }, + preFormContent: html, + confirm: true, + confirmMessage: '{% trans "Confirm Shipment" %}', + onSuccess: function(data) { + // Reload tables + $('#so-lines-table').bootstrapTable('refresh'); + $('#pending-shipments-table').bootstrapTable('refresh'); + $('#completed-shipments-table').bootstrapTable('refresh'); + } + }); + } + }); +} + + +// Open a dialog to create a new sales order shipment +function createSalesOrderShipment(options={}) { + + // Work out the next shipment number for the given order + inventreeGet( + '{% url "api-so-shipment-list" %}', + { + order: options.order, + }, + { + success: function(results) { + // "predict" the next reference number + var ref = results.length + 1; + + var found = false; + + while (!found) { + + var no_match = true; + + for (var ii = 0; ii < results.length; ii++) { + if (ref.toString() == results[ii].reference.toString()) { + no_match = false; + break; + } + } + + if (no_match) { + break; + } else { + ref++; + } + } + + var fields = salesOrderShipmentFields(options); + + fields.reference.value = ref; + fields.reference.prefix = global_settings.SALESORDER_REFERENCE_PREFIX + options.reference; + + constructForm('{% url "api-so-shipment-list" %}', { + method: 'POST', + fields: fields, + title: '{% trans "Create New Shipment" %}', + onSuccess: function(data) { + if (options.onSuccess) { + options.onSuccess(data); + } + } + }); + } + } + ); +} + + // Create a new SalesOrder function createSalesOrder(options={}) { @@ -295,7 +453,9 @@ function newPurchaseOrderFromOrderWizard(e) { */ function receivePurchaseOrderItems(order_id, line_items, options={}) { + // Zero items selected? if (line_items.length == 0) { + showAlertDialog( '{% trans "Select Line Items" %}', '{% trans "At least one line item must be selected" %}', @@ -601,6 +761,9 @@ function removePurchaseOrderLineItem(e) { } +/* + * Load a table displaying list of purchase orders + */ function loadPurchaseOrderTable(table, options) { /* Create a purchase-order table */ @@ -675,9 +838,10 @@ function loadPurchaseOrderTable(table, options) { { field: 'status', title: '{% trans "Status" %}', + switchable: true, sortable: true, formatter: function(value, row) { - return purchaseOrderStatusDisplay(row.status, row.status_text); + return purchaseOrderStatusDisplay(row.status); } }, { @@ -989,7 +1153,7 @@ function loadPurchaseOrderLineItemTable(table, options={}) { field: 'buttons', title: '', formatter: function(value, row, index, field) { - var html = `
`; + var html = `
`; var pk = row.pk; @@ -1013,6 +1177,9 @@ function loadPurchaseOrderLineItemTable(table, options={}) { } +/* + * Load table displaying list of sales orders + */ function loadSalesOrderTable(table, options) { options.params = options.params || {}; @@ -1095,7 +1262,7 @@ function loadSalesOrderTable(table, options) { field: 'status', title: '{% trans "Status" %}', formatter: function(value, row) { - return salesOrderStatusDisplay(row.status, row.status_text); + return salesOrderStatusDisplay(row.status); } }, { @@ -1123,6 +1290,493 @@ function loadSalesOrderTable(table, options) { } +/* + * Load a table displaying Shipment information against a particular order + */ +function loadSalesOrderShipmentTable(table, options={}) { + + options.table = table; + + options.params = options.params || {}; + + // Filter by order + options.params.order = options.order; + + // Filter by "shipped" status + options.params.shipped = options.shipped || false; + + var filters = loadTableFilters('salesordershipment'); + + for (var key in options.params) { + filters[key] = options.params[key]; + } + + setupFilterList('salesordershipment', $(table), options.filter_target); + + function makeShipmentActions(row) { + // Construct "actions" for the given shipment row + var pk = row.pk; + + var html = `
`; + + html += makeIconButton('fa-edit icon-blue', 'button-shipment-edit', pk, '{% trans "Edit shipment" %}'); + + if (!options.shipped) { + html += makeIconButton('fa-truck icon-green', 'button-shipment-ship', pk, '{% trans "Complete shipment" %}'); + } + + var enable_delete = row.allocations && row.allocations.length == 0; + + html += makeIconButton('fa-trash-alt icon-red', 'button-shipment-delete', pk, '{% trans "Delete shipment" %}', {disabled: !enable_delete}); + + html += `
`; + + return html; + + } + + function setupShipmentCallbacks() { + // Setup action button callbacks + + $(table).find('.button-shipment-edit').click(function() { + var pk = $(this).attr('pk'); + + var fields = salesOrderShipmentFields(); + + delete fields.order; + + constructForm(`/api/order/so/shipment/${pk}/`, { + fields: fields, + title: '{% trans "Edit Shipment" %}', + onSuccess: function() { + $(table).bootstrapTable('refresh'); + } + }); + }); + + $(table).find('.button-shipment-ship').click(function() { + var pk = $(this).attr('pk'); + + completeShipment(pk); + }); + + $(table).find('.button-shipment-delete').click(function() { + var pk = $(this).attr('pk'); + + constructForm(`/api/order/so/shipment/${pk}/`, { + title: '{% trans "Delete Shipment" %}', + method: 'DELETE', + onSuccess: function() { + $(table).bootstrapTable('refresh'); + } + }); + }); + } + + $(table).inventreeTable({ + url: '{% url "api-so-shipment-list" %}', + queryParams: filters, + original: options.params, + name: options.name || 'salesordershipment', + search: false, + paginationVAlign: 'bottom', + showColumns: true, + detailView: true, + detailViewByClick: false, + detailFilter: function(index, row) { + return row.allocations.length > 0; + }, + detailFormatter: function(index, row, element) { + return showAllocationSubTable(index, row, element, options); + }, + onPostBody: function() { + setupShipmentCallbacks(); + + // Auto-expand rows on the "pending" table + if (!options.shipped) { + $(table).bootstrapTable('expandAllRows'); + } + }, + formatNoMatches: function() { + return '{% trans "No matching shipments found" %}'; + }, + columns: [ + { + visible: false, + checkbox: true, + switchable: false, + }, + { + field: 'reference', + title: '{% trans "Shipment Reference" %}', + switchable: false, + }, + { + field: 'allocations', + title: '{% trans "Items" %}', + switchable: false, + sortable: true, + formatter: function(value, row) { + if (row && row.allocations) { + return row.allocations.length; + } else { + return '-'; + } + } + }, + { + field: 'shipment_date', + title: '{% trans "Shipment Date" %}', + sortable: true, + formatter: function(value, row) { + if (value) { + return value; + } else { + return '{% trans "Not shipped" %}'; + } + } + }, + { + field: 'tracking_number', + title: '{% trans "Tracking" %}', + }, + { + field: 'notes', + title: '{% trans "Notes" %}', + visible: false, + // TODO: Implement 'notes' field + }, + { + title: '', + switchable: false, + formatter: function(value, row) { + return makeShipmentActions(row); + } + } + ], + }); +} + + +/** + * Allocate stock items against a SalesOrder + * + * arguments: + * - order_id: The ID / PK value for the SalesOrder + * - lines: A list of SalesOrderLineItem objects to be allocated + * + * options: + * - source_location: ID / PK of the top-level StockLocation to source stock from (or null) + */ +function allocateStockToSalesOrder(order_id, line_items, options={}) { + + function renderLineItemRow(line_item, quantity) { + // Function to render a single line_item row + + var pk = line_item.pk; + + var part = line_item.part_detail; + + var thumb = thumbnailImage(part.thumbnail || part.image); + + var delete_button = `
`; + + delete_button += makeIconButton( + 'fa-times icon-red', + 'button-row-remove', + pk, + '{% trans "Remove row" %}', + ); + + delete_button += '
'; + + var quantity_input = constructField( + `items_quantity_${pk}`, + { + type: 'decimal', + min_value: 0, + value: quantity || 0, + title: '{% trans "Specify stock allocation quantity" %}', + required: true, + }, + { + hideLabels: true, + } + ); + + var stock_input = constructField( + `items_stock_item_${pk}`, + { + type: 'related field', + required: 'true', + }, + { + hideLabels: true, + } + ); + + var html = ` + + + ${thumb} ${part.full_name} + + + ${stock_input} + + + ${quantity_input} + + + + + {% trans "Part" %} + {% trans "Stock Item" %} + {% trans "Quantity" %} + + + + ${table_entries} + + `; + + constructForm(`/api/order/so/${order_id}/allocate/`, { + method: 'POST', + fields: { + shipment: { + filters: { + order: order_id, + shipped: false, + }, + value: options.shipment || null, + auto_fill: true, + } + }, + preFormContent: html, + confirm: true, + confirmMessage: '{% trans "Confirm stock allocation" %}', + title: '{% trans "Allocate Stock Items to Sales Order" %}', + afterRender: function(fields, opts) { + + // Initialize source location field + var take_from_field = { + name: 'take_from', + model: 'stocklocation', + api_url: '{% url "api-location-list" %}', + required: false, + type: 'related field', + value: options.source_location || null, + noResults: function(query) { + return '{% trans "No matching stock locations" %}'; + }, + }; + + initializeRelatedField( + take_from_field, + null, + opts + ); + + // Add callback to "clear" button for take_from field + addClearCallback( + 'take_from', + take_from_field, + opts, + ); + + // Initialize fields for each line item + line_items.forEach(function(line_item) { + var pk = line_item.pk; + + initializeRelatedField( + { + name: `items_stock_item_${pk}`, + api_url: '{% url "api-stock-list" %}', + filters: { + part: line_item.part, + in_stock: true, + part_detail: true, + location_detail: true, + available: true, + }, + model: 'stockitem', + required: true, + render_part_detail: true, + render_location_detail: true, + auto_fill: true, + onSelect: function(data, field, opts) { + // Adjust the 'quantity' field based on availability + + if (!('quantity' in data)) { + return; + } + + // Calculate the available quantity + var available = Math.max((data.quantity || 0) - (data.allocated || 0), 0); + + // Remaining quantity to be allocated? + var remaining = opts.quantity || available; + + // Maximum amount that we need + var desired = Math.min(available, remaining); + + updateFieldValue(`items_quantity_${pk}`, desired, {}, opts); + + }, + adjustFilters: function(filters) { + // Restrict query to the selected location + var location = getFormFieldValue( + 'take_from', + {}, + { + modal: opts.modal, + } + ); + + filters.location = location; + filters.cascade = true; + + // Exclude expired stock? + if (global_settings.STOCK_ENABLE_EXPIRY && !global_settings.STOCK_ALLOW_EXPIRED_SALE) { + filters.expired = false; + } + + return filters; + }, + noResults: function(query) { + return '{% trans "No matching stock items" %}'; + } + }, + null, + opts + ); + }); + + // Add remove-row button callbacks + $(opts.modal).find('.button-row-remove').click(function() { + var pk = $(this).attr('pk'); + + $(opts.modal).find(`#allocation_row_${pk}`).remove(); + }); + }, + onSubmit: function(fields, opts) { + // Extract data elements from the form + var data = { + items: [], + shipment: getFormFieldValue( + 'shipment', + {}, + opts + ) + }; + + var item_pk_values = []; + + line_items.forEach(function(item) { + + var pk = item.pk; + + var quantity = getFormFieldValue( + `items_quantity_${pk}`, + {}, + opts + ); + + var stock_item = getFormFieldValue( + `items_stock_item_${pk}`, + {}, + opts + ); + + if (quantity != null) { + data.items.push({ + line_item: pk, + stock_item: stock_item, + quantity: quantity, + }); + + item_pk_values.push(pk); + } + }); + + // Provide nested values + opts.nested = { + 'items': item_pk_values + }; + + inventreePut( + opts.url, + data, + { + method: 'POST', + success: function(response) { + $(opts.modal).modal('hide'); + + if (options.success) { + options.success(response); + } + }, + error: function(xhr) { + switch (xhr.status) { + case 400: + handleFormErrors(xhr.responseJSON, fields, opts); + break; + default: + $(opts.modal).modal('hide'); + showApiError(xhr); + break; + } + } + } + ); + }, + }); +} + + function loadSalesOrderAllocationTable(table, options={}) { /** * Load a table with SalesOrderAllocation items @@ -1146,7 +1800,7 @@ function loadSalesOrderAllocationTable(table, options={}) { $(table).inventreeTable({ url: '{% url "api-so-allocation-list" %}', queryParams: filters, - name: 'salesorderallocation', + name: options.name || 'salesorderallocation', groupBy: false, search: false, paginationVAlign: 'bottom', @@ -1204,7 +1858,7 @@ function loadSalesOrderAllocationTable(table, options={}) { field: 'quantity', title: '{% trans "Quantity" %}', sortable: true, - } + }, ] }); } @@ -1221,17 +1875,13 @@ function showAllocationSubTable(index, row, element, options) { // Construct a sub-table element var html = `
- -
+
`; element.html(html); var table = $(`#allocation-table-${row.pk}`); - // Is the parent SalesOrder pending? - var pending = options.status == {{ SalesOrderStatus.PENDING }}; - function setupCallbacks() { // Add callbacks for 'edit' buttons table.find('.button-allocation-edit').click(function() { @@ -1276,11 +1926,18 @@ function showAllocationSubTable(index, row, element, options) { table.bootstrapTable({ onPostBody: setupCallbacks, data: row.allocations, - showHeader: false, + showHeader: true, columns: [ + { + field: 'part_detail', + title: '{% trans "Part" %}', + formatter: function(part, row) { + return imageHoverIcon(part.thumbnail) + renderLink(part.full_name, `/part/${part.pk}/`); + } + }, { field: 'allocated', - title: '{% trans "Quantity" %}', + title: '{% trans "Stock Item" %}', formatter: function(value, row, index, field) { var text = ''; @@ -1298,32 +1955,30 @@ function showAllocationSubTable(index, row, element, options) { title: '{% trans "Location" %}', formatter: function(value, row, index, field) { - // Location specified - if (row.location) { + if (row.shipment_date) { + return `{% trans "Shipped to customer" %} - ${row.shipment_date}`; + } else if (row.location) { + // Location specified return renderLink( row.location_detail.pathstring || '{% trans "Location" %}', `/stock/location/${row.location}/` ); } else { - return `{% trans "Stock location not specified" %}`; + return `{% trans "Stock location not specified" %}`; } }, }, - // TODO: ?? What is 'po' field all about? - /* - { - field: 'po' - }, - */ { field: 'buttons', - title: '{% trans "Actions" %}', + title: '{% trans "" %}', formatter: function(value, row, index, field) { var html = `
`; var pk = row.pk; - if (pending) { + if (row.shipment_date) { + html += `{% trans "Shipped" %}`; + } else { html += makeIconButton('fa-edit icon-blue', 'button-allocation-edit', pk, '{% trans "Edit stock allocation" %}'); html += makeIconButton('fa-trash-alt icon-red', 'button-allocation-delete', pk, '{% trans "Delete stock allocation" %}'); } @@ -1362,8 +2017,9 @@ function showFulfilledSubTable(index, row, element, options) { queryParams: { part: row.part, sales_order: options.order, + location_detail: true, }, - showHeader: false, + showHeader: true, columns: [ { field: 'pk', @@ -1371,6 +2027,7 @@ function showFulfilledSubTable(index, row, element, options) { }, { field: 'stock', + title: '{% trans "Stock Item" %}', formatter: function(value, row) { var text = ''; if (row.serial && row.quantity == 1) { @@ -1382,11 +2039,25 @@ function showFulfilledSubTable(index, row, element, options) { return renderLink(text, `/stock/item/${row.pk}/`); }, }, - /* { - field: 'po' - }, - */ + field: 'location', + title: '{% trans "Location" %}', + formatter: function(value, row) { + if (row.customer) { + return renderLink( + '{% trans "Shipped to customer" %}', + `/company/${row.customer}/` + ); + } else if (row.location && row.location_detail) { + return renderLink( + row.location_detail.pathstring, + `/stock/location/${row.location}`, + ); + } else { + return `{% trans "Stock location not specified" %}`; + } + } + } ], }); } @@ -1430,7 +2101,7 @@ function loadSalesOrderLineItemTable(table, options={}) { var filter_target = options.filter_target || '#filter-list-sales-order-lines'; - setupFilterList('salesorderlineitems', $(table), filter_target); + setupFilterList('salesorderlineitem', $(table), filter_target); // Is the order pending? var pending = options.status == {{ SalesOrderStatus.PENDING }}; @@ -1452,7 +2123,7 @@ function loadSalesOrderLineItemTable(table, options={}) { */ { sortable: true, - sortName: 'part__name', + sortName: 'part_detail.name', field: 'part', title: '{% trans "Part" %}', switchable: false, @@ -1549,40 +2220,65 @@ function loadSalesOrderLineItemTable(table, options={}) { }, }, ); + + columns.push( + { + field: 'allocated', + title: '{% trans "Allocated" %}', + switchable: false, + sortable: true, + formatter: function(value, row, index, field) { + return makeProgressBar(row.allocated, row.quantity, { + id: `order-line-progress-${row.pk}`, + }); + }, + sorter: function(valA, valB, rowA, rowB) { + + var A = rowA.allocated; + var B = rowB.allocated; + + if (A == 0 && B == 0) { + return (rowA.quantity > rowB.quantity) ? 1 : -1; + } + + var progressA = parseFloat(A) / rowA.quantity; + var progressB = parseFloat(B) / rowB.quantity; + + return (progressA < progressB) ? 1 : -1; + } + }, + ); } - columns.push( - { - field: 'allocated', - title: pending ? '{% trans "Allocated" %}' : '{% trans "Fulfilled" %}', - switchable: false, - formatter: function(value, row, index, field) { + columns.push({ + field: 'shipped', + title: '{% trans "Shipped" %}', + switchable: false, + sortable: true, + formatter: function(value, row) { + return makeProgressBar(row.shipped, row.quantity, { + id: `order-line-shipped-${row.pk}` + }); + }, + sorter: function(valA, valB, rowA, rowB) { + var A = rowA.shipped; + var B = rowB.shipped; - var quantity = pending ? row.allocated : row.fulfilled; - return makeProgressBar(quantity, row.quantity, { - id: `order-line-progress-${row.pk}`, - }); - }, - sorter: function(valA, valB, rowA, rowB) { - - var A = pending ? rowA.allocated : rowA.fulfilled; - var B = pending ? rowB.allocated : rowB.fulfilled; - - if (A == 0 && B == 0) { - return (rowA.quantity > rowB.quantity) ? 1 : -1; - } - - var progressA = parseFloat(A) / rowA.quantity; - var progressB = parseFloat(B) / rowB.quantity; - - return (progressA < progressB) ? 1 : -1; + if (A == 0 && B == 0) { + return (rowA.quantity > rowB.quantity) ? 1 : -1; } - }, - { - field: 'notes', - title: '{% trans "Notes" %}', - }, - ); + + var progressA = parseFloat(A) / rowA.quantity; + var progressB = parseFloat(B) / rowB.quantity; + + return (progressA < progressB) ? 1 : -1; + } + }); + + columns.push({ + field: 'notes', + title: '{% trans "Notes" %}', + }); if (pending) { columns.push({ @@ -1615,7 +2311,21 @@ function loadSalesOrderLineItemTable(table, options={}) { } html += makeIconButton('fa-edit icon-blue', 'button-edit', pk, '{% trans "Edit line item" %}'); - html += makeIconButton('fa-trash-alt icon-red', 'button-delete', pk, '{% trans "Delete line item " %}'); + + var delete_disabled = false; + + var title = '{% trans "Delete line item" %}'; + + if (!!row.shipped) { + delete_disabled = true; + title = '{% trans "Cannot be deleted as items have been shipped" %}'; + } else if (!!row.allocated) { + delete_disabled = true; + title = '{% trans "Cannot be deleted as items have been allocated" %}'; + } + + // Prevent deletion of the line item if items have been allocated or shipped! + html += makeIconButton('fa-trash-alt icon-red', 'button-delete', pk, title, {disabled: delete_disabled}); html += `
`; @@ -1663,15 +2373,30 @@ function loadSalesOrderLineItemTable(table, options={}) { $(table).find('.button-add-by-sn').click(function() { var pk = $(this).attr('pk'); - // TODO: Migrate this form to the API forms inventreeGet(`/api/order/so-line/${pk}/`, {}, { success: function(response) { - launchModalForm('{% url "so-assign-serials" %}', { - success: reloadTable, - data: { - line: pk, - part: response.part, + + constructForm(`/api/order/so/${options.order}/allocate-serials/`, { + method: 'POST', + title: '{% trans "Allocate Serial Numbers" %}', + fields: { + line_item: { + value: pk, + hidden: true, + }, + quantity: {}, + serial_numbers: {}, + shipment: { + filters: { + order: options.order, + shipped: false, + }, + auto_fill: true, + } + }, + onSuccess: function() { + $(table).bootstrapTable('refresh'); } }); } @@ -1685,61 +2410,19 @@ function loadSalesOrderLineItemTable(table, options={}) { var line_item = $(table).bootstrapTable('getRowByUniqueId', pk); - // Quantity remaining to be allocated - var remaining = (line_item.quantity || 0) - (line_item.allocated || 0); - - if (remaining < 0) { - remaining = 0; - } - - var fields = { - // SalesOrderLineItem reference - line: { - hidden: true, - value: pk, - }, - item: { - filters: { - part_detail: true, - location_detail: true, - in_stock: true, - part: line_item.part, - exclude_so_allocation: options.order, - }, - auto_fill: true, - onSelect: function(data, field, opts) { - // Quantity available from this stock item - - if (!('quantity' in data)) { - return; - } - - // Calculate the available quantity - var available = Math.max((data.quantity || 0) - (data.allocated || 0), 0); - - // Maximum amount that we need - var desired = Math.min(available, remaining); - - updateFieldValue('quantity', desired, {}, opts); - } - }, - quantity: { - value: remaining, - }, - }; - - // Exclude expired stock? - if (global_settings.STOCK_ENABLE_EXPIRY && !global_settings.STOCK_ALLOW_EXPIRED_SALE) { - fields.item.filters.expired = false; - } - - constructForm( - `/api/order/so-allocation/`, + allocateStockToSalesOrder( + options.order, + [ + line_item + ], { - method: 'POST', - fields: fields, - title: '{% trans "Allocate Stock Item" %}', - onSuccess: reloadTable, + success: function() { + // Reload this table + $(table).bootstrapTable('refresh'); + + // Reload the pending shipment table + $('#pending-shipments-table').bootstrapTable('refresh'); + } } ); }); @@ -1810,7 +2493,7 @@ function loadSalesOrderLineItemTable(table, options={}) { $(table).inventreeTable({ onPostBody: setupCallbacks, name: 'salesorderlineitems', - sidePagination: 'server', + sidePagination: 'client', formatNoMatches: function() { return '{% trans "No matching line items" %}'; }, @@ -1826,7 +2509,7 @@ function loadSalesOrderLineItemTable(table, options={}) { // Order is pending return row.allocated > 0; } else { - return row.fulfilled > 0; + return row.shipped > 0; } }, detailFormatter: function(index, row, element) { diff --git a/InvenTree/templates/js/translated/part.js b/InvenTree/templates/js/translated/part.js index 0a27f2ba2f..c2e4bb15a2 100644 --- a/InvenTree/templates/js/translated/part.js +++ b/InvenTree/templates/js/translated/part.js @@ -29,6 +29,7 @@ loadParametricPartTable, loadPartCategoryTable, loadPartParameterTable, + loadPartPurchaseOrderTable, loadPartTable, loadPartTestTemplateTable, loadPartVariantTable, @@ -712,6 +713,180 @@ function loadPartParameterTable(table, url, options) { } +/* + * Construct a table showing a list of purchase orders for a given part. + * + * This requests API data from the PurchaseOrderLineItem endpoint + */ +function loadPartPurchaseOrderTable(table, part_id, options={}) { + + options.params = options.params || {}; + + // Construct API filterset + options.params.base_part = part_id; + options.params.part_detail = true; + options.params.order_detail = true; + + var filters = loadTableFilters('partpurchaseorders'); + + for (var key in options.params) { + filters[key] = options.params[key]; + } + + setupFilterList('purchaseorderlineitem', $(table), '#filter-list-partpurchaseorders'); + + $(table).inventreeTable({ + url: '{% url "api-po-line-list" %}', + queryParams: filters, + name: 'partpurchaseorders', + original: options.params, + showColumns: true, + uniqueId: 'pk', + formatNoMatches: function() { + return '{% trans "No purchase orders found" %}'; + }, + onPostBody: function() { + $(table).find('.button-line-receive').click(function() { + var pk = $(this).attr('pk'); + + var line_item = $(table).bootstrapTable('getRowByUniqueId', pk); + + if (!line_item) { + console.log('WARNING: getRowByUniqueId returned null'); + return; + } + + receivePurchaseOrderItems( + line_item.order, + [ + line_item, + ], + { + success: function() { + $(table).bootstrapTable('refresh'); + } + } + ); + }); + }, + columns: [ + { + field: 'order', + title: '{% trans "Purchase Order" %}', + switchable: false, + formatter: function(value, row) { + var order = row.order_detail; + + if (!order) { + return '-'; + } + + var ref = global_settings.PURCHASEORDER_REFERENCE_PREFIX + order.reference; + + var html = renderLink(ref, `/order/purchase-order/${order.pk}/`); + + html += purchaseOrderStatusDisplay( + order.status, + { + classes: 'float-right', + } + ); + + return html; + }, + }, + { + field: 'supplier', + title: '{% trans "Supplier" %}', + switchable: true, + formatter: function(value, row) { + + if (row.supplier_part_detail && row.supplier_part_detail.supplier_detail) { + var supp = row.supplier_part_detail.supplier_detail; + var html = imageHoverIcon(supp.thumbnail || supp.image); + + html += ' ' + renderLink(supp.name, `/company/${supp.pk}/`); + + return html; + } else { + return '-'; + } + } + }, + { + field: 'sku', + title: '{% trans "SKU" %}', + switchable: true, + formatter: function(value, row) { + if (row.supplier_part_detail) { + var supp = row.supplier_part_detail; + + return renderLink(supp.SKU, `/supplier-part/${supp.pk}/`); + } else { + return '-'; + } + }, + }, + { + field: 'mpn', + title: '{% trans "MPN" %}', + switchable: true, + formatter: function(value, row) { + if (row.supplier_part_detail && row.supplier_part_detail.manufacturer_part_detail) { + var manu = row.supplier_part_detail.manufacturer_part_detail; + return renderLink(manu.MPN, `/manufacturer-part/${manu.pk}/`); + } + } + }, + { + field: 'quantity', + title: '{% trans "Quantity" %}', + }, + { + field: 'received', + title: '{% trans "Received" %}', + switchable: true, + }, + { + field: 'purchase_price', + title: '{% trans "Price" %}', + switchable: true, + formatter: function(value, row) { + var formatter = new Intl.NumberFormat( + 'en-US', + { + style: 'currency', + currency: row.purchase_price_currency, + } + ); + + return formatter.format(row.purchase_price); + } + }, + { + field: 'actions', + title: '', + formatter: function(value, row) { + + if (row.received >= row.quantity) { + // Already recevied + return `{% trans "Received" %}`; + } else { + var html = `
`; + var pk = row.pk; + + html += makeIconButton('fa-sign-in-alt', 'button-line-receive', pk, '{% trans "Receive line item" %}'); + + html += `
`; + return html; + } + } + } + ], + }); +} + + function loadRelatedPartsTable(table, part_id, options={}) { /* * Load table of "related" parts diff --git a/InvenTree/templates/js/translated/stock.js b/InvenTree/templates/js/translated/stock.js index 02ea3c2c3b..d6de4fdd45 100644 --- a/InvenTree/templates/js/translated/stock.js +++ b/InvenTree/templates/js/translated/stock.js @@ -95,6 +95,9 @@ function serializeStockItem(pk, options={}) { }); } + options.confirm = true; + options.confirmMessage = '{% trans "Confirm Stock Serialization" %}'; + constructForm(url, options); } @@ -1275,7 +1278,14 @@ function loadStockTable(table, options) { } if (row.allocated) { - html += makeIconBadge('fa-bookmark', '{% trans "Stock item has been allocated" %}'); + + if (row.serial != null && row.quantity == 1) { + html += makeIconBadge('fa-bookmark icon-yellow', '{% trans "Serialized stock item has been allocated" %}'); + } else if (row.allocated >= row.quantity) { + html += makeIconBadge('fa-bookmark icon-yellow', '{% trans "Stock item has been fully allocated" %}'); + } else { + html += makeIconBadge('fa-bookmark', '{% trans "Stock item has been partially allocated" %}'); + } } if (row.belongs_to) { diff --git a/InvenTree/templates/js/translated/table_filters.js b/InvenTree/templates/js/translated/table_filters.js index 409192f74d..b7ba79e498 100644 --- a/InvenTree/templates/js/translated/table_filters.js +++ b/InvenTree/templates/js/translated/table_filters.js @@ -173,6 +173,11 @@ function getAvailableTableFilters(tableKey) { title: '{% trans "Is allocated" %}', description: '{% trans "Item has been allocated" %}', }, + available: { + type: 'bool', + title: '{% trans "Available" %}', + description: '{% trans "Stock is available for use" %}', + }, cascade: { type: 'bool', title: '{% trans "Include sublocations" %}', @@ -293,6 +298,10 @@ function getAvailableTableFilters(tableKey) { type: 'bool', title: '{% trans "Overdue" %}', }, + assigned_to_me: { + type: 'bool', + title: '{% trans "Assigned to me" %}', + }, }; } @@ -305,6 +314,7 @@ function getAvailableTableFilters(tableKey) { }, }; } + // Filters for the PurchaseOrder table if (tableKey == 'purchaseorder') { @@ -321,6 +331,10 @@ function getAvailableTableFilters(tableKey) { type: 'bool', title: '{% trans "Overdue" %}', }, + assigned_to_me: { + type: 'bool', + title: '{% trans "Assigned to me" %}', + }, }; } @@ -341,6 +355,15 @@ function getAvailableTableFilters(tableKey) { }; } + if (tableKey == 'salesorderlineitem') { + return { + completed: { + type: 'bool', + title: '{% trans "Completed" %}', + }, + }; + } + if (tableKey == 'supplier-part') { return { active: { diff --git a/InvenTree/users/models.py b/InvenTree/users/models.py index 7145d4dc68..7c1d921061 100644 --- a/InvenTree/users/models.py +++ b/InvenTree/users/models.py @@ -135,9 +135,10 @@ class RuleSet(models.Model): 'sales_order': [ 'company_company', 'order_salesorder', + 'order_salesorderallocation', 'order_salesorderattachment', 'order_salesorderlineitem', - 'order_salesorderallocation', + 'order_salesordershipment', ] } @@ -477,6 +478,34 @@ class Owner(models.Model): owner: Returns the Group or User instance combining the owner_type and owner_id fields """ + @classmethod + def get_owners_matching_user(cls, user): + """ + Return all "owner" objects matching the provided user: + + A) An exact match for the user + B) Any groups that the user is a part of + """ + + user_type = ContentType.objects.get(app_label='auth', model='user') + group_type = ContentType.objects.get(app_label='auth', model='group') + + owners = [] + + try: + owners.append(cls.objects.get(owner_id=user.pk, owner_type=user_type)) + except: + pass + + for group in user.groups.all(): + try: + owner = cls.objects.get(owner_id=group.pk, owner_type=group_type) + owners.append(owner) + except: + pass + + return owners + @staticmethod def get_api_url(): return reverse('api-owner-list') diff --git a/README.md b/README.md index ba3d35e402..d4fbc2c046 100644 --- a/README.md +++ b/README.md @@ -6,10 +6,7 @@ [![License: MIT](https://img.shields.io/badge/License-MIT-yellow.svg)](https://opensource.org/licenses/MIT) [![Coverage Status](https://coveralls.io/repos/github/inventree/InvenTree/badge.svg)](https://coveralls.io/github/inventree/InvenTree) [![Crowdin](https://badges.crowdin.net/inventree/localized.svg)](https://crowdin.com/project/inventree) -![PEP](https://github.com/inventree/inventree/actions/workflows/style.yaml/badge.svg) -![SQLite](https://github.com/inventree/inventree/actions/workflows/coverage.yaml/badge.svg) -![MySQL](https://github.com/inventree/inventree/actions/workflows/mysql.yaml/badge.svg) -![PostgreSQL](https://github.com/inventree/inventree/actions/workflows/postgresql.yaml/badge.svg) +![CI](https://github.com/inventree/inventree/actions/workflows/qc_checks.yaml/badge.svg) InvenTree is an open-source Inventory Management System which provides powerful low-level stock control and part tracking. The core of the InvenTree system is a Python/Django database backend which provides an admin interface (web-based) and a JSON API for interaction with external interfaces and applications. diff --git a/package-lock.json b/package-lock.json new file mode 100644 index 0000000000..386cf82698 --- /dev/null +++ b/package-lock.json @@ -0,0 +1,3788 @@ +{ + "name": "InvenTree", + "lockfileVersion": 2, + "requires": true, + "packages": { + "": { + "dependencies": { + "eslint": "^8.3.0", + "eslint-config-google": "^0.14.0", + "markuplint": "^1.11.4" + } + }, + "node_modules/@babel/code-frame": { + "version": "7.16.0", + "resolved": "https://registry.npmjs.org/@babel/code-frame/-/code-frame-7.16.0.tgz", + "integrity": "sha512-IF4EOMEV+bfYwOmNxGzSnjR2EmQod7f1UXOpZM3l4i4o4QNwzjtJAu/HxdjHq0aYBvdqMuQEY1eg0nqW9ZPORA==", + "dependencies": { + "@babel/highlight": "^7.16.0" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/helper-validator-identifier": { + "version": "7.15.7", + "resolved": "https://registry.npmjs.org/@babel/helper-validator-identifier/-/helper-validator-identifier-7.15.7.tgz", + "integrity": "sha512-K4JvCtQqad9OY2+yTU8w+E82ywk/fe+ELNlt1G8z3bVGlZfn/hOcQQsUhGhW/N+tb3fxK800wLtKOE/aM0m72w==", + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/highlight": { + "version": "7.16.0", + "resolved": "https://registry.npmjs.org/@babel/highlight/-/highlight-7.16.0.tgz", + "integrity": "sha512-t8MH41kUQylBtu2+4IQA3atqevA2lRgqA2wyVB/YiWmsDSuylZZuXOUy9ric30hfzauEFfdsuk/eXTRrGrfd0g==", + "dependencies": { + "@babel/helper-validator-identifier": "^7.15.7", + "chalk": "^2.0.0", + "js-tokens": "^4.0.0" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@eslint/eslintrc": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/@eslint/eslintrc/-/eslintrc-1.0.4.tgz", + "integrity": "sha512-h8Vx6MdxwWI2WM8/zREHMoqdgLNXEL4QX3MWSVMdyNJGvXVOs+6lp+m2hc3FnuMHDc4poxFNI20vCk0OmI4G0Q==", + "dependencies": { + "ajv": "^6.12.4", + "debug": "^4.3.2", + "espree": "^9.0.0", + "globals": "^13.9.0", + "ignore": "^4.0.6", + "import-fresh": "^3.2.1", + "js-yaml": "^4.1.0", + "minimatch": "^3.0.4", + "strip-json-comments": "^3.1.1" + }, + "engines": { + "node": "^12.22.0 || ^14.17.0 || >=16.0.0" + } + }, + "node_modules/@humanwhocodes/config-array": { + "version": "0.6.0", + "resolved": "https://registry.npmjs.org/@humanwhocodes/config-array/-/config-array-0.6.0.tgz", + "integrity": "sha512-JQlEKbcgEUjBFhLIF4iqM7u/9lwgHRBcpHrmUNCALK0Q3amXN6lxdoXLnF0sm11E9VqTmBALR87IlUg1bZ8A9A==", + "dependencies": { + "@humanwhocodes/object-schema": "^1.2.0", + "debug": "^4.1.1", + "minimatch": "^3.0.4" + }, + "engines": { + "node": ">=10.10.0" + } + }, + "node_modules/@humanwhocodes/object-schema": { + "version": "1.2.1", + "resolved": "https://registry.npmjs.org/@humanwhocodes/object-schema/-/object-schema-1.2.1.tgz", + "integrity": "sha512-ZnQMnLV4e7hDlUvw8H+U8ASL02SS2Gn6+9Ac3wGGLIe7+je2AeAOxPY+izIPJDfFDb7eDjev0Us8MO1iFRN8hA==" + }, + "node_modules/@markuplint/file-resolver": { + "version": "1.5.0", + "resolved": "https://registry.npmjs.org/@markuplint/file-resolver/-/file-resolver-1.5.0.tgz", + "integrity": "sha512-UK3Nyi9AGOBvcG0Ea+0Ar3uzoAZg0p2+w+4Erw9zR/1DHWSmUOwRmDZxt5kMbEcPkv16ItJcSrfbLeX5CsvLdA==", + "dependencies": { + "@markuplint/ml-config": "^1.3.0", + "cosmiconfig": "^7.0.0", + "glob": "^7.1.7", + "minimatch": "^3.0.4", + "tslib": "^2.3.0" + } + }, + "node_modules/@markuplint/html-parser": { + "version": "1.7.3", + "resolved": "https://registry.npmjs.org/@markuplint/html-parser/-/html-parser-1.7.3.tgz", + "integrity": "sha512-WrpePphZLA6G4R3kNlIiiBBxeDVvBa0p2GI+WGMxMQZQYr9/1KAQFNNhwcBhySVGIsd5hW9fm8SysjCgF+K7Cw==", + "dependencies": { + "@markuplint/ml-ast": "^1.6.0", + "@markuplint/parser-utils": "^1.6.3", + "parse5": "^6.0.1", + "tslib": "^2.3.0" + } + }, + "node_modules/@markuplint/html-spec": { + "version": "1.8.2", + "resolved": "https://registry.npmjs.org/@markuplint/html-spec/-/html-spec-1.8.2.tgz", + "integrity": "sha512-TYUg6NEIq+tDqmLfOBZIwRNBGW+0BxnqP/Wqxc0+hjCTLrAH/PEDOR1JUwkJNZG/65VGVDEteZ8A8UPAQ1/v4g==", + "dependencies": { + "@markuplint/ml-spec": "^1.7.0" + } + }, + "node_modules/@markuplint/i18n": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/@markuplint/i18n/-/i18n-1.2.0.tgz", + "integrity": "sha512-bQ8AMjDGV6PQ9M0jTTy+J+Lbz+a1sJ5y/KSqUmhTvmwdcKAs5qn+eZwP1jzfx+ooi19+2q0HfSNsM3eW+9k3Vg==" + }, + "node_modules/@markuplint/ml-ast": { + "version": "1.6.0", + "resolved": "https://registry.npmjs.org/@markuplint/ml-ast/-/ml-ast-1.6.0.tgz", + "integrity": "sha512-xJgfnIQZDH+BrNP4Ppx88W4G8aLyOodXSIWcYMb15Lm/jEQks3YLbsGfYohBj+TcoTtQ62ZGhMcrXVPwZLbahQ==", + "dependencies": { + "tslib": "^2.3.0" + } + }, + "node_modules/@markuplint/ml-config": { + "version": "1.3.0", + "resolved": "https://registry.npmjs.org/@markuplint/ml-config/-/ml-config-1.3.0.tgz", + "integrity": "sha512-2GqA2hwums+DxE5GxkvFAkeCgJ4yPkRXkrdCNbFj9FiFmzVO3xikoOGmxcR0ol9oaXFfVnxoc9XFCfknPo/oMg==" + }, + "node_modules/@markuplint/ml-core": { + "version": "1.9.0", + "resolved": "https://registry.npmjs.org/@markuplint/ml-core/-/ml-core-1.9.0.tgz", + "integrity": "sha512-KpT6rc4IWiPSUBrrB01dXEYK4uMmsP53Lc6Ooy7R7IDSjp0UbIZoouEVPSgMs0yfy/TurqQwT8VL8GEpkEABtA==", + "dependencies": { + "@markuplint/i18n": "^1.2.0", + "@markuplint/ml-ast": "^1.6.0", + "@markuplint/ml-config": "^1.3.0", + "@markuplint/ml-spec": "^1.7.0", + "css-selector-parser": "^1.4.1", + "tslib": "^2.3.0" + } + }, + "node_modules/@markuplint/ml-spec": { + "version": "1.7.0", + "resolved": "https://registry.npmjs.org/@markuplint/ml-spec/-/ml-spec-1.7.0.tgz", + "integrity": "sha512-UZFz+ktT1cmkwYZ4JlNGO+PldTmmP3qQjfR6D94RSLC7A5kNhx+qDx4lEA709UOd23gnyZNCaYCw6dGi+oAtXg==", + "dependencies": { + "tslib": "^2.3.0" + } + }, + "node_modules/@markuplint/parser-utils": { + "version": "1.6.3", + "resolved": "https://registry.npmjs.org/@markuplint/parser-utils/-/parser-utils-1.6.3.tgz", + "integrity": "sha512-thtarMmaMB1cKZqOJ9Ts6tO9C/h6qX5cpvSPaFTBngDtdOfMpNfll/Vcav7W9KouzkqB0q8hzq4ksEazT/cOKw==", + "dependencies": { + "@markuplint/ml-ast": "^1.6.0", + "tslib": "^2.3.0", + "uuid": "^8.3.2" + } + }, + "node_modules/@markuplint/rules": { + "version": "1.10.4", + "resolved": "https://registry.npmjs.org/@markuplint/rules/-/rules-1.10.4.tgz", + "integrity": "sha512-AB+q4/fUNH2EJfQXHRYKQAQQnqHnODByPrEK4TzKLpI72V54HjIi8+tDMmqN4uiWBV6nliYI+uysKcRYDuPMog==", + "dependencies": { + "@markuplint/html-spec": "^1.8.2", + "@markuplint/ml-core": "^1.9.0", + "@markuplint/ml-spec": "^1.7.0", + "tslib": "^2.3.0" + } + }, + "node_modules/@types/minimist": { + "version": "1.2.2", + "resolved": "https://registry.npmjs.org/@types/minimist/-/minimist-1.2.2.tgz", + "integrity": "sha512-jhuKLIRrhvCPLqwPcx6INqmKeiA5EWrsCOPhrlFSrbrmU4ZMPjj5Ul/oLCMDO98XRUIwVm78xICz4EPCektzeQ==" + }, + "node_modules/@types/normalize-package-data": { + "version": "2.4.1", + "resolved": "https://registry.npmjs.org/@types/normalize-package-data/-/normalize-package-data-2.4.1.tgz", + "integrity": "sha512-Gj7cI7z+98M282Tqmp2K5EIsoouUEzbBJhQQzDE3jSIRk6r9gsz0oUokqIUR4u1R3dMHo0pDHM7sNOHyhulypw==" + }, + "node_modules/@types/parse-json": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/@types/parse-json/-/parse-json-4.0.0.tgz", + "integrity": "sha512-//oorEZjL6sbPcKUaCdIGlIUeH26mgzimjBB77G6XRgnDl/L5wOnpyBGRe/Mmf5CVW3PwEBE1NjiMZ/ssFh4wA==" + }, + "node_modules/acorn": { + "version": "8.6.0", + "resolved": "https://registry.npmjs.org/acorn/-/acorn-8.6.0.tgz", + "integrity": "sha512-U1riIR+lBSNi3IbxtaHOIKdH8sLFv3NYfNv8sg7ZsNhcfl4HF2++BfqqrNAxoCLQW1iiylOj76ecnaUxz+z9yw==", + "bin": { + "acorn": "bin/acorn" + }, + "engines": { + "node": ">=0.4.0" + } + }, + "node_modules/acorn-jsx": { + "version": "5.3.2", + "resolved": "https://registry.npmjs.org/acorn-jsx/-/acorn-jsx-5.3.2.tgz", + "integrity": "sha512-rq9s+JNhf0IChjtDXxllJ7g41oZk5SlXtp0LHwyA5cejwn7vKmKp4pPri6YEePv2PU65sAsegbXtIinmDFDXgQ==", + "peerDependencies": { + "acorn": "^6.0.0 || ^7.0.0 || ^8.0.0" + } + }, + "node_modules/ajv": { + "version": "6.12.6", + "resolved": "https://registry.npmjs.org/ajv/-/ajv-6.12.6.tgz", + "integrity": "sha512-j3fVLgvTo527anyYyJOGTYJbG+vnnQYvE0m5mmkc1TK+nxAppkCLMIL0aZ4dblVCNoGShhm+kzE4ZUykBoMg4g==", + "dependencies": { + "fast-deep-equal": "^3.1.1", + "fast-json-stable-stringify": "^2.0.0", + "json-schema-traverse": "^0.4.1", + "uri-js": "^4.2.2" + }, + "funding": { + "type": "github", + "url": "https://github.com/sponsors/epoberezkin" + } + }, + "node_modules/ansi-colors": { + "version": "4.1.1", + "resolved": "https://registry.npmjs.org/ansi-colors/-/ansi-colors-4.1.1.tgz", + "integrity": "sha512-JoX0apGbHaUJBNl6yF+p6JAFYZ666/hhCGKN5t9QFjbJQKUU/g8MNbFDbvfrgKXvI1QpZplPOnwIo99lX/AAmA==", + "engines": { + "node": ">=6" + } + }, + "node_modules/ansi-regex": { + "version": "5.0.1", + "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-5.0.1.tgz", + "integrity": "sha512-quJQXlTSUGL2LH9SUXo8VwsY4soanhgo6LNSm84E1LBcE8s3O0wpdiRzyR9z/ZZJMlMWv37qOOb9pdJlMUEKFQ==", + "engines": { + "node": ">=8" + } + }, + "node_modules/ansi-styles": { + "version": "3.2.1", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-3.2.1.tgz", + "integrity": "sha512-VT0ZI6kZRdTh8YyJw3SMbYm/u+NqfsAxEpWO0Pf9sq8/e94WxxOpPKx9FR1FlyCtOVDNOQ+8ntlqFxiRc+r5qA==", + "dependencies": { + "color-convert": "^1.9.0" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/argparse": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/argparse/-/argparse-2.0.1.tgz", + "integrity": "sha512-8+9WqebbFzpX9OR+Wa6O29asIogeRMzcGtAINdpMHHyAg10f05aSFVBbcEqGf/PXw1EjAZ+q2/bEBg3DvurK3Q==" + }, + "node_modules/arrify": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/arrify/-/arrify-1.0.1.tgz", + "integrity": "sha1-iYUI2iIm84DfkEcoRWhJwVAaSw0=", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/balanced-match": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/balanced-match/-/balanced-match-1.0.2.tgz", + "integrity": "sha512-3oSeUO0TMV67hN1AmbXsK4yaqU7tjiHlbxRDZOpH0KW9+CeX4bRAaX0Anxt0tx2MrpRpWwQaPwIlISEJhYU5Pw==" + }, + "node_modules/brace-expansion": { + "version": "1.1.11", + "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-1.1.11.tgz", + "integrity": "sha512-iCuPHDFgrHX7H2vEI/5xpz07zSHB00TpugqhmYtVmMO6518mCuRMoOYFldEBl0g187ufozdaHgWKcYFb61qGiA==", + "dependencies": { + "balanced-match": "^1.0.0", + "concat-map": "0.0.1" + } + }, + "node_modules/callsites": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/callsites/-/callsites-3.1.0.tgz", + "integrity": "sha512-P8BjAsXvZS+VIDUI11hHCQEv74YT67YUi5JJFNWIqL235sBmjX4+qx9Muvls5ivyNENctx46xQLQ3aTuE7ssaQ==", + "engines": { + "node": ">=6" + } + }, + "node_modules/camelcase": { + "version": "5.3.1", + "resolved": "https://registry.npmjs.org/camelcase/-/camelcase-5.3.1.tgz", + "integrity": "sha512-L28STB170nwWS63UjtlEOE3dldQApaJXZkOI1uMFfzf3rRuPegHaHesyee+YxQ+W6SvRDQV6UrdOdRiR153wJg==", + "engines": { + "node": ">=6" + } + }, + "node_modules/camelcase-keys": { + "version": "6.2.2", + "resolved": "https://registry.npmjs.org/camelcase-keys/-/camelcase-keys-6.2.2.tgz", + "integrity": "sha512-YrwaA0vEKazPBkn0ipTiMpSajYDSe+KjQfrjhcBMxJt/znbvlHd8Pw/Vamaz5EB4Wfhs3SUR3Z9mwRu/P3s3Yg==", + "dependencies": { + "camelcase": "^5.3.1", + "map-obj": "^4.0.0", + "quick-lru": "^4.0.1" + }, + "engines": { + "node": ">=8" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/chalk": { + "version": "2.4.2", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-2.4.2.tgz", + "integrity": "sha512-Mti+f9lpJNcwF4tWV8/OrTTtF1gZi+f8FqlyAdouralcFWFQWF2+NgCHShjkCb+IFBLq9buZwE1xckQU4peSuQ==", + "dependencies": { + "ansi-styles": "^3.2.1", + "escape-string-regexp": "^1.0.5", + "supports-color": "^5.3.0" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/cli-color": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/cli-color/-/cli-color-2.0.1.tgz", + "integrity": "sha512-eBbxZF6fqPUNnf7CLAFOersUnyYzv83tHFLSlts+OAHsNendaqv2tHCq+/MO+b3Y+9JeoUlIvobyxG/Z8GNeOg==", + "dependencies": { + "d": "^1.0.1", + "es5-ext": "^0.10.53", + "es6-iterator": "^2.0.3", + "memoizee": "^0.4.15", + "timers-ext": "^0.1.7" + }, + "engines": { + "node": ">=0.10" + } + }, + "node_modules/color-convert": { + "version": "1.9.3", + "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-1.9.3.tgz", + "integrity": "sha512-QfAUtd+vFdAtFQcC8CCyYt1fYWxSqAiK2cSD6zDB8N3cpsEBAvRxp9zOGg6G/SHHJYAT88/az/IuDGALsNVbGg==", + "dependencies": { + "color-name": "1.1.3" + } + }, + "node_modules/color-name": { + "version": "1.1.3", + "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.3.tgz", + "integrity": "sha1-p9BVi9icQveV3UIyj3QIMcpTvCU=" + }, + "node_modules/concat-map": { + "version": "0.0.1", + "resolved": "https://registry.npmjs.org/concat-map/-/concat-map-0.0.1.tgz", + "integrity": "sha1-2Klr13/Wjfd5OnMDajug1UBdR3s=" + }, + "node_modules/cosmiconfig": { + "version": "7.0.1", + "resolved": "https://registry.npmjs.org/cosmiconfig/-/cosmiconfig-7.0.1.tgz", + "integrity": "sha512-a1YWNUV2HwGimB7dU2s1wUMurNKjpx60HxBB6xUM8Re+2s1g1IIfJvFR0/iCF+XHdE0GMTKTuLR32UQff4TEyQ==", + "dependencies": { + "@types/parse-json": "^4.0.0", + "import-fresh": "^3.2.1", + "parse-json": "^5.0.0", + "path-type": "^4.0.0", + "yaml": "^1.10.0" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/cross-spawn": { + "version": "7.0.3", + "resolved": "https://registry.npmjs.org/cross-spawn/-/cross-spawn-7.0.3.tgz", + "integrity": "sha512-iRDPJKUPVEND7dHPO8rkbOnPpyDygcDFtWjpeWNCgy8WP2rXcxXL8TskReQl6OrB2G7+UJrags1q15Fudc7G6w==", + "dependencies": { + "path-key": "^3.1.0", + "shebang-command": "^2.0.0", + "which": "^2.0.1" + }, + "engines": { + "node": ">= 8" + } + }, + "node_modules/cross-spawn/node_modules/which": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/which/-/which-2.0.2.tgz", + "integrity": "sha512-BLI3Tl1TW3Pvl70l3yq3Y64i+awpwXqsGBYWkkqMtnbXgrMD+yj7rhW0kuEDxzJaYXGjEW5ogapKNMEKNMjibA==", + "dependencies": { + "isexe": "^2.0.0" + }, + "bin": { + "node-which": "bin/node-which" + }, + "engines": { + "node": ">= 8" + } + }, + "node_modules/css-selector-parser": { + "version": "1.4.1", + "resolved": "https://registry.npmjs.org/css-selector-parser/-/css-selector-parser-1.4.1.tgz", + "integrity": "sha512-HYPSb7y/Z7BNDCOrakL4raGO2zltZkbeXyAd6Tg9obzix6QhzxCotdBl6VT0Dv4vZfJGVz3WL/xaEI9Ly3ul0g==" + }, + "node_modules/d": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/d/-/d-1.0.1.tgz", + "integrity": "sha512-m62ShEObQ39CfralilEQRjH6oAMtNCV1xJyEx5LpRYUVN+EviphDgUc/F3hnYbADmkiNs67Y+3ylmlG7Lnu+FA==", + "dependencies": { + "es5-ext": "^0.10.50", + "type": "^1.0.1" + } + }, + "node_modules/debug": { + "version": "4.3.3", + "resolved": "https://registry.npmjs.org/debug/-/debug-4.3.3.tgz", + "integrity": "sha512-/zxw5+vh1Tfv+4Qn7a5nsbcJKPaSvCDhojn6FEl9vupwK2VCSDtEiEtqr8DFtzYFOdz63LBkxec7DYuc2jon6Q==", + "dependencies": { + "ms": "2.1.2" + }, + "engines": { + "node": ">=6.0" + }, + "peerDependenciesMeta": { + "supports-color": { + "optional": true + } + } + }, + "node_modules/decamelize": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/decamelize/-/decamelize-1.2.0.tgz", + "integrity": "sha1-9lNNFRSCabIDUue+4m9QH5oZEpA=", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/decamelize-keys": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/decamelize-keys/-/decamelize-keys-1.1.0.tgz", + "integrity": "sha1-0XGoeTMlKAfrPLYdwcFEXQeN8tk=", + "dependencies": { + "decamelize": "^1.1.0", + "map-obj": "^1.0.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/decamelize-keys/node_modules/map-obj": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/map-obj/-/map-obj-1.0.1.tgz", + "integrity": "sha1-2TPOuSBdgr3PSIb2dCvcK03qFG0=", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/deep-is": { + "version": "0.1.4", + "resolved": "https://registry.npmjs.org/deep-is/-/deep-is-0.1.4.tgz", + "integrity": "sha512-oIPzksmTg4/MriiaYGO+okXDT7ztn/w3Eptv/+gSIdMdKsJo0u4CfYNFJPy+4SKMuCqGw2wxnA+URMg3t8a/bQ==" + }, + "node_modules/detect-installed": { + "version": "2.0.4", + "resolved": "https://registry.npmjs.org/detect-installed/-/detect-installed-2.0.4.tgz", + "integrity": "sha1-oIUEZefD68/5eda2U1rTRLgN18U=", + "dependencies": { + "get-installed-path": "^2.0.3" + }, + "engines": { + "node": ">=4", + "npm": ">=2" + } + }, + "node_modules/doctrine": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/doctrine/-/doctrine-3.0.0.tgz", + "integrity": "sha512-yS+Q5i3hBf7GBkd4KG8a7eBNNWNGLTaEwwYWUijIYM7zrlYDM0BFXHjjPWlWZ1Rg7UaddZeIDmi9jF3HmqiQ2w==", + "dependencies": { + "esutils": "^2.0.2" + }, + "engines": { + "node": ">=6.0.0" + } + }, + "node_modules/eastasianwidth": { + "version": "0.2.0", + "resolved": "https://registry.npmjs.org/eastasianwidth/-/eastasianwidth-0.2.0.tgz", + "integrity": "sha512-I88TYZWc9XiYHRQ4/3c5rjjfgkjhLyW2luGIheGERbNQ6OY7yTybanSpDXZa8y7VUP9YmDcYa+eyq4ca7iLqWA==" + }, + "node_modules/end-of-stream": { + "version": "1.4.4", + "resolved": "https://registry.npmjs.org/end-of-stream/-/end-of-stream-1.4.4.tgz", + "integrity": "sha512-+uw1inIHVPQoaVuHzRyXd21icM+cnt4CzD5rW+NC1wjOUSTOs+Te7FOv7AhN7vS9x/oIyhLP5PR1H+phQAHu5Q==", + "dependencies": { + "once": "^1.4.0" + } + }, + "node_modules/enquirer": { + "version": "2.3.6", + "resolved": "https://registry.npmjs.org/enquirer/-/enquirer-2.3.6.tgz", + "integrity": "sha512-yjNnPr315/FjS4zIsUxYguYUPP2e1NK4d7E7ZOLiyYCcbFBiTMyID+2wvm2w6+pZ/odMA7cRkjhsPbltwBOrLg==", + "dependencies": { + "ansi-colors": "^4.1.1" + }, + "engines": { + "node": ">=8.6" + } + }, + "node_modules/error-ex": { + "version": "1.3.2", + "resolved": "https://registry.npmjs.org/error-ex/-/error-ex-1.3.2.tgz", + "integrity": "sha512-7dFHNmqeFSEt2ZBsCriorKnn3Z2pj+fd9kmI6QoWw4//DL+icEBfc0U7qJCisqrTsKTjw4fNFy2pW9OqStD84g==", + "dependencies": { + "is-arrayish": "^0.2.1" + } + }, + "node_modules/es5-ext": { + "version": "0.10.53", + "resolved": "https://registry.npmjs.org/es5-ext/-/es5-ext-0.10.53.tgz", + "integrity": "sha512-Xs2Stw6NiNHWypzRTY1MtaG/uJlwCk8kH81920ma8mvN8Xq1gsfhZvpkImLQArw8AHnv8MT2I45J3c0R8slE+Q==", + "dependencies": { + "es6-iterator": "~2.0.3", + "es6-symbol": "~3.1.3", + "next-tick": "~1.0.0" + } + }, + "node_modules/es6-iterator": { + "version": "2.0.3", + "resolved": "https://registry.npmjs.org/es6-iterator/-/es6-iterator-2.0.3.tgz", + "integrity": "sha1-p96IkUGgWpSwhUQDstCg+/qY87c=", + "dependencies": { + "d": "1", + "es5-ext": "^0.10.35", + "es6-symbol": "^3.1.1" + } + }, + "node_modules/es6-symbol": { + "version": "3.1.3", + "resolved": "https://registry.npmjs.org/es6-symbol/-/es6-symbol-3.1.3.tgz", + "integrity": "sha512-NJ6Yn3FuDinBaBRWl/q5X/s4koRHBrgKAu+yGI6JCBeiu3qrcbJhwT2GeR/EXVfylRk8dpQVJoLEFhK+Mu31NA==", + "dependencies": { + "d": "^1.0.1", + "ext": "^1.1.2" + } + }, + "node_modules/es6-weak-map": { + "version": "2.0.3", + "resolved": "https://registry.npmjs.org/es6-weak-map/-/es6-weak-map-2.0.3.tgz", + "integrity": "sha512-p5um32HOTO1kP+w7PRnB+5lQ43Z6muuMuIMffvDN8ZB4GcnjLBV6zGStpbASIMk4DCAvEaamhe2zhyCb/QXXsA==", + "dependencies": { + "d": "1", + "es5-ext": "^0.10.46", + "es6-iterator": "^2.0.3", + "es6-symbol": "^3.1.1" + } + }, + "node_modules/escape-string-regexp": { + "version": "1.0.5", + "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-1.0.5.tgz", + "integrity": "sha1-G2HAViGQqN/2rjuyzwIAyhMLhtQ=", + "engines": { + "node": ">=0.8.0" + } + }, + "node_modules/eslint": { + "version": "8.3.0", + "resolved": "https://registry.npmjs.org/eslint/-/eslint-8.3.0.tgz", + "integrity": "sha512-aIay56Ph6RxOTC7xyr59Kt3ewX185SaGnAr8eWukoPLeriCrvGjvAubxuvaXOfsxhtwV5g0uBOsyhAom4qJdww==", + "dependencies": { + "@eslint/eslintrc": "^1.0.4", + "@humanwhocodes/config-array": "^0.6.0", + "ajv": "^6.10.0", + "chalk": "^4.0.0", + "cross-spawn": "^7.0.2", + "debug": "^4.3.2", + "doctrine": "^3.0.0", + "enquirer": "^2.3.5", + "escape-string-regexp": "^4.0.0", + "eslint-scope": "^7.1.0", + "eslint-utils": "^3.0.0", + "eslint-visitor-keys": "^3.1.0", + "espree": "^9.1.0", + "esquery": "^1.4.0", + "esutils": "^2.0.2", + "fast-deep-equal": "^3.1.3", + "file-entry-cache": "^6.0.1", + "functional-red-black-tree": "^1.0.1", + "glob-parent": "^6.0.1", + "globals": "^13.6.0", + "ignore": "^4.0.6", + "import-fresh": "^3.0.0", + "imurmurhash": "^0.1.4", + "is-glob": "^4.0.0", + "js-yaml": "^4.1.0", + "json-stable-stringify-without-jsonify": "^1.0.1", + "levn": "^0.4.1", + "lodash.merge": "^4.6.2", + "minimatch": "^3.0.4", + "natural-compare": "^1.4.0", + "optionator": "^0.9.1", + "progress": "^2.0.0", + "regexpp": "^3.2.0", + "semver": "^7.2.1", + "strip-ansi": "^6.0.1", + "strip-json-comments": "^3.1.0", + "text-table": "^0.2.0", + "v8-compile-cache": "^2.0.3" + }, + "bin": { + "eslint": "bin/eslint.js" + }, + "engines": { + "node": "^12.22.0 || ^14.17.0 || >=16.0.0" + }, + "funding": { + "url": "https://opencollective.com/eslint" + } + }, + "node_modules/eslint-config-google": { + "version": "0.14.0", + "resolved": "https://registry.npmjs.org/eslint-config-google/-/eslint-config-google-0.14.0.tgz", + "integrity": "sha512-WsbX4WbjuMvTdeVL6+J3rK1RGhCTqjsFjX7UMSMgZiyxxaNLkoJENbrGExzERFeoTpGw3F3FypTiWAP9ZXzkEw==", + "engines": { + "node": ">=0.10.0" + }, + "peerDependencies": { + "eslint": ">=5.16.0" + } + }, + "node_modules/eslint-scope": { + "version": "7.1.0", + "resolved": "https://registry.npmjs.org/eslint-scope/-/eslint-scope-7.1.0.tgz", + "integrity": "sha512-aWwkhnS0qAXqNOgKOK0dJ2nvzEbhEvpy8OlJ9kZ0FeZnA6zpjv1/Vei+puGFFX7zkPCkHHXb7IDX3A+7yPrRWg==", + "dependencies": { + "esrecurse": "^4.3.0", + "estraverse": "^5.2.0" + }, + "engines": { + "node": "^12.22.0 || ^14.17.0 || >=16.0.0" + } + }, + "node_modules/eslint-utils": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/eslint-utils/-/eslint-utils-3.0.0.tgz", + "integrity": "sha512-uuQC43IGctw68pJA1RgbQS8/NP7rch6Cwd4j3ZBtgo4/8Flj4eGE7ZYSZRN3iq5pVUv6GPdW5Z1RFleo84uLDA==", + "dependencies": { + "eslint-visitor-keys": "^2.0.0" + }, + "engines": { + "node": "^10.0.0 || ^12.0.0 || >= 14.0.0" + }, + "funding": { + "url": "https://github.com/sponsors/mysticatea" + }, + "peerDependencies": { + "eslint": ">=5" + } + }, + "node_modules/eslint-utils/node_modules/eslint-visitor-keys": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/eslint-visitor-keys/-/eslint-visitor-keys-2.1.0.tgz", + "integrity": "sha512-0rSmRBzXgDzIsD6mGdJgevzgezI534Cer5L/vyMX0kHzT/jiB43jRhd9YUlMGYLQy2zprNmoT8qasCGtY+QaKw==", + "engines": { + "node": ">=10" + } + }, + "node_modules/eslint-visitor-keys": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/eslint-visitor-keys/-/eslint-visitor-keys-3.1.0.tgz", + "integrity": "sha512-yWJFpu4DtjsWKkt5GeNBBuZMlNcYVs6vRCLoCVEJrTjaSB6LC98gFipNK/erM2Heg/E8mIK+hXG/pJMLK+eRZA==", + "engines": { + "node": "^12.22.0 || ^14.17.0 || >=16.0.0" + } + }, + "node_modules/eslint/node_modules/ansi-styles": { + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", + "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", + "dependencies": { + "color-convert": "^2.0.1" + }, + "engines": { + "node": ">=8" + }, + "funding": { + "url": "https://github.com/chalk/ansi-styles?sponsor=1" + } + }, + "node_modules/eslint/node_modules/chalk": { + "version": "4.1.2", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", + "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", + "dependencies": { + "ansi-styles": "^4.1.0", + "supports-color": "^7.1.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/chalk/chalk?sponsor=1" + } + }, + "node_modules/eslint/node_modules/color-convert": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", + "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", + "dependencies": { + "color-name": "~1.1.4" + }, + "engines": { + "node": ">=7.0.0" + } + }, + "node_modules/eslint/node_modules/color-name": { + "version": "1.1.4", + "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", + "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==" + }, + "node_modules/eslint/node_modules/escape-string-regexp": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-4.0.0.tgz", + "integrity": "sha512-TtpcNJ3XAzx3Gq8sWRzJaVajRs0uVxA2YAkdb1jm2YkPz4G6egUFAyA3n5vtEIZefPk5Wa4UXbKuS5fKkJWdgA==", + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/eslint/node_modules/has-flag": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", + "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==", + "engines": { + "node": ">=8" + } + }, + "node_modules/eslint/node_modules/supports-color": { + "version": "7.2.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz", + "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==", + "dependencies": { + "has-flag": "^4.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/espree": { + "version": "9.1.0", + "resolved": "https://registry.npmjs.org/espree/-/espree-9.1.0.tgz", + "integrity": "sha512-ZgYLvCS1wxOczBYGcQT9DDWgicXwJ4dbocr9uYN+/eresBAUuBu+O4WzB21ufQ/JqQT8gyp7hJ3z8SHii32mTQ==", + "dependencies": { + "acorn": "^8.6.0", + "acorn-jsx": "^5.3.1", + "eslint-visitor-keys": "^3.1.0" + }, + "engines": { + "node": "^12.22.0 || ^14.17.0 || >=16.0.0" + } + }, + "node_modules/esquery": { + "version": "1.4.0", + "resolved": "https://registry.npmjs.org/esquery/-/esquery-1.4.0.tgz", + "integrity": "sha512-cCDispWt5vHHtwMY2YrAQ4ibFkAL8RbH5YGBnZBc90MolvvfkkQcJro/aZiAQUlQ3qgrYS6D6v8Gc5G5CQsc9w==", + "dependencies": { + "estraverse": "^5.1.0" + }, + "engines": { + "node": ">=0.10" + } + }, + "node_modules/esrecurse": { + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/esrecurse/-/esrecurse-4.3.0.tgz", + "integrity": "sha512-KmfKL3b6G+RXvP8N1vr3Tq1kL/oCFgn2NYXEtqP8/L3pKapUA4G8cFVaoF3SU323CD4XypR/ffioHmkti6/Tag==", + "dependencies": { + "estraverse": "^5.2.0" + }, + "engines": { + "node": ">=4.0" + } + }, + "node_modules/estraverse": { + "version": "5.3.0", + "resolved": "https://registry.npmjs.org/estraverse/-/estraverse-5.3.0.tgz", + "integrity": "sha512-MMdARuVEQziNTeJD8DgMqmhwR11BRQ/cBP+pLtYdSTnf3MIO8fFeiINEbX36ZdNlfU/7A9f3gUw49B3oQsvwBA==", + "engines": { + "node": ">=4.0" + } + }, + "node_modules/esutils": { + "version": "2.0.3", + "resolved": "https://registry.npmjs.org/esutils/-/esutils-2.0.3.tgz", + "integrity": "sha512-kVscqXk4OCp68SZ0dkgEKVi6/8ij300KBWTJq32P/dYeWTSwK41WyTxalN1eRmA5Z9UU/LX9D7FWSmV9SAYx6g==", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/event-emitter": { + "version": "0.3.5", + "resolved": "https://registry.npmjs.org/event-emitter/-/event-emitter-0.3.5.tgz", + "integrity": "sha1-34xp7vFkeSPHFXuc6DhAYQsCzDk=", + "dependencies": { + "d": "1", + "es5-ext": "~0.10.14" + } + }, + "node_modules/execa": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/execa/-/execa-4.1.0.tgz", + "integrity": "sha512-j5W0//W7f8UxAn8hXVnwG8tLwdiUy4FJLcSupCg6maBYZDpyBvTApK7KyuI4bKj8KOh1r2YH+6ucuYtJv1bTZA==", + "dependencies": { + "cross-spawn": "^7.0.0", + "get-stream": "^5.0.0", + "human-signals": "^1.1.1", + "is-stream": "^2.0.0", + "merge-stream": "^2.0.0", + "npm-run-path": "^4.0.0", + "onetime": "^5.1.0", + "signal-exit": "^3.0.2", + "strip-final-newline": "^2.0.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sindresorhus/execa?sponsor=1" + } + }, + "node_modules/expand-tilde": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/expand-tilde/-/expand-tilde-2.0.2.tgz", + "integrity": "sha1-l+gBqgUt8CRU3kawK/YhZCzchQI=", + "dependencies": { + "homedir-polyfill": "^1.0.1" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/ext": { + "version": "1.6.0", + "resolved": "https://registry.npmjs.org/ext/-/ext-1.6.0.tgz", + "integrity": "sha512-sdBImtzkq2HpkdRLtlLWDa6w4DX22ijZLKx8BMPUuKe1c5lbN6xwQDQCxSfxBQnHZ13ls/FH0MQZx/q/gr6FQg==", + "dependencies": { + "type": "^2.5.0" + } + }, + "node_modules/ext/node_modules/type": { + "version": "2.5.0", + "resolved": "https://registry.npmjs.org/type/-/type-2.5.0.tgz", + "integrity": "sha512-180WMDQaIMm3+7hGXWf12GtdniDEy7nYcyFMKJn/eZz/6tSLXrUN9V0wKSbMjej0I1WHWbpREDEKHtqPQa9NNw==" + }, + "node_modules/fast-deep-equal": { + "version": "3.1.3", + "resolved": "https://registry.npmjs.org/fast-deep-equal/-/fast-deep-equal-3.1.3.tgz", + "integrity": "sha512-f3qQ9oQy9j2AhBe/H9VC91wLmKBCCU/gDOnKNAYG5hswO7BLKj09Hc5HYNz9cGI++xlpDCIgDaitVs03ATR84Q==" + }, + "node_modules/fast-json-stable-stringify": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/fast-json-stable-stringify/-/fast-json-stable-stringify-2.1.0.tgz", + "integrity": "sha512-lhd/wF+Lk98HZoTCtlVraHtfh5XYijIjalXck7saUtuanSDyLMxnHhSXEDJqHxD7msR8D0uCmqlkwjCV8xvwHw==" + }, + "node_modules/fast-levenshtein": { + "version": "2.0.6", + "resolved": "https://registry.npmjs.org/fast-levenshtein/-/fast-levenshtein-2.0.6.tgz", + "integrity": "sha1-PYpcZog6FqMMqGQ+hR8Zuqd5eRc=" + }, + "node_modules/file-entry-cache": { + "version": "6.0.1", + "resolved": "https://registry.npmjs.org/file-entry-cache/-/file-entry-cache-6.0.1.tgz", + "integrity": "sha512-7Gps/XWymbLk2QLYK4NzpMOrYjMhdIxXuIvy2QBsLE6ljuodKvdkWs/cpyJJ3CVIVpH0Oi1Hvg1ovbMzLdFBBg==", + "dependencies": { + "flat-cache": "^3.0.4" + }, + "engines": { + "node": "^10.12.0 || >=12.0.0" + } + }, + "node_modules/find-up": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/find-up/-/find-up-4.1.0.tgz", + "integrity": "sha512-PpOwAdQ/YlXQ2vj8a3h8IipDuYRi3wceVQQGYWxNINccq40Anw7BlsEXCMbt1Zt+OLA6Fq9suIpIWD0OsnISlw==", + "dependencies": { + "locate-path": "^5.0.0", + "path-exists": "^4.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/flat-cache": { + "version": "3.0.4", + "resolved": "https://registry.npmjs.org/flat-cache/-/flat-cache-3.0.4.tgz", + "integrity": "sha512-dm9s5Pw7Jc0GvMYbshN6zchCA9RgQlzzEZX3vylR9IqFfS8XciblUXOKfW6SiuJ0e13eDYZoZV5wdrev7P3Nwg==", + "dependencies": { + "flatted": "^3.1.0", + "rimraf": "^3.0.2" + }, + "engines": { + "node": "^10.12.0 || >=12.0.0" + } + }, + "node_modules/flatted": { + "version": "3.2.4", + "resolved": "https://registry.npmjs.org/flatted/-/flatted-3.2.4.tgz", + "integrity": "sha512-8/sOawo8tJ4QOBX8YlQBMxL8+RLZfxMQOif9o0KUKTNTjMYElWPE0r/m5VNFxTRd0NSw8qSy8dajrwX4RYI1Hw==" + }, + "node_modules/fs.realpath": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/fs.realpath/-/fs.realpath-1.0.0.tgz", + "integrity": "sha1-FQStJSMVjKpA20onh8sBQRmU6k8=" + }, + "node_modules/function-bind": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/function-bind/-/function-bind-1.1.1.tgz", + "integrity": "sha512-yIovAzMX49sF8Yl58fSCWJ5svSLuaibPxXQJFLmBObTuCr0Mf1KiPopGM9NiFjiYBCbfaa2Fh6breQ6ANVTI0A==" + }, + "node_modules/functional-red-black-tree": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/functional-red-black-tree/-/functional-red-black-tree-1.0.1.tgz", + "integrity": "sha1-GwqzvVU7Kg1jmdKcDj6gslIHgyc=" + }, + "node_modules/get-installed-path": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/get-installed-path/-/get-installed-path-2.1.1.tgz", + "integrity": "sha512-Qkn9eq6tW5/q9BDVdMpB8tOHljX9OSP0jRC5TRNVA4qRc839t4g8KQaR8t0Uv0EFVL0MlyG7m/ofjEgAROtYsA==", + "dependencies": { + "global-modules": "1.0.0" + } + }, + "node_modules/get-stdin": { + "version": "8.0.0", + "resolved": "https://registry.npmjs.org/get-stdin/-/get-stdin-8.0.0.tgz", + "integrity": "sha512-sY22aA6xchAzprjyqmSEQv4UbAAzRN0L2dQB0NlN5acTTK9Don6nhoc3eAbUnpZiCANAMfd/+40kVdKfFygohg==", + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/get-stream": { + "version": "5.2.0", + "resolved": "https://registry.npmjs.org/get-stream/-/get-stream-5.2.0.tgz", + "integrity": "sha512-nBF+F1rAZVCu/p7rjzgA+Yb4lfYXrpl7a6VmJrU8wF9I1CKvP/QwPNZHnOlwbTkY6dvtFIzFMSyQXbLoTQPRpA==", + "dependencies": { + "pump": "^3.0.0" + }, + "engines": { + "node": ">=8" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/glob": { + "version": "7.2.0", + "resolved": "https://registry.npmjs.org/glob/-/glob-7.2.0.tgz", + "integrity": "sha512-lmLf6gtyrPq8tTjSmrO94wBeQbFR3HbLHbuyD69wuyQkImp2hWqMGB47OX65FBkPffO641IP9jWa1z4ivqG26Q==", + "dependencies": { + "fs.realpath": "^1.0.0", + "inflight": "^1.0.4", + "inherits": "2", + "minimatch": "^3.0.4", + "once": "^1.3.0", + "path-is-absolute": "^1.0.0" + }, + "engines": { + "node": "*" + }, + "funding": { + "url": "https://github.com/sponsors/isaacs" + } + }, + "node_modules/glob-parent": { + "version": "6.0.2", + "resolved": "https://registry.npmjs.org/glob-parent/-/glob-parent-6.0.2.tgz", + "integrity": "sha512-XxwI8EOhVQgWp6iDL+3b0r86f4d6AX6zSU55HfB4ydCEuXLXc5FcYeOu+nnGftS4TEju/11rt4KJPTMgbfmv4A==", + "dependencies": { + "is-glob": "^4.0.3" + }, + "engines": { + "node": ">=10.13.0" + } + }, + "node_modules/global-modules": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/global-modules/-/global-modules-1.0.0.tgz", + "integrity": "sha512-sKzpEkf11GpOFuw0Zzjzmt4B4UZwjOcG757PPvrfhxcLFbq0wpsgpOqxpxtxFiCG4DtG93M6XRVbF2oGdev7bg==", + "dependencies": { + "global-prefix": "^1.0.1", + "is-windows": "^1.0.1", + "resolve-dir": "^1.0.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/global-prefix": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/global-prefix/-/global-prefix-1.0.2.tgz", + "integrity": "sha1-2/dDxsFJklk8ZVVoy2btMsASLr4=", + "dependencies": { + "expand-tilde": "^2.0.2", + "homedir-polyfill": "^1.0.1", + "ini": "^1.3.4", + "is-windows": "^1.0.1", + "which": "^1.2.14" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/globals": { + "version": "13.12.0", + "resolved": "https://registry.npmjs.org/globals/-/globals-13.12.0.tgz", + "integrity": "sha512-uS8X6lSKN2JumVoXrbUz+uG4BYG+eiawqm3qFcT7ammfbUHeCBoJMlHcec/S3krSk73/AE/f0szYFmgAA3kYZg==", + "dependencies": { + "type-fest": "^0.20.2" + }, + "engines": { + "node": ">=8" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/globals/node_modules/type-fest": { + "version": "0.20.2", + "resolved": "https://registry.npmjs.org/type-fest/-/type-fest-0.20.2.tgz", + "integrity": "sha512-Ne+eE4r0/iWnpAxD852z3A+N0Bt5RN//NjJwRd2VFHEmrywxf5vsZlh4R6lixl6B+wz/8d+maTSAkN1FIkI3LQ==", + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/hard-rejection": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/hard-rejection/-/hard-rejection-2.1.0.tgz", + "integrity": "sha512-VIZB+ibDhx7ObhAe7OVtoEbuP4h/MuOTHJ+J8h/eBXotJYl0fBgR72xDFCKgIh22OJZIOVNxBMWuhAr10r8HdA==", + "engines": { + "node": ">=6" + } + }, + "node_modules/has": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/has/-/has-1.0.3.tgz", + "integrity": "sha512-f2dvO0VU6Oej7RkWJGrehjbzMAjFp5/VKPp5tTpWIV4JHHZK1/BxbFRtf/siA2SWTe09caDmVtYYzWEIbBS4zw==", + "dependencies": { + "function-bind": "^1.1.1" + }, + "engines": { + "node": ">= 0.4.0" + } + }, + "node_modules/has-flag": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-3.0.0.tgz", + "integrity": "sha1-tdRU3CGZriJWmfNGfloH87lVuv0=", + "engines": { + "node": ">=4" + } + }, + "node_modules/has-yarn": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/has-yarn/-/has-yarn-2.1.0.tgz", + "integrity": "sha512-UqBRqi4ju7T+TqGNdqAO0PaSVGsDGJUBQvk9eUWNGRY1CFGDzYhLWoM7JQEemnlvVcv/YEmc2wNW8BC24EnUsw==", + "engines": { + "node": ">=8" + } + }, + "node_modules/homedir-polyfill": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/homedir-polyfill/-/homedir-polyfill-1.0.3.tgz", + "integrity": "sha512-eSmmWE5bZTK2Nou4g0AI3zZ9rswp7GRKoKXS1BLUkvPviOqs4YTN1djQIqrXy9k5gEtdLPy86JjRwsNM9tnDcA==", + "dependencies": { + "parse-passwd": "^1.0.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/hosted-git-info": { + "version": "4.0.2", + "resolved": "https://registry.npmjs.org/hosted-git-info/-/hosted-git-info-4.0.2.tgz", + "integrity": "sha512-c9OGXbZ3guC/xOlCg1Ci/VgWlwsqDv1yMQL1CWqXDL0hDjXuNcq0zuR4xqPSuasI3kqFDhqSyTjREz5gzq0fXg==", + "dependencies": { + "lru-cache": "^6.0.0" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/human-signals": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/human-signals/-/human-signals-1.1.1.tgz", + "integrity": "sha512-SEQu7vl8KjNL2eoGBLF3+wAjpsNfA9XMlXAYj/3EdaNfAlxKthD1xjEQfGOUhllCGGJVNY34bRr6lPINhNjyZw==", + "engines": { + "node": ">=8.12.0" + } + }, + "node_modules/ignore": { + "version": "4.0.6", + "resolved": "https://registry.npmjs.org/ignore/-/ignore-4.0.6.tgz", + "integrity": "sha512-cyFDKrqc/YdcWFniJhzI42+AzS+gNwmUzOSFcRCQYwySuBBBy/KjuxWLZ/FHEH6Moq1NizMOBWyTcv8O4OZIMg==", + "engines": { + "node": ">= 4" + } + }, + "node_modules/import-fresh": { + "version": "3.3.0", + "resolved": "https://registry.npmjs.org/import-fresh/-/import-fresh-3.3.0.tgz", + "integrity": "sha512-veYYhQa+D1QBKznvhUHxb8faxlrwUnxseDAbAp457E0wLNio2bOSKnjYDhMj+YiAq61xrMGhQk9iXVk5FzgQMw==", + "dependencies": { + "parent-module": "^1.0.0", + "resolve-from": "^4.0.0" + }, + "engines": { + "node": ">=6" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/imurmurhash": { + "version": "0.1.4", + "resolved": "https://registry.npmjs.org/imurmurhash/-/imurmurhash-0.1.4.tgz", + "integrity": "sha1-khi5srkoojixPcT7a21XbyMUU+o=", + "engines": { + "node": ">=0.8.19" + } + }, + "node_modules/indent-string": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/indent-string/-/indent-string-4.0.0.tgz", + "integrity": "sha512-EdDDZu4A2OyIK7Lr/2zG+w5jmbuk1DVBnEwREQvBzspBJkCEbRa8GxU1lghYcaGJCnRWibjDXlq779X1/y5xwg==", + "engines": { + "node": ">=8" + } + }, + "node_modules/inflight": { + "version": "1.0.6", + "resolved": "https://registry.npmjs.org/inflight/-/inflight-1.0.6.tgz", + "integrity": "sha1-Sb1jMdfQLQwJvJEKEHW6gWW1bfk=", + "dependencies": { + "once": "^1.3.0", + "wrappy": "1" + } + }, + "node_modules/inherits": { + "version": "2.0.4", + "resolved": "https://registry.npmjs.org/inherits/-/inherits-2.0.4.tgz", + "integrity": "sha512-k/vGaX4/Yla3WzyMCvTQOXYeIHvqOKtnqBduzTHpzpQZzAskKMhZ2K+EnBiSM9zGSoIFeMpXKxa4dYeZIQqewQ==" + }, + "node_modules/ini": { + "version": "1.3.8", + "resolved": "https://registry.npmjs.org/ini/-/ini-1.3.8.tgz", + "integrity": "sha512-JV/yugV2uzW5iMRSiZAyDtQd+nxtUnjeLt0acNdw98kKLrvuRVyB80tsREOE7yvGVgalhZ6RNXCmEHkUKBKxew==" + }, + "node_modules/invert-kv": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/invert-kv/-/invert-kv-3.0.1.tgz", + "integrity": "sha512-CYdFeFexxhv/Bcny+Q0BfOV+ltRlJcd4BBZBYFX/O0u4npJrgZtIcjokegtiSMAvlMTJ+Koq0GBCc//3bueQxw==", + "engines": { + "node": ">=8" + }, + "funding": { + "url": "https://github.com/sindresorhus/invert-kv?sponsor=1" + } + }, + "node_modules/is-arrayish": { + "version": "0.2.1", + "resolved": "https://registry.npmjs.org/is-arrayish/-/is-arrayish-0.2.1.tgz", + "integrity": "sha1-d8mYQFJ6qOyxqLppe4BkWnqSap0=" + }, + "node_modules/is-core-module": { + "version": "2.8.0", + "resolved": "https://registry.npmjs.org/is-core-module/-/is-core-module-2.8.0.tgz", + "integrity": "sha512-vd15qHsaqrRL7dtH6QNuy0ndJmRDrS9HAM1CAiSifNUFv4x1a0CCVsj18hJ1mShxIG6T2i1sO78MkP56r0nYRw==", + "dependencies": { + "has": "^1.0.3" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/is-extglob": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/is-extglob/-/is-extglob-2.1.1.tgz", + "integrity": "sha1-qIwCU1eR8C7TfHahueqXc8gz+MI=", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/is-glob": { + "version": "4.0.3", + "resolved": "https://registry.npmjs.org/is-glob/-/is-glob-4.0.3.tgz", + "integrity": "sha512-xelSayHH36ZgE7ZWhli7pW34hNbNl8Ojv5KVmkJD4hBdD3th8Tfk9vYasLM+mXWOZhFkgZfxhLSnrwRr4elSSg==", + "dependencies": { + "is-extglob": "^2.1.1" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/is-plain-obj": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/is-plain-obj/-/is-plain-obj-1.1.0.tgz", + "integrity": "sha1-caUMhCnfync8kqOQpKA7OfzVHT4=", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/is-promise": { + "version": "2.2.2", + "resolved": "https://registry.npmjs.org/is-promise/-/is-promise-2.2.2.tgz", + "integrity": "sha512-+lP4/6lKUBfQjZ2pdxThZvLUAafmZb8OAxFb8XXtiQmS35INgr85hdOGoEs124ez1FCnZJt6jau/T+alh58QFQ==" + }, + "node_modules/is-stream": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/is-stream/-/is-stream-2.0.1.tgz", + "integrity": "sha512-hFoiJiTl63nn+kstHGBtewWSKnQLpyb155KHheA1l39uvtO9nWIop1p3udqPcUd/xbF1VLMO4n7OI6p7RbngDg==", + "engines": { + "node": ">=8" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/is-windows": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/is-windows/-/is-windows-1.0.2.tgz", + "integrity": "sha512-eXK1UInq2bPmjyX6e3VHIzMLobc4J94i4AWn+Hpq3OU5KkrRC96OAcR3PRJ/pGu6m8TRnBHP9dkXQVsT/COVIA==", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/isexe": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/isexe/-/isexe-2.0.0.tgz", + "integrity": "sha1-6PvzdNxVb/iUehDcsFctYz8s+hA=" + }, + "node_modules/js-tokens": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/js-tokens/-/js-tokens-4.0.0.tgz", + "integrity": "sha512-RdJUflcE3cUzKiMqQgsCu06FPu9UdIJO0beYbPhHN4k6apgJtifcoCtT9bcxOpYBtpD2kCM6Sbzg4CausW/PKQ==" + }, + "node_modules/js-yaml": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/js-yaml/-/js-yaml-4.1.0.tgz", + "integrity": "sha512-wpxZs9NoxZaJESJGIZTyDEaYpl0FKSA+FB9aJiyemKhMwkxQg63h4T1KJgUGHpTqPDNRcmmYLugrRjJlBtWvRA==", + "dependencies": { + "argparse": "^2.0.1" + }, + "bin": { + "js-yaml": "bin/js-yaml.js" + } + }, + "node_modules/json-parse-even-better-errors": { + "version": "2.3.1", + "resolved": "https://registry.npmjs.org/json-parse-even-better-errors/-/json-parse-even-better-errors-2.3.1.tgz", + "integrity": "sha512-xyFwyhro/JEof6Ghe2iz2NcXoj2sloNsWr/XsERDK/oiPCfaNhl5ONfp+jQdAZRQQ0IJWNzH9zIZF7li91kh2w==" + }, + "node_modules/json-schema-traverse": { + "version": "0.4.1", + "resolved": "https://registry.npmjs.org/json-schema-traverse/-/json-schema-traverse-0.4.1.tgz", + "integrity": "sha512-xbbCH5dCYU5T8LcEhhuh7HJ88HXuW3qsI3Y0zOZFKfZEHcpWiHU/Jxzk629Brsab/mMiHQti9wMP+845RPe3Vg==" + }, + "node_modules/json-stable-stringify-without-jsonify": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/json-stable-stringify-without-jsonify/-/json-stable-stringify-without-jsonify-1.0.1.tgz", + "integrity": "sha1-nbe1lJatPzz+8wp1FC0tkwrXJlE=" + }, + "node_modules/kind-of": { + "version": "6.0.3", + "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-6.0.3.tgz", + "integrity": "sha512-dcS1ul+9tmeD95T+x28/ehLgd9mENa3LsvDTtzm3vyBEO7RPptvAD+t44WVXaUjTBRcrpFeFlC8WCruUR456hw==", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/lcid": { + "version": "3.1.1", + "resolved": "https://registry.npmjs.org/lcid/-/lcid-3.1.1.tgz", + "integrity": "sha512-M6T051+5QCGLBQb8id3hdvIW8+zeFV2FyBGFS9IEK5H9Wt4MueD4bW1eWikpHgZp+5xR3l5c8pZUkQsIA0BFZg==", + "dependencies": { + "invert-kv": "^3.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/levn": { + "version": "0.4.1", + "resolved": "https://registry.npmjs.org/levn/-/levn-0.4.1.tgz", + "integrity": "sha512-+bT2uH4E5LGE7h/n3evcS/sQlJXCpIp6ym8OWJ5eV6+67Dsql/LaaT7qJBAt2rzfoa/5QBGBhxDix1dMt2kQKQ==", + "dependencies": { + "prelude-ls": "^1.2.1", + "type-check": "~0.4.0" + }, + "engines": { + "node": ">= 0.8.0" + } + }, + "node_modules/lines-and-columns": { + "version": "1.2.4", + "resolved": "https://registry.npmjs.org/lines-and-columns/-/lines-and-columns-1.2.4.tgz", + "integrity": "sha512-7ylylesZQ/PV29jhEDl3Ufjo6ZX7gCqJr5F7PKrqc93v7fzSymt1BpwEU8nAUXs8qzzvqhbjhK5QZg6Mt/HkBg==" + }, + "node_modules/locate-path": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/locate-path/-/locate-path-5.0.0.tgz", + "integrity": "sha512-t7hw9pI+WvuwNJXwk5zVHpyhIqzg2qTlklJOf0mVxGSbe3Fp2VieZcduNYjaLDoy6p9uGpQEGWG87WpMKlNq8g==", + "dependencies": { + "p-locate": "^4.1.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/lodash.merge": { + "version": "4.6.2", + "resolved": "https://registry.npmjs.org/lodash.merge/-/lodash.merge-4.6.2.tgz", + "integrity": "sha512-0KpjqXRVvrYyCsX1swR/XTK0va6VQkQM6MNo7PqW77ByjAhoARA8EfrP1N4+KlKj8YS0ZUCtRT/YUuhyYDujIQ==" + }, + "node_modules/lru-cache": { + "version": "6.0.0", + "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-6.0.0.tgz", + "integrity": "sha512-Jo6dJ04CmSjuznwJSS3pUeWmd/H0ffTlkXXgwZi+eq1UCmqQwCh+eLsYOYCwY991i2Fah4h1BEMCx4qThGbsiA==", + "dependencies": { + "yallist": "^4.0.0" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/lru-queue": { + "version": "0.1.0", + "resolved": "https://registry.npmjs.org/lru-queue/-/lru-queue-0.1.0.tgz", + "integrity": "sha1-Jzi9nw089PhEkMVzbEhpmsYyzaM=", + "dependencies": { + "es5-ext": "~0.10.2" + } + }, + "node_modules/map-age-cleaner": { + "version": "0.1.3", + "resolved": "https://registry.npmjs.org/map-age-cleaner/-/map-age-cleaner-0.1.3.tgz", + "integrity": "sha512-bJzx6nMoP6PDLPBFmg7+xRKeFZvFboMrGlxmNj9ClvX53KrmvM5bXFXEWjbz4cz1AFn+jWJ9z/DJSz7hrs0w3w==", + "dependencies": { + "p-defer": "^1.0.0" + }, + "engines": { + "node": ">=6" + } + }, + "node_modules/map-obj": { + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/map-obj/-/map-obj-4.3.0.tgz", + "integrity": "sha512-hdN1wVrZbb29eBGiGjJbeP8JbKjq1urkHJ/LIP/NY48MZ1QVXUsQBV1G1zvYFHn1XE06cwjBsOI2K3Ulnj1YXQ==", + "engines": { + "node": ">=8" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/markuplint": { + "version": "1.11.4", + "resolved": "https://registry.npmjs.org/markuplint/-/markuplint-1.11.4.tgz", + "integrity": "sha512-9qdiDSvHEl0dl/QyZRZskpbmR0MUjQkgknIAVkodQUs5v3oc+O2w+3SE5v4BzP+EZsbRVL2ZaXN9hafVbUkjMg==", + "dependencies": { + "@markuplint/file-resolver": "^1.5.0", + "@markuplint/html-parser": "^1.7.3", + "@markuplint/html-spec": "^1.8.2", + "@markuplint/i18n": "^1.2.0", + "@markuplint/ml-ast": "^1.6.0", + "@markuplint/ml-config": "^1.3.0", + "@markuplint/ml-core": "^1.9.0", + "@markuplint/ml-spec": "^1.7.0", + "@markuplint/rules": "^1.10.4", + "cli-color": "^2.0.0", + "detect-installed": "^2.0.4", + "eastasianwidth": "^0.2.0", + "enquirer": "^2.3.6", + "get-stdin": "8", + "has-yarn": "^2.1.0", + "meow": "9", + "os-locale": "^5.0.0", + "strip-ansi": "6", + "tslib": "^2.3.0" + }, + "bin": { + "markuplint": "bin/markuplint" + } + }, + "node_modules/mem": { + "version": "5.1.1", + "resolved": "https://registry.npmjs.org/mem/-/mem-5.1.1.tgz", + "integrity": "sha512-qvwipnozMohxLXG1pOqoLiZKNkC4r4qqRucSoDwXowsNGDSULiqFTRUF05vcZWnwJSG22qTsynQhxbaMtnX9gw==", + "dependencies": { + "map-age-cleaner": "^0.1.3", + "mimic-fn": "^2.1.0", + "p-is-promise": "^2.1.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/memoizee": { + "version": "0.4.15", + "resolved": "https://registry.npmjs.org/memoizee/-/memoizee-0.4.15.tgz", + "integrity": "sha512-UBWmJpLZd5STPm7PMUlOw/TSy972M+z8gcyQ5veOnSDRREz/0bmpyTfKt3/51DhEBqCZQn1udM/5flcSPYhkdQ==", + "dependencies": { + "d": "^1.0.1", + "es5-ext": "^0.10.53", + "es6-weak-map": "^2.0.3", + "event-emitter": "^0.3.5", + "is-promise": "^2.2.2", + "lru-queue": "^0.1.0", + "next-tick": "^1.1.0", + "timers-ext": "^0.1.7" + } + }, + "node_modules/memoizee/node_modules/next-tick": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/next-tick/-/next-tick-1.1.0.tgz", + "integrity": "sha512-CXdUiJembsNjuToQvxayPZF9Vqht7hewsvy2sOWafLvi2awflj9mOC6bHIg50orX8IJvWKY9wYQ/zB2kogPslQ==" + }, + "node_modules/meow": { + "version": "9.0.0", + "resolved": "https://registry.npmjs.org/meow/-/meow-9.0.0.tgz", + "integrity": "sha512-+obSblOQmRhcyBt62furQqRAQpNyWXo8BuQ5bN7dG8wmwQ+vwHKp/rCFD4CrTP8CsDQD1sjoZ94K417XEUk8IQ==", + "dependencies": { + "@types/minimist": "^1.2.0", + "camelcase-keys": "^6.2.2", + "decamelize": "^1.2.0", + "decamelize-keys": "^1.1.0", + "hard-rejection": "^2.1.0", + "minimist-options": "4.1.0", + "normalize-package-data": "^3.0.0", + "read-pkg-up": "^7.0.1", + "redent": "^3.0.0", + "trim-newlines": "^3.0.0", + "type-fest": "^0.18.0", + "yargs-parser": "^20.2.3" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/merge-stream": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/merge-stream/-/merge-stream-2.0.0.tgz", + "integrity": "sha512-abv/qOcuPfk3URPfDzmZU1LKmuw8kT+0nIHvKrKgFrwifol/doWcdA4ZqsWQ8ENrFKkd67Mfpo/LovbIUsbt3w==" + }, + "node_modules/mimic-fn": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/mimic-fn/-/mimic-fn-2.1.0.tgz", + "integrity": "sha512-OqbOk5oEQeAZ8WXWydlu9HJjz9WVdEIvamMCcXmuqUYjTknH/sqsWvhQ3vgwKFRR1HpjvNBKQ37nbJgYzGqGcg==", + "engines": { + "node": ">=6" + } + }, + "node_modules/min-indent": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/min-indent/-/min-indent-1.0.1.tgz", + "integrity": "sha512-I9jwMn07Sy/IwOj3zVkVik2JTvgpaykDZEigL6Rx6N9LbMywwUSMtxET+7lVoDLLd3O3IXwJwvuuns8UB/HeAg==", + "engines": { + "node": ">=4" + } + }, + "node_modules/minimatch": { + "version": "3.0.4", + "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.0.4.tgz", + "integrity": "sha512-yJHVQEhyqPLUTgt9B83PXu6W3rx4MvvHvSUvToogpwoGDOUQ+yDrR0HRot+yOCdCO7u4hX3pWft6kWBBcqh0UA==", + "dependencies": { + "brace-expansion": "^1.1.7" + }, + "engines": { + "node": "*" + } + }, + "node_modules/minimist-options": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/minimist-options/-/minimist-options-4.1.0.tgz", + "integrity": "sha512-Q4r8ghd80yhO/0j1O3B2BjweX3fiHg9cdOwjJd2J76Q135c+NDxGCqdYKQ1SKBuFfgWbAUzBfvYjPUEeNgqN1A==", + "dependencies": { + "arrify": "^1.0.1", + "is-plain-obj": "^1.1.0", + "kind-of": "^6.0.3" + }, + "engines": { + "node": ">= 6" + } + }, + "node_modules/ms": { + "version": "2.1.2", + "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.2.tgz", + "integrity": "sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w==" + }, + "node_modules/natural-compare": { + "version": "1.4.0", + "resolved": "https://registry.npmjs.org/natural-compare/-/natural-compare-1.4.0.tgz", + "integrity": "sha1-Sr6/7tdUHywnrPspvbvRXI1bpPc=" + }, + "node_modules/next-tick": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/next-tick/-/next-tick-1.0.0.tgz", + "integrity": "sha1-yobR/ogoFpsBICCOPchCS524NCw=" + }, + "node_modules/normalize-package-data": { + "version": "3.0.3", + "resolved": "https://registry.npmjs.org/normalize-package-data/-/normalize-package-data-3.0.3.tgz", + "integrity": "sha512-p2W1sgqij3zMMyRC067Dg16bfzVH+w7hyegmpIvZ4JNjqtGOVAIvLmjBx3yP7YTe9vKJgkoNOPjwQGogDoMXFA==", + "dependencies": { + "hosted-git-info": "^4.0.1", + "is-core-module": "^2.5.0", + "semver": "^7.3.4", + "validate-npm-package-license": "^3.0.1" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/npm-run-path": { + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/npm-run-path/-/npm-run-path-4.0.1.tgz", + "integrity": "sha512-S48WzZW777zhNIrn7gxOlISNAqi9ZC/uQFnRdbeIHhZhCA6UqpkOT8T1G7BvfdgP4Er8gF4sUbaS0i7QvIfCWw==", + "dependencies": { + "path-key": "^3.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/once": { + "version": "1.4.0", + "resolved": "https://registry.npmjs.org/once/-/once-1.4.0.tgz", + "integrity": "sha1-WDsap3WWHUsROsF9nFC6753Xa9E=", + "dependencies": { + "wrappy": "1" + } + }, + "node_modules/onetime": { + "version": "5.1.2", + "resolved": "https://registry.npmjs.org/onetime/-/onetime-5.1.2.tgz", + "integrity": "sha512-kbpaSSGJTWdAY5KPVeMOKXSrPtr8C8C7wodJbcsd51jRnmD+GZu8Y0VoU6Dm5Z4vWr0Ig/1NKuWRKf7j5aaYSg==", + "dependencies": { + "mimic-fn": "^2.1.0" + }, + "engines": { + "node": ">=6" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/optionator": { + "version": "0.9.1", + "resolved": "https://registry.npmjs.org/optionator/-/optionator-0.9.1.tgz", + "integrity": "sha512-74RlY5FCnhq4jRxVUPKDaRwrVNXMqsGsiW6AJw4XK8hmtm10wC0ypZBLw5IIp85NZMr91+qd1RvvENwg7jjRFw==", + "dependencies": { + "deep-is": "^0.1.3", + "fast-levenshtein": "^2.0.6", + "levn": "^0.4.1", + "prelude-ls": "^1.2.1", + "type-check": "^0.4.0", + "word-wrap": "^1.2.3" + }, + "engines": { + "node": ">= 0.8.0" + } + }, + "node_modules/os-locale": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/os-locale/-/os-locale-5.0.0.tgz", + "integrity": "sha512-tqZcNEDAIZKBEPnHPlVDvKrp7NzgLi7jRmhKiUoa2NUmhl13FtkAGLUVR+ZsYvApBQdBfYm43A4tXXQ4IrYLBA==", + "dependencies": { + "execa": "^4.0.0", + "lcid": "^3.0.0", + "mem": "^5.0.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/p-defer": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/p-defer/-/p-defer-1.0.0.tgz", + "integrity": "sha1-n26xgvbJqozXQwBKfU+WsZaw+ww=", + "engines": { + "node": ">=4" + } + }, + "node_modules/p-is-promise": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/p-is-promise/-/p-is-promise-2.1.0.tgz", + "integrity": "sha512-Y3W0wlRPK8ZMRbNq97l4M5otioeA5lm1z7bkNkxCka8HSPjR0xRWmpCmc9utiaLP9Jb1eD8BgeIxTW4AIF45Pg==", + "engines": { + "node": ">=6" + } + }, + "node_modules/p-limit": { + "version": "2.3.0", + "resolved": "https://registry.npmjs.org/p-limit/-/p-limit-2.3.0.tgz", + "integrity": "sha512-//88mFWSJx8lxCzwdAABTJL2MyWB12+eIY7MDL2SqLmAkeKU9qxRvWuSyTjm3FUmpBEMuFfckAIqEaVGUDxb6w==", + "dependencies": { + "p-try": "^2.0.0" + }, + "engines": { + "node": ">=6" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/p-locate": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/p-locate/-/p-locate-4.1.0.tgz", + "integrity": "sha512-R79ZZ/0wAxKGu3oYMlz8jy/kbhsNrS7SKZ7PxEHBgJ5+F2mtFW2fK2cOtBh1cHYkQsbzFV7I+EoRKe6Yt0oK7A==", + "dependencies": { + "p-limit": "^2.2.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/p-try": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/p-try/-/p-try-2.2.0.tgz", + "integrity": "sha512-R4nPAVTAU0B9D35/Gk3uJf/7XYbQcyohSKdvAxIRSNghFl4e71hVoGnBNQz9cWaXxO2I10KTC+3jMdvvoKw6dQ==", + "engines": { + "node": ">=6" + } + }, + "node_modules/parent-module": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/parent-module/-/parent-module-1.0.1.tgz", + "integrity": "sha512-GQ2EWRpQV8/o+Aw8YqtfZZPfNRWZYkbidE9k5rpl/hC3vtHHBfGm2Ifi6qWV+coDGkrUKZAxE3Lot5kcsRlh+g==", + "dependencies": { + "callsites": "^3.0.0" + }, + "engines": { + "node": ">=6" + } + }, + "node_modules/parse-json": { + "version": "5.2.0", + "resolved": "https://registry.npmjs.org/parse-json/-/parse-json-5.2.0.tgz", + "integrity": "sha512-ayCKvm/phCGxOkYRSCM82iDwct8/EonSEgCSxWxD7ve6jHggsFl4fZVQBPRNgQoKiuV/odhFrGzQXZwbifC8Rg==", + "dependencies": { + "@babel/code-frame": "^7.0.0", + "error-ex": "^1.3.1", + "json-parse-even-better-errors": "^2.3.0", + "lines-and-columns": "^1.1.6" + }, + "engines": { + "node": ">=8" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/parse-passwd": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/parse-passwd/-/parse-passwd-1.0.0.tgz", + "integrity": "sha1-bVuTSkVpk7I9N/QKOC1vFmao5cY=", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/parse5": { + "version": "6.0.1", + "resolved": "https://registry.npmjs.org/parse5/-/parse5-6.0.1.tgz", + "integrity": "sha512-Ofn/CTFzRGTTxwpNEs9PP93gXShHcTq255nzRYSKe8AkVpZY7e1fpmTfOyoIvjP5HG7Z2ZM7VS9PPhQGW2pOpw==" + }, + "node_modules/path-exists": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/path-exists/-/path-exists-4.0.0.tgz", + "integrity": "sha512-ak9Qy5Q7jYb2Wwcey5Fpvg2KoAc/ZIhLSLOSBmRmygPsGwkVVt0fZa0qrtMz+m6tJTAHfZQ8FnmB4MG4LWy7/w==", + "engines": { + "node": ">=8" + } + }, + "node_modules/path-is-absolute": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/path-is-absolute/-/path-is-absolute-1.0.1.tgz", + "integrity": "sha1-F0uSaHNVNP+8es5r9TpanhtcX18=", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/path-key": { + "version": "3.1.1", + "resolved": "https://registry.npmjs.org/path-key/-/path-key-3.1.1.tgz", + "integrity": "sha512-ojmeN0qd+y0jszEtoY48r0Peq5dwMEkIlCOu6Q5f41lfkswXuKtYrhgoTpLnyIcHm24Uhqx+5Tqm2InSwLhE6Q==", + "engines": { + "node": ">=8" + } + }, + "node_modules/path-parse": { + "version": "1.0.7", + "resolved": "https://registry.npmjs.org/path-parse/-/path-parse-1.0.7.tgz", + "integrity": "sha512-LDJzPVEEEPR+y48z93A0Ed0yXb8pAByGWo/k5YYdYgpY2/2EsOsksJrq7lOHxryrVOn1ejG6oAp8ahvOIQD8sw==" + }, + "node_modules/path-type": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/path-type/-/path-type-4.0.0.tgz", + "integrity": "sha512-gDKb8aZMDeD/tZWs9P6+q0J9Mwkdl6xMV8TjnGP3qJVJ06bdMgkbBlLU8IdfOsIsFz2BW1rNVT3XuNEl8zPAvw==", + "engines": { + "node": ">=8" + } + }, + "node_modules/prelude-ls": { + "version": "1.2.1", + "resolved": "https://registry.npmjs.org/prelude-ls/-/prelude-ls-1.2.1.tgz", + "integrity": "sha512-vkcDPrRZo1QZLbn5RLGPpg/WmIQ65qoWWhcGKf/b5eplkkarX0m9z8ppCat4mlOqUsWpyNuYgO3VRyrYHSzX5g==", + "engines": { + "node": ">= 0.8.0" + } + }, + "node_modules/progress": { + "version": "2.0.3", + "resolved": "https://registry.npmjs.org/progress/-/progress-2.0.3.tgz", + "integrity": "sha512-7PiHtLll5LdnKIMw100I+8xJXR5gW2QwWYkT6iJva0bXitZKa/XMrSbdmg3r2Xnaidz9Qumd0VPaMrZlF9V9sA==", + "engines": { + "node": ">=0.4.0" + } + }, + "node_modules/pump": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/pump/-/pump-3.0.0.tgz", + "integrity": "sha512-LwZy+p3SFs1Pytd/jYct4wpv49HiYCqd9Rlc5ZVdk0V+8Yzv6jR5Blk3TRmPL1ft69TxP0IMZGJ+WPFU2BFhww==", + "dependencies": { + "end-of-stream": "^1.1.0", + "once": "^1.3.1" + } + }, + "node_modules/punycode": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/punycode/-/punycode-2.1.1.tgz", + "integrity": "sha512-XRsRjdf+j5ml+y/6GKHPZbrF/8p2Yga0JPtdqTIY2Xe5ohJPD9saDJJLPvp9+NSBprVvevdXZybnj2cv8OEd0A==", + "engines": { + "node": ">=6" + } + }, + "node_modules/quick-lru": { + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/quick-lru/-/quick-lru-4.0.1.tgz", + "integrity": "sha512-ARhCpm70fzdcvNQfPoy49IaanKkTlRWF2JMzqhcJbhSFRZv7nPTvZJdcY7301IPmvW+/p0RgIWnQDLJxifsQ7g==", + "engines": { + "node": ">=8" + } + }, + "node_modules/read-pkg": { + "version": "5.2.0", + "resolved": "https://registry.npmjs.org/read-pkg/-/read-pkg-5.2.0.tgz", + "integrity": "sha512-Ug69mNOpfvKDAc2Q8DRpMjjzdtrnv9HcSMX+4VsZxD1aZ6ZzrIE7rlzXBtWTyhULSMKg076AW6WR5iZpD0JiOg==", + "dependencies": { + "@types/normalize-package-data": "^2.4.0", + "normalize-package-data": "^2.5.0", + "parse-json": "^5.0.0", + "type-fest": "^0.6.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/read-pkg-up": { + "version": "7.0.1", + "resolved": "https://registry.npmjs.org/read-pkg-up/-/read-pkg-up-7.0.1.tgz", + "integrity": "sha512-zK0TB7Xd6JpCLmlLmufqykGE+/TlOePD6qKClNW7hHDKFh/J7/7gCWGR7joEQEW1bKq3a3yUZSObOoWLFQ4ohg==", + "dependencies": { + "find-up": "^4.1.0", + "read-pkg": "^5.2.0", + "type-fest": "^0.8.1" + }, + "engines": { + "node": ">=8" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/read-pkg-up/node_modules/type-fest": { + "version": "0.8.1", + "resolved": "https://registry.npmjs.org/type-fest/-/type-fest-0.8.1.tgz", + "integrity": "sha512-4dbzIzqvjtgiM5rw1k5rEHtBANKmdudhGyBEajN01fEyhaAIhsoKNy6y7+IN93IfpFtwY9iqi7kD+xwKhQsNJA==", + "engines": { + "node": ">=8" + } + }, + "node_modules/read-pkg/node_modules/hosted-git-info": { + "version": "2.8.9", + "resolved": "https://registry.npmjs.org/hosted-git-info/-/hosted-git-info-2.8.9.tgz", + "integrity": "sha512-mxIDAb9Lsm6DoOJ7xH+5+X4y1LU/4Hi50L9C5sIswK3JzULS4bwk1FvjdBgvYR4bzT4tuUQiC15FE2f5HbLvYw==" + }, + "node_modules/read-pkg/node_modules/normalize-package-data": { + "version": "2.5.0", + "resolved": "https://registry.npmjs.org/normalize-package-data/-/normalize-package-data-2.5.0.tgz", + "integrity": "sha512-/5CMN3T0R4XTj4DcGaexo+roZSdSFW/0AOOTROrjxzCG1wrWXEsGbRKevjlIL+ZDE4sZlJr5ED4YW0yqmkK+eA==", + "dependencies": { + "hosted-git-info": "^2.1.4", + "resolve": "^1.10.0", + "semver": "2 || 3 || 4 || 5", + "validate-npm-package-license": "^3.0.1" + } + }, + "node_modules/read-pkg/node_modules/semver": { + "version": "5.7.1", + "resolved": "https://registry.npmjs.org/semver/-/semver-5.7.1.tgz", + "integrity": "sha512-sauaDf/PZdVgrLTNYHRtpXa1iRiKcaebiKQ1BJdpQlWH2lCvexQdX55snPFyK7QzpudqbCI0qXFfOasHdyNDGQ==", + "bin": { + "semver": "bin/semver" + } + }, + "node_modules/read-pkg/node_modules/type-fest": { + "version": "0.6.0", + "resolved": "https://registry.npmjs.org/type-fest/-/type-fest-0.6.0.tgz", + "integrity": "sha512-q+MB8nYR1KDLrgr4G5yemftpMC7/QLqVndBmEEdqzmNj5dcFOO4Oo8qlwZE3ULT3+Zim1F8Kq4cBnikNhlCMlg==", + "engines": { + "node": ">=8" + } + }, + "node_modules/redent": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/redent/-/redent-3.0.0.tgz", + "integrity": "sha512-6tDA8g98We0zd0GvVeMT9arEOnTw9qM03L9cJXaCjrip1OO764RDBLBfrB4cwzNGDj5OA5ioymC9GkizgWJDUg==", + "dependencies": { + "indent-string": "^4.0.0", + "strip-indent": "^3.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/regexpp": { + "version": "3.2.0", + "resolved": "https://registry.npmjs.org/regexpp/-/regexpp-3.2.0.tgz", + "integrity": "sha512-pq2bWo9mVD43nbts2wGv17XLiNLya+GklZ8kaDLV2Z08gDCsGpnKn9BFMepvWuHCbyVvY7J5o5+BVvoQbmlJLg==", + "engines": { + "node": ">=8" + }, + "funding": { + "url": "https://github.com/sponsors/mysticatea" + } + }, + "node_modules/resolve": { + "version": "1.20.0", + "resolved": "https://registry.npmjs.org/resolve/-/resolve-1.20.0.tgz", + "integrity": "sha512-wENBPt4ySzg4ybFQW2TT1zMQucPK95HSh/nq2CFTZVOGut2+pQvSsgtda4d26YrYcr067wjbmzOG8byDPBX63A==", + "dependencies": { + "is-core-module": "^2.2.0", + "path-parse": "^1.0.6" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/resolve-dir": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/resolve-dir/-/resolve-dir-1.0.1.tgz", + "integrity": "sha1-eaQGRMNivoLybv/nOcm7U4IEb0M=", + "dependencies": { + "expand-tilde": "^2.0.0", + "global-modules": "^1.0.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/resolve-from": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/resolve-from/-/resolve-from-4.0.0.tgz", + "integrity": "sha512-pb/MYmXstAkysRFx8piNI1tGFNQIFA3vkE3Gq4EuA1dF6gHp/+vgZqsCGJapvy8N3Q+4o7FwvquPJcnZ7RYy4g==", + "engines": { + "node": ">=4" + } + }, + "node_modules/rimraf": { + "version": "3.0.2", + "resolved": "https://registry.npmjs.org/rimraf/-/rimraf-3.0.2.tgz", + "integrity": "sha512-JZkJMZkAGFFPP2YqXZXPbMlMBgsxzE8ILs4lMIX/2o0L9UBw9O/Y3o6wFw/i9YLapcUJWwqbi3kdxIPdC62TIA==", + "dependencies": { + "glob": "^7.1.3" + }, + "bin": { + "rimraf": "bin.js" + }, + "funding": { + "url": "https://github.com/sponsors/isaacs" + } + }, + "node_modules/semver": { + "version": "7.3.5", + "resolved": "https://registry.npmjs.org/semver/-/semver-7.3.5.tgz", + "integrity": "sha512-PoeGJYh8HK4BTO/a9Tf6ZG3veo/A7ZVsYrSA6J8ny9nb3B1VrpkuN+z9OE5wfE5p6H4LchYZsegiQgbJD94ZFQ==", + "dependencies": { + "lru-cache": "^6.0.0" + }, + "bin": { + "semver": "bin/semver.js" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/shebang-command": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/shebang-command/-/shebang-command-2.0.0.tgz", + "integrity": "sha512-kHxr2zZpYtdmrN1qDjrrX/Z1rR1kG8Dx+gkpK1G4eXmvXswmcE1hTWBWYUzlraYw1/yZp6YuDY77YtvbN0dmDA==", + "dependencies": { + "shebang-regex": "^3.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/shebang-regex": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/shebang-regex/-/shebang-regex-3.0.0.tgz", + "integrity": "sha512-7++dFhtcx3353uBaq8DDR4NuxBetBzC7ZQOhmTQInHEd6bSrXdiEyzCvG07Z44UYdLShWUyXt5M/yhz8ekcb1A==", + "engines": { + "node": ">=8" + } + }, + "node_modules/signal-exit": { + "version": "3.0.6", + "resolved": "https://registry.npmjs.org/signal-exit/-/signal-exit-3.0.6.tgz", + "integrity": "sha512-sDl4qMFpijcGw22U5w63KmD3cZJfBuFlVNbVMKje2keoKML7X2UzWbc4XrmEbDwg0NXJc3yv4/ox7b+JWb57kQ==" + }, + "node_modules/spdx-correct": { + "version": "3.1.1", + "resolved": "https://registry.npmjs.org/spdx-correct/-/spdx-correct-3.1.1.tgz", + "integrity": "sha512-cOYcUWwhCuHCXi49RhFRCyJEK3iPj1Ziz9DpViV3tbZOwXD49QzIN3MpOLJNxh2qwq2lJJZaKMVw9qNi4jTC0w==", + "dependencies": { + "spdx-expression-parse": "^3.0.0", + "spdx-license-ids": "^3.0.0" + } + }, + "node_modules/spdx-exceptions": { + "version": "2.3.0", + "resolved": "https://registry.npmjs.org/spdx-exceptions/-/spdx-exceptions-2.3.0.tgz", + "integrity": "sha512-/tTrYOC7PPI1nUAgx34hUpqXuyJG+DTHJTnIULG4rDygi4xu/tfgmq1e1cIRwRzwZgo4NLySi+ricLkZkw4i5A==" + }, + "node_modules/spdx-expression-parse": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/spdx-expression-parse/-/spdx-expression-parse-3.0.1.tgz", + "integrity": "sha512-cbqHunsQWnJNE6KhVSMsMeH5H/L9EpymbzqTQ3uLwNCLZ1Q481oWaofqH7nO6V07xlXwY6PhQdQ2IedWx/ZK4Q==", + "dependencies": { + "spdx-exceptions": "^2.1.0", + "spdx-license-ids": "^3.0.0" + } + }, + "node_modules/spdx-license-ids": { + "version": "3.0.11", + "resolved": "https://registry.npmjs.org/spdx-license-ids/-/spdx-license-ids-3.0.11.tgz", + "integrity": "sha512-Ctl2BrFiM0X3MANYgj3CkygxhRmr9mi6xhejbdO960nF6EDJApTYpn0BQnDKlnNBULKiCN1n3w9EBkHK8ZWg+g==" + }, + "node_modules/strip-ansi": { + "version": "6.0.1", + "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-6.0.1.tgz", + "integrity": "sha512-Y38VPSHcqkFrCpFnQ9vuSXmquuv5oXOKpGeT6aGrr3o3Gc9AlVa6JBfUSOCnbxGGZF+/0ooI7KrPuUSztUdU5A==", + "dependencies": { + "ansi-regex": "^5.0.1" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/strip-final-newline": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/strip-final-newline/-/strip-final-newline-2.0.0.tgz", + "integrity": "sha512-BrpvfNAE3dcvq7ll3xVumzjKjZQ5tI1sEUIKr3Uoks0XUl45St3FlatVqef9prk4jRDzhW6WZg+3bk93y6pLjA==", + "engines": { + "node": ">=6" + } + }, + "node_modules/strip-indent": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/strip-indent/-/strip-indent-3.0.0.tgz", + "integrity": "sha512-laJTa3Jb+VQpaC6DseHhF7dXVqHTfJPCRDaEbid/drOhgitgYku/letMUqOXFoWV0zIIUbjpdH2t+tYj4bQMRQ==", + "dependencies": { + "min-indent": "^1.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/strip-json-comments": { + "version": "3.1.1", + "resolved": "https://registry.npmjs.org/strip-json-comments/-/strip-json-comments-3.1.1.tgz", + "integrity": "sha512-6fPc+R4ihwqP6N/aIv2f1gMH8lOVtWQHoqC4yK6oSDVVocumAsfCqjkXnqiYMhmMwS/mEHLp7Vehlt3ql6lEig==", + "engines": { + "node": ">=8" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/supports-color": { + "version": "5.5.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-5.5.0.tgz", + "integrity": "sha512-QjVjwdXIt408MIiAqCX4oUKsgU2EqAGzs2Ppkm4aQYbjm+ZEWEcW4SfFNTr4uMNZma0ey4f5lgLrkB0aX0QMow==", + "dependencies": { + "has-flag": "^3.0.0" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/text-table": { + "version": "0.2.0", + "resolved": "https://registry.npmjs.org/text-table/-/text-table-0.2.0.tgz", + "integrity": "sha1-f17oI66AUgfACvLfSoTsP8+lcLQ=" + }, + "node_modules/timers-ext": { + "version": "0.1.7", + "resolved": "https://registry.npmjs.org/timers-ext/-/timers-ext-0.1.7.tgz", + "integrity": "sha512-b85NUNzTSdodShTIbky6ZF02e8STtVVfD+fu4aXXShEELpozH+bCpJLYMPZbsABN2wDH7fJpqIoXxJpzbf0NqQ==", + "dependencies": { + "es5-ext": "~0.10.46", + "next-tick": "1" + } + }, + "node_modules/trim-newlines": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/trim-newlines/-/trim-newlines-3.0.1.tgz", + "integrity": "sha512-c1PTsA3tYrIsLGkJkzHF+w9F2EyxfXGo4UyJc4pFL++FMjnq0HJS69T3M7d//gKrFKwy429bouPescbjecU+Zw==", + "engines": { + "node": ">=8" + } + }, + "node_modules/tslib": { + "version": "2.3.1", + "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.3.1.tgz", + "integrity": "sha512-77EbyPPpMz+FRFRuAFlWMtmgUWGe9UOG2Z25NqCwiIjRhOf5iKGuzSe5P2w1laq+FkRy4p+PCuVkJSGkzTEKVw==" + }, + "node_modules/type": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/type/-/type-1.2.0.tgz", + "integrity": "sha512-+5nt5AAniqsCnu2cEQQdpzCAh33kVx8n0VoFidKpB1dVVLAN/F+bgVOqOJqOnEnrhp222clB5p3vUlD+1QAnfg==" + }, + "node_modules/type-check": { + "version": "0.4.0", + "resolved": "https://registry.npmjs.org/type-check/-/type-check-0.4.0.tgz", + "integrity": "sha512-XleUoc9uwGXqjWwXaUTZAmzMcFZ5858QA2vvx1Ur5xIcixXIP+8LnFDgRplU30us6teqdlskFfu+ae4K79Ooew==", + "dependencies": { + "prelude-ls": "^1.2.1" + }, + "engines": { + "node": ">= 0.8.0" + } + }, + "node_modules/type-fest": { + "version": "0.18.1", + "resolved": "https://registry.npmjs.org/type-fest/-/type-fest-0.18.1.tgz", + "integrity": "sha512-OIAYXk8+ISY+qTOwkHtKqzAuxchoMiD9Udx+FSGQDuiRR+PJKJHc2NJAXlbhkGwTt/4/nKZxELY1w3ReWOL8mw==", + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/uri-js": { + "version": "4.4.1", + "resolved": "https://registry.npmjs.org/uri-js/-/uri-js-4.4.1.tgz", + "integrity": "sha512-7rKUyy33Q1yc98pQ1DAmLtwX109F7TIfWlW1Ydo8Wl1ii1SeHieeh0HHfPeL2fMXK6z0s8ecKs9frCuLJvndBg==", + "dependencies": { + "punycode": "^2.1.0" + } + }, + "node_modules/uuid": { + "version": "8.3.2", + "resolved": "https://registry.npmjs.org/uuid/-/uuid-8.3.2.tgz", + "integrity": "sha512-+NYs2QeMWy+GWFOEm9xnn6HCDp0l7QBD7ml8zLUmJ+93Q5NF0NocErnwkTkXVFNiX3/fpC6afS8Dhb/gz7R7eg==", + "bin": { + "uuid": "dist/bin/uuid" + } + }, + "node_modules/v8-compile-cache": { + "version": "2.3.0", + "resolved": "https://registry.npmjs.org/v8-compile-cache/-/v8-compile-cache-2.3.0.tgz", + "integrity": "sha512-l8lCEmLcLYZh4nbunNZvQCJc5pv7+RCwa8q/LdUx8u7lsWvPDKmpodJAJNwkAhJC//dFY48KuIEmjtd4RViDrA==" + }, + "node_modules/validate-npm-package-license": { + "version": "3.0.4", + "resolved": "https://registry.npmjs.org/validate-npm-package-license/-/validate-npm-package-license-3.0.4.tgz", + "integrity": "sha512-DpKm2Ui/xN7/HQKCtpZxoRWBhZ9Z0kqtygG8XCgNQ8ZlDnxuQmWhj566j8fN4Cu3/JmbhsDo7fcAJq4s9h27Ew==", + "dependencies": { + "spdx-correct": "^3.0.0", + "spdx-expression-parse": "^3.0.0" + } + }, + "node_modules/which": { + "version": "1.3.1", + "resolved": "https://registry.npmjs.org/which/-/which-1.3.1.tgz", + "integrity": "sha512-HxJdYWq1MTIQbJ3nw0cqssHoTNU267KlrDuGZ1WYlxDStUtKUhOaJmh112/TZmHxxUfuJqPXSOm7tDyas0OSIQ==", + "dependencies": { + "isexe": "^2.0.0" + }, + "bin": { + "which": "bin/which" + } + }, + "node_modules/word-wrap": { + "version": "1.2.3", + "resolved": "https://registry.npmjs.org/word-wrap/-/word-wrap-1.2.3.tgz", + "integrity": "sha512-Hz/mrNwitNRh/HUAtM/VT/5VH+ygD6DV7mYKZAtHOrbs8U7lvPS6xf7EJKMF0uW1KJCl0H701g3ZGus+muE5vQ==", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/wrappy": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/wrappy/-/wrappy-1.0.2.tgz", + "integrity": "sha1-tSQ9jz7BqjXxNkYFvA0QNuMKtp8=" + }, + "node_modules/yallist": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/yallist/-/yallist-4.0.0.tgz", + "integrity": "sha512-3wdGidZyq5PB084XLES5TpOSRA3wjXAlIWMhum2kRcv/41Sn2emQ0dycQW4uZXLejwKvg6EsvbdlVL+FYEct7A==" + }, + "node_modules/yaml": { + "version": "1.10.2", + "resolved": "https://registry.npmjs.org/yaml/-/yaml-1.10.2.tgz", + "integrity": "sha512-r3vXyErRCYJ7wg28yvBY5VSoAF8ZvlcW9/BwUzEtUsjvX/DKs24dIkuwjtuprwJJHsbyUbLApepYTR1BN4uHrg==", + "engines": { + "node": ">= 6" + } + }, + "node_modules/yargs-parser": { + "version": "20.2.9", + "resolved": "https://registry.npmjs.org/yargs-parser/-/yargs-parser-20.2.9.tgz", + "integrity": "sha512-y11nGElTIV+CT3Zv9t7VKl+Q3hTQoT9a1Qzezhhl6Rp21gJ/IVTW7Z3y9EWXhuUBC2Shnf+DX0antecpAwSP8w==", + "engines": { + "node": ">=10" + } + } + }, + "dependencies": { + "@babel/code-frame": { + "version": "7.16.0", + "resolved": "https://registry.npmjs.org/@babel/code-frame/-/code-frame-7.16.0.tgz", + "integrity": "sha512-IF4EOMEV+bfYwOmNxGzSnjR2EmQod7f1UXOpZM3l4i4o4QNwzjtJAu/HxdjHq0aYBvdqMuQEY1eg0nqW9ZPORA==", + "requires": { + "@babel/highlight": "^7.16.0" + } + }, + "@babel/helper-validator-identifier": { + "version": "7.15.7", + "resolved": "https://registry.npmjs.org/@babel/helper-validator-identifier/-/helper-validator-identifier-7.15.7.tgz", + "integrity": "sha512-K4JvCtQqad9OY2+yTU8w+E82ywk/fe+ELNlt1G8z3bVGlZfn/hOcQQsUhGhW/N+tb3fxK800wLtKOE/aM0m72w==" + }, + "@babel/highlight": { + "version": "7.16.0", + "resolved": "https://registry.npmjs.org/@babel/highlight/-/highlight-7.16.0.tgz", + "integrity": "sha512-t8MH41kUQylBtu2+4IQA3atqevA2lRgqA2wyVB/YiWmsDSuylZZuXOUy9ric30hfzauEFfdsuk/eXTRrGrfd0g==", + "requires": { + "@babel/helper-validator-identifier": "^7.15.7", + "chalk": "^2.0.0", + "js-tokens": "^4.0.0" + } + }, + "@eslint/eslintrc": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/@eslint/eslintrc/-/eslintrc-1.0.4.tgz", + "integrity": "sha512-h8Vx6MdxwWI2WM8/zREHMoqdgLNXEL4QX3MWSVMdyNJGvXVOs+6lp+m2hc3FnuMHDc4poxFNI20vCk0OmI4G0Q==", + "requires": { + "ajv": "^6.12.4", + "debug": "^4.3.2", + "espree": "^9.0.0", + "globals": "^13.9.0", + "ignore": "^4.0.6", + "import-fresh": "^3.2.1", + "js-yaml": "^4.1.0", + "minimatch": "^3.0.4", + "strip-json-comments": "^3.1.1" + } + }, + "@humanwhocodes/config-array": { + "version": "0.6.0", + "resolved": "https://registry.npmjs.org/@humanwhocodes/config-array/-/config-array-0.6.0.tgz", + "integrity": "sha512-JQlEKbcgEUjBFhLIF4iqM7u/9lwgHRBcpHrmUNCALK0Q3amXN6lxdoXLnF0sm11E9VqTmBALR87IlUg1bZ8A9A==", + "requires": { + "@humanwhocodes/object-schema": "^1.2.0", + "debug": "^4.1.1", + "minimatch": "^3.0.4" + } + }, + "@humanwhocodes/object-schema": { + "version": "1.2.1", + "resolved": "https://registry.npmjs.org/@humanwhocodes/object-schema/-/object-schema-1.2.1.tgz", + "integrity": "sha512-ZnQMnLV4e7hDlUvw8H+U8ASL02SS2Gn6+9Ac3wGGLIe7+je2AeAOxPY+izIPJDfFDb7eDjev0Us8MO1iFRN8hA==" + }, + "@markuplint/file-resolver": { + "version": "1.5.0", + "resolved": "https://registry.npmjs.org/@markuplint/file-resolver/-/file-resolver-1.5.0.tgz", + "integrity": "sha512-UK3Nyi9AGOBvcG0Ea+0Ar3uzoAZg0p2+w+4Erw9zR/1DHWSmUOwRmDZxt5kMbEcPkv16ItJcSrfbLeX5CsvLdA==", + "requires": { + "@markuplint/ml-config": "^1.3.0", + "cosmiconfig": "^7.0.0", + "glob": "^7.1.7", + "minimatch": "^3.0.4", + "tslib": "^2.3.0" + } + }, + "@markuplint/html-parser": { + "version": "1.7.3", + "resolved": "https://registry.npmjs.org/@markuplint/html-parser/-/html-parser-1.7.3.tgz", + "integrity": "sha512-WrpePphZLA6G4R3kNlIiiBBxeDVvBa0p2GI+WGMxMQZQYr9/1KAQFNNhwcBhySVGIsd5hW9fm8SysjCgF+K7Cw==", + "requires": { + "@markuplint/ml-ast": "^1.6.0", + "@markuplint/parser-utils": "^1.6.3", + "parse5": "^6.0.1", + "tslib": "^2.3.0" + } + }, + "@markuplint/html-spec": { + "version": "1.8.2", + "resolved": "https://registry.npmjs.org/@markuplint/html-spec/-/html-spec-1.8.2.tgz", + "integrity": "sha512-TYUg6NEIq+tDqmLfOBZIwRNBGW+0BxnqP/Wqxc0+hjCTLrAH/PEDOR1JUwkJNZG/65VGVDEteZ8A8UPAQ1/v4g==", + "requires": { + "@markuplint/ml-spec": "^1.7.0" + } + }, + "@markuplint/i18n": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/@markuplint/i18n/-/i18n-1.2.0.tgz", + "integrity": "sha512-bQ8AMjDGV6PQ9M0jTTy+J+Lbz+a1sJ5y/KSqUmhTvmwdcKAs5qn+eZwP1jzfx+ooi19+2q0HfSNsM3eW+9k3Vg==" + }, + "@markuplint/ml-ast": { + "version": "1.6.0", + "resolved": "https://registry.npmjs.org/@markuplint/ml-ast/-/ml-ast-1.6.0.tgz", + "integrity": "sha512-xJgfnIQZDH+BrNP4Ppx88W4G8aLyOodXSIWcYMb15Lm/jEQks3YLbsGfYohBj+TcoTtQ62ZGhMcrXVPwZLbahQ==", + "requires": { + "tslib": "^2.3.0" + } + }, + "@markuplint/ml-config": { + "version": "1.3.0", + "resolved": "https://registry.npmjs.org/@markuplint/ml-config/-/ml-config-1.3.0.tgz", + "integrity": "sha512-2GqA2hwums+DxE5GxkvFAkeCgJ4yPkRXkrdCNbFj9FiFmzVO3xikoOGmxcR0ol9oaXFfVnxoc9XFCfknPo/oMg==" + }, + "@markuplint/ml-core": { + "version": "1.9.0", + "resolved": "https://registry.npmjs.org/@markuplint/ml-core/-/ml-core-1.9.0.tgz", + "integrity": "sha512-KpT6rc4IWiPSUBrrB01dXEYK4uMmsP53Lc6Ooy7R7IDSjp0UbIZoouEVPSgMs0yfy/TurqQwT8VL8GEpkEABtA==", + "requires": { + "@markuplint/i18n": "^1.2.0", + "@markuplint/ml-ast": "^1.6.0", + "@markuplint/ml-config": "^1.3.0", + "@markuplint/ml-spec": "^1.7.0", + "css-selector-parser": "^1.4.1", + "tslib": "^2.3.0" + } + }, + "@markuplint/ml-spec": { + "version": "1.7.0", + "resolved": "https://registry.npmjs.org/@markuplint/ml-spec/-/ml-spec-1.7.0.tgz", + "integrity": "sha512-UZFz+ktT1cmkwYZ4JlNGO+PldTmmP3qQjfR6D94RSLC7A5kNhx+qDx4lEA709UOd23gnyZNCaYCw6dGi+oAtXg==", + "requires": { + "tslib": "^2.3.0" + } + }, + "@markuplint/parser-utils": { + "version": "1.6.3", + "resolved": "https://registry.npmjs.org/@markuplint/parser-utils/-/parser-utils-1.6.3.tgz", + "integrity": "sha512-thtarMmaMB1cKZqOJ9Ts6tO9C/h6qX5cpvSPaFTBngDtdOfMpNfll/Vcav7W9KouzkqB0q8hzq4ksEazT/cOKw==", + "requires": { + "@markuplint/ml-ast": "^1.6.0", + "tslib": "^2.3.0", + "uuid": "^8.3.2" + } + }, + "@markuplint/rules": { + "version": "1.10.4", + "resolved": "https://registry.npmjs.org/@markuplint/rules/-/rules-1.10.4.tgz", + "integrity": "sha512-AB+q4/fUNH2EJfQXHRYKQAQQnqHnODByPrEK4TzKLpI72V54HjIi8+tDMmqN4uiWBV6nliYI+uysKcRYDuPMog==", + "requires": { + "@markuplint/html-spec": "^1.8.2", + "@markuplint/ml-core": "^1.9.0", + "@markuplint/ml-spec": "^1.7.0", + "tslib": "^2.3.0" + } + }, + "@types/minimist": { + "version": "1.2.2", + "resolved": "https://registry.npmjs.org/@types/minimist/-/minimist-1.2.2.tgz", + "integrity": "sha512-jhuKLIRrhvCPLqwPcx6INqmKeiA5EWrsCOPhrlFSrbrmU4ZMPjj5Ul/oLCMDO98XRUIwVm78xICz4EPCektzeQ==" + }, + "@types/normalize-package-data": { + "version": "2.4.1", + "resolved": "https://registry.npmjs.org/@types/normalize-package-data/-/normalize-package-data-2.4.1.tgz", + "integrity": "sha512-Gj7cI7z+98M282Tqmp2K5EIsoouUEzbBJhQQzDE3jSIRk6r9gsz0oUokqIUR4u1R3dMHo0pDHM7sNOHyhulypw==" + }, + "@types/parse-json": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/@types/parse-json/-/parse-json-4.0.0.tgz", + "integrity": "sha512-//oorEZjL6sbPcKUaCdIGlIUeH26mgzimjBB77G6XRgnDl/L5wOnpyBGRe/Mmf5CVW3PwEBE1NjiMZ/ssFh4wA==" + }, + "acorn": { + "version": "8.6.0", + "resolved": "https://registry.npmjs.org/acorn/-/acorn-8.6.0.tgz", + "integrity": "sha512-U1riIR+lBSNi3IbxtaHOIKdH8sLFv3NYfNv8sg7ZsNhcfl4HF2++BfqqrNAxoCLQW1iiylOj76ecnaUxz+z9yw==" + }, + "acorn-jsx": { + "version": "5.3.2", + "resolved": "https://registry.npmjs.org/acorn-jsx/-/acorn-jsx-5.3.2.tgz", + "integrity": "sha512-rq9s+JNhf0IChjtDXxllJ7g41oZk5SlXtp0LHwyA5cejwn7vKmKp4pPri6YEePv2PU65sAsegbXtIinmDFDXgQ==", + "requires": {} + }, + "ajv": { + "version": "6.12.6", + "resolved": "https://registry.npmjs.org/ajv/-/ajv-6.12.6.tgz", + "integrity": "sha512-j3fVLgvTo527anyYyJOGTYJbG+vnnQYvE0m5mmkc1TK+nxAppkCLMIL0aZ4dblVCNoGShhm+kzE4ZUykBoMg4g==", + "requires": { + "fast-deep-equal": "^3.1.1", + "fast-json-stable-stringify": "^2.0.0", + "json-schema-traverse": "^0.4.1", + "uri-js": "^4.2.2" + } + }, + "ansi-colors": { + "version": "4.1.1", + "resolved": "https://registry.npmjs.org/ansi-colors/-/ansi-colors-4.1.1.tgz", + "integrity": "sha512-JoX0apGbHaUJBNl6yF+p6JAFYZ666/hhCGKN5t9QFjbJQKUU/g8MNbFDbvfrgKXvI1QpZplPOnwIo99lX/AAmA==" + }, + "ansi-regex": { + "version": "5.0.1", + "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-5.0.1.tgz", + "integrity": "sha512-quJQXlTSUGL2LH9SUXo8VwsY4soanhgo6LNSm84E1LBcE8s3O0wpdiRzyR9z/ZZJMlMWv37qOOb9pdJlMUEKFQ==" + }, + "ansi-styles": { + "version": "3.2.1", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-3.2.1.tgz", + "integrity": "sha512-VT0ZI6kZRdTh8YyJw3SMbYm/u+NqfsAxEpWO0Pf9sq8/e94WxxOpPKx9FR1FlyCtOVDNOQ+8ntlqFxiRc+r5qA==", + "requires": { + "color-convert": "^1.9.0" + } + }, + "argparse": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/argparse/-/argparse-2.0.1.tgz", + "integrity": "sha512-8+9WqebbFzpX9OR+Wa6O29asIogeRMzcGtAINdpMHHyAg10f05aSFVBbcEqGf/PXw1EjAZ+q2/bEBg3DvurK3Q==" + }, + "arrify": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/arrify/-/arrify-1.0.1.tgz", + "integrity": "sha1-iYUI2iIm84DfkEcoRWhJwVAaSw0=" + }, + "balanced-match": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/balanced-match/-/balanced-match-1.0.2.tgz", + "integrity": "sha512-3oSeUO0TMV67hN1AmbXsK4yaqU7tjiHlbxRDZOpH0KW9+CeX4bRAaX0Anxt0tx2MrpRpWwQaPwIlISEJhYU5Pw==" + }, + "brace-expansion": { + "version": "1.1.11", + "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-1.1.11.tgz", + "integrity": "sha512-iCuPHDFgrHX7H2vEI/5xpz07zSHB00TpugqhmYtVmMO6518mCuRMoOYFldEBl0g187ufozdaHgWKcYFb61qGiA==", + "requires": { + "balanced-match": "^1.0.0", + "concat-map": "0.0.1" + } + }, + "callsites": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/callsites/-/callsites-3.1.0.tgz", + "integrity": "sha512-P8BjAsXvZS+VIDUI11hHCQEv74YT67YUi5JJFNWIqL235sBmjX4+qx9Muvls5ivyNENctx46xQLQ3aTuE7ssaQ==" + }, + "camelcase": { + "version": "5.3.1", + "resolved": "https://registry.npmjs.org/camelcase/-/camelcase-5.3.1.tgz", + "integrity": "sha512-L28STB170nwWS63UjtlEOE3dldQApaJXZkOI1uMFfzf3rRuPegHaHesyee+YxQ+W6SvRDQV6UrdOdRiR153wJg==" + }, + "camelcase-keys": { + "version": "6.2.2", + "resolved": "https://registry.npmjs.org/camelcase-keys/-/camelcase-keys-6.2.2.tgz", + "integrity": "sha512-YrwaA0vEKazPBkn0ipTiMpSajYDSe+KjQfrjhcBMxJt/znbvlHd8Pw/Vamaz5EB4Wfhs3SUR3Z9mwRu/P3s3Yg==", + "requires": { + "camelcase": "^5.3.1", + "map-obj": "^4.0.0", + "quick-lru": "^4.0.1" + } + }, + "chalk": { + "version": "2.4.2", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-2.4.2.tgz", + "integrity": "sha512-Mti+f9lpJNcwF4tWV8/OrTTtF1gZi+f8FqlyAdouralcFWFQWF2+NgCHShjkCb+IFBLq9buZwE1xckQU4peSuQ==", + "requires": { + "ansi-styles": "^3.2.1", + "escape-string-regexp": "^1.0.5", + "supports-color": "^5.3.0" + } + }, + "cli-color": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/cli-color/-/cli-color-2.0.1.tgz", + "integrity": "sha512-eBbxZF6fqPUNnf7CLAFOersUnyYzv83tHFLSlts+OAHsNendaqv2tHCq+/MO+b3Y+9JeoUlIvobyxG/Z8GNeOg==", + "requires": { + "d": "^1.0.1", + "es5-ext": "^0.10.53", + "es6-iterator": "^2.0.3", + "memoizee": "^0.4.15", + "timers-ext": "^0.1.7" + } + }, + "color-convert": { + "version": "1.9.3", + "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-1.9.3.tgz", + "integrity": "sha512-QfAUtd+vFdAtFQcC8CCyYt1fYWxSqAiK2cSD6zDB8N3cpsEBAvRxp9zOGg6G/SHHJYAT88/az/IuDGALsNVbGg==", + "requires": { + "color-name": "1.1.3" + } + }, + "color-name": { + "version": "1.1.3", + "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.3.tgz", + "integrity": "sha1-p9BVi9icQveV3UIyj3QIMcpTvCU=" + }, + "concat-map": { + "version": "0.0.1", + "resolved": "https://registry.npmjs.org/concat-map/-/concat-map-0.0.1.tgz", + "integrity": "sha1-2Klr13/Wjfd5OnMDajug1UBdR3s=" + }, + "cosmiconfig": { + "version": "7.0.1", + "resolved": "https://registry.npmjs.org/cosmiconfig/-/cosmiconfig-7.0.1.tgz", + "integrity": "sha512-a1YWNUV2HwGimB7dU2s1wUMurNKjpx60HxBB6xUM8Re+2s1g1IIfJvFR0/iCF+XHdE0GMTKTuLR32UQff4TEyQ==", + "requires": { + "@types/parse-json": "^4.0.0", + "import-fresh": "^3.2.1", + "parse-json": "^5.0.0", + "path-type": "^4.0.0", + "yaml": "^1.10.0" + } + }, + "cross-spawn": { + "version": "7.0.3", + "resolved": "https://registry.npmjs.org/cross-spawn/-/cross-spawn-7.0.3.tgz", + "integrity": "sha512-iRDPJKUPVEND7dHPO8rkbOnPpyDygcDFtWjpeWNCgy8WP2rXcxXL8TskReQl6OrB2G7+UJrags1q15Fudc7G6w==", + "requires": { + "path-key": "^3.1.0", + "shebang-command": "^2.0.0", + "which": "^2.0.1" + }, + "dependencies": { + "which": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/which/-/which-2.0.2.tgz", + "integrity": "sha512-BLI3Tl1TW3Pvl70l3yq3Y64i+awpwXqsGBYWkkqMtnbXgrMD+yj7rhW0kuEDxzJaYXGjEW5ogapKNMEKNMjibA==", + "requires": { + "isexe": "^2.0.0" + } + } + } + }, + "css-selector-parser": { + "version": "1.4.1", + "resolved": "https://registry.npmjs.org/css-selector-parser/-/css-selector-parser-1.4.1.tgz", + "integrity": "sha512-HYPSb7y/Z7BNDCOrakL4raGO2zltZkbeXyAd6Tg9obzix6QhzxCotdBl6VT0Dv4vZfJGVz3WL/xaEI9Ly3ul0g==" + }, + "d": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/d/-/d-1.0.1.tgz", + "integrity": "sha512-m62ShEObQ39CfralilEQRjH6oAMtNCV1xJyEx5LpRYUVN+EviphDgUc/F3hnYbADmkiNs67Y+3ylmlG7Lnu+FA==", + "requires": { + "es5-ext": "^0.10.50", + "type": "^1.0.1" + } + }, + "debug": { + "version": "4.3.3", + "resolved": "https://registry.npmjs.org/debug/-/debug-4.3.3.tgz", + "integrity": "sha512-/zxw5+vh1Tfv+4Qn7a5nsbcJKPaSvCDhojn6FEl9vupwK2VCSDtEiEtqr8DFtzYFOdz63LBkxec7DYuc2jon6Q==", + "requires": { + "ms": "2.1.2" + } + }, + "decamelize": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/decamelize/-/decamelize-1.2.0.tgz", + "integrity": "sha1-9lNNFRSCabIDUue+4m9QH5oZEpA=" + }, + "decamelize-keys": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/decamelize-keys/-/decamelize-keys-1.1.0.tgz", + "integrity": "sha1-0XGoeTMlKAfrPLYdwcFEXQeN8tk=", + "requires": { + "decamelize": "^1.1.0", + "map-obj": "^1.0.0" + }, + "dependencies": { + "map-obj": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/map-obj/-/map-obj-1.0.1.tgz", + "integrity": "sha1-2TPOuSBdgr3PSIb2dCvcK03qFG0=" + } + } + }, + "deep-is": { + "version": "0.1.4", + "resolved": "https://registry.npmjs.org/deep-is/-/deep-is-0.1.4.tgz", + "integrity": "sha512-oIPzksmTg4/MriiaYGO+okXDT7ztn/w3Eptv/+gSIdMdKsJo0u4CfYNFJPy+4SKMuCqGw2wxnA+URMg3t8a/bQ==" + }, + "detect-installed": { + "version": "2.0.4", + "resolved": "https://registry.npmjs.org/detect-installed/-/detect-installed-2.0.4.tgz", + "integrity": "sha1-oIUEZefD68/5eda2U1rTRLgN18U=", + "requires": { + "get-installed-path": "^2.0.3" + } + }, + "doctrine": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/doctrine/-/doctrine-3.0.0.tgz", + "integrity": "sha512-yS+Q5i3hBf7GBkd4KG8a7eBNNWNGLTaEwwYWUijIYM7zrlYDM0BFXHjjPWlWZ1Rg7UaddZeIDmi9jF3HmqiQ2w==", + "requires": { + "esutils": "^2.0.2" + } + }, + "eastasianwidth": { + "version": "0.2.0", + "resolved": "https://registry.npmjs.org/eastasianwidth/-/eastasianwidth-0.2.0.tgz", + "integrity": "sha512-I88TYZWc9XiYHRQ4/3c5rjjfgkjhLyW2luGIheGERbNQ6OY7yTybanSpDXZa8y7VUP9YmDcYa+eyq4ca7iLqWA==" + }, + "end-of-stream": { + "version": "1.4.4", + "resolved": "https://registry.npmjs.org/end-of-stream/-/end-of-stream-1.4.4.tgz", + "integrity": "sha512-+uw1inIHVPQoaVuHzRyXd21icM+cnt4CzD5rW+NC1wjOUSTOs+Te7FOv7AhN7vS9x/oIyhLP5PR1H+phQAHu5Q==", + "requires": { + "once": "^1.4.0" + } + }, + "enquirer": { + "version": "2.3.6", + "resolved": "https://registry.npmjs.org/enquirer/-/enquirer-2.3.6.tgz", + "integrity": "sha512-yjNnPr315/FjS4zIsUxYguYUPP2e1NK4d7E7ZOLiyYCcbFBiTMyID+2wvm2w6+pZ/odMA7cRkjhsPbltwBOrLg==", + "requires": { + "ansi-colors": "^4.1.1" + } + }, + "error-ex": { + "version": "1.3.2", + "resolved": "https://registry.npmjs.org/error-ex/-/error-ex-1.3.2.tgz", + "integrity": "sha512-7dFHNmqeFSEt2ZBsCriorKnn3Z2pj+fd9kmI6QoWw4//DL+icEBfc0U7qJCisqrTsKTjw4fNFy2pW9OqStD84g==", + "requires": { + "is-arrayish": "^0.2.1" + } + }, + "es5-ext": { + "version": "0.10.53", + "resolved": "https://registry.npmjs.org/es5-ext/-/es5-ext-0.10.53.tgz", + "integrity": "sha512-Xs2Stw6NiNHWypzRTY1MtaG/uJlwCk8kH81920ma8mvN8Xq1gsfhZvpkImLQArw8AHnv8MT2I45J3c0R8slE+Q==", + "requires": { + "es6-iterator": "~2.0.3", + "es6-symbol": "~3.1.3", + "next-tick": "~1.0.0" + } + }, + "es6-iterator": { + "version": "2.0.3", + "resolved": "https://registry.npmjs.org/es6-iterator/-/es6-iterator-2.0.3.tgz", + "integrity": "sha1-p96IkUGgWpSwhUQDstCg+/qY87c=", + "requires": { + "d": "1", + "es5-ext": "^0.10.35", + "es6-symbol": "^3.1.1" + } + }, + "es6-symbol": { + "version": "3.1.3", + "resolved": "https://registry.npmjs.org/es6-symbol/-/es6-symbol-3.1.3.tgz", + "integrity": "sha512-NJ6Yn3FuDinBaBRWl/q5X/s4koRHBrgKAu+yGI6JCBeiu3qrcbJhwT2GeR/EXVfylRk8dpQVJoLEFhK+Mu31NA==", + "requires": { + "d": "^1.0.1", + "ext": "^1.1.2" + } + }, + "es6-weak-map": { + "version": "2.0.3", + "resolved": "https://registry.npmjs.org/es6-weak-map/-/es6-weak-map-2.0.3.tgz", + "integrity": "sha512-p5um32HOTO1kP+w7PRnB+5lQ43Z6muuMuIMffvDN8ZB4GcnjLBV6zGStpbASIMk4DCAvEaamhe2zhyCb/QXXsA==", + "requires": { + "d": "1", + "es5-ext": "^0.10.46", + "es6-iterator": "^2.0.3", + "es6-symbol": "^3.1.1" + } + }, + "escape-string-regexp": { + "version": "1.0.5", + "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-1.0.5.tgz", + "integrity": "sha1-G2HAViGQqN/2rjuyzwIAyhMLhtQ=" + }, + "eslint": { + "version": "8.3.0", + "resolved": "https://registry.npmjs.org/eslint/-/eslint-8.3.0.tgz", + "integrity": "sha512-aIay56Ph6RxOTC7xyr59Kt3ewX185SaGnAr8eWukoPLeriCrvGjvAubxuvaXOfsxhtwV5g0uBOsyhAom4qJdww==", + "requires": { + "@eslint/eslintrc": "^1.0.4", + "@humanwhocodes/config-array": "^0.6.0", + "ajv": "^6.10.0", + "chalk": "^4.0.0", + "cross-spawn": "^7.0.2", + "debug": "^4.3.2", + "doctrine": "^3.0.0", + "enquirer": "^2.3.5", + "escape-string-regexp": "^4.0.0", + "eslint-scope": "^7.1.0", + "eslint-utils": "^3.0.0", + "eslint-visitor-keys": "^3.1.0", + "espree": "^9.1.0", + "esquery": "^1.4.0", + "esutils": "^2.0.2", + "fast-deep-equal": "^3.1.3", + "file-entry-cache": "^6.0.1", + "functional-red-black-tree": "^1.0.1", + "glob-parent": "^6.0.1", + "globals": "^13.6.0", + "ignore": "^4.0.6", + "import-fresh": "^3.0.0", + "imurmurhash": "^0.1.4", + "is-glob": "^4.0.0", + "js-yaml": "^4.1.0", + "json-stable-stringify-without-jsonify": "^1.0.1", + "levn": "^0.4.1", + "lodash.merge": "^4.6.2", + "minimatch": "^3.0.4", + "natural-compare": "^1.4.0", + "optionator": "^0.9.1", + "progress": "^2.0.0", + "regexpp": "^3.2.0", + "semver": "^7.2.1", + "strip-ansi": "^6.0.1", + "strip-json-comments": "^3.1.0", + "text-table": "^0.2.0", + "v8-compile-cache": "^2.0.3" + }, + "dependencies": { + "ansi-styles": { + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", + "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", + "requires": { + "color-convert": "^2.0.1" + } + }, + "chalk": { + "version": "4.1.2", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", + "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", + "requires": { + "ansi-styles": "^4.1.0", + "supports-color": "^7.1.0" + } + }, + "color-convert": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", + "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", + "requires": { + "color-name": "~1.1.4" + } + }, + "color-name": { + "version": "1.1.4", + "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", + "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==" + }, + "escape-string-regexp": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-4.0.0.tgz", + "integrity": "sha512-TtpcNJ3XAzx3Gq8sWRzJaVajRs0uVxA2YAkdb1jm2YkPz4G6egUFAyA3n5vtEIZefPk5Wa4UXbKuS5fKkJWdgA==" + }, + "has-flag": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", + "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==" + }, + "supports-color": { + "version": "7.2.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz", + "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==", + "requires": { + "has-flag": "^4.0.0" + } + } + } + }, + "eslint-config-google": { + "version": "0.14.0", + "resolved": "https://registry.npmjs.org/eslint-config-google/-/eslint-config-google-0.14.0.tgz", + "integrity": "sha512-WsbX4WbjuMvTdeVL6+J3rK1RGhCTqjsFjX7UMSMgZiyxxaNLkoJENbrGExzERFeoTpGw3F3FypTiWAP9ZXzkEw==", + "requires": {} + }, + "eslint-scope": { + "version": "7.1.0", + "resolved": "https://registry.npmjs.org/eslint-scope/-/eslint-scope-7.1.0.tgz", + "integrity": "sha512-aWwkhnS0qAXqNOgKOK0dJ2nvzEbhEvpy8OlJ9kZ0FeZnA6zpjv1/Vei+puGFFX7zkPCkHHXb7IDX3A+7yPrRWg==", + "requires": { + "esrecurse": "^4.3.0", + "estraverse": "^5.2.0" + } + }, + "eslint-utils": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/eslint-utils/-/eslint-utils-3.0.0.tgz", + "integrity": "sha512-uuQC43IGctw68pJA1RgbQS8/NP7rch6Cwd4j3ZBtgo4/8Flj4eGE7ZYSZRN3iq5pVUv6GPdW5Z1RFleo84uLDA==", + "requires": { + "eslint-visitor-keys": "^2.0.0" + }, + "dependencies": { + "eslint-visitor-keys": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/eslint-visitor-keys/-/eslint-visitor-keys-2.1.0.tgz", + "integrity": "sha512-0rSmRBzXgDzIsD6mGdJgevzgezI534Cer5L/vyMX0kHzT/jiB43jRhd9YUlMGYLQy2zprNmoT8qasCGtY+QaKw==" + } + } + }, + "eslint-visitor-keys": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/eslint-visitor-keys/-/eslint-visitor-keys-3.1.0.tgz", + "integrity": "sha512-yWJFpu4DtjsWKkt5GeNBBuZMlNcYVs6vRCLoCVEJrTjaSB6LC98gFipNK/erM2Heg/E8mIK+hXG/pJMLK+eRZA==" + }, + "espree": { + "version": "9.1.0", + "resolved": "https://registry.npmjs.org/espree/-/espree-9.1.0.tgz", + "integrity": "sha512-ZgYLvCS1wxOczBYGcQT9DDWgicXwJ4dbocr9uYN+/eresBAUuBu+O4WzB21ufQ/JqQT8gyp7hJ3z8SHii32mTQ==", + "requires": { + "acorn": "^8.6.0", + "acorn-jsx": "^5.3.1", + "eslint-visitor-keys": "^3.1.0" + } + }, + "esquery": { + "version": "1.4.0", + "resolved": "https://registry.npmjs.org/esquery/-/esquery-1.4.0.tgz", + "integrity": "sha512-cCDispWt5vHHtwMY2YrAQ4ibFkAL8RbH5YGBnZBc90MolvvfkkQcJro/aZiAQUlQ3qgrYS6D6v8Gc5G5CQsc9w==", + "requires": { + "estraverse": "^5.1.0" + } + }, + "esrecurse": { + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/esrecurse/-/esrecurse-4.3.0.tgz", + "integrity": "sha512-KmfKL3b6G+RXvP8N1vr3Tq1kL/oCFgn2NYXEtqP8/L3pKapUA4G8cFVaoF3SU323CD4XypR/ffioHmkti6/Tag==", + "requires": { + "estraverse": "^5.2.0" + } + }, + "estraverse": { + "version": "5.3.0", + "resolved": "https://registry.npmjs.org/estraverse/-/estraverse-5.3.0.tgz", + "integrity": "sha512-MMdARuVEQziNTeJD8DgMqmhwR11BRQ/cBP+pLtYdSTnf3MIO8fFeiINEbX36ZdNlfU/7A9f3gUw49B3oQsvwBA==" + }, + "esutils": { + "version": "2.0.3", + "resolved": "https://registry.npmjs.org/esutils/-/esutils-2.0.3.tgz", + "integrity": "sha512-kVscqXk4OCp68SZ0dkgEKVi6/8ij300KBWTJq32P/dYeWTSwK41WyTxalN1eRmA5Z9UU/LX9D7FWSmV9SAYx6g==" + }, + "event-emitter": { + "version": "0.3.5", + "resolved": "https://registry.npmjs.org/event-emitter/-/event-emitter-0.3.5.tgz", + "integrity": "sha1-34xp7vFkeSPHFXuc6DhAYQsCzDk=", + "requires": { + "d": "1", + "es5-ext": "~0.10.14" + } + }, + "execa": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/execa/-/execa-4.1.0.tgz", + "integrity": "sha512-j5W0//W7f8UxAn8hXVnwG8tLwdiUy4FJLcSupCg6maBYZDpyBvTApK7KyuI4bKj8KOh1r2YH+6ucuYtJv1bTZA==", + "requires": { + "cross-spawn": "^7.0.0", + "get-stream": "^5.0.0", + "human-signals": "^1.1.1", + "is-stream": "^2.0.0", + "merge-stream": "^2.0.0", + "npm-run-path": "^4.0.0", + "onetime": "^5.1.0", + "signal-exit": "^3.0.2", + "strip-final-newline": "^2.0.0" + } + }, + "expand-tilde": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/expand-tilde/-/expand-tilde-2.0.2.tgz", + "integrity": "sha1-l+gBqgUt8CRU3kawK/YhZCzchQI=", + "requires": { + "homedir-polyfill": "^1.0.1" + } + }, + "ext": { + "version": "1.6.0", + "resolved": "https://registry.npmjs.org/ext/-/ext-1.6.0.tgz", + "integrity": "sha512-sdBImtzkq2HpkdRLtlLWDa6w4DX22ijZLKx8BMPUuKe1c5lbN6xwQDQCxSfxBQnHZ13ls/FH0MQZx/q/gr6FQg==", + "requires": { + "type": "^2.5.0" + }, + "dependencies": { + "type": { + "version": "2.5.0", + "resolved": "https://registry.npmjs.org/type/-/type-2.5.0.tgz", + "integrity": "sha512-180WMDQaIMm3+7hGXWf12GtdniDEy7nYcyFMKJn/eZz/6tSLXrUN9V0wKSbMjej0I1WHWbpREDEKHtqPQa9NNw==" + } + } + }, + "fast-deep-equal": { + "version": "3.1.3", + "resolved": "https://registry.npmjs.org/fast-deep-equal/-/fast-deep-equal-3.1.3.tgz", + "integrity": "sha512-f3qQ9oQy9j2AhBe/H9VC91wLmKBCCU/gDOnKNAYG5hswO7BLKj09Hc5HYNz9cGI++xlpDCIgDaitVs03ATR84Q==" + }, + "fast-json-stable-stringify": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/fast-json-stable-stringify/-/fast-json-stable-stringify-2.1.0.tgz", + "integrity": "sha512-lhd/wF+Lk98HZoTCtlVraHtfh5XYijIjalXck7saUtuanSDyLMxnHhSXEDJqHxD7msR8D0uCmqlkwjCV8xvwHw==" + }, + "fast-levenshtein": { + "version": "2.0.6", + "resolved": "https://registry.npmjs.org/fast-levenshtein/-/fast-levenshtein-2.0.6.tgz", + "integrity": "sha1-PYpcZog6FqMMqGQ+hR8Zuqd5eRc=" + }, + "file-entry-cache": { + "version": "6.0.1", + "resolved": "https://registry.npmjs.org/file-entry-cache/-/file-entry-cache-6.0.1.tgz", + "integrity": "sha512-7Gps/XWymbLk2QLYK4NzpMOrYjMhdIxXuIvy2QBsLE6ljuodKvdkWs/cpyJJ3CVIVpH0Oi1Hvg1ovbMzLdFBBg==", + "requires": { + "flat-cache": "^3.0.4" + } + }, + "find-up": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/find-up/-/find-up-4.1.0.tgz", + "integrity": "sha512-PpOwAdQ/YlXQ2vj8a3h8IipDuYRi3wceVQQGYWxNINccq40Anw7BlsEXCMbt1Zt+OLA6Fq9suIpIWD0OsnISlw==", + "requires": { + "locate-path": "^5.0.0", + "path-exists": "^4.0.0" + } + }, + "flat-cache": { + "version": "3.0.4", + "resolved": "https://registry.npmjs.org/flat-cache/-/flat-cache-3.0.4.tgz", + "integrity": "sha512-dm9s5Pw7Jc0GvMYbshN6zchCA9RgQlzzEZX3vylR9IqFfS8XciblUXOKfW6SiuJ0e13eDYZoZV5wdrev7P3Nwg==", + "requires": { + "flatted": "^3.1.0", + "rimraf": "^3.0.2" + } + }, + "flatted": { + "version": "3.2.4", + "resolved": "https://registry.npmjs.org/flatted/-/flatted-3.2.4.tgz", + "integrity": "sha512-8/sOawo8tJ4QOBX8YlQBMxL8+RLZfxMQOif9o0KUKTNTjMYElWPE0r/m5VNFxTRd0NSw8qSy8dajrwX4RYI1Hw==" + }, + "fs.realpath": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/fs.realpath/-/fs.realpath-1.0.0.tgz", + "integrity": "sha1-FQStJSMVjKpA20onh8sBQRmU6k8=" + }, + "function-bind": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/function-bind/-/function-bind-1.1.1.tgz", + "integrity": "sha512-yIovAzMX49sF8Yl58fSCWJ5svSLuaibPxXQJFLmBObTuCr0Mf1KiPopGM9NiFjiYBCbfaa2Fh6breQ6ANVTI0A==" + }, + "functional-red-black-tree": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/functional-red-black-tree/-/functional-red-black-tree-1.0.1.tgz", + "integrity": "sha1-GwqzvVU7Kg1jmdKcDj6gslIHgyc=" + }, + "get-installed-path": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/get-installed-path/-/get-installed-path-2.1.1.tgz", + "integrity": "sha512-Qkn9eq6tW5/q9BDVdMpB8tOHljX9OSP0jRC5TRNVA4qRc839t4g8KQaR8t0Uv0EFVL0MlyG7m/ofjEgAROtYsA==", + "requires": { + "global-modules": "1.0.0" + } + }, + "get-stdin": { + "version": "8.0.0", + "resolved": "https://registry.npmjs.org/get-stdin/-/get-stdin-8.0.0.tgz", + "integrity": "sha512-sY22aA6xchAzprjyqmSEQv4UbAAzRN0L2dQB0NlN5acTTK9Don6nhoc3eAbUnpZiCANAMfd/+40kVdKfFygohg==" + }, + "get-stream": { + "version": "5.2.0", + "resolved": "https://registry.npmjs.org/get-stream/-/get-stream-5.2.0.tgz", + "integrity": "sha512-nBF+F1rAZVCu/p7rjzgA+Yb4lfYXrpl7a6VmJrU8wF9I1CKvP/QwPNZHnOlwbTkY6dvtFIzFMSyQXbLoTQPRpA==", + "requires": { + "pump": "^3.0.0" + } + }, + "glob": { + "version": "7.2.0", + "resolved": "https://registry.npmjs.org/glob/-/glob-7.2.0.tgz", + "integrity": "sha512-lmLf6gtyrPq8tTjSmrO94wBeQbFR3HbLHbuyD69wuyQkImp2hWqMGB47OX65FBkPffO641IP9jWa1z4ivqG26Q==", + "requires": { + "fs.realpath": "^1.0.0", + "inflight": "^1.0.4", + "inherits": "2", + "minimatch": "^3.0.4", + "once": "^1.3.0", + "path-is-absolute": "^1.0.0" + } + }, + "glob-parent": { + "version": "6.0.2", + "resolved": "https://registry.npmjs.org/glob-parent/-/glob-parent-6.0.2.tgz", + "integrity": "sha512-XxwI8EOhVQgWp6iDL+3b0r86f4d6AX6zSU55HfB4ydCEuXLXc5FcYeOu+nnGftS4TEju/11rt4KJPTMgbfmv4A==", + "requires": { + "is-glob": "^4.0.3" + } + }, + "global-modules": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/global-modules/-/global-modules-1.0.0.tgz", + "integrity": "sha512-sKzpEkf11GpOFuw0Zzjzmt4B4UZwjOcG757PPvrfhxcLFbq0wpsgpOqxpxtxFiCG4DtG93M6XRVbF2oGdev7bg==", + "requires": { + "global-prefix": "^1.0.1", + "is-windows": "^1.0.1", + "resolve-dir": "^1.0.0" + } + }, + "global-prefix": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/global-prefix/-/global-prefix-1.0.2.tgz", + "integrity": "sha1-2/dDxsFJklk8ZVVoy2btMsASLr4=", + "requires": { + "expand-tilde": "^2.0.2", + "homedir-polyfill": "^1.0.1", + "ini": "^1.3.4", + "is-windows": "^1.0.1", + "which": "^1.2.14" + } + }, + "globals": { + "version": "13.12.0", + "resolved": "https://registry.npmjs.org/globals/-/globals-13.12.0.tgz", + "integrity": "sha512-uS8X6lSKN2JumVoXrbUz+uG4BYG+eiawqm3qFcT7ammfbUHeCBoJMlHcec/S3krSk73/AE/f0szYFmgAA3kYZg==", + "requires": { + "type-fest": "^0.20.2" + }, + "dependencies": { + "type-fest": { + "version": "0.20.2", + "resolved": "https://registry.npmjs.org/type-fest/-/type-fest-0.20.2.tgz", + "integrity": "sha512-Ne+eE4r0/iWnpAxD852z3A+N0Bt5RN//NjJwRd2VFHEmrywxf5vsZlh4R6lixl6B+wz/8d+maTSAkN1FIkI3LQ==" + } + } + }, + "hard-rejection": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/hard-rejection/-/hard-rejection-2.1.0.tgz", + "integrity": "sha512-VIZB+ibDhx7ObhAe7OVtoEbuP4h/MuOTHJ+J8h/eBXotJYl0fBgR72xDFCKgIh22OJZIOVNxBMWuhAr10r8HdA==" + }, + "has": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/has/-/has-1.0.3.tgz", + "integrity": "sha512-f2dvO0VU6Oej7RkWJGrehjbzMAjFp5/VKPp5tTpWIV4JHHZK1/BxbFRtf/siA2SWTe09caDmVtYYzWEIbBS4zw==", + "requires": { + "function-bind": "^1.1.1" + } + }, + "has-flag": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-3.0.0.tgz", + "integrity": "sha1-tdRU3CGZriJWmfNGfloH87lVuv0=" + }, + "has-yarn": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/has-yarn/-/has-yarn-2.1.0.tgz", + "integrity": "sha512-UqBRqi4ju7T+TqGNdqAO0PaSVGsDGJUBQvk9eUWNGRY1CFGDzYhLWoM7JQEemnlvVcv/YEmc2wNW8BC24EnUsw==" + }, + "homedir-polyfill": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/homedir-polyfill/-/homedir-polyfill-1.0.3.tgz", + "integrity": "sha512-eSmmWE5bZTK2Nou4g0AI3zZ9rswp7GRKoKXS1BLUkvPviOqs4YTN1djQIqrXy9k5gEtdLPy86JjRwsNM9tnDcA==", + "requires": { + "parse-passwd": "^1.0.0" + } + }, + "hosted-git-info": { + "version": "4.0.2", + "resolved": "https://registry.npmjs.org/hosted-git-info/-/hosted-git-info-4.0.2.tgz", + "integrity": "sha512-c9OGXbZ3guC/xOlCg1Ci/VgWlwsqDv1yMQL1CWqXDL0hDjXuNcq0zuR4xqPSuasI3kqFDhqSyTjREz5gzq0fXg==", + "requires": { + "lru-cache": "^6.0.0" + } + }, + "human-signals": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/human-signals/-/human-signals-1.1.1.tgz", + "integrity": "sha512-SEQu7vl8KjNL2eoGBLF3+wAjpsNfA9XMlXAYj/3EdaNfAlxKthD1xjEQfGOUhllCGGJVNY34bRr6lPINhNjyZw==" + }, + "ignore": { + "version": "4.0.6", + "resolved": "https://registry.npmjs.org/ignore/-/ignore-4.0.6.tgz", + "integrity": "sha512-cyFDKrqc/YdcWFniJhzI42+AzS+gNwmUzOSFcRCQYwySuBBBy/KjuxWLZ/FHEH6Moq1NizMOBWyTcv8O4OZIMg==" + }, + "import-fresh": { + "version": "3.3.0", + "resolved": "https://registry.npmjs.org/import-fresh/-/import-fresh-3.3.0.tgz", + "integrity": "sha512-veYYhQa+D1QBKznvhUHxb8faxlrwUnxseDAbAp457E0wLNio2bOSKnjYDhMj+YiAq61xrMGhQk9iXVk5FzgQMw==", + "requires": { + "parent-module": "^1.0.0", + "resolve-from": "^4.0.0" + } + }, + "imurmurhash": { + "version": "0.1.4", + "resolved": "https://registry.npmjs.org/imurmurhash/-/imurmurhash-0.1.4.tgz", + "integrity": "sha1-khi5srkoojixPcT7a21XbyMUU+o=" + }, + "indent-string": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/indent-string/-/indent-string-4.0.0.tgz", + "integrity": "sha512-EdDDZu4A2OyIK7Lr/2zG+w5jmbuk1DVBnEwREQvBzspBJkCEbRa8GxU1lghYcaGJCnRWibjDXlq779X1/y5xwg==" + }, + "inflight": { + "version": "1.0.6", + "resolved": "https://registry.npmjs.org/inflight/-/inflight-1.0.6.tgz", + "integrity": "sha1-Sb1jMdfQLQwJvJEKEHW6gWW1bfk=", + "requires": { + "once": "^1.3.0", + "wrappy": "1" + } + }, + "inherits": { + "version": "2.0.4", + "resolved": "https://registry.npmjs.org/inherits/-/inherits-2.0.4.tgz", + "integrity": "sha512-k/vGaX4/Yla3WzyMCvTQOXYeIHvqOKtnqBduzTHpzpQZzAskKMhZ2K+EnBiSM9zGSoIFeMpXKxa4dYeZIQqewQ==" + }, + "ini": { + "version": "1.3.8", + "resolved": "https://registry.npmjs.org/ini/-/ini-1.3.8.tgz", + "integrity": "sha512-JV/yugV2uzW5iMRSiZAyDtQd+nxtUnjeLt0acNdw98kKLrvuRVyB80tsREOE7yvGVgalhZ6RNXCmEHkUKBKxew==" + }, + "invert-kv": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/invert-kv/-/invert-kv-3.0.1.tgz", + "integrity": "sha512-CYdFeFexxhv/Bcny+Q0BfOV+ltRlJcd4BBZBYFX/O0u4npJrgZtIcjokegtiSMAvlMTJ+Koq0GBCc//3bueQxw==" + }, + "is-arrayish": { + "version": "0.2.1", + "resolved": "https://registry.npmjs.org/is-arrayish/-/is-arrayish-0.2.1.tgz", + "integrity": "sha1-d8mYQFJ6qOyxqLppe4BkWnqSap0=" + }, + "is-core-module": { + "version": "2.8.0", + "resolved": "https://registry.npmjs.org/is-core-module/-/is-core-module-2.8.0.tgz", + "integrity": "sha512-vd15qHsaqrRL7dtH6QNuy0ndJmRDrS9HAM1CAiSifNUFv4x1a0CCVsj18hJ1mShxIG6T2i1sO78MkP56r0nYRw==", + "requires": { + "has": "^1.0.3" + } + }, + "is-extglob": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/is-extglob/-/is-extglob-2.1.1.tgz", + "integrity": "sha1-qIwCU1eR8C7TfHahueqXc8gz+MI=" + }, + "is-glob": { + "version": "4.0.3", + "resolved": "https://registry.npmjs.org/is-glob/-/is-glob-4.0.3.tgz", + "integrity": "sha512-xelSayHH36ZgE7ZWhli7pW34hNbNl8Ojv5KVmkJD4hBdD3th8Tfk9vYasLM+mXWOZhFkgZfxhLSnrwRr4elSSg==", + "requires": { + "is-extglob": "^2.1.1" + } + }, + "is-plain-obj": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/is-plain-obj/-/is-plain-obj-1.1.0.tgz", + "integrity": "sha1-caUMhCnfync8kqOQpKA7OfzVHT4=" + }, + "is-promise": { + "version": "2.2.2", + "resolved": "https://registry.npmjs.org/is-promise/-/is-promise-2.2.2.tgz", + "integrity": "sha512-+lP4/6lKUBfQjZ2pdxThZvLUAafmZb8OAxFb8XXtiQmS35INgr85hdOGoEs124ez1FCnZJt6jau/T+alh58QFQ==" + }, + "is-stream": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/is-stream/-/is-stream-2.0.1.tgz", + "integrity": "sha512-hFoiJiTl63nn+kstHGBtewWSKnQLpyb155KHheA1l39uvtO9nWIop1p3udqPcUd/xbF1VLMO4n7OI6p7RbngDg==" + }, + "is-windows": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/is-windows/-/is-windows-1.0.2.tgz", + "integrity": "sha512-eXK1UInq2bPmjyX6e3VHIzMLobc4J94i4AWn+Hpq3OU5KkrRC96OAcR3PRJ/pGu6m8TRnBHP9dkXQVsT/COVIA==" + }, + "isexe": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/isexe/-/isexe-2.0.0.tgz", + "integrity": "sha1-6PvzdNxVb/iUehDcsFctYz8s+hA=" + }, + "js-tokens": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/js-tokens/-/js-tokens-4.0.0.tgz", + "integrity": "sha512-RdJUflcE3cUzKiMqQgsCu06FPu9UdIJO0beYbPhHN4k6apgJtifcoCtT9bcxOpYBtpD2kCM6Sbzg4CausW/PKQ==" + }, + "js-yaml": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/js-yaml/-/js-yaml-4.1.0.tgz", + "integrity": "sha512-wpxZs9NoxZaJESJGIZTyDEaYpl0FKSA+FB9aJiyemKhMwkxQg63h4T1KJgUGHpTqPDNRcmmYLugrRjJlBtWvRA==", + "requires": { + "argparse": "^2.0.1" + } + }, + "json-parse-even-better-errors": { + "version": "2.3.1", + "resolved": "https://registry.npmjs.org/json-parse-even-better-errors/-/json-parse-even-better-errors-2.3.1.tgz", + "integrity": "sha512-xyFwyhro/JEof6Ghe2iz2NcXoj2sloNsWr/XsERDK/oiPCfaNhl5ONfp+jQdAZRQQ0IJWNzH9zIZF7li91kh2w==" + }, + "json-schema-traverse": { + "version": "0.4.1", + "resolved": "https://registry.npmjs.org/json-schema-traverse/-/json-schema-traverse-0.4.1.tgz", + "integrity": "sha512-xbbCH5dCYU5T8LcEhhuh7HJ88HXuW3qsI3Y0zOZFKfZEHcpWiHU/Jxzk629Brsab/mMiHQti9wMP+845RPe3Vg==" + }, + "json-stable-stringify-without-jsonify": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/json-stable-stringify-without-jsonify/-/json-stable-stringify-without-jsonify-1.0.1.tgz", + "integrity": "sha1-nbe1lJatPzz+8wp1FC0tkwrXJlE=" + }, + "kind-of": { + "version": "6.0.3", + "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-6.0.3.tgz", + "integrity": "sha512-dcS1ul+9tmeD95T+x28/ehLgd9mENa3LsvDTtzm3vyBEO7RPptvAD+t44WVXaUjTBRcrpFeFlC8WCruUR456hw==" + }, + "lcid": { + "version": "3.1.1", + "resolved": "https://registry.npmjs.org/lcid/-/lcid-3.1.1.tgz", + "integrity": "sha512-M6T051+5QCGLBQb8id3hdvIW8+zeFV2FyBGFS9IEK5H9Wt4MueD4bW1eWikpHgZp+5xR3l5c8pZUkQsIA0BFZg==", + "requires": { + "invert-kv": "^3.0.0" + } + }, + "levn": { + "version": "0.4.1", + "resolved": "https://registry.npmjs.org/levn/-/levn-0.4.1.tgz", + "integrity": "sha512-+bT2uH4E5LGE7h/n3evcS/sQlJXCpIp6ym8OWJ5eV6+67Dsql/LaaT7qJBAt2rzfoa/5QBGBhxDix1dMt2kQKQ==", + "requires": { + "prelude-ls": "^1.2.1", + "type-check": "~0.4.0" + } + }, + "lines-and-columns": { + "version": "1.2.4", + "resolved": "https://registry.npmjs.org/lines-and-columns/-/lines-and-columns-1.2.4.tgz", + "integrity": "sha512-7ylylesZQ/PV29jhEDl3Ufjo6ZX7gCqJr5F7PKrqc93v7fzSymt1BpwEU8nAUXs8qzzvqhbjhK5QZg6Mt/HkBg==" + }, + "locate-path": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/locate-path/-/locate-path-5.0.0.tgz", + "integrity": "sha512-t7hw9pI+WvuwNJXwk5zVHpyhIqzg2qTlklJOf0mVxGSbe3Fp2VieZcduNYjaLDoy6p9uGpQEGWG87WpMKlNq8g==", + "requires": { + "p-locate": "^4.1.0" + } + }, + "lodash.merge": { + "version": "4.6.2", + "resolved": "https://registry.npmjs.org/lodash.merge/-/lodash.merge-4.6.2.tgz", + "integrity": "sha512-0KpjqXRVvrYyCsX1swR/XTK0va6VQkQM6MNo7PqW77ByjAhoARA8EfrP1N4+KlKj8YS0ZUCtRT/YUuhyYDujIQ==" + }, + "lru-cache": { + "version": "6.0.0", + "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-6.0.0.tgz", + "integrity": "sha512-Jo6dJ04CmSjuznwJSS3pUeWmd/H0ffTlkXXgwZi+eq1UCmqQwCh+eLsYOYCwY991i2Fah4h1BEMCx4qThGbsiA==", + "requires": { + "yallist": "^4.0.0" + } + }, + "lru-queue": { + "version": "0.1.0", + "resolved": "https://registry.npmjs.org/lru-queue/-/lru-queue-0.1.0.tgz", + "integrity": "sha1-Jzi9nw089PhEkMVzbEhpmsYyzaM=", + "requires": { + "es5-ext": "~0.10.2" + } + }, + "map-age-cleaner": { + "version": "0.1.3", + "resolved": "https://registry.npmjs.org/map-age-cleaner/-/map-age-cleaner-0.1.3.tgz", + "integrity": "sha512-bJzx6nMoP6PDLPBFmg7+xRKeFZvFboMrGlxmNj9ClvX53KrmvM5bXFXEWjbz4cz1AFn+jWJ9z/DJSz7hrs0w3w==", + "requires": { + "p-defer": "^1.0.0" + } + }, + "map-obj": { + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/map-obj/-/map-obj-4.3.0.tgz", + "integrity": "sha512-hdN1wVrZbb29eBGiGjJbeP8JbKjq1urkHJ/LIP/NY48MZ1QVXUsQBV1G1zvYFHn1XE06cwjBsOI2K3Ulnj1YXQ==" + }, + "markuplint": { + "version": "1.11.4", + "resolved": "https://registry.npmjs.org/markuplint/-/markuplint-1.11.4.tgz", + "integrity": "sha512-9qdiDSvHEl0dl/QyZRZskpbmR0MUjQkgknIAVkodQUs5v3oc+O2w+3SE5v4BzP+EZsbRVL2ZaXN9hafVbUkjMg==", + "requires": { + "@markuplint/file-resolver": "^1.5.0", + "@markuplint/html-parser": "^1.7.3", + "@markuplint/html-spec": "^1.8.2", + "@markuplint/i18n": "^1.2.0", + "@markuplint/ml-ast": "^1.6.0", + "@markuplint/ml-config": "^1.3.0", + "@markuplint/ml-core": "^1.9.0", + "@markuplint/ml-spec": "^1.7.0", + "@markuplint/rules": "^1.10.4", + "cli-color": "^2.0.0", + "detect-installed": "^2.0.4", + "eastasianwidth": "^0.2.0", + "enquirer": "^2.3.6", + "get-stdin": "8", + "has-yarn": "^2.1.0", + "meow": "9", + "os-locale": "^5.0.0", + "strip-ansi": "6", + "tslib": "^2.3.0" + } + }, + "mem": { + "version": "5.1.1", + "resolved": "https://registry.npmjs.org/mem/-/mem-5.1.1.tgz", + "integrity": "sha512-qvwipnozMohxLXG1pOqoLiZKNkC4r4qqRucSoDwXowsNGDSULiqFTRUF05vcZWnwJSG22qTsynQhxbaMtnX9gw==", + "requires": { + "map-age-cleaner": "^0.1.3", + "mimic-fn": "^2.1.0", + "p-is-promise": "^2.1.0" + } + }, + "memoizee": { + "version": "0.4.15", + "resolved": "https://registry.npmjs.org/memoizee/-/memoizee-0.4.15.tgz", + "integrity": "sha512-UBWmJpLZd5STPm7PMUlOw/TSy972M+z8gcyQ5veOnSDRREz/0bmpyTfKt3/51DhEBqCZQn1udM/5flcSPYhkdQ==", + "requires": { + "d": "^1.0.1", + "es5-ext": "^0.10.53", + "es6-weak-map": "^2.0.3", + "event-emitter": "^0.3.5", + "is-promise": "^2.2.2", + "lru-queue": "^0.1.0", + "next-tick": "^1.1.0", + "timers-ext": "^0.1.7" + }, + "dependencies": { + "next-tick": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/next-tick/-/next-tick-1.1.0.tgz", + "integrity": "sha512-CXdUiJembsNjuToQvxayPZF9Vqht7hewsvy2sOWafLvi2awflj9mOC6bHIg50orX8IJvWKY9wYQ/zB2kogPslQ==" + } + } + }, + "meow": { + "version": "9.0.0", + "resolved": "https://registry.npmjs.org/meow/-/meow-9.0.0.tgz", + "integrity": "sha512-+obSblOQmRhcyBt62furQqRAQpNyWXo8BuQ5bN7dG8wmwQ+vwHKp/rCFD4CrTP8CsDQD1sjoZ94K417XEUk8IQ==", + "requires": { + "@types/minimist": "^1.2.0", + "camelcase-keys": "^6.2.2", + "decamelize": "^1.2.0", + "decamelize-keys": "^1.1.0", + "hard-rejection": "^2.1.0", + "minimist-options": "4.1.0", + "normalize-package-data": "^3.0.0", + "read-pkg-up": "^7.0.1", + "redent": "^3.0.0", + "trim-newlines": "^3.0.0", + "type-fest": "^0.18.0", + "yargs-parser": "^20.2.3" + } + }, + "merge-stream": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/merge-stream/-/merge-stream-2.0.0.tgz", + "integrity": "sha512-abv/qOcuPfk3URPfDzmZU1LKmuw8kT+0nIHvKrKgFrwifol/doWcdA4ZqsWQ8ENrFKkd67Mfpo/LovbIUsbt3w==" + }, + "mimic-fn": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/mimic-fn/-/mimic-fn-2.1.0.tgz", + "integrity": "sha512-OqbOk5oEQeAZ8WXWydlu9HJjz9WVdEIvamMCcXmuqUYjTknH/sqsWvhQ3vgwKFRR1HpjvNBKQ37nbJgYzGqGcg==" + }, + "min-indent": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/min-indent/-/min-indent-1.0.1.tgz", + "integrity": "sha512-I9jwMn07Sy/IwOj3zVkVik2JTvgpaykDZEigL6Rx6N9LbMywwUSMtxET+7lVoDLLd3O3IXwJwvuuns8UB/HeAg==" + }, + "minimatch": { + "version": "3.0.4", + "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.0.4.tgz", + "integrity": "sha512-yJHVQEhyqPLUTgt9B83PXu6W3rx4MvvHvSUvToogpwoGDOUQ+yDrR0HRot+yOCdCO7u4hX3pWft6kWBBcqh0UA==", + "requires": { + "brace-expansion": "^1.1.7" + } + }, + "minimist-options": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/minimist-options/-/minimist-options-4.1.0.tgz", + "integrity": "sha512-Q4r8ghd80yhO/0j1O3B2BjweX3fiHg9cdOwjJd2J76Q135c+NDxGCqdYKQ1SKBuFfgWbAUzBfvYjPUEeNgqN1A==", + "requires": { + "arrify": "^1.0.1", + "is-plain-obj": "^1.1.0", + "kind-of": "^6.0.3" + } + }, + "ms": { + "version": "2.1.2", + "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.2.tgz", + "integrity": "sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w==" + }, + "natural-compare": { + "version": "1.4.0", + "resolved": "https://registry.npmjs.org/natural-compare/-/natural-compare-1.4.0.tgz", + "integrity": "sha1-Sr6/7tdUHywnrPspvbvRXI1bpPc=" + }, + "next-tick": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/next-tick/-/next-tick-1.0.0.tgz", + "integrity": "sha1-yobR/ogoFpsBICCOPchCS524NCw=" + }, + "normalize-package-data": { + "version": "3.0.3", + "resolved": "https://registry.npmjs.org/normalize-package-data/-/normalize-package-data-3.0.3.tgz", + "integrity": "sha512-p2W1sgqij3zMMyRC067Dg16bfzVH+w7hyegmpIvZ4JNjqtGOVAIvLmjBx3yP7YTe9vKJgkoNOPjwQGogDoMXFA==", + "requires": { + "hosted-git-info": "^4.0.1", + "is-core-module": "^2.5.0", + "semver": "^7.3.4", + "validate-npm-package-license": "^3.0.1" + } + }, + "npm-run-path": { + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/npm-run-path/-/npm-run-path-4.0.1.tgz", + "integrity": "sha512-S48WzZW777zhNIrn7gxOlISNAqi9ZC/uQFnRdbeIHhZhCA6UqpkOT8T1G7BvfdgP4Er8gF4sUbaS0i7QvIfCWw==", + "requires": { + "path-key": "^3.0.0" + } + }, + "once": { + "version": "1.4.0", + "resolved": "https://registry.npmjs.org/once/-/once-1.4.0.tgz", + "integrity": "sha1-WDsap3WWHUsROsF9nFC6753Xa9E=", + "requires": { + "wrappy": "1" + } + }, + "onetime": { + "version": "5.1.2", + "resolved": "https://registry.npmjs.org/onetime/-/onetime-5.1.2.tgz", + "integrity": "sha512-kbpaSSGJTWdAY5KPVeMOKXSrPtr8C8C7wodJbcsd51jRnmD+GZu8Y0VoU6Dm5Z4vWr0Ig/1NKuWRKf7j5aaYSg==", + "requires": { + "mimic-fn": "^2.1.0" + } + }, + "optionator": { + "version": "0.9.1", + "resolved": "https://registry.npmjs.org/optionator/-/optionator-0.9.1.tgz", + "integrity": "sha512-74RlY5FCnhq4jRxVUPKDaRwrVNXMqsGsiW6AJw4XK8hmtm10wC0ypZBLw5IIp85NZMr91+qd1RvvENwg7jjRFw==", + "requires": { + "deep-is": "^0.1.3", + "fast-levenshtein": "^2.0.6", + "levn": "^0.4.1", + "prelude-ls": "^1.2.1", + "type-check": "^0.4.0", + "word-wrap": "^1.2.3" + } + }, + "os-locale": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/os-locale/-/os-locale-5.0.0.tgz", + "integrity": "sha512-tqZcNEDAIZKBEPnHPlVDvKrp7NzgLi7jRmhKiUoa2NUmhl13FtkAGLUVR+ZsYvApBQdBfYm43A4tXXQ4IrYLBA==", + "requires": { + "execa": "^4.0.0", + "lcid": "^3.0.0", + "mem": "^5.0.0" + } + }, + "p-defer": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/p-defer/-/p-defer-1.0.0.tgz", + "integrity": "sha1-n26xgvbJqozXQwBKfU+WsZaw+ww=" + }, + "p-is-promise": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/p-is-promise/-/p-is-promise-2.1.0.tgz", + "integrity": "sha512-Y3W0wlRPK8ZMRbNq97l4M5otioeA5lm1z7bkNkxCka8HSPjR0xRWmpCmc9utiaLP9Jb1eD8BgeIxTW4AIF45Pg==" + }, + "p-limit": { + "version": "2.3.0", + "resolved": "https://registry.npmjs.org/p-limit/-/p-limit-2.3.0.tgz", + "integrity": "sha512-//88mFWSJx8lxCzwdAABTJL2MyWB12+eIY7MDL2SqLmAkeKU9qxRvWuSyTjm3FUmpBEMuFfckAIqEaVGUDxb6w==", + "requires": { + "p-try": "^2.0.0" + } + }, + "p-locate": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/p-locate/-/p-locate-4.1.0.tgz", + "integrity": "sha512-R79ZZ/0wAxKGu3oYMlz8jy/kbhsNrS7SKZ7PxEHBgJ5+F2mtFW2fK2cOtBh1cHYkQsbzFV7I+EoRKe6Yt0oK7A==", + "requires": { + "p-limit": "^2.2.0" + } + }, + "p-try": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/p-try/-/p-try-2.2.0.tgz", + "integrity": "sha512-R4nPAVTAU0B9D35/Gk3uJf/7XYbQcyohSKdvAxIRSNghFl4e71hVoGnBNQz9cWaXxO2I10KTC+3jMdvvoKw6dQ==" + }, + "parent-module": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/parent-module/-/parent-module-1.0.1.tgz", + "integrity": "sha512-GQ2EWRpQV8/o+Aw8YqtfZZPfNRWZYkbidE9k5rpl/hC3vtHHBfGm2Ifi6qWV+coDGkrUKZAxE3Lot5kcsRlh+g==", + "requires": { + "callsites": "^3.0.0" + } + }, + "parse-json": { + "version": "5.2.0", + "resolved": "https://registry.npmjs.org/parse-json/-/parse-json-5.2.0.tgz", + "integrity": "sha512-ayCKvm/phCGxOkYRSCM82iDwct8/EonSEgCSxWxD7ve6jHggsFl4fZVQBPRNgQoKiuV/odhFrGzQXZwbifC8Rg==", + "requires": { + "@babel/code-frame": "^7.0.0", + "error-ex": "^1.3.1", + "json-parse-even-better-errors": "^2.3.0", + "lines-and-columns": "^1.1.6" + } + }, + "parse-passwd": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/parse-passwd/-/parse-passwd-1.0.0.tgz", + "integrity": "sha1-bVuTSkVpk7I9N/QKOC1vFmao5cY=" + }, + "parse5": { + "version": "6.0.1", + "resolved": "https://registry.npmjs.org/parse5/-/parse5-6.0.1.tgz", + "integrity": "sha512-Ofn/CTFzRGTTxwpNEs9PP93gXShHcTq255nzRYSKe8AkVpZY7e1fpmTfOyoIvjP5HG7Z2ZM7VS9PPhQGW2pOpw==" + }, + "path-exists": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/path-exists/-/path-exists-4.0.0.tgz", + "integrity": "sha512-ak9Qy5Q7jYb2Wwcey5Fpvg2KoAc/ZIhLSLOSBmRmygPsGwkVVt0fZa0qrtMz+m6tJTAHfZQ8FnmB4MG4LWy7/w==" + }, + "path-is-absolute": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/path-is-absolute/-/path-is-absolute-1.0.1.tgz", + "integrity": "sha1-F0uSaHNVNP+8es5r9TpanhtcX18=" + }, + "path-key": { + "version": "3.1.1", + "resolved": "https://registry.npmjs.org/path-key/-/path-key-3.1.1.tgz", + "integrity": "sha512-ojmeN0qd+y0jszEtoY48r0Peq5dwMEkIlCOu6Q5f41lfkswXuKtYrhgoTpLnyIcHm24Uhqx+5Tqm2InSwLhE6Q==" + }, + "path-parse": { + "version": "1.0.7", + "resolved": "https://registry.npmjs.org/path-parse/-/path-parse-1.0.7.tgz", + "integrity": "sha512-LDJzPVEEEPR+y48z93A0Ed0yXb8pAByGWo/k5YYdYgpY2/2EsOsksJrq7lOHxryrVOn1ejG6oAp8ahvOIQD8sw==" + }, + "path-type": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/path-type/-/path-type-4.0.0.tgz", + "integrity": "sha512-gDKb8aZMDeD/tZWs9P6+q0J9Mwkdl6xMV8TjnGP3qJVJ06bdMgkbBlLU8IdfOsIsFz2BW1rNVT3XuNEl8zPAvw==" + }, + "prelude-ls": { + "version": "1.2.1", + "resolved": "https://registry.npmjs.org/prelude-ls/-/prelude-ls-1.2.1.tgz", + "integrity": "sha512-vkcDPrRZo1QZLbn5RLGPpg/WmIQ65qoWWhcGKf/b5eplkkarX0m9z8ppCat4mlOqUsWpyNuYgO3VRyrYHSzX5g==" + }, + "progress": { + "version": "2.0.3", + "resolved": "https://registry.npmjs.org/progress/-/progress-2.0.3.tgz", + "integrity": "sha512-7PiHtLll5LdnKIMw100I+8xJXR5gW2QwWYkT6iJva0bXitZKa/XMrSbdmg3r2Xnaidz9Qumd0VPaMrZlF9V9sA==" + }, + "pump": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/pump/-/pump-3.0.0.tgz", + "integrity": "sha512-LwZy+p3SFs1Pytd/jYct4wpv49HiYCqd9Rlc5ZVdk0V+8Yzv6jR5Blk3TRmPL1ft69TxP0IMZGJ+WPFU2BFhww==", + "requires": { + "end-of-stream": "^1.1.0", + "once": "^1.3.1" + } + }, + "punycode": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/punycode/-/punycode-2.1.1.tgz", + "integrity": "sha512-XRsRjdf+j5ml+y/6GKHPZbrF/8p2Yga0JPtdqTIY2Xe5ohJPD9saDJJLPvp9+NSBprVvevdXZybnj2cv8OEd0A==" + }, + "quick-lru": { + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/quick-lru/-/quick-lru-4.0.1.tgz", + "integrity": "sha512-ARhCpm70fzdcvNQfPoy49IaanKkTlRWF2JMzqhcJbhSFRZv7nPTvZJdcY7301IPmvW+/p0RgIWnQDLJxifsQ7g==" + }, + "read-pkg": { + "version": "5.2.0", + "resolved": "https://registry.npmjs.org/read-pkg/-/read-pkg-5.2.0.tgz", + "integrity": "sha512-Ug69mNOpfvKDAc2Q8DRpMjjzdtrnv9HcSMX+4VsZxD1aZ6ZzrIE7rlzXBtWTyhULSMKg076AW6WR5iZpD0JiOg==", + "requires": { + "@types/normalize-package-data": "^2.4.0", + "normalize-package-data": "^2.5.0", + "parse-json": "^5.0.0", + "type-fest": "^0.6.0" + }, + "dependencies": { + "hosted-git-info": { + "version": "2.8.9", + "resolved": "https://registry.npmjs.org/hosted-git-info/-/hosted-git-info-2.8.9.tgz", + "integrity": "sha512-mxIDAb9Lsm6DoOJ7xH+5+X4y1LU/4Hi50L9C5sIswK3JzULS4bwk1FvjdBgvYR4bzT4tuUQiC15FE2f5HbLvYw==" + }, + "normalize-package-data": { + "version": "2.5.0", + "resolved": "https://registry.npmjs.org/normalize-package-data/-/normalize-package-data-2.5.0.tgz", + "integrity": "sha512-/5CMN3T0R4XTj4DcGaexo+roZSdSFW/0AOOTROrjxzCG1wrWXEsGbRKevjlIL+ZDE4sZlJr5ED4YW0yqmkK+eA==", + "requires": { + "hosted-git-info": "^2.1.4", + "resolve": "^1.10.0", + "semver": "2 || 3 || 4 || 5", + "validate-npm-package-license": "^3.0.1" + } + }, + "semver": { + "version": "5.7.1", + "resolved": "https://registry.npmjs.org/semver/-/semver-5.7.1.tgz", + "integrity": "sha512-sauaDf/PZdVgrLTNYHRtpXa1iRiKcaebiKQ1BJdpQlWH2lCvexQdX55snPFyK7QzpudqbCI0qXFfOasHdyNDGQ==" + }, + "type-fest": { + "version": "0.6.0", + "resolved": "https://registry.npmjs.org/type-fest/-/type-fest-0.6.0.tgz", + "integrity": "sha512-q+MB8nYR1KDLrgr4G5yemftpMC7/QLqVndBmEEdqzmNj5dcFOO4Oo8qlwZE3ULT3+Zim1F8Kq4cBnikNhlCMlg==" + } + } + }, + "read-pkg-up": { + "version": "7.0.1", + "resolved": "https://registry.npmjs.org/read-pkg-up/-/read-pkg-up-7.0.1.tgz", + "integrity": "sha512-zK0TB7Xd6JpCLmlLmufqykGE+/TlOePD6qKClNW7hHDKFh/J7/7gCWGR7joEQEW1bKq3a3yUZSObOoWLFQ4ohg==", + "requires": { + "find-up": "^4.1.0", + "read-pkg": "^5.2.0", + "type-fest": "^0.8.1" + }, + "dependencies": { + "type-fest": { + "version": "0.8.1", + "resolved": "https://registry.npmjs.org/type-fest/-/type-fest-0.8.1.tgz", + "integrity": "sha512-4dbzIzqvjtgiM5rw1k5rEHtBANKmdudhGyBEajN01fEyhaAIhsoKNy6y7+IN93IfpFtwY9iqi7kD+xwKhQsNJA==" + } + } + }, + "redent": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/redent/-/redent-3.0.0.tgz", + "integrity": "sha512-6tDA8g98We0zd0GvVeMT9arEOnTw9qM03L9cJXaCjrip1OO764RDBLBfrB4cwzNGDj5OA5ioymC9GkizgWJDUg==", + "requires": { + "indent-string": "^4.0.0", + "strip-indent": "^3.0.0" + } + }, + "regexpp": { + "version": "3.2.0", + "resolved": "https://registry.npmjs.org/regexpp/-/regexpp-3.2.0.tgz", + "integrity": "sha512-pq2bWo9mVD43nbts2wGv17XLiNLya+GklZ8kaDLV2Z08gDCsGpnKn9BFMepvWuHCbyVvY7J5o5+BVvoQbmlJLg==" + }, + "resolve": { + "version": "1.20.0", + "resolved": "https://registry.npmjs.org/resolve/-/resolve-1.20.0.tgz", + "integrity": "sha512-wENBPt4ySzg4ybFQW2TT1zMQucPK95HSh/nq2CFTZVOGut2+pQvSsgtda4d26YrYcr067wjbmzOG8byDPBX63A==", + "requires": { + "is-core-module": "^2.2.0", + "path-parse": "^1.0.6" + } + }, + "resolve-dir": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/resolve-dir/-/resolve-dir-1.0.1.tgz", + "integrity": "sha1-eaQGRMNivoLybv/nOcm7U4IEb0M=", + "requires": { + "expand-tilde": "^2.0.0", + "global-modules": "^1.0.0" + } + }, + "resolve-from": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/resolve-from/-/resolve-from-4.0.0.tgz", + "integrity": "sha512-pb/MYmXstAkysRFx8piNI1tGFNQIFA3vkE3Gq4EuA1dF6gHp/+vgZqsCGJapvy8N3Q+4o7FwvquPJcnZ7RYy4g==" + }, + "rimraf": { + "version": "3.0.2", + "resolved": "https://registry.npmjs.org/rimraf/-/rimraf-3.0.2.tgz", + "integrity": "sha512-JZkJMZkAGFFPP2YqXZXPbMlMBgsxzE8ILs4lMIX/2o0L9UBw9O/Y3o6wFw/i9YLapcUJWwqbi3kdxIPdC62TIA==", + "requires": { + "glob": "^7.1.3" + } + }, + "semver": { + "version": "7.3.5", + "resolved": "https://registry.npmjs.org/semver/-/semver-7.3.5.tgz", + "integrity": "sha512-PoeGJYh8HK4BTO/a9Tf6ZG3veo/A7ZVsYrSA6J8ny9nb3B1VrpkuN+z9OE5wfE5p6H4LchYZsegiQgbJD94ZFQ==", + "requires": { + "lru-cache": "^6.0.0" + } + }, + "shebang-command": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/shebang-command/-/shebang-command-2.0.0.tgz", + "integrity": "sha512-kHxr2zZpYtdmrN1qDjrrX/Z1rR1kG8Dx+gkpK1G4eXmvXswmcE1hTWBWYUzlraYw1/yZp6YuDY77YtvbN0dmDA==", + "requires": { + "shebang-regex": "^3.0.0" + } + }, + "shebang-regex": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/shebang-regex/-/shebang-regex-3.0.0.tgz", + "integrity": "sha512-7++dFhtcx3353uBaq8DDR4NuxBetBzC7ZQOhmTQInHEd6bSrXdiEyzCvG07Z44UYdLShWUyXt5M/yhz8ekcb1A==" + }, + "signal-exit": { + "version": "3.0.6", + "resolved": "https://registry.npmjs.org/signal-exit/-/signal-exit-3.0.6.tgz", + "integrity": "sha512-sDl4qMFpijcGw22U5w63KmD3cZJfBuFlVNbVMKje2keoKML7X2UzWbc4XrmEbDwg0NXJc3yv4/ox7b+JWb57kQ==" + }, + "spdx-correct": { + "version": "3.1.1", + "resolved": "https://registry.npmjs.org/spdx-correct/-/spdx-correct-3.1.1.tgz", + "integrity": "sha512-cOYcUWwhCuHCXi49RhFRCyJEK3iPj1Ziz9DpViV3tbZOwXD49QzIN3MpOLJNxh2qwq2lJJZaKMVw9qNi4jTC0w==", + "requires": { + "spdx-expression-parse": "^3.0.0", + "spdx-license-ids": "^3.0.0" + } + }, + "spdx-exceptions": { + "version": "2.3.0", + "resolved": "https://registry.npmjs.org/spdx-exceptions/-/spdx-exceptions-2.3.0.tgz", + "integrity": "sha512-/tTrYOC7PPI1nUAgx34hUpqXuyJG+DTHJTnIULG4rDygi4xu/tfgmq1e1cIRwRzwZgo4NLySi+ricLkZkw4i5A==" + }, + "spdx-expression-parse": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/spdx-expression-parse/-/spdx-expression-parse-3.0.1.tgz", + "integrity": "sha512-cbqHunsQWnJNE6KhVSMsMeH5H/L9EpymbzqTQ3uLwNCLZ1Q481oWaofqH7nO6V07xlXwY6PhQdQ2IedWx/ZK4Q==", + "requires": { + "spdx-exceptions": "^2.1.0", + "spdx-license-ids": "^3.0.0" + } + }, + "spdx-license-ids": { + "version": "3.0.11", + "resolved": "https://registry.npmjs.org/spdx-license-ids/-/spdx-license-ids-3.0.11.tgz", + "integrity": "sha512-Ctl2BrFiM0X3MANYgj3CkygxhRmr9mi6xhejbdO960nF6EDJApTYpn0BQnDKlnNBULKiCN1n3w9EBkHK8ZWg+g==" + }, + "strip-ansi": { + "version": "6.0.1", + "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-6.0.1.tgz", + "integrity": "sha512-Y38VPSHcqkFrCpFnQ9vuSXmquuv5oXOKpGeT6aGrr3o3Gc9AlVa6JBfUSOCnbxGGZF+/0ooI7KrPuUSztUdU5A==", + "requires": { + "ansi-regex": "^5.0.1" + } + }, + "strip-final-newline": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/strip-final-newline/-/strip-final-newline-2.0.0.tgz", + "integrity": "sha512-BrpvfNAE3dcvq7ll3xVumzjKjZQ5tI1sEUIKr3Uoks0XUl45St3FlatVqef9prk4jRDzhW6WZg+3bk93y6pLjA==" + }, + "strip-indent": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/strip-indent/-/strip-indent-3.0.0.tgz", + "integrity": "sha512-laJTa3Jb+VQpaC6DseHhF7dXVqHTfJPCRDaEbid/drOhgitgYku/letMUqOXFoWV0zIIUbjpdH2t+tYj4bQMRQ==", + "requires": { + "min-indent": "^1.0.0" + } + }, + "strip-json-comments": { + "version": "3.1.1", + "resolved": "https://registry.npmjs.org/strip-json-comments/-/strip-json-comments-3.1.1.tgz", + "integrity": "sha512-6fPc+R4ihwqP6N/aIv2f1gMH8lOVtWQHoqC4yK6oSDVVocumAsfCqjkXnqiYMhmMwS/mEHLp7Vehlt3ql6lEig==" + }, + "supports-color": { + "version": "5.5.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-5.5.0.tgz", + "integrity": "sha512-QjVjwdXIt408MIiAqCX4oUKsgU2EqAGzs2Ppkm4aQYbjm+ZEWEcW4SfFNTr4uMNZma0ey4f5lgLrkB0aX0QMow==", + "requires": { + "has-flag": "^3.0.0" + } + }, + "text-table": { + "version": "0.2.0", + "resolved": "https://registry.npmjs.org/text-table/-/text-table-0.2.0.tgz", + "integrity": "sha1-f17oI66AUgfACvLfSoTsP8+lcLQ=" + }, + "timers-ext": { + "version": "0.1.7", + "resolved": "https://registry.npmjs.org/timers-ext/-/timers-ext-0.1.7.tgz", + "integrity": "sha512-b85NUNzTSdodShTIbky6ZF02e8STtVVfD+fu4aXXShEELpozH+bCpJLYMPZbsABN2wDH7fJpqIoXxJpzbf0NqQ==", + "requires": { + "es5-ext": "~0.10.46", + "next-tick": "1" + } + }, + "trim-newlines": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/trim-newlines/-/trim-newlines-3.0.1.tgz", + "integrity": "sha512-c1PTsA3tYrIsLGkJkzHF+w9F2EyxfXGo4UyJc4pFL++FMjnq0HJS69T3M7d//gKrFKwy429bouPescbjecU+Zw==" + }, + "tslib": { + "version": "2.3.1", + "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.3.1.tgz", + "integrity": "sha512-77EbyPPpMz+FRFRuAFlWMtmgUWGe9UOG2Z25NqCwiIjRhOf5iKGuzSe5P2w1laq+FkRy4p+PCuVkJSGkzTEKVw==" + }, + "type": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/type/-/type-1.2.0.tgz", + "integrity": "sha512-+5nt5AAniqsCnu2cEQQdpzCAh33kVx8n0VoFidKpB1dVVLAN/F+bgVOqOJqOnEnrhp222clB5p3vUlD+1QAnfg==" + }, + "type-check": { + "version": "0.4.0", + "resolved": "https://registry.npmjs.org/type-check/-/type-check-0.4.0.tgz", + "integrity": "sha512-XleUoc9uwGXqjWwXaUTZAmzMcFZ5858QA2vvx1Ur5xIcixXIP+8LnFDgRplU30us6teqdlskFfu+ae4K79Ooew==", + "requires": { + "prelude-ls": "^1.2.1" + } + }, + "type-fest": { + "version": "0.18.1", + "resolved": "https://registry.npmjs.org/type-fest/-/type-fest-0.18.1.tgz", + "integrity": "sha512-OIAYXk8+ISY+qTOwkHtKqzAuxchoMiD9Udx+FSGQDuiRR+PJKJHc2NJAXlbhkGwTt/4/nKZxELY1w3ReWOL8mw==" + }, + "uri-js": { + "version": "4.4.1", + "resolved": "https://registry.npmjs.org/uri-js/-/uri-js-4.4.1.tgz", + "integrity": "sha512-7rKUyy33Q1yc98pQ1DAmLtwX109F7TIfWlW1Ydo8Wl1ii1SeHieeh0HHfPeL2fMXK6z0s8ecKs9frCuLJvndBg==", + "requires": { + "punycode": "^2.1.0" + } + }, + "uuid": { + "version": "8.3.2", + "resolved": "https://registry.npmjs.org/uuid/-/uuid-8.3.2.tgz", + "integrity": "sha512-+NYs2QeMWy+GWFOEm9xnn6HCDp0l7QBD7ml8zLUmJ+93Q5NF0NocErnwkTkXVFNiX3/fpC6afS8Dhb/gz7R7eg==" + }, + "v8-compile-cache": { + "version": "2.3.0", + "resolved": "https://registry.npmjs.org/v8-compile-cache/-/v8-compile-cache-2.3.0.tgz", + "integrity": "sha512-l8lCEmLcLYZh4nbunNZvQCJc5pv7+RCwa8q/LdUx8u7lsWvPDKmpodJAJNwkAhJC//dFY48KuIEmjtd4RViDrA==" + }, + "validate-npm-package-license": { + "version": "3.0.4", + "resolved": "https://registry.npmjs.org/validate-npm-package-license/-/validate-npm-package-license-3.0.4.tgz", + "integrity": "sha512-DpKm2Ui/xN7/HQKCtpZxoRWBhZ9Z0kqtygG8XCgNQ8ZlDnxuQmWhj566j8fN4Cu3/JmbhsDo7fcAJq4s9h27Ew==", + "requires": { + "spdx-correct": "^3.0.0", + "spdx-expression-parse": "^3.0.0" + } + }, + "which": { + "version": "1.3.1", + "resolved": "https://registry.npmjs.org/which/-/which-1.3.1.tgz", + "integrity": "sha512-HxJdYWq1MTIQbJ3nw0cqssHoTNU267KlrDuGZ1WYlxDStUtKUhOaJmh112/TZmHxxUfuJqPXSOm7tDyas0OSIQ==", + "requires": { + "isexe": "^2.0.0" + } + }, + "word-wrap": { + "version": "1.2.3", + "resolved": "https://registry.npmjs.org/word-wrap/-/word-wrap-1.2.3.tgz", + "integrity": "sha512-Hz/mrNwitNRh/HUAtM/VT/5VH+ygD6DV7mYKZAtHOrbs8U7lvPS6xf7EJKMF0uW1KJCl0H701g3ZGus+muE5vQ==" + }, + "wrappy": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/wrappy/-/wrappy-1.0.2.tgz", + "integrity": "sha1-tSQ9jz7BqjXxNkYFvA0QNuMKtp8=" + }, + "yallist": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/yallist/-/yallist-4.0.0.tgz", + "integrity": "sha512-3wdGidZyq5PB084XLES5TpOSRA3wjXAlIWMhum2kRcv/41Sn2emQ0dycQW4uZXLejwKvg6EsvbdlVL+FYEct7A==" + }, + "yaml": { + "version": "1.10.2", + "resolved": "https://registry.npmjs.org/yaml/-/yaml-1.10.2.tgz", + "integrity": "sha512-r3vXyErRCYJ7wg28yvBY5VSoAF8ZvlcW9/BwUzEtUsjvX/DKs24dIkuwjtuprwJJHsbyUbLApepYTR1BN4uHrg==" + }, + "yargs-parser": { + "version": "20.2.9", + "resolved": "https://registry.npmjs.org/yargs-parser/-/yargs-parser-20.2.9.tgz", + "integrity": "sha512-y11nGElTIV+CT3Zv9t7VKl+Q3hTQoT9a1Qzezhhl6Rp21gJ/IVTW7Z3y9EWXhuUBC2Shnf+DX0antecpAwSP8w==" + } + } +}