From ced7768030552162548a29ff4a2851c62dd69e58 Mon Sep 17 00:00:00 2001 From: Matthias Date: Sun, 6 Jun 2021 14:20:30 +0200 Subject: [PATCH 01/35] calculate button added --- InvenTree/part/templates/part/order_prices.html | 11 ++++++++++- 1 file changed, 10 insertions(+), 1 deletion(-) diff --git a/InvenTree/part/templates/part/order_prices.html b/InvenTree/part/templates/part/order_prices.html index e165ee9c74..11c98265a4 100644 --- a/InvenTree/part/templates/part/order_prices.html +++ b/InvenTree/part/templates/part/order_prices.html @@ -15,7 +15,16 @@ {% block details %} {% default_currency as currency %} -{% crispy form %} +
+ {% csrf_token %} +
+
{{ form|crispy }}
+
+ +
+
+
+

{% trans "Pricing ranges" %}

From 36ff21f11ef8d1b45baa44c04b0b1d087b8fcb68 Mon Sep 17 00:00:00 2001 From: Matthias Date: Sun, 6 Jun 2021 14:21:08 +0200 Subject: [PATCH 02/35] hide supply part price on start --- InvenTree/part/templates/part/order_prices.html | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/InvenTree/part/templates/part/order_prices.html b/InvenTree/part/templates/part/order_prices.html index 11c98265a4..7466e3b7d8 100644 --- a/InvenTree/part/templates/part/order_prices.html +++ b/InvenTree/part/templates/part/order_prices.html @@ -166,7 +166,8 @@ the part single price shown is the current price for that supplier part"> Date: Sun, 6 Jun 2021 14:33:26 +0200 Subject: [PATCH 03/35] clearer information text? as in #1577 --- InvenTree/part/templates/part/order_prices.html | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/InvenTree/part/templates/part/order_prices.html b/InvenTree/part/templates/part/order_prices.html index 7466e3b7d8..f5af15afef 100644 --- a/InvenTree/part/templates/part/order_prices.html +++ b/InvenTree/part/templates/part/order_prices.html @@ -119,8 +119,8 @@ {% if price_history %}
-

{% trans 'Stock Pricing' %}

+

{% trans 'Stock Pricing' %}

{% if price_history|length > 1 %}
From 3aadf94a9cecce0b86653e9dda0a08c4e906ece9 Mon Sep 17 00:00:00 2001 From: Oliver Date: Tue, 8 Jun 2021 16:15:40 +1000 Subject: [PATCH 04/35] Stock Test: Fix display of stock test table - Incorrect parent node was set --- InvenTree/templates/js/stock.js | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/InvenTree/templates/js/stock.js b/InvenTree/templates/js/stock.js index 151265a3ae..0ce10b28a7 100644 --- a/InvenTree/templates/js/stock.js +++ b/InvenTree/templates/js/stock.js @@ -159,7 +159,7 @@ function loadStockTestResultsTable(table, options) { // Set "parent" for each existing row tableData.forEach(function(item, idx) { - tableData[idx].parent = options.stock_item; + tableData[idx].parent = parent_node; }); // Once the test template data are loaded, query for test results From 2a059f345e9b109e4dd082912926ecfef1052c6c Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Tue, 8 Jun 2021 19:49:34 +0000 Subject: [PATCH 05/35] Build(deps): Bump pillow from 8.1.1 to 8.2.0 Bumps [pillow](https://github.com/python-pillow/Pillow) from 8.1.1 to 8.2.0. - [Release notes](https://github.com/python-pillow/Pillow/releases) - [Changelog](https://github.com/python-pillow/Pillow/blob/master/CHANGES.rst) - [Commits](https://github.com/python-pillow/Pillow/compare/8.1.1...8.2.0) --- updated-dependencies: - dependency-name: pillow dependency-type: direct:production ... Signed-off-by: dependabot[bot] --- requirements.txt | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/requirements.txt b/requirements.txt index 5600221c94..43456990ea 100644 --- a/requirements.txt +++ b/requirements.txt @@ -1,7 +1,7 @@ invoke>=1.4.0 # Invoke build tool wheel>=0.34.2 # Wheel Django==3.2.1 # Django package -pillow==8.1.1 # Image manipulation +pillow==8.2.0 # Image manipulation djangorestframework==3.12.4 # DRF framework django-cors-headers==3.2.0 # CORS headers extension for DRF django-filter==2.4.0 # Extended filtering options From 9fd212d1b21216e790744d4e1b0c44b6e665c8cb Mon Sep 17 00:00:00 2001 From: Oliver Date: Wed, 9 Jun 2021 09:41:27 +1000 Subject: [PATCH 06/35] BuildItemSerializer: Handle errors when thumbnail is not found --- InvenTree/build/models.py | 19 ++++++++++++++++--- 1 file changed, 16 insertions(+), 3 deletions(-) diff --git a/InvenTree/build/models.py b/InvenTree/build/models.py index 03a49b627f..f34d3c1d43 100644 --- a/InvenTree/build/models.py +++ b/InvenTree/build/models.py @@ -1289,10 +1289,23 @@ class BuildItem(models.Model): Return qualified URL for part thumbnail image """ + thumb_url = None + if self.stock_item and self.stock_item.part: - return InvenTree.helpers.getMediaUrl(self.stock_item.part.image.thumbnail.url) - elif self.bom_item and self.stock_item.sub_part: - return InvenTree.helpers.getMediaUrl(self.bom_item.sub_part.image.thumbnail.url) + try: + # Try to extract the thumbnail + thumb_url = self.stock_item.part.image.thumbnail.url + except: + pass + + if thumb_url is None and self.bom_item and self.stock_item.sub_part: + try: + thumb_url = self.bom_item.sub_part.image.thumbnail.url + except: + pass + + if thumb_url is not None: + return InvenTree.helpers.getMediaUrl(thumb_url) else: return InvenTree.helpers.getBlankThumbnail() From 0c14457598753eed4e1d85fad3ebf217bbc13d0d Mon Sep 17 00:00:00 2001 From: Oliver Date: Wed, 9 Jun 2021 11:16:37 +1000 Subject: [PATCH 07/35] Fix typo in getStockItemThumbnail --- InvenTree/build/models.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/InvenTree/build/models.py b/InvenTree/build/models.py index f34d3c1d43..fad5a2934d 100644 --- a/InvenTree/build/models.py +++ b/InvenTree/build/models.py @@ -1298,7 +1298,7 @@ class BuildItem(models.Model): except: pass - if thumb_url is None and self.bom_item and self.stock_item.sub_part: + if thumb_url is None and self.bom_item and self.bom_item.sub_part: try: thumb_url = self.bom_item.sub_part.image.thumbnail.url except: From cd07ea835d9bceceaafc3606af38da1da71cfa65 Mon Sep 17 00:00:00 2001 From: Nigel Date: Fri, 14 May 2021 13:17:31 -0600 Subject: [PATCH 08/35] feat(purchase orders): show the preferred location for each PO Line Adds the ability for the Purchaser to specify where the item is intentended to go when received. If the Purchaser does not set a preferred location, then the default location for the part is displayed. If the item is received them where it was actually placed is shown. NOTE: if an item is split when received only one of the resulting StockItem location is used. Fixes #1467 Addresses some of the requests in #551 --- InvenTree/order/forms.py | 10 +++++-- .../0046_purchaseorderlineitem_destination.py | 29 +++++++++++++++++++ InvenTree/order/models.py | 24 +++++++++++++++ InvenTree/order/serializers.py | 4 +++ .../order/purchase_order_detail.html | 4 +++ .../order/templates/order/receive_parts.html | 4 +++ 6 files changed, 73 insertions(+), 2 deletions(-) create mode 100644 InvenTree/order/migrations/0046_purchaseorderlineitem_destination.py diff --git a/InvenTree/order/forms.py b/InvenTree/order/forms.py index 3973888e95..effa696d43 100644 --- a/InvenTree/order/forms.py +++ b/InvenTree/order/forms.py @@ -79,12 +79,17 @@ class ShipSalesOrderForm(HelperForm): class ReceivePurchaseOrderForm(HelperForm): - location = TreeNodeChoiceField(queryset=StockLocation.objects.all(), required=True, label=_('Location'), help_text=_('Receive parts to this location')) + location = TreeNodeChoiceField( + queryset=StockLocation.objects.all(), + required=True, + label=_("Destination"), + help_text=_("Receive parts to this location"), + ) class Meta: model = PurchaseOrder fields = [ - 'location', + "location", ] @@ -195,6 +200,7 @@ class EditPurchaseOrderLineItemForm(HelperForm): 'quantity', 'reference', 'purchase_price', + 'destination', 'notes', ] diff --git a/InvenTree/order/migrations/0046_purchaseorderlineitem_destination.py b/InvenTree/order/migrations/0046_purchaseorderlineitem_destination.py new file mode 100644 index 0000000000..fa08c91e0d --- /dev/null +++ b/InvenTree/order/migrations/0046_purchaseorderlineitem_destination.py @@ -0,0 +1,29 @@ +# Generated by Django 3.2 on 2021-05-13 22:38 + +from django.db import migrations +import django.db.models.deletion +import mptt.fields + + +class Migration(migrations.Migration): + + dependencies = [ + ("stock", "0063_auto_20210511_2343"), + ("order", "0045_auto_20210504_1946"), + ] + + operations = [ + migrations.AddField( + model_name="purchaseorderlineitem", + name="destination", + field=mptt.fields.TreeForeignKey( + blank=True, + help_text="Where does the Purchaser want this item to be stored?", + null=True, + on_delete=django.db.models.deletion.DO_NOTHING, + related_name="po_lines", + to="stock.stocklocation", + verbose_name="Destination", + ), + ), + ] diff --git a/InvenTree/order/models.py b/InvenTree/order/models.py index 49504b6d89..c150331f94 100644 --- a/InvenTree/order/models.py +++ b/InvenTree/order/models.py @@ -20,6 +20,7 @@ from django.utils.translation import ugettext_lazy as _ from common.settings import currency_code_default from markdownx.models import MarkdownxField +from mptt.models import TreeForeignKey from djmoney.models.fields import MoneyField @@ -672,6 +673,29 @@ class PurchaseOrderLineItem(OrderLineItem): help_text=_('Unit purchase price'), ) + destination = TreeForeignKey( + 'stock.StockLocation', on_delete=models.DO_NOTHING, + verbose_name=_('Destination'), + related_name='po_lines', + blank=True, null=True, + help_text=_('Where does the Purchaser want this item to be stored?') + ) + + 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 + ): + if stock.location: + return stock.location + if self.destination: + return self.destination + if self.part and self.part.part and self.part.part.default_location: + return self.part.part.default_location + def remaining(self): """ Calculate the number of items remaining to be received """ r = self.quantity - self.received diff --git a/InvenTree/order/serializers.py b/InvenTree/order/serializers.py index 6091140313..a50c72e13e 100644 --- a/InvenTree/order/serializers.py +++ b/InvenTree/order/serializers.py @@ -17,6 +17,7 @@ from InvenTree.serializers import InvenTreeAttachmentSerializerField from company.serializers import CompanyBriefSerializer, SupplierPartSerializer from part.serializers import PartBriefSerializer +from stock.serializers import LocationBriefSerializer from .models import PurchaseOrder, PurchaseOrderLineItem from .models import PurchaseOrderAttachment, SalesOrderAttachment @@ -116,6 +117,8 @@ class POLineItemSerializer(InvenTreeModelSerializer): purchase_price_string = serializers.CharField(source='purchase_price', read_only=True) + destination = LocationBriefSerializer(source='get_destination', read_only=True) + class Meta: model = PurchaseOrderLineItem @@ -132,6 +135,7 @@ class POLineItemSerializer(InvenTreeModelSerializer): 'purchase_price', 'purchase_price_currency', 'purchase_price_string', + 'destination', ] diff --git a/InvenTree/order/templates/order/purchase_order_detail.html b/InvenTree/order/templates/order/purchase_order_detail.html index ef844409fd..9169a89631 100644 --- a/InvenTree/order/templates/order/purchase_order_detail.html +++ b/InvenTree/order/templates/order/purchase_order_detail.html @@ -204,6 +204,10 @@ $("#po-table").inventreeTable({ return (progressA < progressB) ? 1 : -1; } }, + { + field: 'destination.pathstring', + title: '{% trans "Destination" %}', + }, { field: 'notes', title: '{% trans "Notes" %}', diff --git a/InvenTree/order/templates/order/receive_parts.html b/InvenTree/order/templates/order/receive_parts.html index 35ce4b6513..bfddf01ce9 100644 --- a/InvenTree/order/templates/order/receive_parts.html +++ b/InvenTree/order/templates/order/receive_parts.html @@ -22,6 +22,7 @@ {% trans "Received" %} {% trans "Receive" %} {% trans "Status" %} + {% trans "Destination" %} {% for line in lines %} @@ -53,6 +54,9 @@
+ + {{ line.get_destination }} +
From ec19d7752365b16e38305e71a632ad3a0d4731c7 Mon Sep 17 00:00:00 2001 From: Matthias Date: Sun, 13 Jun 2021 20:08:42 +0200 Subject: [PATCH 13/35] fix whitespaces in paths --- tasks.py | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/tasks.py b/tasks.py index 88bd5e42e4..5aab30651a 100644 --- a/tasks.py +++ b/tasks.py @@ -282,7 +282,7 @@ def export_records(c, filename='data.json'): tmpfile = f"{filename}.tmp" - cmd = f"dumpdata --indent 2 --output {tmpfile} {content_excludes()}" + cmd = f"dumpdata --indent 2 --output '{tmpfile}' {content_excludes()}" # Dump data to temporary file manage(c, cmd, pty=True) @@ -348,7 +348,7 @@ def import_records(c, filename='data.json'): with open(tmpfile, "w") as f_out: f_out.write(json.dumps(data, indent=2)) - cmd = f"loaddata {tmpfile} -i {content_excludes()}" + cmd = f"loaddata '{tmpfile}' -i {content_excludes()}" manage(c, cmd, pty=True) From 08fbdf660bf4ca92c60229ef5f3d590b1fe925e6 Mon Sep 17 00:00:00 2001 From: eeintech Date: Mon, 14 Jun 2021 14:19:10 -0400 Subject: [PATCH 14/35] Fix for #1661 --- InvenTree/stock/serializers.py | 8 ++++++++ InvenTree/templates/js/stock.js | 5 +++++ 2 files changed, 13 insertions(+) diff --git a/InvenTree/stock/serializers.py b/InvenTree/stock/serializers.py index 9bcdc5182e..d60689ccef 100644 --- a/InvenTree/stock/serializers.py +++ b/InvenTree/stock/serializers.py @@ -161,6 +161,13 @@ class StockItemSerializer(InvenTreeModelSerializer): required_tests = serializers.IntegerField(source='required_test_count', read_only=True, required=False) + purchase_price = serializers.SerializerMethodField() + + def get_purchase_price(self, obj): + """ Return purchase_price (Money field) as string (includes currency) """ + + return str(obj.purchase_price) if obj.purchase_price else '-' + def __init__(self, *args, **kwargs): part_detail = kwargs.pop('part_detail', False) @@ -215,6 +222,7 @@ class StockItemSerializer(InvenTreeModelSerializer): 'tracking_items', 'uid', 'updated', + 'purchase_price', ] """ These fields are read-only in this context. diff --git a/InvenTree/templates/js/stock.js b/InvenTree/templates/js/stock.js index 0ce10b28a7..4e992df67f 100644 --- a/InvenTree/templates/js/stock.js +++ b/InvenTree/templates/js/stock.js @@ -660,6 +660,11 @@ function loadStockTable(table, options) { title: '{% trans "Last Updated" %}', sortable: true, }, + { + field: 'purchase_price', + title: '{% trans "Purchase Price" %}', + sortable: true, + }, { field: 'packaging', title: '{% trans "Packaging" %}', From 01328075eac6b428fa1d8ca776c05f1a3e6f7e09 Mon Sep 17 00:00:00 2001 From: Oliver Walters Date: Tue, 15 Jun 2021 23:05:03 +1000 Subject: [PATCH 15/35] All "development" related stuff now goes under ./dev - Update dev-config.env - Update docker-compose.dev.yml - Development target of Dockerfile no longer creates any folders - Update entry point scripts --- .gitignore | 5 ++++- docker/Dockerfile | 13 +++++-------- docker/dev-config.env | 14 ++++++++------ docker/docker-compose.dev.yml | 20 ++++++++++---------- docker/start_dev_server.sh | 15 ++++++++------- docker/start_dev_worker.sh | 6 +++--- 6 files changed, 38 insertions(+), 35 deletions(-) diff --git a/.gitignore b/.gitignore index 7c360a8231..849cc21f2a 100644 --- a/.gitignore +++ b/.gitignore @@ -61,4 +61,7 @@ secret_key.txt # Coverage reports .coverage -htmlcov/ \ No newline at end of file +htmlcov/ + +# Development files +.dev/ \ No newline at end of file diff --git a/docker/Dockerfile b/docker/Dockerfile index 5c5d1dc32a..9d85b8d4b6 100644 --- a/docker/Dockerfile +++ b/docker/Dockerfile @@ -101,14 +101,11 @@ CMD ["bash", "./start_prod_server.sh"] FROM base as dev -# The development image requires the source code to be mounted to /home/inventree/src/ -# So from here, we don't actually "do" anything +# The development image requires the source code to be mounted to /home/inventree/ +# So from here, we don't actually "do" anything, apart from some file management -WORKDIR ${INVENTREE_SRC_DIR} +ENV INVENTREE_DEV_DIR = "${INVENTREE_HOME}/dev" -COPY start_dev_server.sh ${INVENTREE_HOME}/start_dev_server.sh -COPY start_dev_worker.sh ${INVENTREE_HOME}/start_dev_worker.sh -RUN chmod 755 ${INVENTREE_HOME}/start_dev_server.sh -RUN chmod 755 ${INVENTREE_HOME}/start_dev_worker.sh +WORKDIR ${INVENTREE_HOME} -CMD ["bash", "/home/inventree/start_dev_server.sh"] +CMD ["bash", "/home/inventree/docker/start_dev_server.sh"] diff --git a/docker/dev-config.env b/docker/dev-config.env index 200c3db479..4d67c35da6 100644 --- a/docker/dev-config.env +++ b/docker/dev-config.env @@ -1,7 +1,9 @@ INVENTREE_DB_ENGINE=sqlite3 -INVENTREE_DB_NAME=/home/inventree/src/inventree_docker_dev.sqlite3 -INVENTREE_MEDIA_ROOT=/home/inventree/src/inventree_media -INVENTREE_STATIC_ROOT=/home/inventree/src/inventree_static -INVENTREE_CONFIG_FILE=/home/inventree/src/config.yaml -INVENTREE_SECRET_KEY_FILE=/home/inventree/src/secret_key.txt -INVENTREE_DEBUG=true \ No newline at end of file +INVENTREE_DB_NAME=/home/inventree/dev/inventree_db.sqlite3 +INVENTREE_MEDIA_ROOT=/home/inventree/dev/media +INVENTREE_STATIC_ROOT=/home/inventree/dev/static +INVENTREE_CONFIG_FILE=/home/inventree/dev/config.yaml +INVENTREE_SECRET_KEY_FILE=/home/inventree/dev/secret_key.txt +INVENTREE_DEBUG=true +INVENTREE_WEB_ADDR=127.0.0.1 +INVENTREE_WEB_PORT=8000 \ No newline at end of file diff --git a/docker/docker-compose.dev.yml b/docker/docker-compose.dev.yml index ddf50135c9..ee1ec101ca 100644 --- a/docker/docker-compose.dev.yml +++ b/docker/docker-compose.dev.yml @@ -13,8 +13,8 @@ version: "3.8" services: # InvenTree web server services # Uses gunicorn as the web server - inventree-server: - container_name: inventree-server + inventree-dev-server: + container_name: inventree-dev-server build: context: . target: dev @@ -22,7 +22,7 @@ services: - 8000:8000 volumes: # Ensure you specify the location of the 'src' directory at the end of this file - - src:/home/inventree/src + - src:/home/inventree env_file: # Environment variables required for the dev server are configured in dev-config.env - dev-config.env @@ -30,17 +30,17 @@ services: restart: unless-stopped # Background worker process handles long-running or periodic tasks - inventree-worker: - container_name: inventree-worker + inventree-dev-worker: + container_name: inventree-dev-worker build: context: . target: dev - entrypoint: /home/inventree/start_dev_worker.sh + entrypoint: /home/inventree/docker/start_dev_worker.sh depends_on: - - inventree-server + - inventree-dev-server volumes: # Ensure you specify the location of the 'src' directory at the end of this file - - src:/home/inventree/src + - src:/home/inventree env_file: # Environment variables required for the dev server are configured in dev-config.env - dev-config.env @@ -55,5 +55,5 @@ volumes: type: none o: bind # This directory specified where InvenTree source code is stored "outside" the docker containers - # Note: This directory must conatin the file *manage.py* - device: /path/to/inventree/src + # By default, this directory is one level above the "docker" directory + device: ../ diff --git a/docker/start_dev_server.sh b/docker/start_dev_server.sh index d4e33a79a5..ad12ec023a 100644 --- a/docker/start_dev_server.sh +++ b/docker/start_dev_server.sh @@ -16,21 +16,22 @@ if test -f "$INVENTREE_CONFIG_FILE"; then echo "$INVENTREE_CONFIG_FILE exists - skipping" else echo "Copying config file to $INVENTREE_CONFIG_FILE" - cp $INVENTREE_SRC_DIR/InvenTree/config_template.yaml $INVENTREE_CONFIG_FILE + cp $INVENTREE_HOME/InvenTree/config_template.yaml $INVENTREE_CONFIG_FILE fi -# Setup a virtual environment -python3 -m venv inventree-docker-dev +# Setup a virtual environment (within the "dev" directory) +python3 -m venv ./dev/env -source inventree-docker-dev/bin/activate +# Activate the virtual environment +source ./dev/env/bin/activate echo "Installing required packages..." -pip install --no-cache-dir -U -r ${INVENTREE_SRC_DIR}/requirements.txt +pip install --no-cache-dir -U -r ${INVENTREE_HOME}/requirements.txt echo "Starting InvenTree server..." # Wait for the database to be ready -cd $INVENTREE_MNG_DIR +cd ${INVENTREE_HOME}/InvenTree python manage.py wait_for_db sleep 10 @@ -45,4 +46,4 @@ python manage.py migrate --run-syncdb || exit 1 python manage.py clearsessions || exit 1 # Launch a development server -python manage.py runserver 0.0.0.0:$INVENTREE_WEB_PORT +python manage.py runserver ${INVENTREE_WEB_ADDR}:${INVENTREE_WEB_PORT} diff --git a/docker/start_dev_worker.sh b/docker/start_dev_worker.sh index 099f447a9c..bfadc1f49a 100644 --- a/docker/start_dev_worker.sh +++ b/docker/start_dev_worker.sh @@ -2,15 +2,15 @@ echo "Starting InvenTree worker..." -cd $INVENTREE_SRC_DIR +cd $INVENTREE_HOME # Activate virtual environment -source inventree-docker-dev/bin/activate +source ./dev/env/bin/activate sleep 5 # Wait for the database to be ready -cd $INVENTREE_MNG_DIR +cd InvenTree python manage.py wait_for_db sleep 10 From 8bfdb0bec6b060b14fc0dc5081cb78765450cd87 Mon Sep 17 00:00:00 2001 From: Oliver Walters Date: Tue, 15 Jun 2021 23:19:50 +1000 Subject: [PATCH 16/35] Comment fix --- docker/docker-compose.dev.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/docker/docker-compose.dev.yml b/docker/docker-compose.dev.yml index ee1ec101ca..29eccc26c6 100644 --- a/docker/docker-compose.dev.yml +++ b/docker/docker-compose.dev.yml @@ -47,7 +47,7 @@ services: restart: unless-stopped volumes: - # NOTE: Change /path/to/src to a directory on your local machine, where the InvenTree source code is located + # NOTE: Change "../" to a directory on your local machine, where the InvenTree source code is located # Persistent data, stored external to the container(s) src: driver: local From 632ea593fe00e58a1b6b9c9e1232d854d1e56992 Mon Sep 17 00:00:00 2001 From: Oliver Walters Date: Tue, 15 Jun 2021 23:40:50 +1000 Subject: [PATCH 17/35] Fix default port association --- .gitignore | 2 +- docker/dev-config.env | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/.gitignore b/.gitignore index 849cc21f2a..5dd3580ef6 100644 --- a/.gitignore +++ b/.gitignore @@ -64,4 +64,4 @@ secret_key.txt htmlcov/ # Development files -.dev/ \ No newline at end of file +dev/ \ No newline at end of file diff --git a/docker/dev-config.env b/docker/dev-config.env index 4d67c35da6..fe1f073633 100644 --- a/docker/dev-config.env +++ b/docker/dev-config.env @@ -5,5 +5,5 @@ INVENTREE_STATIC_ROOT=/home/inventree/dev/static INVENTREE_CONFIG_FILE=/home/inventree/dev/config.yaml INVENTREE_SECRET_KEY_FILE=/home/inventree/dev/secret_key.txt INVENTREE_DEBUG=true -INVENTREE_WEB_ADDR=127.0.0.1 +INVENTREE_WEB_ADDR=0.0.0.0 INVENTREE_WEB_PORT=8000 \ No newline at end of file From 0821ead024eb5579b09afd8bb3f62c43a5e54d26 Mon Sep 17 00:00:00 2001 From: Oliver Walters Date: Tue, 15 Jun 2021 23:51:37 +1000 Subject: [PATCH 18/35] Only provide static redirects if in DEBUG mode --- InvenTree/InvenTree/urls.py | 22 ++++++++++++---------- 1 file changed, 12 insertions(+), 10 deletions(-) diff --git a/InvenTree/InvenTree/urls.py b/InvenTree/InvenTree/urls.py index bce493fb23..bf0838c26c 100644 --- a/InvenTree/InvenTree/urls.py +++ b/InvenTree/InvenTree/urls.py @@ -161,18 +161,20 @@ urlpatterns = [ url(r'^markdownx/', include('markdownx.urls')), ] -# Static file access -urlpatterns += static(settings.STATIC_URL, document_root=settings.STATIC_ROOT) +# Server running in "DEBUG" mode? +if settings.DEBUG: + # Static file access + urlpatterns += static(settings.STATIC_URL, document_root=settings.STATIC_ROOT) -# Media file access -urlpatterns += static(settings.MEDIA_URL, document_root=settings.MEDIA_ROOT) + # Media file access + urlpatterns += static(settings.MEDIA_URL, document_root=settings.MEDIA_ROOT) -# Debug toolbar access (if in DEBUG mode) -if settings.DEBUG and 'debug_toolbar' in settings.INSTALLED_APPS: - import debug_toolbar - urlpatterns = [ - path('__debug/', include(debug_toolbar.urls)), - ] + urlpatterns + # Debug toolbar access (only allowed in DEBUG mode) + if 'debug_toolbar' in settings.INSTALLED_APPS: + import debug_toolbar + urlpatterns = [ + path('__debug/', include(debug_toolbar.urls)), + ] + urlpatterns # Send any unknown URLs to the parts page urlpatterns += [url(r'^.*$', RedirectView.as_view(url='/index/', permanent=False), name='index')] From 058fc57ff1ca2a46d09661d8e781182cb1b11f43 Mon Sep 17 00:00:00 2001 From: Oliver Walters Date: Wed, 16 Jun 2021 20:57:24 +1000 Subject: [PATCH 19/35] Serve media files via nginx --- docker/nginx.conf | 11 +++++++++++ 1 file changed, 11 insertions(+) diff --git a/docker/nginx.conf b/docker/nginx.conf index 754a7321bb..fb1906f0fa 100644 --- a/docker/nginx.conf +++ b/docker/nginx.conf @@ -34,4 +34,15 @@ server { add_header Cache-Control "public"; } + # Redirect any requests for media files + location /media/ { + alias /var/www/media/; + autoindex on; + + # Caching settings + expires 30d; + add_header Pragma public; + add_header Cache-Control "public"; + } + } \ No newline at end of file From acd7322ff042123a451495338bd8a27de3ffb0c8 Mon Sep 17 00:00:00 2001 From: Oliver Walters Date: Wed, 16 Jun 2021 21:30:25 +1000 Subject: [PATCH 20/35] Files under /media require session to be authenticated References: - https://docs.djangoproject.com/en/3.2/howto/deployment/wsgi/apache-auth/ - https://stackoverflow.com/questions/46421589/nginx-location-and-django-auth - https://docs.nginx.com/nginx/admin-guide/security-controls/configuring-subrequest-authentication/ - https://pawamoy.github.io/posts/django-auth-server-for-shiny/ --- InvenTree/InvenTree/urls.py | 3 +++ InvenTree/InvenTree/views.py | 15 ++++++++++++++- docker/nginx.conf | 19 ++++++++++++++----- 3 files changed, 31 insertions(+), 6 deletions(-) diff --git a/InvenTree/InvenTree/urls.py b/InvenTree/InvenTree/urls.py index bf0838c26c..0108418517 100644 --- a/InvenTree/InvenTree/urls.py +++ b/InvenTree/InvenTree/urls.py @@ -37,6 +37,7 @@ from django.conf.urls.static import static from django.views.generic.base import RedirectView from rest_framework.documentation import include_docs_urls +from .views import auth_request from .views import IndexView, SearchView, DatabaseStatsView from .views import SettingsView, EditUserView, SetPasswordView from .views import CurrencySettingsView, CurrencyRefreshView @@ -155,6 +156,8 @@ urlpatterns = [ url(r'^search/', SearchView.as_view(), name='search'), url(r'^stats/', DatabaseStatsView.as_view(), name='stats'), + url(r'^auth/?', auth_request), + url(r'^api/', include(apipatterns)), url(r'^api-doc/', include_docs_urls(title='InvenTree API')), diff --git a/InvenTree/InvenTree/views.py b/InvenTree/InvenTree/views.py index 108908c571..06aec54c18 100644 --- a/InvenTree/InvenTree/views.py +++ b/InvenTree/InvenTree/views.py @@ -10,7 +10,7 @@ from __future__ import unicode_literals from django.utils.translation import gettext_lazy as _ from django.template.loader import render_to_string -from django.http import JsonResponse, HttpResponseRedirect +from django.http import HttpResponse, JsonResponse, HttpResponseRedirect from django.urls import reverse_lazy from django.conf import settings @@ -36,6 +36,19 @@ from .helpers import str2bool from rest_framework import views +def auth_request(request): + """ + Simple 'auth' endpoint used to determine if the user is authenticated. + Useful for (for example) redirecting authentication requests through + django's permission framework. + """ + + if request.user.is_authenticated: + return HttpResponse(status=200) + else: + return HttpResponse(status=403) + + class TreeSerializer(views.APIView): """ JSON View for serializing a Tree object. diff --git a/docker/nginx.conf b/docker/nginx.conf index fb1906f0fa..270378735e 100644 --- a/docker/nginx.conf +++ b/docker/nginx.conf @@ -1,3 +1,4 @@ + server { # Listen for connection on (internal) port 80 @@ -37,12 +38,20 @@ server { # Redirect any requests for media files location /media/ { alias /var/www/media/; - autoindex on; - # Caching settings - expires 30d; - add_header Pragma public; - add_header Cache-Control "public"; + # Media files require user authentication + auth_request /auth; + } + + # Use the 'user' API endpoint for auth + location /auth { + internal; + + proxy_pass http://inventree-server:8000/auth/; + + proxy_pass_request_body off; + proxy_set_header Content-Length ""; + proxy_set_header X-Original-URI $request_uri; } } \ No newline at end of file From 7dd63b36dacec70ce440eebe4ecb5613133b79a0 Mon Sep 17 00:00:00 2001 From: Oliver Walters Date: Wed, 16 Jun 2021 22:36:05 +1000 Subject: [PATCH 21/35] Simplify dockerfile / docker-compose - Single data volume now also includes 'static' files - InvenTree source repo is now cloned into /home/inventree (to match the "dev" image) --- docker/Dockerfile | 31 +++++++++++-------- docker/docker-compose.yml | 17 +++++----- docker/start_prod_server.sh | 2 +- .../{start_worker.sh => start_prod_worker.sh} | 0 4 files changed, 27 insertions(+), 23 deletions(-) rename docker/{start_worker.sh => start_prod_worker.sh} (100%) diff --git a/docker/Dockerfile b/docker/Dockerfile index 9d85b8d4b6..e27bd5591a 100644 --- a/docker/Dockerfile +++ b/docker/Dockerfile @@ -7,6 +7,8 @@ ARG branch="master" ENV PYTHONUNBUFFERED 1 # InvenTree key settings + +# The INVENTREE_HOME directory is where the InvenTree source repository will be located ENV INVENTREE_HOME="/home/inventree" # GitHub settings @@ -17,10 +19,9 @@ ENV INVENTREE_LOG_LEVEL="INFO" ENV INVENTREE_DOCKER="true" # InvenTree paths -ENV INVENTREE_SRC_DIR="${INVENTREE_HOME}/src" -ENV INVENTREE_MNG_DIR="${INVENTREE_SRC_DIR}/InvenTree" +ENV INVENTREE_MNG_DIR="${INVENTREE_HOME}/InvenTree" ENV INVENTREE_DATA_DIR="${INVENTREE_HOME}/data" -ENV INVENTREE_STATIC_ROOT="${INVENTREE_HOME}/static" +ENV INVENTREE_STATIC_ROOT="${INVENTREE_DATA_DIR}/static" ENV INVENTREE_MEDIA_ROOT="${INVENTREE_DATA_DIR}/media" ENV INVENTREE_CONFIG_FILE="${INVENTREE_DATA_DIR}/config.yaml" @@ -44,8 +45,6 @@ RUN addgroup -S inventreegroup && adduser -S inventree -G inventreegroup WORKDIR ${INVENTREE_HOME} -RUN mkdir -p ${INVENTREE_STATIC_ROOT} - # Install required system packages RUN apk add --no-cache git make bash \ gcc libgcc g++ libstdc++ \ @@ -78,23 +77,22 @@ RUN pip install --no-cache-dir -U gunicorn FROM base as production # Clone source code RUN echo "Downloading InvenTree from ${INVENTREE_REPO}" -RUN git clone --branch ${INVENTREE_BRANCH} --depth 1 ${INVENTREE_REPO} ${INVENTREE_SRC_DIR} +RUN git clone --branch ${INVENTREE_BRANCH} --depth 1 ${INVENTREE_REPO} ${INVENTREE_HOME} # Install InvenTree packages -RUN pip install --no-cache-dir -U -r ${INVENTREE_SRC_DIR}/requirements.txt +RUN pip install --no-cache-dir -U -r ${INVENTREE_HOME}/requirements.txt # Copy gunicorn config file COPY gunicorn.conf.py ${INVENTREE_HOME}/gunicorn.conf.py # Copy startup scripts -COPY start_prod_server.sh ${INVENTREE_SRC_DIR}/start_prod_server.sh -COPY start_worker.sh ${INVENTREE_SRC_DIR}/start_worker.sh +COPY start_prod_server.sh ${INVENTREE_HOME}/start_prod_server.sh +COPY start_prod_worker.sh ${INVENTREE_HOME}/start_prod_worker.sh -RUN chmod 755 ${INVENTREE_SRC_DIR}/start_prod_server.sh -RUN chmod 755 ${INVENTREE_SRC_DIR}/start_worker.sh +RUN chmod 755 ${INVENTREE_HOME}/start_prod_server.sh +RUN chmod 755 ${INVENTREE_HOME}/start_prod_worker.sh -# exec commands should be executed from the "src" directory -WORKDIR ${INVENTREE_SRC_DIR} +WORKDIR ${INVENTREE_HOME} # Let us begin CMD ["bash", "./start_prod_server.sh"] @@ -106,6 +104,13 @@ FROM base as dev ENV INVENTREE_DEV_DIR = "${INVENTREE_HOME}/dev" +# Override default path settings +ENV INVENTREE_STATIC_ROOT="${INVENTREE_DEV_DIR}/static" +ENV INVENTREE_MEDIA_ROOT="${INVENTREE_DEV_DIR}/media" +ENV INVENTREE_CONFIG_FILE="${INVENTREE_DEV_DIR}/config.yaml" +ENV INVENTREE_SECRET_KEY_FILE="${INVENTREE_DEV_DIR}/secret_key.txt" + WORKDIR ${INVENTREE_HOME} +# Launch the development server CMD ["bash", "/home/inventree/docker/start_dev_server.sh"] diff --git a/docker/docker-compose.yml b/docker/docker-compose.yml index 9e77dd1181..0ec135c7bb 100644 --- a/docker/docker-compose.yml +++ b/docker/docker-compose.yml @@ -30,6 +30,7 @@ services: - POSTGRES_USER=pguser - POSTGRES_PASSWORD=pgpassword volumes: + # Map 'data' volume such that postgres database is stored externally - data:/var/lib/postgresql/data/ restart: unless-stopped @@ -43,8 +44,8 @@ services: depends_on: - inventree-db volumes: + # Map 'data' volume - data:/home/inventree/data - - static:/home/inventree/static environment: # Default environment variables are configured to match the 'db' container # Note: If you change the database image, these will need to be adjusted @@ -67,7 +68,6 @@ services: - inventree-server volumes: - data:/home/inventree/data - - static:/home/inventree/static environment: # Default environment variables are configured to match the 'db' container # Note: If you change the database image, these will need to be adjusted @@ -81,7 +81,8 @@ services: restart: unless-stopped # nginx acts as a reverse proxy - # static files are served by nginx + # static files are served directly by nginx + # media files are served by nginx, although authentication is redirected to inventree-server # web requests are redirected to gunicorn # NOTE: You will need to provide a working nginx.conf file! inventree-proxy: @@ -93,11 +94,11 @@ services: # Change "1337" to the port that you want InvenTree web server to be available on - 1337:80 volumes: - # Provide nginx.conf file to the container + # Provide ./nginx.conf file to the container # Refer to the provided example file as a starting point - ./nginx.conf:/etc/nginx/conf.d/default.conf:ro - # Static data volume is mounted to /var/www/static - - static:/var/www/static:ro + # nginx proxy needs access to static and media files + - data:/var/www restart: unless-stopped volumes: @@ -110,6 +111,4 @@ volumes: o: bind # This directory specified where InvenTree data are stored "outside" the docker containers # Change this path to a local system path where you want InvenTree data stored - device: /path/to/data - # Static files, shared between containers - static: \ No newline at end of file + device: /path/to/data \ No newline at end of file diff --git a/docker/start_prod_server.sh b/docker/start_prod_server.sh index 2e5acb5c9d..9d86b331eb 100644 --- a/docker/start_prod_server.sh +++ b/docker/start_prod_server.sh @@ -16,7 +16,7 @@ if test -f "$INVENTREE_CONFIG_FILE"; then echo "$INVENTREE_CONFIG_FILE exists - skipping" else echo "Copying config file to $INVENTREE_CONFIG_FILE" - cp $INVENTREE_SRC_DIR/InvenTree/config_template.yaml $INVENTREE_CONFIG_FILE + cp $INVENTREE_HOME/InvenTree/config_template.yaml $INVENTREE_CONFIG_FILE fi echo "Starting InvenTree server..." diff --git a/docker/start_worker.sh b/docker/start_prod_worker.sh similarity index 100% rename from docker/start_worker.sh rename to docker/start_prod_worker.sh From d85b906560d31f1fd8d85ea6c5a9f0d6e3f1c7dd Mon Sep 17 00:00:00 2001 From: Oliver Walters Date: Wed, 16 Jun 2021 22:57:31 +1000 Subject: [PATCH 22/35] Fix comment in docker-compose.yml file --- docker/docker-compose.yml | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/docker/docker-compose.yml b/docker/docker-compose.yml index 0ec135c7bb..8c2a0b4e23 100644 --- a/docker/docker-compose.yml +++ b/docker/docker-compose.yml @@ -44,7 +44,7 @@ services: depends_on: - inventree-db volumes: - # Map 'data' volume + # Data volume must map to /home/inventree/data - data:/home/inventree/data environment: # Default environment variables are configured to match the 'db' container @@ -67,6 +67,7 @@ services: - inventree-db - inventree-server volumes: + # Data volume must map to /home/inventree/data - data:/home/inventree/data environment: # Default environment variables are configured to match the 'db' container From 725d26d76fab0a938b8df8917490548ef6950c61 Mon Sep 17 00:00:00 2001 From: Oliver Walters Date: Wed, 16 Jun 2021 23:03:09 +1000 Subject: [PATCH 23/35] Fix default paths in InvenTree settings --- InvenTree/InvenTree/settings.py | 2 +- InvenTree/config_template.yaml | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/InvenTree/InvenTree/settings.py b/InvenTree/InvenTree/settings.py index 618c9f730f..208472ff2e 100644 --- a/InvenTree/InvenTree/settings.py +++ b/InvenTree/InvenTree/settings.py @@ -191,7 +191,7 @@ STATIC_URL = '/static/' STATIC_ROOT = os.path.abspath( get_setting( 'INVENTREE_STATIC_ROOT', - CONFIG.get('static_root', '/home/inventree/static') + CONFIG.get('static_root', '/home/inventree/data/static') ) ) diff --git a/InvenTree/config_template.yaml b/InvenTree/config_template.yaml index 1333b876b8..1f73181cf5 100644 --- a/InvenTree/config_template.yaml +++ b/InvenTree/config_template.yaml @@ -131,7 +131,7 @@ media_root: '/home/inventree/data/media' # STATIC_ROOT is the local filesystem location for storing static files # By default, it is stored under /home/inventree # Use environment variable INVENTREE_STATIC_ROOT -static_root: '/home/inventree/static' +static_root: '/home/inventree/data/static' # Optional URL schemes to allow in URL fields # By default, only the following schemes are allowed: ['http', 'https', 'ftp', 'ftps'] From 513449e13ca0be54578b389ee20f396a4c0f3b3c Mon Sep 17 00:00:00 2001 From: Oliver Walters Date: Wed, 16 Jun 2021 23:03:38 +1000 Subject: [PATCH 24/35] Whoops, missed one --- InvenTree/config_template.yaml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/InvenTree/config_template.yaml b/InvenTree/config_template.yaml index 1f73181cf5..0e6232d270 100644 --- a/InvenTree/config_template.yaml +++ b/InvenTree/config_template.yaml @@ -129,7 +129,7 @@ cors: media_root: '/home/inventree/data/media' # STATIC_ROOT is the local filesystem location for storing static files -# By default, it is stored under /home/inventree +# By default, it is stored under /home/inventree/data/static # Use environment variable INVENTREE_STATIC_ROOT static_root: '/home/inventree/data/static' From 8e9bf2aadd1d44831f7c42292c461530205c0b8d Mon Sep 17 00:00:00 2001 From: Oliver Walters Date: Wed, 16 Jun 2021 23:31:36 +1000 Subject: [PATCH 25/35] Fix typo in docker-compose.yml --- docker/docker-compose.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/docker/docker-compose.yml b/docker/docker-compose.yml index 8c2a0b4e23..dcd35af148 100644 --- a/docker/docker-compose.yml +++ b/docker/docker-compose.yml @@ -62,7 +62,7 @@ services: inventree-worker: container_name: inventree-worker image: inventree/inventree:latest - entrypoint: ./start_worker.sh + entrypoint: ./start_prod_worker.sh depends_on: - inventree-db - inventree-server From 731ea0238e5c73e899ee21b03206ea7fe088c5a1 Mon Sep 17 00:00:00 2001 From: Oliver Date: Wed, 16 Jun 2021 23:53:58 +1000 Subject: [PATCH 26/35] Update version.py Bump version number --- InvenTree/InvenTree/version.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/InvenTree/InvenTree/version.py b/InvenTree/InvenTree/version.py index 7b8546b1c2..305828c869 100644 --- a/InvenTree/InvenTree/version.py +++ b/InvenTree/InvenTree/version.py @@ -8,7 +8,7 @@ import re import common.models -INVENTREE_SW_VERSION = "0.2.3 pre" +INVENTREE_SW_VERSION = "0.2.3" """ Increment thi API version number whenever there is a significant change to the API that any clients need to know about From 9386332de1770496a23ccddaa448f87794121e39 Mon Sep 17 00:00:00 2001 From: Oliver Date: Wed, 16 Jun 2021 23:54:42 +1000 Subject: [PATCH 27/35] Update version.py --- InvenTree/InvenTree/version.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/InvenTree/InvenTree/version.py b/InvenTree/InvenTree/version.py index 305828c869..5161bee6a1 100644 --- a/InvenTree/InvenTree/version.py +++ b/InvenTree/InvenTree/version.py @@ -8,7 +8,7 @@ import re import common.models -INVENTREE_SW_VERSION = "0.2.3" +INVENTREE_SW_VERSION = "0.2.4 pre" """ Increment thi API version number whenever there is a significant change to the API that any clients need to know about From 70e093333627d5340003d0ea816c7fa368af0b47 Mon Sep 17 00:00:00 2001 From: Matthias Date: Wed, 16 Jun 2021 23:52:00 +0200 Subject: [PATCH 28/35] total price column as per #1660 --- .../templates/order/purchase_order_detail.html | 14 ++++++++++++++ 1 file changed, 14 insertions(+) diff --git a/InvenTree/order/templates/order/purchase_order_detail.html b/InvenTree/order/templates/order/purchase_order_detail.html index ef844409fd..fda45240dc 100644 --- a/InvenTree/order/templates/order/purchase_order_detail.html +++ b/InvenTree/order/templates/order/purchase_order_detail.html @@ -182,6 +182,20 @@ $("#po-table").inventreeTable({ return row.purchase_price_string || row.purchase_price; } }, + { + sortable: true, + title: '{% trans "Total price" %}', + formatter: function(value, row) { + var total = row.purchase_price * row.quantity; + + // Create our number formatter. + var formatter = new Intl.NumberFormat('en-US', { + style: 'currency', + currency: row.purchase_price_currency, + }); + return formatter.format(total) + }, + }, { sortable: true, field: 'received', From 2fc185bd7147abf1beff6924adb1c98008b830d1 Mon Sep 17 00:00:00 2001 From: Matthias Date: Wed, 16 Jun 2021 23:57:33 +0200 Subject: [PATCH 29/35] show footer --- InvenTree/order/templates/order/purchase_order_detail.html | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/InvenTree/order/templates/order/purchase_order_detail.html b/InvenTree/order/templates/order/purchase_order_detail.html index fda45240dc..155fb50eae 100644 --- a/InvenTree/order/templates/order/purchase_order_detail.html +++ b/InvenTree/order/templates/order/purchase_order_detail.html @@ -117,6 +117,7 @@ $("#po-table").inventreeTable({ part_detail: true, }, url: "{% url 'api-po-line-list' %}", + showFooter: true, columns: [ { field: 'pk', @@ -137,6 +138,9 @@ $("#po-table").inventreeTable({ return '-'; } }, + footerFormatter: function() { + return 'Total' + } }, { field: 'part_detail.description', From dac112d9081a0aacb69a61fa5fdbc6b33336d8ed Mon Sep 17 00:00:00 2001 From: Matthias Date: Thu, 17 Jun 2021 00:22:32 +0200 Subject: [PATCH 30/35] added footer total for price --- .../templates/order/purchase_order_detail.html | 18 ++++++++++++------ 1 file changed, 12 insertions(+), 6 deletions(-) diff --git a/InvenTree/order/templates/order/purchase_order_detail.html b/InvenTree/order/templates/order/purchase_order_detail.html index 155fb50eae..acfce032e7 100644 --- a/InvenTree/order/templates/order/purchase_order_detail.html +++ b/InvenTree/order/templates/order/purchase_order_detail.html @@ -191,14 +191,20 @@ $("#po-table").inventreeTable({ title: '{% trans "Total price" %}', formatter: function(value, row) { var total = row.purchase_price * row.quantity; - - // Create our number formatter. - var formatter = new Intl.NumberFormat('en-US', { - style: 'currency', - currency: row.purchase_price_currency, - }); + var formatter = new Intl.NumberFormat('en-US', {style: 'currency', currency: row.purchase_price_currency}); return formatter.format(total) }, + footerFormatter: function(data) { + var total = data.map(function (row) { + return +row['purchase_price']*row['quantity'] + }).reduce(function (sum, i) { + return sum + i + }, 0) + var currency = (data.slice(-1)[0] && data.slice(-1)[0].purchase_price_currency) || 'USD'; + var formatter = new Intl.NumberFormat('en-US', {style: 'currency', currency: currency}); + return formatter.format(total) + } + }, { sortable: true, From 5d3360e63b2666f6dd8a4268b60354bef43ee6fa Mon Sep 17 00:00:00 2001 From: Matthias Date: Thu, 17 Jun 2021 00:23:08 +0200 Subject: [PATCH 31/35] added quantity total --- .../order/templates/order/purchase_order_detail.html | 10 ++++++++-- 1 file changed, 8 insertions(+), 2 deletions(-) diff --git a/InvenTree/order/templates/order/purchase_order_detail.html b/InvenTree/order/templates/order/purchase_order_detail.html index acfce032e7..08236fe773 100644 --- a/InvenTree/order/templates/order/purchase_order_detail.html +++ b/InvenTree/order/templates/order/purchase_order_detail.html @@ -176,7 +176,14 @@ $("#po-table").inventreeTable({ { sortable: true, field: 'quantity', - title: '{% trans "Quantity" %}' + title: '{% trans "Quantity" %}', + footerFormatter: function(data) { + return data.map(function (row) { + return +row['quantity'] + }).reduce(function (sum, i) { + return sum + i + }, 0) + } }, { sortable: true, @@ -204,7 +211,6 @@ $("#po-table").inventreeTable({ var formatter = new Intl.NumberFormat('en-US', {style: 'currency', currency: currency}); return formatter.format(total) } - }, { sortable: true, From bbe7edbf827b2d78112ab57141e3e59a3f434d6b Mon Sep 17 00:00:00 2001 From: Matthias Date: Thu, 17 Jun 2021 00:50:10 +0200 Subject: [PATCH 32/35] totals like in #1666 --- .../templates/order/sales_order_detail.html | 33 ++++++++++++++++++- 1 file changed, 32 insertions(+), 1 deletion(-) diff --git a/InvenTree/order/templates/order/sales_order_detail.html b/InvenTree/order/templates/order/sales_order_detail.html index a90e61bff9..3bbd458da5 100644 --- a/InvenTree/order/templates/order/sales_order_detail.html +++ b/InvenTree/order/templates/order/sales_order_detail.html @@ -199,6 +199,7 @@ $("#so-lines-table").inventreeTable({ detailFormatter: showFulfilledSubTable, {% endif %} {% endif %} + showFooter: true, columns: [ { field: 'pk', @@ -217,7 +218,10 @@ $("#so-lines-table").inventreeTable({ } else { return '-'; } - } + }, + footerFormatter: function() { + return '{% trans "Total" %}' + }, }, { sortable: true, @@ -228,6 +232,13 @@ $("#so-lines-table").inventreeTable({ sortable: true, field: 'quantity', title: '{% trans "Quantity" %}', + footerFormatter: function(data) { + return data.map(function (row) { + return +row['quantity'] + }).reduce(function (sum, i) { + return sum + i + }, 0) + }, }, { sortable: true, @@ -237,6 +248,26 @@ $("#so-lines-table").inventreeTable({ return row.sale_price_string || row.sale_price; } }, + { + sortable: true, + title: '{% trans "Total price" %}', + formatter: function(value, row) { + var total = row.sale_price * row.quantity; + var formatter = new Intl.NumberFormat('en-US', {style: 'currency', currency: row.sale_price_currency}); + return formatter.format(total) + }, + footerFormatter: function(data) { + var total = data.map(function (row) { + return +row['sale_price']*row['quantity'] + }).reduce(function (sum, i) { + return sum + i + }, 0) + var currency = (data.slice(-1)[0] && data.slice(-1)[0].sale_price_currency) || 'USD'; + var formatter = new Intl.NumberFormat('en-US', {style: 'currency', currency: currency}); + return formatter.format(total) + } + }, + { field: 'allocated', {% if order.status == SalesOrderStatus.PENDING %} From af2cfe55bec8facaf56f8a9c7138d4f86458d624 Mon Sep 17 00:00:00 2001 From: Matthias Date: Thu, 17 Jun 2021 00:51:53 +0200 Subject: [PATCH 33/35] missed a translation there --- InvenTree/order/templates/order/purchase_order_detail.html | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/InvenTree/order/templates/order/purchase_order_detail.html b/InvenTree/order/templates/order/purchase_order_detail.html index 08236fe773..5359b61651 100644 --- a/InvenTree/order/templates/order/purchase_order_detail.html +++ b/InvenTree/order/templates/order/purchase_order_detail.html @@ -139,7 +139,7 @@ $("#po-table").inventreeTable({ } }, footerFormatter: function() { - return 'Total' + return '{% trans "Total" %}' } }, { From b2975596dc5a063f2d25cbb2d0de99b13a44f49b Mon Sep 17 00:00:00 2001 From: Oliver Date: Thu, 17 Jun 2021 09:11:04 +1000 Subject: [PATCH 34/35] L10 (#1668) * updated translation base * updated translation base * Fix: New translations django.po from Crowdin * Fix: New translations django.po from Crowdin * Fix: New translations django.po from Crowdin * Fix: New translations django.po from Crowdin * Fix: New translations django.po from Crowdin * Fix: New translations django.po from Crowdin * Fix: New translations django.po from Crowdin * Fix: New translations django.po from Crowdin * Fix: New translations django.po from Crowdin * updated translation base * Fix: New translations django.po from Crowdin * Fix: New translations django.po from Crowdin * Fix: New translations django.po from Crowdin * Fix: New translations django.po from Crowdin * Fix: New translations django.po from Crowdin * Fix: New translations django.po from Crowdin * Fix: New translations django.po from Crowdin * Fix: New translations django.po from Crowdin * Fix: New translations django.po from Crowdin * updated translation base * updated translation base * updated translation base * updated translation base * updated translation base * Fix: New translations django.po from Crowdin * Fix: New translations django.po from Crowdin * Fix: New translations django.po from Crowdin * Fix: New translations django.po from Crowdin * Fix: New translations django.po from Crowdin * Fix: New translations django.po from Crowdin * Fix: New translations django.po from Crowdin * Fix: New translations django.po from Crowdin * Fix: New translations django.po from Crowdin * Fix: New translations django.po from Crowdin * Fix: New translations django.po from Crowdin * updated translation base * updated translation base * Fix: New translations django.po from Crowdin * Fix: New translations django.po from Crowdin * Fix: New translations django.po from Crowdin * Fix: New translations django.po from Crowdin * Fix: New translations django.po from Crowdin * Fix: New translations django.po from Crowdin * Fix: New translations django.po from Crowdin * Fix: New translations django.po from Crowdin * Fix: New translations django.po from Crowdin * updated translation base * updated translation base * Fix: New translations django.po from Crowdin * Fix: New translations django.po from Crowdin * Fix: New translations django.po from Crowdin * Fix: New translations django.po from Crowdin * Fix: New translations django.po from Crowdin * Fix: New translations django.po from Crowdin * Fix: New translations django.po from Crowdin * Fix: New translations django.po from Crowdin * Fix: New translations django.po from Crowdin * updated translation base * Fix: New translations django.po from Crowdin * Fix: New translations django.po from Crowdin * Fix: New translations django.po from Crowdin * Fix: New translations django.po from Crowdin * Fix: New translations django.po from Crowdin * Fix: New translations django.po from Crowdin * Fix: New translations django.po from Crowdin * Fix: New translations django.po from Crowdin * Fix: New translations django.po from Crowdin Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com> --- InvenTree/locale/de/LC_MESSAGES/django.po | 446 +++++++++++---------- InvenTree/locale/en/LC_MESSAGES/django.po | 444 +++++++++++---------- InvenTree/locale/es/LC_MESSAGES/django.po | 446 +++++++++++---------- InvenTree/locale/fr/LC_MESSAGES/django.po | 446 +++++++++++---------- InvenTree/locale/it/LC_MESSAGES/django.po | 446 +++++++++++---------- InvenTree/locale/ja/LC_MESSAGES/django.po | 446 +++++++++++---------- InvenTree/locale/pl/LC_MESSAGES/django.po | 446 +++++++++++---------- InvenTree/locale/ru/LC_MESSAGES/django.po | 466 +++++++++++----------- InvenTree/locale/tr/LC_MESSAGES/django.po | 446 +++++++++++---------- InvenTree/locale/zh/LC_MESSAGES/django.po | 446 +++++++++++---------- 10 files changed, 2259 insertions(+), 2219 deletions(-) diff --git a/InvenTree/locale/de/LC_MESSAGES/django.po b/InvenTree/locale/de/LC_MESSAGES/django.po index 34d056cc8a..9eeedee291 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-06-01 10:07+0000\n" -"PO-Revision-Date: 2021-06-01 23:57\n" +"POT-Creation-Date: 2021-06-16 22:40+0000\n" +"PO-Revision-Date: 2021-06-16 22:41\n" "Last-Translator: \n" "Language-Team: German\n" "Language: de_DE\n" @@ -77,7 +77,7 @@ msgstr "Kategorie auswählen" msgid "Duplicate serial: {n}" msgstr "Doppelte Seriennummer: {n}" -#: InvenTree/helpers.py:384 order/models.py:245 order/models.py:355 +#: InvenTree/helpers.py:384 order/models.py:247 order/models.py:357 #: stock/views.py:1795 msgid "Invalid quantity provided" msgstr "Keine gültige Menge" @@ -106,7 +106,7 @@ 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:59 stock/models.py:1761 +#: InvenTree/models.py:59 stock/models.py:1763 msgid "Attachment" msgstr "Anhang" @@ -124,7 +124,7 @@ msgstr "Datei-Kommentar" #: InvenTree/models.py:68 InvenTree/models.py:69 part/models.py:1999 #: report/templates/report/inventree_test_report_base.html:91 -#: templates/js/stock.js:1149 +#: templates/js/stock.js:1154 msgid "User" msgstr "Benutzer" @@ -136,7 +136,7 @@ msgstr "Hochladedatum" #: part/models.py:686 part/models.py:2140 part/templates/part/params.html:27 #: report/models.py:179 templates/InvenTree/search.html:137 #: templates/InvenTree/search.html:289 templates/js/part.js:118 -#: templates/js/part.js:641 templates/js/stock.js:942 +#: templates/js/part.js:641 templates/js/stock.js:947 msgid "Name" msgstr "Name" @@ -146,7 +146,7 @@ msgstr "Name" #: company/templates/company/manufacturer_part_base.html:72 #: company/templates/company/supplier_part_base.html:71 #: company/templates/company/supplier_part_detail.html:31 label/models.py:109 -#: order/models.py:101 order/templates/order/purchase_order_detail.html:143 +#: order/models.py:103 order/templates/order/purchase_order_detail.html:147 #: part/models.py:710 part/templates/part/detail.html:54 #: part/templates/part/set_category.html:14 report/models.py:192 #: report/models.py:505 report/models.py:544 @@ -158,8 +158,8 @@ msgstr "Name" #: templates/js/company.js:56 templates/js/order.js:183 #: templates/js/order.js:280 templates/js/part.js:177 templates/js/part.js:260 #: templates/js/part.js:437 templates/js/part.js:653 templates/js/part.js:721 -#: templates/js/stock.js:552 templates/js/stock.js:954 -#: templates/js/stock.js:999 +#: templates/js/stock.js:552 templates/js/stock.js:959 +#: templates/js/stock.js:1004 msgid "Description" msgstr "Beschreibung" @@ -372,27 +372,27 @@ msgstr "Überschuss darf 100% nicht überschreiten" msgid "Overage must be an integer value or a percentage" msgstr "Überschuss muss eine Ganzzahl oder ein Prozentwert sein" -#: InvenTree/views.py:592 +#: InvenTree/views.py:605 msgid "Delete Item" msgstr "Element löschen" -#: InvenTree/views.py:641 +#: InvenTree/views.py:654 msgid "Check box to confirm item deletion" msgstr "Häkchen setzen um Löschung von Objekt zu bestätigen" -#: InvenTree/views.py:656 templates/InvenTree/settings/user.html:18 +#: InvenTree/views.py:669 templates/InvenTree/settings/user.html:18 msgid "Edit User Information" msgstr "Benutzerinformationen bearbeiten" -#: InvenTree/views.py:667 templates/InvenTree/settings/user.html:22 +#: InvenTree/views.py:680 templates/InvenTree/settings/user.html:22 msgid "Set Password" msgstr "Passwort eingeben" -#: InvenTree/views.py:686 +#: InvenTree/views.py:699 msgid "Password fields must match" msgstr "Passwörter stimmen nicht überein" -#: InvenTree/views.py:937 templates/navbar.html:95 +#: InvenTree/views.py:950 templates/navbar.html:95 msgid "System Information" msgstr "Systeminformationen" @@ -458,17 +458,17 @@ msgstr "Zieldatum" msgid "Target date for build completion. Build will be overdue after this date." msgstr "Zieldatum für Bauauftrag-Fertigstellung." -#: build/forms.py:48 build/forms.py:90 build/forms.py:266 build/models.py:1333 +#: build/forms.py:48 build/forms.py:90 build/forms.py:266 build/models.py:1346 #: build/templates/build/allocation_card.html:23 #: build/templates/build/auto_allocate.html:17 #: build/templates/build/build_base.html:133 #: build/templates/build/detail.html:31 common/models.py:699 #: company/forms.py:176 company/templates/company/supplier_part_pricing.html:77 #: order/forms.py:188 order/forms.py:205 order/forms.py:240 order/forms.py:262 -#: order/forms.py:279 order/models.py:614 order/models.py:815 +#: order/forms.py:279 order/models.py:616 order/models.py:817 #: order/templates/order/order_wizard/match_parts.html:29 #: order/templates/order/order_wizard/select_parts.html:32 -#: order/templates/order/purchase_order_detail.html:175 +#: order/templates/order/purchase_order_detail.html:179 #: order/templates/order/sales_order_detail.html:70 #: order/templates/order/sales_order_detail.html:77 #: order/templates/order/sales_order_detail.html:162 @@ -477,7 +477,7 @@ msgstr "Zieldatum für Bauauftrag-Fertigstellung." #: part/templates/part/allocation.html:19 #: part/templates/part/allocation.html:53 #: part/templates/part/order_prices.html:175 -#: part/templates/part/part_pricing.html:12 +#: part/templates/part/part_pricing.html:13 #: part/templates/part/sale_prices.html:85 #: report/templates/report/inventree_build_order_base.html:114 #: report/templates/report/inventree_po_report.html:91 @@ -487,8 +487,8 @@ msgstr "Zieldatum für Bauauftrag-Fertigstellung." #: stock/templates/stock/item_base.html:255 #: stock/templates/stock/stock_adjust.html:18 templates/js/barcode.js:364 #: templates/js/bom.js:205 templates/js/build.js:486 templates/js/build.js:1024 -#: templates/js/part.js:795 templates/js/stock.js:1134 -#: templates/js/stock.js:1353 +#: templates/js/part.js:795 templates/js/stock.js:1139 +#: templates/js/stock.js:1358 msgid "Quantity" msgstr "Anzahl" @@ -534,7 +534,7 @@ msgstr "Bauauftrag als vollständig markieren" #: stock/templates/stock/stock_adjust.html:17 #: templates/InvenTree/search.html:260 templates/js/barcode.js:363 #: templates/js/barcode.js:531 templates/js/build.js:500 -#: templates/js/stock.js:639 templates/js/stock.js:1026 +#: templates/js/stock.js:639 templates/js/stock.js:1031 msgid "Location" msgstr "Lagerort" @@ -543,13 +543,13 @@ msgid "Location of completed parts" msgstr "Lagerort der Endprodukte" #: build/forms.py:215 build/templates/build/build_base.html:138 -#: build/templates/build/detail.html:59 order/models.py:466 +#: build/templates/build/detail.html:59 order/models.py:468 #: order/templates/order/receive_parts.html:24 #: stock/templates/stock/item_base.html:403 templates/InvenTree/search.html:252 #: templates/js/barcode.js:119 templates/js/build.js:780 #: templates/js/order.js:187 templates/js/order.js:285 -#: templates/js/stock.js:626 templates/js/stock.js:1103 -#: templates/js/stock.js:1369 +#: templates/js/stock.js:626 templates/js/stock.js:1108 +#: templates/js/stock.js:1374 msgid "Status" msgstr "Status" @@ -602,8 +602,8 @@ msgstr "Bauaufträge" msgid "Build Order Reference" msgstr "Bauauftragsreferenz" -#: build/models.py:128 order/models.py:99 order/models.py:616 -#: order/templates/order/purchase_order_detail.html:170 +#: build/models.py:128 order/models.py:101 order/models.py:618 +#: order/templates/order/purchase_order_detail.html:174 #: order/templates/order/sales_order_detail.html:225 part/models.py:2279 #: report/templates/report/inventree_po_report.html:92 #: report/templates/report/inventree_so_report.html:92 templates/js/bom.js:197 @@ -627,15 +627,15 @@ msgstr "Bauauftrag, zu dem dieser Bauauftrag zugwiesen ist" #: build/models.py:153 build/templates/build/auto_allocate.html:16 #: build/templates/build/build_base.html:128 #: build/templates/build/detail.html:26 company/models.py:622 -#: order/models.py:658 order/models.py:691 +#: order/models.py:660 order/models.py:693 #: order/templates/order/order_wizard/select_parts.html:30 -#: order/templates/order/purchase_order_detail.html:131 +#: order/templates/order/purchase_order_detail.html:132 #: order/templates/order/receive_parts.html:19 #: order/templates/order/sales_order_detail.html:213 part/models.py:321 #: part/models.py:1967 part/models.py:1979 part/models.py:1997 #: part/models.py:2072 part/models.py:2168 part/models.py:2254 #: part/templates/part/part_app_base.html:8 -#: part/templates/part/part_pricing.html:8 part/templates/part/related.html:29 +#: part/templates/part/part_pricing.html:9 part/templates/part/related.html:29 #: part/templates/part/set_category.html:13 #: report/templates/report/inventree_build_order_base.html:110 #: report/templates/report/inventree_po_report.html:90 @@ -646,7 +646,7 @@ msgstr "Bauauftrag, zu dem dieser Bauauftrag zugwiesen ist" #: templates/js/build.js:991 templates/js/company.js:140 #: templates/js/company.js:238 templates/js/part.js:241 #: templates/js/part.js:404 templates/js/stock.js:521 -#: templates/js/stock.js:1341 +#: templates/js/stock.js:1346 msgid "Part" msgstr "Teil" @@ -702,7 +702,7 @@ msgstr "Bauauftrags-Status" msgid "Build status code" msgstr "Bau-Statuscode" -#: build/models.py:213 stock/models.py:464 +#: build/models.py:213 stock/models.py:466 msgid "Batch Code" msgstr "Losnummer" @@ -710,16 +710,16 @@ msgstr "Losnummer" msgid "Batch code for this build output" msgstr "Losnummer für dieses Endprodukt" -#: build/models.py:220 order/models.py:105 part/models.py:882 +#: build/models.py:220 order/models.py:107 part/models.py:882 #: part/templates/part/detail.html:126 templates/js/order.js:293 msgid "Creation Date" msgstr "Erstelldatum" -#: build/models.py:224 order/models.py:472 +#: build/models.py:224 order/models.py:474 msgid "Target completion date" msgstr "geplantes Fertigstellungsdatum" -#: build/models.py:228 order/models.py:218 templates/js/build.js:798 +#: build/models.py:228 order/models.py:220 templates/js/build.js:798 msgid "Completion Date" msgstr "Fertigstellungsdatum" @@ -736,7 +736,7 @@ msgid "User who issued this build order" msgstr "Nutzer der diesen Bauauftrag erstellt hat" #: build/models.py:251 build/templates/build/build_base.html:184 -#: build/templates/build/detail.html:105 order/models.py:119 +#: build/templates/build/detail.html:105 order/models.py:121 #: order/templates/order/order_base.html:138 #: order/templates/order/sales_order_base.html:140 part/models.py:886 #: report/templates/report/inventree_build_order_base.html:159 @@ -753,30 +753,30 @@ msgstr "Nutzer der für diesen Bauauftrag zuständig ist" #: company/templates/company/supplier_part_base.html:78 #: company/templates/company/supplier_part_detail.html:28 #: part/templates/part/detail.html:83 part/templates/part/part_base.html:94 -#: stock/models.py:458 stock/templates/stock/item_base.html:345 +#: stock/models.py:460 stock/templates/stock/item_base.html:345 msgid "External Link" msgstr "Externer Link" -#: build/models.py:258 part/models.py:744 stock/models.py:460 +#: build/models.py:258 part/models.py:744 stock/models.py:462 msgid "Link to external URL" msgstr "Link zu einer externen URL" #: build/models.py:262 build/templates/build/navbar.html:53 #: company/models.py:132 company/models.py:498 #: company/templates/company/navbar.html:70 -#: company/templates/company/navbar.html:73 order/models.py:123 -#: order/models.py:618 order/templates/order/po_navbar.html:29 +#: company/templates/company/navbar.html:73 order/models.py:125 +#: order/models.py:620 order/templates/order/po_navbar.html:29 #: order/templates/order/po_navbar.html:32 -#: order/templates/order/purchase_order_detail.html:209 +#: order/templates/order/purchase_order_detail.html:239 #: order/templates/order/sales_order_detail.html:278 #: order/templates/order/so_navbar.html:33 #: order/templates/order/so_navbar.html:36 part/models.py:871 #: part/templates/part/navbar.html:134 #: report/templates/report/inventree_build_order_base.html:173 #: stock/forms.py:173 stock/forms.py:317 stock/forms.py:349 stock/forms.py:377 -#: stock/models.py:530 stock/models.py:1665 stock/models.py:1767 +#: stock/models.py:532 stock/models.py:1667 stock/models.py:1769 #: stock/templates/stock/navbar.html:57 templates/js/barcode.js:37 -#: templates/js/bom.js:356 templates/js/stock.js:141 templates/js/stock.js:669 +#: templates/js/bom.js:356 templates/js/stock.js:141 templates/js/stock.js:674 msgid "Notes" msgstr "Notizen" @@ -809,11 +809,11 @@ msgstr "Bauauftragsposition muss ein Endprodukt festlegen, da der übergeordnete msgid "Allocated quantity ({n}) must not exceed available quantity ({q})" msgstr "Reserviermenge ({n}) muss kleiner Bestandsmenge ({q}) sein. Zugewiesene Anzahl ({n}) darf nicht die verfügbare ({q}) Anzahl überschreiten" -#: build/models.py:1188 order/models.py:789 +#: build/models.py:1188 order/models.py:791 msgid "StockItem is over-allocated" msgstr "Zu viele BestandsObjekt zugewiesen" -#: build/models.py:1192 order/models.py:792 +#: build/models.py:1192 order/models.py:794 msgid "Allocation quantity must be greater than zero" msgstr "Reserviermenge muss größer null sein" @@ -826,17 +826,17 @@ msgstr "Anzahl muss 1 für Objekte mit Seriennummer sein" msgid "Selected stock item not found in BOM for part '{p}'" msgstr "Ausgewähltes BestandsObjekt nicht Stückliste für Teil '{p}' gefunden" -#: build/models.py:1303 stock/templates/stock/item_base.html:317 +#: build/models.py:1316 stock/templates/stock/item_base.html:317 #: templates/InvenTree/search.html:183 templates/js/build.js:724 #: templates/navbar.html:29 msgid "Build" msgstr "Bauauftrag" -#: build/models.py:1304 +#: build/models.py:1317 msgid "Build to allocate parts" msgstr "Bauauftrag starten um Teile zuzuweisen" -#: build/models.py:1320 part/templates/part/allocation.html:18 +#: build/models.py:1333 part/templates/part/allocation.html:18 #: part/templates/part/allocation.html:24 #: part/templates/part/allocation.html:31 #: part/templates/part/allocation.html:49 @@ -844,23 +844,23 @@ msgstr "Bauauftrag starten um Teile zuzuweisen" #: stock/templates/stock/item_base.html:31 #: stock/templates/stock/item_base.html:339 #: stock/templates/stock/stock_adjust.html:16 templates/js/build.js:841 -#: templates/js/stock.js:1085 +#: templates/js/stock.js:1090 msgid "Stock Item" msgstr "BestandsObjekt" -#: build/models.py:1321 +#: build/models.py:1334 msgid "Source stock item" msgstr "Quell-BestandsObjekt" -#: build/models.py:1334 +#: build/models.py:1347 msgid "Stock quantity to allocate to build" msgstr "BestandsObjekt-Anzahl dem Bauauftrag zuweisen" -#: build/models.py:1342 +#: build/models.py:1355 msgid "Install into" msgstr "Installiere in" -#: build/models.py:1343 +#: build/models.py:1356 msgid "Destination stock item" msgstr "Ziel-BestandsObjekt" @@ -916,7 +916,7 @@ msgstr "Dieser Bauauftrag hat keine zugeordneten Stücklisten-Einträge" #: order/templates/order/sales_order_detail.html:75 #: order/templates/order/sales_order_detail.html:160 #: report/templates/report/inventree_test_report_base.html:75 -#: stock/models.py:452 stock/templates/stock/item_base.html:249 +#: stock/models.py:454 stock/templates/stock/item_base.html:249 #: templates/js/build.js:484 msgid "Serial Number" msgstr "Seriennummer" @@ -1037,7 +1037,7 @@ msgid "Progress" msgstr "Fortschritt" #: build/templates/build/build_base.html:170 -#: build/templates/build/detail.html:84 order/models.py:689 +#: build/templates/build/detail.html:84 order/models.py:691 #: order/templates/order/sales_order_base.html:9 #: order/templates/order/sales_order_base.html:35 #: order/templates/order/sales_order_ship.html:25 @@ -1195,7 +1195,7 @@ msgstr "Ziel-Lagerort nicht angegeben" #: build/templates/build/detail.html:70 #: stock/templates/stock/item_base.html:303 templates/js/stock.js:634 -#: templates/js/stock.js:1376 templates/js/table_filters.js:112 +#: templates/js/stock.js:1381 templates/js/table_filters.js:112 #: templates/js/table_filters.js:206 msgid "Batch" msgstr "Losnummer" @@ -1250,7 +1250,7 @@ msgstr "Bauauftrag-details" #: company/templates/company/navbar.html:15 #: order/templates/order/po_navbar.html:14 #: order/templates/order/so_navbar.html:15 part/templates/part/navbar.html:15 -#: templates/js/stock.js:1014 +#: templates/js/stock.js:1019 msgid "Details" msgstr "Details" @@ -1898,7 +1898,7 @@ msgstr "Hersteller-Teilenummer" #: company/templates/company/manufacturer_part_detail.html:26 #: company/templates/company/supplier_part_base.html:102 #: company/templates/company/supplier_part_detail.html:35 -#: order/templates/order/purchase_order_detail.html:158 part/bom.py:171 +#: order/templates/order/purchase_order_detail.html:162 part/bom.py:171 #: part/bom.py:242 templates/js/company.js:181 templates/js/company.js:307 msgid "MPN" msgstr "MPN" @@ -1953,7 +1953,7 @@ msgid "Point of contact" msgstr "Anlaufstelle" #: company/models.py:121 company/models.py:333 company/models.py:485 -#: order/models.py:103 part/models.py:743 +#: order/models.py:105 part/models.py:743 #: report/templates/report/inventree_build_order_base.html:165 #: templates/js/company.js:188 templates/js/company.js:318 #: templates/js/part.js:497 @@ -1992,7 +1992,7 @@ msgstr "ist Hersteller" msgid "Does this company manufacture parts?" msgstr "Produziert diese Firma Teile?" -#: company/models.py:305 company/models.py:456 stock/models.py:405 +#: company/models.py:305 company/models.py:456 stock/models.py:407 #: stock/templates/stock/item_base.html:235 msgid "Base Part" msgstr "Basisteil" @@ -2022,7 +2022,7 @@ msgstr "Teilbeschreibung des Herstellers" #: company/models.py:466 company/templates/company/detail.html:62 #: company/templates/company/supplier_part_base.html:84 -#: company/templates/company/supplier_part_detail.html:25 order/models.py:190 +#: company/templates/company/supplier_part_detail.html:25 order/models.py:192 #: order/templates/order/order_base.html:92 #: order/templates/order/order_wizard/select_pos.html:30 part/bom.py:175 #: part/bom.py:286 stock/templates/stock/item_base.html:364 @@ -2037,7 +2037,7 @@ msgstr "Zulieferer auswählen" #: company/models.py:472 company/templates/company/supplier_part_base.html:88 #: company/templates/company/supplier_part_detail.html:26 -#: order/templates/order/purchase_order_detail.html:149 part/bom.py:176 +#: order/templates/order/purchase_order_detail.html:153 part/bom.py:176 #: part/bom.py:287 msgid "SKU" msgstr "SKU (Lagerbestandseinheit)" @@ -2081,8 +2081,8 @@ msgid "Minimum charge (e.g. stocking fee)" msgstr "Mindestpreis" #: company/models.py:503 company/templates/company/supplier_part_base.html:109 -#: stock/models.py:429 stock/templates/stock/item_base.html:310 -#: templates/js/stock.js:665 +#: stock/models.py:431 stock/templates/stock/item_base.html:310 +#: templates/js/stock.js:670 msgid "Packaging" msgstr "Verpackungen" @@ -2166,11 +2166,11 @@ msgstr "Keine Website angegeben" msgid "Uses default currency" msgstr "verwendet Standard-Währung" -#: company/templates/company/detail.html:67 order/models.py:461 -#: order/templates/order/sales_order_base.html:94 stock/models.py:447 -#: stock/models.py:448 stock/templates/stock/item_base.html:262 +#: company/templates/company/detail.html:67 order/models.py:463 +#: order/templates/order/sales_order_base.html:94 stock/models.py:449 +#: stock/models.py:450 stock/templates/stock/item_base.html:262 #: templates/js/company.js:40 templates/js/order.js:267 -#: templates/js/stock.js:1067 +#: templates/js/stock.js:1072 msgid "Customer" msgstr "Kunde" @@ -2216,7 +2216,7 @@ msgstr "Teile löschen" #: company/templates/company/detail_manufacturer_part.html:66 #: company/templates/company/detail_supplier_part.html:66 #: part/templates/part/bom.html:159 part/templates/part/category.html:118 -#: templates/js/stock.js:1282 +#: templates/js/stock.js:1287 msgid "New Part" msgstr "Neues Teil" @@ -2263,7 +2263,7 @@ msgstr "Neues Zuliefererteil anlegen" #: company/templates/company/detail_supplier_part.html:22 #: company/templates/company/manufacturer_part_suppliers.html:17 #: order/templates/order/purchase_order_detail.html:49 -#: part/templates/part/supplier.html:17 templates/js/stock.js:1288 +#: part/templates/part/supplier.html:17 templates/js/stock.js:1293 msgid "New Supplier Part" msgstr "Neues Zuliefererteil" @@ -2386,7 +2386,7 @@ msgstr "Zuliefererteile" #: stock/templates/stock/location.html:136 #: stock/templates/stock/location_navbar.html:22 #: stock/templates/stock/location_navbar.html:29 -#: templates/InvenTree/search.html:198 templates/js/stock.js:966 +#: templates/InvenTree/search.html:198 templates/js/stock.js:971 #: templates/stats.html:93 templates/stats.html:102 users/models.py:42 msgid "Stock Items" msgstr "Teilbestand" @@ -2442,7 +2442,7 @@ msgid "New Sales Order" msgstr "Neuer Auftrag" #: company/templates/company/supplier_part_base.html:7 -#: company/templates/company/supplier_part_base.html:20 stock/models.py:414 +#: company/templates/company/supplier_part_base.html:20 stock/models.py:416 #: stock/templates/stock/item_base.html:369 templates/js/company.js:279 msgid "Supplier Part" msgstr "Zuliefererteil" @@ -2599,7 +2599,7 @@ msgstr "Herstellerteil löschen" msgid "Edit Supplier Part" msgstr "Zuliefererteil bearbeiten" -#: company/views.py:578 templates/js/stock.js:1289 +#: company/views.py:578 templates/js/stock.js:1294 msgid "Create new Supplier Part" msgstr "Neues Zuliefererteil anlegen" @@ -2713,7 +2713,7 @@ msgstr "Zieldatum für Auftrags-Lieferung." msgid "Enter sales order number" msgstr "Auftrag-Nummer eingeben" -#: order/forms.py:145 order/models.py:473 +#: order/forms.py:145 order/models.py:475 msgid "Target date for order completion. Order will be overdue after this date." msgstr "Zieldatum für Auftrags-Fertigstellung." @@ -2725,209 +2725,209 @@ msgstr "Seriennummern für BestandsObjekt eingeben" msgid "Enter quantity of stock items" msgstr "Menge der BestandsObjekt eingeben" -#: order/models.py:99 +#: order/models.py:101 msgid "Order reference" msgstr "Bestell-Referenz" -#: order/models.py:101 +#: order/models.py:103 msgid "Order description" msgstr "Bestellungs-Beschreibung" -#: order/models.py:103 +#: order/models.py:105 msgid "Link to external page" msgstr "Link auf externe Seite" -#: order/models.py:111 part/templates/part/detail.html:132 +#: order/models.py:113 part/templates/part/detail.html:132 msgid "Created By" msgstr "Erstellt von" -#: order/models.py:118 +#: order/models.py:120 msgid "User or group responsible for this order" msgstr "Nutzer oder Gruppe der/die für diesen Auftrag zuständig ist/sind" -#: order/models.py:123 +#: order/models.py:125 msgid "Order notes" msgstr "Bestell-Notizen" -#: order/models.py:182 order/models.py:466 +#: order/models.py:184 order/models.py:468 msgid "Purchase order status" msgstr "Bestellungs-Status" -#: order/models.py:191 +#: order/models.py:193 msgid "Company from which the items are being ordered" msgstr "Firma bei der die Teile bestellt werden" -#: order/models.py:194 order/templates/order/order_base.html:98 +#: order/models.py:196 order/templates/order/order_base.html:98 #: templates/js/order.js:179 msgid "Supplier Reference" msgstr "Zulieferer-Referenz" -#: order/models.py:194 +#: order/models.py:196 msgid "Supplier order reference code" msgstr "Zulieferer Bestellreferenz" -#: order/models.py:201 +#: order/models.py:203 msgid "received by" msgstr "Empfangen von" -#: order/models.py:206 +#: order/models.py:208 msgid "Issue Date" msgstr "Aufgabedatum" -#: order/models.py:207 +#: order/models.py:209 msgid "Date order was issued" msgstr "Datum an dem die Bestellung aufgegeben wurde" -#: order/models.py:212 +#: order/models.py:214 msgid "Target Delivery Date" msgstr "Ziel-Versanddatum" -#: order/models.py:213 +#: order/models.py:215 msgid "Expected date for order delivery. Order will be overdue after this date." msgstr "Geplantes Lieferdatum für Auftrag." -#: order/models.py:219 +#: order/models.py:221 msgid "Date order was completed" msgstr "Datum an dem der Auftrag fertigstellt wurde" -#: order/models.py:243 part/views.py:1675 stock/models.py:302 -#: stock/models.py:1018 +#: order/models.py:245 part/views.py:1675 stock/models.py:304 +#: stock/models.py:1020 msgid "Quantity must be greater than zero" msgstr "Anzahl muss größer Null sein" -#: order/models.py:248 +#: order/models.py:250 msgid "Part supplier must match PO supplier" msgstr "Teile-Zulieferer muss dem Zulieferer der Bestellung entsprechen" -#: order/models.py:346 +#: order/models.py:348 msgid "Lines can only be received against an order marked as 'Placed'" msgstr "Nur Teile aufgegebener Bestllungen können empfangen werden" -#: order/models.py:350 +#: order/models.py:352 msgid "Quantity must be an integer" msgstr "Anzahl muss eine Ganzzahl sein" -#: order/models.py:352 +#: order/models.py:354 msgid "Quantity must be a positive number" msgstr "Anzahl muss eine positive Zahl sein" -#: order/models.py:462 +#: order/models.py:464 msgid "Company to which the items are being sold" msgstr "Firma an die die Teile verkauft werden" -#: order/models.py:468 +#: order/models.py:470 msgid "Customer Reference " msgstr "Kundenreferenz" -#: order/models.py:468 +#: order/models.py:470 msgid "Customer order reference code" msgstr "Bestellreferenz" -#: order/models.py:476 templates/js/order.js:303 +#: order/models.py:478 templates/js/order.js:303 msgid "Shipment Date" msgstr "Versanddatum" -#: order/models.py:483 +#: order/models.py:485 msgid "shipped by" msgstr "Versand von" -#: order/models.py:527 +#: order/models.py:529 msgid "SalesOrder cannot be shipped as it is not currently pending" msgstr "Bestellung kann nicht versendet werden weil er nicht anhängig ist" -#: order/models.py:614 +#: order/models.py:616 msgid "Item quantity" msgstr "Anzahl" -#: order/models.py:616 +#: order/models.py:618 msgid "Line item reference" msgstr "Position - Referenz" -#: order/models.py:618 +#: order/models.py:620 msgid "Line item notes" msgstr "Position - Notizen" -#: order/models.py:644 order/models.py:689 +#: order/models.py:646 order/models.py:691 #: part/templates/part/allocation.html:17 #: part/templates/part/allocation.html:45 msgid "Order" msgstr "Bestellung" -#: order/models.py:645 order/templates/order/order_base.html:9 +#: order/models.py:647 order/templates/order/order_base.html:9 #: order/templates/order/order_base.html:24 #: report/templates/report/inventree_po_report.html:77 #: stock/templates/stock/item_base.html:324 templates/js/order.js:148 -#: templates/js/stock.js:1048 +#: templates/js/stock.js:1053 msgid "Purchase Order" msgstr "Bestellung" -#: order/models.py:659 +#: order/models.py:661 msgid "Supplier part" msgstr "Zuliefererteil" -#: order/models.py:662 order/templates/order/order_base.html:131 -#: order/templates/order/purchase_order_detail.html:189 +#: order/models.py:664 order/templates/order/order_base.html:131 +#: order/templates/order/purchase_order_detail.html:219 #: order/templates/order/receive_parts.html:22 #: order/templates/order/sales_order_base.html:133 msgid "Received" msgstr "Empfangen" -#: order/models.py:662 +#: order/models.py:664 msgid "Number of items received" msgstr "Empfangene Objekt-Anzahl" -#: order/models.py:669 stock/models.py:540 -#: stock/templates/stock/item_base.html:331 +#: order/models.py:671 stock/models.py:542 +#: stock/templates/stock/item_base.html:331 templates/js/stock.js:665 msgid "Purchase Price" msgstr "Preis" -#: order/models.py:670 +#: order/models.py:672 msgid "Unit purchase price" msgstr "Preis pro Einheit" -#: order/models.py:698 part/templates/part/navbar.html:101 +#: order/models.py:700 part/templates/part/navbar.html:101 #: part/templates/part/order_prices.html:82 -#: part/templates/part/part_pricing.html:77 +#: part/templates/part/part_pricing.html:78 msgid "Sale Price" msgstr "Verkaufspreis" -#: order/models.py:699 +#: order/models.py:701 msgid "Unit sale price" msgstr "Stückverkaufspreis" -#: order/models.py:774 order/models.py:776 +#: order/models.py:776 order/models.py:778 msgid "Stock item has not been assigned" msgstr "BestandsObjekt wurde nicht zugewiesen" -#: order/models.py:780 +#: order/models.py:782 msgid "Cannot allocate stock item to a line with a different part" msgstr "Kann BestandsObjekt keiner Zeile mit einem anderen Teil hinzufügen" -#: order/models.py:782 +#: order/models.py:784 msgid "Cannot allocate stock to a line without a part" msgstr "Kann BestandsObjekt keiner Zeile ohne Teil hinzufügen" -#: order/models.py:785 +#: order/models.py:787 msgid "Allocation quantity cannot exceed stock quantity" msgstr "Die zugeordnete Anzahl darf nicht die verfügbare Anzahl überschreiten" -#: order/models.py:795 +#: order/models.py:797 msgid "Quantity must be 1 for serialized stock item" msgstr "Anzahl für BestandsObjekt mit Seriennummer muss 1 sein" -#: order/models.py:800 +#: order/models.py:802 msgid "Line" msgstr "Position" -#: order/models.py:811 +#: order/models.py:813 msgid "Item" msgstr "Position" -#: order/models.py:812 +#: order/models.py:814 msgid "Select stock item to allocate" msgstr "BestandsObjekt für Zuordnung auswählen" -#: order/models.py:815 +#: order/models.py:817 msgid "Enter stock allocation quantity" msgstr "Anzahl für Bestandszuordnung eingeben" @@ -2978,8 +2978,8 @@ msgstr "Aufgegeben" #: order/templates/order/order_base.html:180 #: order/templates/order/purchase_order_detail.html:100 #: part/templates/part/category.html:208 part/templates/part/category.html:250 -#: stock/templates/stock/location.html:191 templates/js/stock.js:706 -#: templates/js/stock.js:1294 +#: stock/templates/stock/location.html:191 templates/js/stock.js:711 +#: templates/js/stock.js:1299 msgid "New Location" msgstr "Neuer Lagerort" @@ -3163,21 +3163,25 @@ msgstr "Position hinzufügen" msgid "No line items found" msgstr "Keine Positionen gefunden" -#: order/templates/order/purchase_order_detail.html:180 +#: order/templates/order/purchase_order_detail.html:191 #: order/templates/order/sales_order_detail.html:235 msgid "Unit Price" msgstr "Stück-Preis" -#: order/templates/order/purchase_order_detail.html:221 +#: order/templates/order/purchase_order_detail.html:198 +msgid "Total price" +msgstr "" + +#: order/templates/order/purchase_order_detail.html:251 #: order/templates/order/sales_order_detail.html:328 msgid "Edit line item" msgstr "Position bearbeiten" -#: order/templates/order/purchase_order_detail.html:222 +#: order/templates/order/purchase_order_detail.html:252 msgid "Delete line item" msgstr "Position löschen" -#: order/templates/order/purchase_order_detail.html:227 +#: order/templates/order/purchase_order_detail.html:257 msgid "Receive line item" msgstr "Position empfangen" @@ -4065,7 +4069,7 @@ msgid "Stock items for variant parts can be used for this BOM item" msgstr "Lagerbestand von Varianten kann für diese Stücklisten-Position verwendet werden" #: part/models.py:2371 part/views.py:1681 part/views.py:1733 -#: stock/models.py:292 +#: stock/models.py:294 msgid "Quantity must be integer value for trackable parts" msgstr "Menge muss eine Ganzzahl sein" @@ -4174,7 +4178,7 @@ msgid "All selected BOM items will be deleted" msgstr "Alle ausgewählte Stücklistenpositionen werden gelöscht" #: part/templates/part/bom.html:160 part/views.py:585 -#: templates/js/stock.js:1283 +#: templates/js/stock.js:1288 msgid "Create New Part" msgstr "Neues Teil anlegen" @@ -4315,7 +4319,7 @@ msgid "View grid display" msgstr "Rasteransicht anzeigen" #: part/templates/part/category.html:209 -#: stock/templates/stock/location.html:192 templates/js/stock.js:707 +#: stock/templates/stock/location.html:192 templates/js/stock.js:712 msgid "Create new location" msgstr "Neuen Lagerort anlegen" @@ -4409,7 +4413,7 @@ msgstr "%(full_name)s - %(desc)s (%(match_per)s%% übereinstimmend)" msgid "Part Details" msgstr "Teil Details" -#: part/templates/part/detail.html:42 +#: part/templates/part/detail.html:42 part/templates/part/part_base.html:188 msgid "Latest Serial Number" msgstr "letzte Seriennummer" @@ -4552,51 +4556,51 @@ msgid "Pricing ranges" msgstr "Preisspannen" #: part/templates/part/order_prices.html:26 -#: part/templates/part/part_pricing.html:18 +#: part/templates/part/part_pricing.html:19 msgid "Supplier Pricing" msgstr "Zulieferer-Preise" #: part/templates/part/order_prices.html:27 #: part/templates/part/order_prices.html:52 #: part/templates/part/order_prices.html:83 -#: part/templates/part/part_pricing.html:22 -#: part/templates/part/part_pricing.html:48 -#: part/templates/part/part_pricing.html:80 +#: part/templates/part/part_pricing.html:23 +#: part/templates/part/part_pricing.html:49 +#: part/templates/part/part_pricing.html:81 msgid "Unit Cost" msgstr "Stückpreis" #: part/templates/part/order_prices.html:34 #: part/templates/part/order_prices.html:59 #: part/templates/part/order_prices.html:88 -#: part/templates/part/part_pricing.html:28 -#: part/templates/part/part_pricing.html:54 -#: part/templates/part/part_pricing.html:84 +#: part/templates/part/part_pricing.html:29 +#: part/templates/part/part_pricing.html:55 +#: part/templates/part/part_pricing.html:85 msgid "Total Cost" msgstr "Gesamtkosten" #: part/templates/part/order_prices.html:42 -#: part/templates/part/part_pricing.html:36 +#: part/templates/part/part_pricing.html:37 msgid "No supplier pricing available" msgstr "Keine Zulieferer-Preise verfügbar" #: part/templates/part/order_prices.html:51 #: part/templates/part/order_prices.html:103 -#: part/templates/part/part_pricing.html:44 +#: part/templates/part/part_pricing.html:45 msgid "BOM Pricing" msgstr "Stücklistenpreise" #: part/templates/part/order_prices.html:67 -#: part/templates/part/part_pricing.html:62 +#: part/templates/part/part_pricing.html:63 msgid "Note: BOM pricing is incomplete for this part" msgstr "Anmerkung: Stücklistenbepreisung für dieses Teil ist unvollständig" #: part/templates/part/order_prices.html:74 -#: part/templates/part/part_pricing.html:69 +#: part/templates/part/part_pricing.html:70 msgid "No BOM pricing available" msgstr "Keine Stücklisten-Preise verfügbar" #: part/templates/part/order_prices.html:97 -#: part/templates/part/part_pricing.html:93 +#: part/templates/part/part_pricing.html:94 msgid "No pricing information is available for this part." msgstr "Keine Preise für dieses Teil verfügbar" @@ -4635,7 +4639,7 @@ msgstr "Neuer Parameter" #: part/templates/part/params.html:28 #: report/templates/report/inventree_test_report_base.html:90 -#: stock/models.py:1754 templates/InvenTree/settings/header.html:8 +#: stock/models.py:1756 templates/InvenTree/settings/header.html:8 #: templates/js/stock.js:137 msgid "Value" msgstr "Wert" @@ -4741,7 +4745,7 @@ msgstr "Herstellbar" msgid "Building" msgstr "Im Bau" -#: part/templates/part/part_base.html:257 +#: part/templates/part/part_base.html:265 msgid "Calculate" msgstr "Berechnen" @@ -4850,7 +4854,7 @@ msgstr "Neue Variante anlegen" msgid "New Variant" msgstr "neue Variante anlegen" -#: part/templatetags/inventree_extras.py:97 +#: part/templatetags/inventree_extras.py:98 msgid "Unknown database" msgstr "Unbekannte Datenbank" @@ -5161,17 +5165,17 @@ msgid "Test Results" msgstr "Testergebnisse" #: report/templates/report/inventree_test_report_base.html:88 -#: stock/models.py:1742 +#: stock/models.py:1744 msgid "Test" msgstr "Test" #: report/templates/report/inventree_test_report_base.html:89 -#: stock/models.py:1748 +#: stock/models.py:1750 msgid "Result" msgstr "Ergebnis" #: report/templates/report/inventree_test_report_base.html:92 -#: templates/js/order.js:195 templates/js/stock.js:982 +#: templates/js/order.js:195 templates/js/stock.js:987 msgid "Date" msgstr "Datum" @@ -5193,7 +5197,7 @@ msgstr "Bestand für {n} Objekte geändert" msgid "Moved {n} parts to {loc}" msgstr "{n} Teile nach {loc} bewegt" -#: stock/forms.py:114 stock/forms.py:418 stock/models.py:507 +#: stock/forms.py:114 stock/forms.py:418 stock/models.py:509 #: stock/templates/stock/item_base.html:376 templates/js/stock.js:654 msgid "Expiry Date" msgstr "Ablaufdatum" @@ -5283,187 +5287,187 @@ msgstr "Standard-Lagerort ändern" msgid "Set the destination as the default location for selected parts" msgstr "Setze das Ziel als Standard-Lagerort für ausgewählte Teile" -#: stock/models.py:54 stock/models.py:545 +#: stock/models.py:56 stock/models.py:547 msgid "Owner" msgstr "Besitzer" -#: stock/models.py:55 stock/models.py:546 +#: stock/models.py:57 stock/models.py:548 msgid "Select Owner" msgstr "Besitzer auswählen" -#: stock/models.py:273 +#: stock/models.py:275 msgid "StockItem with this serial number already exists" msgstr "Ein BestandsObjekt mit dieser Seriennummer existiert bereits" -#: stock/models.py:309 +#: stock/models.py:311 #, python-brace-format msgid "Part type ('{pf}') must be {pe}" msgstr "Teile-Typ ('{pf}') muss {pe} sein" -#: stock/models.py:319 stock/models.py:328 +#: stock/models.py:321 stock/models.py:330 msgid "Quantity must be 1 for item with a serial number" msgstr "Anzahl muss für Objekte mit Seriennummer 1 sein" -#: stock/models.py:320 +#: stock/models.py:322 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:342 +#: stock/models.py:344 msgid "Item cannot belong to itself" msgstr "Teil kann nicht zu sich selbst gehören" -#: stock/models.py:348 +#: stock/models.py:350 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:355 +#: stock/models.py:357 msgid "Build reference does not point to the same part object" msgstr "Referenz verweist nicht auf das gleiche Teil" -#: stock/models.py:397 +#: stock/models.py:399 msgid "Parent Stock Item" msgstr "Eltern-BestandsObjekt" -#: stock/models.py:406 +#: stock/models.py:408 msgid "Base part" msgstr "Basis-Teil" -#: stock/models.py:415 +#: stock/models.py:417 msgid "Select a matching supplier part for this stock item" msgstr "Passendes Zuliefererteil für dieses BestandsObjekt auswählen" -#: stock/models.py:420 stock/templates/stock/stock_app_base.html:8 +#: stock/models.py:422 stock/templates/stock/stock_app_base.html:8 msgid "Stock Location" msgstr "Bestand-Lagerort" -#: stock/models.py:423 +#: stock/models.py:425 msgid "Where is this stock item located?" msgstr "Wo wird dieses Teil normalerweise gelagert?" -#: stock/models.py:430 +#: stock/models.py:432 msgid "Packaging this stock item is stored in" msgstr "Die Verpackung dieses BestandsObjekt ist gelagert in" -#: stock/models.py:435 stock/templates/stock/item_base.html:270 +#: stock/models.py:437 stock/templates/stock/item_base.html:270 msgid "Installed In" msgstr "verbaut in" -#: stock/models.py:438 +#: stock/models.py:440 msgid "Is this item installed in another item?" msgstr "Ist dieses Teil in einem anderen verbaut?" -#: stock/models.py:454 +#: stock/models.py:456 msgid "Serial number for this item" msgstr "Seriennummer für dieses Teil" -#: stock/models.py:466 +#: stock/models.py:468 msgid "Batch code for this stock item" msgstr "Losnummer für dieses BestandsObjekt" -#: stock/models.py:470 +#: stock/models.py:472 msgid "Stock Quantity" msgstr "Bestand" -#: stock/models.py:479 +#: stock/models.py:481 msgid "Source Build" msgstr "Quellbau" -#: stock/models.py:481 +#: stock/models.py:483 msgid "Build for this stock item" msgstr "Bauauftrag für dieses BestandsObjekt" -#: stock/models.py:492 +#: stock/models.py:494 msgid "Source Purchase Order" msgstr "Quelle Bestellung" -#: stock/models.py:495 +#: stock/models.py:497 msgid "Purchase order for this stock item" msgstr "Bestellung für dieses BestandsObjekt" -#: stock/models.py:501 +#: stock/models.py:503 msgid "Destination Sales Order" msgstr "Ziel-Auftrag" -#: stock/models.py:508 +#: stock/models.py:510 msgid "Expiry date for stock item. Stock will be considered expired after this date" msgstr "Ablaufdatum für BestandsObjekt. Bestand wird danach als abgelaufen gekennzeichnet" -#: stock/models.py:521 +#: stock/models.py:523 msgid "Delete on deplete" msgstr "Löschen wenn leer" -#: stock/models.py:521 +#: stock/models.py:523 msgid "Delete this Stock Item when stock is depleted" msgstr "Dieses BestandsObjekt löschen wenn Bestand aufgebraucht" -#: stock/models.py:531 stock/templates/stock/item_notes.html:13 +#: stock/models.py:533 stock/templates/stock/item_notes.html:13 #: stock/templates/stock/navbar.html:54 msgid "Stock Item Notes" msgstr "BestandsObjekt-Notizen" -#: stock/models.py:541 +#: stock/models.py:543 msgid "Single unit purchase price at time of purchase" msgstr "Preis für eine Einheit bei Einkauf" -#: stock/models.py:1009 +#: stock/models.py:1011 msgid "Part is not set as trackable" msgstr "Teil ist nicht verfolgbar" -#: stock/models.py:1015 +#: stock/models.py:1017 msgid "Quantity must be integer" msgstr "Anzahl muss eine Ganzzahl sein" -#: stock/models.py:1021 +#: stock/models.py:1023 #, 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:1024 +#: stock/models.py:1026 msgid "Serial numbers must be a list of integers" msgstr "Seriennummern muss eine Liste von Ganzzahlen sein" -#: stock/models.py:1027 +#: stock/models.py:1029 msgid "Quantity does not match serial numbers" msgstr "Anzahl stimmt nicht mit den Seriennummern überein" -#: stock/models.py:1034 +#: stock/models.py:1036 #, python-brace-format msgid "Serial numbers already exist: {exists}" msgstr "Seriennummern {exists} existieren bereits" -#: stock/models.py:1192 +#: stock/models.py:1194 msgid "StockItem cannot be moved as it is not in stock" msgstr "BestandsObjekt kann nicht bewegt werden, da kein Bestand vorhanden ist" -#: stock/models.py:1666 +#: stock/models.py:1668 msgid "Entry notes" msgstr "Eintrags-Notizen" -#: stock/models.py:1719 +#: stock/models.py:1721 msgid "Value must be provided for this test" msgstr "Wert muss für diesen Test angegeben werden" -#: stock/models.py:1725 +#: stock/models.py:1727 msgid "Attachment must be uploaded for this test" msgstr "Anhang muss für diesen Test hochgeladen werden" -#: stock/models.py:1743 +#: stock/models.py:1745 msgid "Test name" msgstr "Name des Tests" -#: stock/models.py:1749 templates/js/table_filters.js:217 +#: stock/models.py:1751 templates/js/table_filters.js:217 msgid "Test result" msgstr "Testergebnis" -#: stock/models.py:1755 +#: stock/models.py:1757 msgid "Test output value" msgstr "Test Ausgabe Wert" -#: stock/models.py:1762 +#: stock/models.py:1764 msgid "Test result attachment" msgstr "Test Ergebnis Anhang" -#: stock/models.py:1768 +#: stock/models.py:1770 msgid "Test notes" msgstr "Test Notizen" @@ -6584,7 +6588,7 @@ msgid "No builds matching query" msgstr "Keine Bauaufträge passen zur Anfrage" #: templates/js/build.js:718 templates/js/part.js:390 templates/js/part.js:634 -#: templates/js/stock.js:509 templates/js/stock.js:936 +#: templates/js/stock.js:509 templates/js/stock.js:941 msgid "Select" msgstr "Auswählen" @@ -6835,7 +6839,7 @@ msgstr "Keine Kategorie" msgid "Low stock" msgstr "Bestand niedrig" -#: templates/js/part.js:659 templates/js/stock.js:960 +#: templates/js/part.js:659 templates/js/stock.js:965 msgid "Path" msgstr "Pfad" @@ -7033,75 +7037,75 @@ msgstr "gelöscht" msgid "Stocktake" msgstr "Inventur" -#: templates/js/stock.js:823 +#: templates/js/stock.js:828 msgid "Stock Status" msgstr "Status" -#: templates/js/stock.js:838 +#: templates/js/stock.js:843 msgid "Set Stock Status" msgstr "Status setzen" -#: templates/js/stock.js:852 +#: templates/js/stock.js:857 msgid "Select Status Code" msgstr "Status Code setzen" -#: templates/js/stock.js:853 +#: templates/js/stock.js:858 msgid "Status code must be selected" msgstr "Status Code muss ausgewählt werden" -#: templates/js/stock.js:992 +#: templates/js/stock.js:997 msgid "Invalid date" msgstr "Ungültiges Datum" -#: templates/js/stock.js:1039 +#: templates/js/stock.js:1044 msgid "Location no longer exists" msgstr "Standort nicht mehr vorhanden" -#: templates/js/stock.js:1058 +#: templates/js/stock.js:1063 msgid "Purchase order no longer exists" msgstr "Bestellung existiert nicht mehr" -#: templates/js/stock.js:1077 +#: templates/js/stock.js:1082 msgid "Customer no longer exists" msgstr "Kunde existiert nicht mehr" -#: templates/js/stock.js:1095 +#: templates/js/stock.js:1100 msgid "Stock item no longer exists" msgstr "Lagerbestand existiert nicht mehr" -#: templates/js/stock.js:1118 +#: templates/js/stock.js:1123 msgid "Added" msgstr "Hinzugefügt" -#: templates/js/stock.js:1126 +#: templates/js/stock.js:1131 msgid "Removed" msgstr "Entfernt" -#: templates/js/stock.js:1158 +#: templates/js/stock.js:1163 msgid "No user information" msgstr "Keine Benutzerinformation" -#: templates/js/stock.js:1170 +#: templates/js/stock.js:1175 msgid "Edit tracking entry" msgstr "Tracking-Eintrag bearbeiten" -#: templates/js/stock.js:1171 +#: templates/js/stock.js:1176 msgid "Delete tracking entry" msgstr "Tracking-Eintrag löschen" -#: templates/js/stock.js:1295 +#: templates/js/stock.js:1300 msgid "Create New Location" msgstr "Neuen Lagerort anlegen" -#: templates/js/stock.js:1336 +#: templates/js/stock.js:1341 msgid "No installed items" msgstr "Keine installierten Elemente" -#: templates/js/stock.js:1359 +#: templates/js/stock.js:1364 msgid "Serial" msgstr "Seriennummer" -#: templates/js/stock.js:1387 +#: templates/js/stock.js:1392 msgid "Uninstall Stock Item" msgstr "Lagerbestand entfernen" diff --git a/InvenTree/locale/en/LC_MESSAGES/django.po b/InvenTree/locale/en/LC_MESSAGES/django.po index bf52611870..ab3c93408d 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-06-01 10:07+0000\n" +"POT-Creation-Date: 2021-06-16 22:40+0000\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: FULL NAME \n" "Language-Team: LANGUAGE \n" @@ -78,7 +78,7 @@ msgstr "" msgid "Duplicate serial: {n}" msgstr "" -#: InvenTree/helpers.py:384 order/models.py:245 order/models.py:355 +#: InvenTree/helpers.py:384 order/models.py:247 order/models.py:357 #: stock/views.py:1795 msgid "Invalid quantity provided" msgstr "" @@ -107,7 +107,7 @@ msgstr "" msgid "Number of unique serial number ({s}) must match quantity ({q})" msgstr "" -#: InvenTree/models.py:59 stock/models.py:1761 +#: InvenTree/models.py:59 stock/models.py:1763 msgid "Attachment" msgstr "" @@ -125,7 +125,7 @@ msgstr "" #: InvenTree/models.py:68 InvenTree/models.py:69 part/models.py:1999 #: report/templates/report/inventree_test_report_base.html:91 -#: templates/js/stock.js:1149 +#: templates/js/stock.js:1154 msgid "User" msgstr "" @@ -137,7 +137,7 @@ msgstr "" #: part/models.py:686 part/models.py:2140 part/templates/part/params.html:27 #: report/models.py:179 templates/InvenTree/search.html:137 #: templates/InvenTree/search.html:289 templates/js/part.js:118 -#: templates/js/part.js:641 templates/js/stock.js:942 +#: templates/js/part.js:641 templates/js/stock.js:947 msgid "Name" msgstr "" @@ -147,7 +147,7 @@ msgstr "" #: company/templates/company/manufacturer_part_base.html:72 #: company/templates/company/supplier_part_base.html:71 #: company/templates/company/supplier_part_detail.html:31 label/models.py:109 -#: order/models.py:101 order/templates/order/purchase_order_detail.html:143 +#: order/models.py:103 order/templates/order/purchase_order_detail.html:147 #: part/models.py:710 part/templates/part/detail.html:54 #: part/templates/part/set_category.html:14 report/models.py:192 #: report/models.py:505 report/models.py:544 @@ -159,8 +159,8 @@ msgstr "" #: templates/js/company.js:56 templates/js/order.js:183 #: templates/js/order.js:280 templates/js/part.js:177 templates/js/part.js:260 #: templates/js/part.js:437 templates/js/part.js:653 templates/js/part.js:721 -#: templates/js/stock.js:552 templates/js/stock.js:954 -#: templates/js/stock.js:999 +#: templates/js/stock.js:552 templates/js/stock.js:959 +#: templates/js/stock.js:1004 msgid "Description" msgstr "" @@ -373,27 +373,27 @@ msgstr "" msgid "Overage must be an integer value or a percentage" msgstr "" -#: InvenTree/views.py:592 +#: InvenTree/views.py:605 msgid "Delete Item" msgstr "" -#: InvenTree/views.py:641 +#: InvenTree/views.py:654 msgid "Check box to confirm item deletion" msgstr "" -#: InvenTree/views.py:656 templates/InvenTree/settings/user.html:18 +#: InvenTree/views.py:669 templates/InvenTree/settings/user.html:18 msgid "Edit User Information" msgstr "" -#: InvenTree/views.py:667 templates/InvenTree/settings/user.html:22 +#: InvenTree/views.py:680 templates/InvenTree/settings/user.html:22 msgid "Set Password" msgstr "" -#: InvenTree/views.py:686 +#: InvenTree/views.py:699 msgid "Password fields must match" msgstr "" -#: InvenTree/views.py:937 templates/navbar.html:95 +#: InvenTree/views.py:950 templates/navbar.html:95 msgid "System Information" msgstr "" @@ -459,17 +459,17 @@ msgstr "" msgid "Target date for build completion. Build will be overdue after this date." msgstr "" -#: build/forms.py:48 build/forms.py:90 build/forms.py:266 build/models.py:1333 +#: build/forms.py:48 build/forms.py:90 build/forms.py:266 build/models.py:1346 #: build/templates/build/allocation_card.html:23 #: build/templates/build/auto_allocate.html:17 #: build/templates/build/build_base.html:133 #: build/templates/build/detail.html:31 common/models.py:699 #: company/forms.py:176 company/templates/company/supplier_part_pricing.html:77 #: order/forms.py:188 order/forms.py:205 order/forms.py:240 order/forms.py:262 -#: order/forms.py:279 order/models.py:614 order/models.py:815 +#: order/forms.py:279 order/models.py:616 order/models.py:817 #: order/templates/order/order_wizard/match_parts.html:29 #: order/templates/order/order_wizard/select_parts.html:32 -#: order/templates/order/purchase_order_detail.html:175 +#: order/templates/order/purchase_order_detail.html:179 #: order/templates/order/sales_order_detail.html:70 #: order/templates/order/sales_order_detail.html:77 #: order/templates/order/sales_order_detail.html:162 @@ -478,7 +478,7 @@ msgstr "" #: part/templates/part/allocation.html:19 #: part/templates/part/allocation.html:53 #: part/templates/part/order_prices.html:175 -#: part/templates/part/part_pricing.html:12 +#: part/templates/part/part_pricing.html:13 #: part/templates/part/sale_prices.html:85 #: report/templates/report/inventree_build_order_base.html:114 #: report/templates/report/inventree_po_report.html:91 @@ -488,8 +488,8 @@ msgstr "" #: stock/templates/stock/item_base.html:255 #: stock/templates/stock/stock_adjust.html:18 templates/js/barcode.js:364 #: templates/js/bom.js:205 templates/js/build.js:486 templates/js/build.js:1024 -#: templates/js/part.js:795 templates/js/stock.js:1134 -#: templates/js/stock.js:1353 +#: templates/js/part.js:795 templates/js/stock.js:1139 +#: templates/js/stock.js:1358 msgid "Quantity" msgstr "" @@ -535,7 +535,7 @@ msgstr "" #: stock/templates/stock/stock_adjust.html:17 #: templates/InvenTree/search.html:260 templates/js/barcode.js:363 #: templates/js/barcode.js:531 templates/js/build.js:500 -#: templates/js/stock.js:639 templates/js/stock.js:1026 +#: templates/js/stock.js:639 templates/js/stock.js:1031 msgid "Location" msgstr "" @@ -544,13 +544,13 @@ msgid "Location of completed parts" msgstr "" #: build/forms.py:215 build/templates/build/build_base.html:138 -#: build/templates/build/detail.html:59 order/models.py:466 +#: build/templates/build/detail.html:59 order/models.py:468 #: order/templates/order/receive_parts.html:24 #: stock/templates/stock/item_base.html:403 templates/InvenTree/search.html:252 #: templates/js/barcode.js:119 templates/js/build.js:780 #: templates/js/order.js:187 templates/js/order.js:285 -#: templates/js/stock.js:626 templates/js/stock.js:1103 -#: templates/js/stock.js:1369 +#: templates/js/stock.js:626 templates/js/stock.js:1108 +#: templates/js/stock.js:1374 msgid "Status" msgstr "" @@ -603,8 +603,8 @@ msgstr "" msgid "Build Order Reference" msgstr "" -#: build/models.py:128 order/models.py:99 order/models.py:616 -#: order/templates/order/purchase_order_detail.html:170 +#: build/models.py:128 order/models.py:101 order/models.py:618 +#: order/templates/order/purchase_order_detail.html:174 #: order/templates/order/sales_order_detail.html:225 part/models.py:2279 #: report/templates/report/inventree_po_report.html:92 #: report/templates/report/inventree_so_report.html:92 templates/js/bom.js:197 @@ -628,15 +628,15 @@ msgstr "" #: build/models.py:153 build/templates/build/auto_allocate.html:16 #: build/templates/build/build_base.html:128 #: build/templates/build/detail.html:26 company/models.py:622 -#: order/models.py:658 order/models.py:691 +#: order/models.py:660 order/models.py:693 #: order/templates/order/order_wizard/select_parts.html:30 -#: order/templates/order/purchase_order_detail.html:131 +#: order/templates/order/purchase_order_detail.html:132 #: order/templates/order/receive_parts.html:19 #: order/templates/order/sales_order_detail.html:213 part/models.py:321 #: part/models.py:1967 part/models.py:1979 part/models.py:1997 #: part/models.py:2072 part/models.py:2168 part/models.py:2254 #: part/templates/part/part_app_base.html:8 -#: part/templates/part/part_pricing.html:8 part/templates/part/related.html:29 +#: part/templates/part/part_pricing.html:9 part/templates/part/related.html:29 #: part/templates/part/set_category.html:13 #: report/templates/report/inventree_build_order_base.html:110 #: report/templates/report/inventree_po_report.html:90 @@ -647,7 +647,7 @@ msgstr "" #: templates/js/build.js:991 templates/js/company.js:140 #: templates/js/company.js:238 templates/js/part.js:241 #: templates/js/part.js:404 templates/js/stock.js:521 -#: templates/js/stock.js:1341 +#: templates/js/stock.js:1346 msgid "Part" msgstr "" @@ -703,7 +703,7 @@ msgstr "" msgid "Build status code" msgstr "" -#: build/models.py:213 stock/models.py:464 +#: build/models.py:213 stock/models.py:466 msgid "Batch Code" msgstr "" @@ -711,16 +711,16 @@ msgstr "" msgid "Batch code for this build output" msgstr "" -#: build/models.py:220 order/models.py:105 part/models.py:882 +#: build/models.py:220 order/models.py:107 part/models.py:882 #: part/templates/part/detail.html:126 templates/js/order.js:293 msgid "Creation Date" msgstr "" -#: build/models.py:224 order/models.py:472 +#: build/models.py:224 order/models.py:474 msgid "Target completion date" msgstr "" -#: build/models.py:228 order/models.py:218 templates/js/build.js:798 +#: build/models.py:228 order/models.py:220 templates/js/build.js:798 msgid "Completion Date" msgstr "" @@ -737,7 +737,7 @@ msgid "User who issued this build order" msgstr "" #: build/models.py:251 build/templates/build/build_base.html:184 -#: build/templates/build/detail.html:105 order/models.py:119 +#: build/templates/build/detail.html:105 order/models.py:121 #: order/templates/order/order_base.html:138 #: order/templates/order/sales_order_base.html:140 part/models.py:886 #: report/templates/report/inventree_build_order_base.html:159 @@ -754,30 +754,30 @@ msgstr "" #: company/templates/company/supplier_part_base.html:78 #: company/templates/company/supplier_part_detail.html:28 #: part/templates/part/detail.html:83 part/templates/part/part_base.html:94 -#: stock/models.py:458 stock/templates/stock/item_base.html:345 +#: stock/models.py:460 stock/templates/stock/item_base.html:345 msgid "External Link" msgstr "" -#: build/models.py:258 part/models.py:744 stock/models.py:460 +#: build/models.py:258 part/models.py:744 stock/models.py:462 msgid "Link to external URL" msgstr "" #: build/models.py:262 build/templates/build/navbar.html:53 #: company/models.py:132 company/models.py:498 #: company/templates/company/navbar.html:70 -#: company/templates/company/navbar.html:73 order/models.py:123 -#: order/models.py:618 order/templates/order/po_navbar.html:29 +#: company/templates/company/navbar.html:73 order/models.py:125 +#: order/models.py:620 order/templates/order/po_navbar.html:29 #: order/templates/order/po_navbar.html:32 -#: order/templates/order/purchase_order_detail.html:209 +#: order/templates/order/purchase_order_detail.html:239 #: order/templates/order/sales_order_detail.html:278 #: order/templates/order/so_navbar.html:33 #: order/templates/order/so_navbar.html:36 part/models.py:871 #: part/templates/part/navbar.html:134 #: report/templates/report/inventree_build_order_base.html:173 #: stock/forms.py:173 stock/forms.py:317 stock/forms.py:349 stock/forms.py:377 -#: stock/models.py:530 stock/models.py:1665 stock/models.py:1767 +#: stock/models.py:532 stock/models.py:1667 stock/models.py:1769 #: stock/templates/stock/navbar.html:57 templates/js/barcode.js:37 -#: templates/js/bom.js:356 templates/js/stock.js:141 templates/js/stock.js:669 +#: templates/js/bom.js:356 templates/js/stock.js:141 templates/js/stock.js:674 msgid "Notes" msgstr "" @@ -810,11 +810,11 @@ msgstr "" msgid "Allocated quantity ({n}) must not exceed available quantity ({q})" msgstr "" -#: build/models.py:1188 order/models.py:789 +#: build/models.py:1188 order/models.py:791 msgid "StockItem is over-allocated" msgstr "" -#: build/models.py:1192 order/models.py:792 +#: build/models.py:1192 order/models.py:794 msgid "Allocation quantity must be greater than zero" msgstr "" @@ -827,17 +827,17 @@ msgstr "" msgid "Selected stock item not found in BOM for part '{p}'" msgstr "" -#: build/models.py:1303 stock/templates/stock/item_base.html:317 +#: build/models.py:1316 stock/templates/stock/item_base.html:317 #: templates/InvenTree/search.html:183 templates/js/build.js:724 #: templates/navbar.html:29 msgid "Build" msgstr "" -#: build/models.py:1304 +#: build/models.py:1317 msgid "Build to allocate parts" msgstr "" -#: build/models.py:1320 part/templates/part/allocation.html:18 +#: build/models.py:1333 part/templates/part/allocation.html:18 #: part/templates/part/allocation.html:24 #: part/templates/part/allocation.html:31 #: part/templates/part/allocation.html:49 @@ -845,23 +845,23 @@ msgstr "" #: stock/templates/stock/item_base.html:31 #: stock/templates/stock/item_base.html:339 #: stock/templates/stock/stock_adjust.html:16 templates/js/build.js:841 -#: templates/js/stock.js:1085 +#: templates/js/stock.js:1090 msgid "Stock Item" msgstr "" -#: build/models.py:1321 +#: build/models.py:1334 msgid "Source stock item" msgstr "" -#: build/models.py:1334 +#: build/models.py:1347 msgid "Stock quantity to allocate to build" msgstr "" -#: build/models.py:1342 +#: build/models.py:1355 msgid "Install into" msgstr "" -#: build/models.py:1343 +#: build/models.py:1356 msgid "Destination stock item" msgstr "" @@ -917,7 +917,7 @@ msgstr "" #: order/templates/order/sales_order_detail.html:75 #: order/templates/order/sales_order_detail.html:160 #: report/templates/report/inventree_test_report_base.html:75 -#: stock/models.py:452 stock/templates/stock/item_base.html:249 +#: stock/models.py:454 stock/templates/stock/item_base.html:249 #: templates/js/build.js:484 msgid "Serial Number" msgstr "" @@ -1038,7 +1038,7 @@ msgid "Progress" msgstr "" #: build/templates/build/build_base.html:170 -#: build/templates/build/detail.html:84 order/models.py:689 +#: build/templates/build/detail.html:84 order/models.py:691 #: order/templates/order/sales_order_base.html:9 #: order/templates/order/sales_order_base.html:35 #: order/templates/order/sales_order_ship.html:25 @@ -1196,7 +1196,7 @@ msgstr "" #: build/templates/build/detail.html:70 #: stock/templates/stock/item_base.html:303 templates/js/stock.js:634 -#: templates/js/stock.js:1376 templates/js/table_filters.js:112 +#: templates/js/stock.js:1381 templates/js/table_filters.js:112 #: templates/js/table_filters.js:206 msgid "Batch" msgstr "" @@ -1251,7 +1251,7 @@ msgstr "" #: company/templates/company/navbar.html:15 #: order/templates/order/po_navbar.html:14 #: order/templates/order/so_navbar.html:15 part/templates/part/navbar.html:15 -#: templates/js/stock.js:1014 +#: templates/js/stock.js:1019 msgid "Details" msgstr "" @@ -1899,7 +1899,7 @@ msgstr "" #: company/templates/company/manufacturer_part_detail.html:26 #: company/templates/company/supplier_part_base.html:102 #: company/templates/company/supplier_part_detail.html:35 -#: order/templates/order/purchase_order_detail.html:158 part/bom.py:171 +#: order/templates/order/purchase_order_detail.html:162 part/bom.py:171 #: part/bom.py:242 templates/js/company.js:181 templates/js/company.js:307 msgid "MPN" msgstr "" @@ -1954,7 +1954,7 @@ msgid "Point of contact" msgstr "" #: company/models.py:121 company/models.py:333 company/models.py:485 -#: order/models.py:103 part/models.py:743 +#: order/models.py:105 part/models.py:743 #: report/templates/report/inventree_build_order_base.html:165 #: templates/js/company.js:188 templates/js/company.js:318 #: templates/js/part.js:497 @@ -1993,7 +1993,7 @@ msgstr "" msgid "Does this company manufacture parts?" msgstr "" -#: company/models.py:305 company/models.py:456 stock/models.py:405 +#: company/models.py:305 company/models.py:456 stock/models.py:407 #: stock/templates/stock/item_base.html:235 msgid "Base Part" msgstr "" @@ -2023,7 +2023,7 @@ msgstr "" #: company/models.py:466 company/templates/company/detail.html:62 #: company/templates/company/supplier_part_base.html:84 -#: company/templates/company/supplier_part_detail.html:25 order/models.py:190 +#: company/templates/company/supplier_part_detail.html:25 order/models.py:192 #: order/templates/order/order_base.html:92 #: order/templates/order/order_wizard/select_pos.html:30 part/bom.py:175 #: part/bom.py:286 stock/templates/stock/item_base.html:364 @@ -2038,7 +2038,7 @@ msgstr "" #: company/models.py:472 company/templates/company/supplier_part_base.html:88 #: company/templates/company/supplier_part_detail.html:26 -#: order/templates/order/purchase_order_detail.html:149 part/bom.py:176 +#: order/templates/order/purchase_order_detail.html:153 part/bom.py:176 #: part/bom.py:287 msgid "SKU" msgstr "" @@ -2082,8 +2082,8 @@ msgid "Minimum charge (e.g. stocking fee)" msgstr "" #: company/models.py:503 company/templates/company/supplier_part_base.html:109 -#: stock/models.py:429 stock/templates/stock/item_base.html:310 -#: templates/js/stock.js:665 +#: stock/models.py:431 stock/templates/stock/item_base.html:310 +#: templates/js/stock.js:670 msgid "Packaging" msgstr "" @@ -2167,11 +2167,11 @@ msgstr "" msgid "Uses default currency" msgstr "" -#: company/templates/company/detail.html:67 order/models.py:461 -#: order/templates/order/sales_order_base.html:94 stock/models.py:447 -#: stock/models.py:448 stock/templates/stock/item_base.html:262 +#: company/templates/company/detail.html:67 order/models.py:463 +#: order/templates/order/sales_order_base.html:94 stock/models.py:449 +#: stock/models.py:450 stock/templates/stock/item_base.html:262 #: templates/js/company.js:40 templates/js/order.js:267 -#: templates/js/stock.js:1067 +#: templates/js/stock.js:1072 msgid "Customer" msgstr "" @@ -2217,7 +2217,7 @@ msgstr "" #: company/templates/company/detail_manufacturer_part.html:66 #: company/templates/company/detail_supplier_part.html:66 #: part/templates/part/bom.html:159 part/templates/part/category.html:118 -#: templates/js/stock.js:1282 +#: templates/js/stock.js:1287 msgid "New Part" msgstr "" @@ -2264,7 +2264,7 @@ msgstr "" #: company/templates/company/detail_supplier_part.html:22 #: company/templates/company/manufacturer_part_suppliers.html:17 #: order/templates/order/purchase_order_detail.html:49 -#: part/templates/part/supplier.html:17 templates/js/stock.js:1288 +#: part/templates/part/supplier.html:17 templates/js/stock.js:1293 msgid "New Supplier Part" msgstr "" @@ -2387,7 +2387,7 @@ msgstr "" #: stock/templates/stock/location.html:136 #: stock/templates/stock/location_navbar.html:22 #: stock/templates/stock/location_navbar.html:29 -#: templates/InvenTree/search.html:198 templates/js/stock.js:966 +#: templates/InvenTree/search.html:198 templates/js/stock.js:971 #: templates/stats.html:93 templates/stats.html:102 users/models.py:42 msgid "Stock Items" msgstr "" @@ -2443,7 +2443,7 @@ msgid "New Sales Order" msgstr "" #: company/templates/company/supplier_part_base.html:7 -#: company/templates/company/supplier_part_base.html:20 stock/models.py:414 +#: company/templates/company/supplier_part_base.html:20 stock/models.py:416 #: stock/templates/stock/item_base.html:369 templates/js/company.js:279 msgid "Supplier Part" msgstr "" @@ -2600,7 +2600,7 @@ msgstr "" msgid "Edit Supplier Part" msgstr "" -#: company/views.py:578 templates/js/stock.js:1289 +#: company/views.py:578 templates/js/stock.js:1294 msgid "Create new Supplier Part" msgstr "" @@ -2714,7 +2714,7 @@ msgstr "" msgid "Enter sales order number" msgstr "" -#: order/forms.py:145 order/models.py:473 +#: order/forms.py:145 order/models.py:475 msgid "Target date for order completion. Order will be overdue after this date." msgstr "" @@ -2726,209 +2726,209 @@ msgstr "" msgid "Enter quantity of stock items" msgstr "" -#: order/models.py:99 +#: order/models.py:101 msgid "Order reference" msgstr "" -#: order/models.py:101 +#: order/models.py:103 msgid "Order description" msgstr "" -#: order/models.py:103 +#: order/models.py:105 msgid "Link to external page" msgstr "" -#: order/models.py:111 part/templates/part/detail.html:132 +#: order/models.py:113 part/templates/part/detail.html:132 msgid "Created By" msgstr "" -#: order/models.py:118 +#: order/models.py:120 msgid "User or group responsible for this order" msgstr "" -#: order/models.py:123 +#: order/models.py:125 msgid "Order notes" msgstr "" -#: order/models.py:182 order/models.py:466 +#: order/models.py:184 order/models.py:468 msgid "Purchase order status" msgstr "" -#: order/models.py:191 +#: order/models.py:193 msgid "Company from which the items are being ordered" msgstr "" -#: order/models.py:194 order/templates/order/order_base.html:98 +#: order/models.py:196 order/templates/order/order_base.html:98 #: templates/js/order.js:179 msgid "Supplier Reference" msgstr "" -#: order/models.py:194 +#: order/models.py:196 msgid "Supplier order reference code" msgstr "" -#: order/models.py:201 +#: order/models.py:203 msgid "received by" msgstr "" -#: order/models.py:206 +#: order/models.py:208 msgid "Issue Date" msgstr "" -#: order/models.py:207 +#: order/models.py:209 msgid "Date order was issued" msgstr "" -#: order/models.py:212 +#: order/models.py:214 msgid "Target Delivery Date" msgstr "" -#: order/models.py:213 +#: order/models.py:215 msgid "Expected date for order delivery. Order will be overdue after this date." msgstr "" -#: order/models.py:219 +#: order/models.py:221 msgid "Date order was completed" msgstr "" -#: order/models.py:243 part/views.py:1675 stock/models.py:302 -#: stock/models.py:1018 +#: order/models.py:245 part/views.py:1675 stock/models.py:304 +#: stock/models.py:1020 msgid "Quantity must be greater than zero" msgstr "" -#: order/models.py:248 +#: order/models.py:250 msgid "Part supplier must match PO supplier" msgstr "" -#: order/models.py:346 +#: order/models.py:348 msgid "Lines can only be received against an order marked as 'Placed'" msgstr "" -#: order/models.py:350 +#: order/models.py:352 msgid "Quantity must be an integer" msgstr "" -#: order/models.py:352 +#: order/models.py:354 msgid "Quantity must be a positive number" msgstr "" -#: order/models.py:462 +#: order/models.py:464 msgid "Company to which the items are being sold" msgstr "" -#: order/models.py:468 +#: order/models.py:470 msgid "Customer Reference " msgstr "" -#: order/models.py:468 +#: order/models.py:470 msgid "Customer order reference code" msgstr "" -#: order/models.py:476 templates/js/order.js:303 +#: order/models.py:478 templates/js/order.js:303 msgid "Shipment Date" msgstr "" -#: order/models.py:483 +#: order/models.py:485 msgid "shipped by" msgstr "" -#: order/models.py:527 +#: order/models.py:529 msgid "SalesOrder cannot be shipped as it is not currently pending" msgstr "" -#: order/models.py:614 +#: order/models.py:616 msgid "Item quantity" msgstr "" -#: order/models.py:616 +#: order/models.py:618 msgid "Line item reference" msgstr "" -#: order/models.py:618 +#: order/models.py:620 msgid "Line item notes" msgstr "" -#: order/models.py:644 order/models.py:689 +#: order/models.py:646 order/models.py:691 #: part/templates/part/allocation.html:17 #: part/templates/part/allocation.html:45 msgid "Order" msgstr "" -#: order/models.py:645 order/templates/order/order_base.html:9 +#: order/models.py:647 order/templates/order/order_base.html:9 #: order/templates/order/order_base.html:24 #: report/templates/report/inventree_po_report.html:77 #: stock/templates/stock/item_base.html:324 templates/js/order.js:148 -#: templates/js/stock.js:1048 +#: templates/js/stock.js:1053 msgid "Purchase Order" msgstr "" -#: order/models.py:659 +#: order/models.py:661 msgid "Supplier part" msgstr "" -#: order/models.py:662 order/templates/order/order_base.html:131 -#: order/templates/order/purchase_order_detail.html:189 +#: order/models.py:664 order/templates/order/order_base.html:131 +#: order/templates/order/purchase_order_detail.html:219 #: order/templates/order/receive_parts.html:22 #: order/templates/order/sales_order_base.html:133 msgid "Received" msgstr "" -#: order/models.py:662 +#: order/models.py:664 msgid "Number of items received" msgstr "" -#: order/models.py:669 stock/models.py:540 -#: stock/templates/stock/item_base.html:331 +#: order/models.py:671 stock/models.py:542 +#: stock/templates/stock/item_base.html:331 templates/js/stock.js:665 msgid "Purchase Price" msgstr "" -#: order/models.py:670 +#: order/models.py:672 msgid "Unit purchase price" msgstr "" -#: order/models.py:698 part/templates/part/navbar.html:101 +#: order/models.py:700 part/templates/part/navbar.html:101 #: part/templates/part/order_prices.html:82 -#: part/templates/part/part_pricing.html:77 +#: part/templates/part/part_pricing.html:78 msgid "Sale Price" msgstr "" -#: order/models.py:699 +#: order/models.py:701 msgid "Unit sale price" msgstr "" -#: order/models.py:774 order/models.py:776 +#: order/models.py:776 order/models.py:778 msgid "Stock item has not been assigned" msgstr "" -#: order/models.py:780 +#: order/models.py:782 msgid "Cannot allocate stock item to a line with a different part" msgstr "" -#: order/models.py:782 +#: order/models.py:784 msgid "Cannot allocate stock to a line without a part" msgstr "" -#: order/models.py:785 +#: order/models.py:787 msgid "Allocation quantity cannot exceed stock quantity" msgstr "" -#: order/models.py:795 +#: order/models.py:797 msgid "Quantity must be 1 for serialized stock item" msgstr "" -#: order/models.py:800 +#: order/models.py:802 msgid "Line" msgstr "" -#: order/models.py:811 +#: order/models.py:813 msgid "Item" msgstr "" -#: order/models.py:812 +#: order/models.py:814 msgid "Select stock item to allocate" msgstr "" -#: order/models.py:815 +#: order/models.py:817 msgid "Enter stock allocation quantity" msgstr "" @@ -2979,8 +2979,8 @@ msgstr "" #: order/templates/order/order_base.html:180 #: order/templates/order/purchase_order_detail.html:100 #: part/templates/part/category.html:208 part/templates/part/category.html:250 -#: stock/templates/stock/location.html:191 templates/js/stock.js:706 -#: templates/js/stock.js:1294 +#: stock/templates/stock/location.html:191 templates/js/stock.js:711 +#: templates/js/stock.js:1299 msgid "New Location" msgstr "" @@ -3164,21 +3164,25 @@ msgstr "" msgid "No line items found" msgstr "" -#: order/templates/order/purchase_order_detail.html:180 +#: order/templates/order/purchase_order_detail.html:191 #: order/templates/order/sales_order_detail.html:235 msgid "Unit Price" msgstr "" -#: order/templates/order/purchase_order_detail.html:221 +#: order/templates/order/purchase_order_detail.html:198 +msgid "Total price" +msgstr "" + +#: order/templates/order/purchase_order_detail.html:251 #: order/templates/order/sales_order_detail.html:328 msgid "Edit line item" msgstr "" -#: order/templates/order/purchase_order_detail.html:222 +#: order/templates/order/purchase_order_detail.html:252 msgid "Delete line item" msgstr "" -#: order/templates/order/purchase_order_detail.html:227 +#: order/templates/order/purchase_order_detail.html:257 msgid "Receive line item" msgstr "" @@ -4066,7 +4070,7 @@ msgid "Stock items for variant parts can be used for this BOM item" msgstr "" #: part/models.py:2371 part/views.py:1681 part/views.py:1733 -#: stock/models.py:292 +#: stock/models.py:294 msgid "Quantity must be integer value for trackable parts" msgstr "" @@ -4175,7 +4179,7 @@ msgid "All selected BOM items will be deleted" msgstr "" #: part/templates/part/bom.html:160 part/views.py:585 -#: templates/js/stock.js:1283 +#: templates/js/stock.js:1288 msgid "Create New Part" msgstr "" @@ -4316,7 +4320,7 @@ msgid "View grid display" msgstr "" #: part/templates/part/category.html:209 -#: stock/templates/stock/location.html:192 templates/js/stock.js:707 +#: stock/templates/stock/location.html:192 templates/js/stock.js:712 msgid "Create new location" msgstr "" @@ -4410,7 +4414,7 @@ msgstr "" msgid "Part Details" msgstr "" -#: part/templates/part/detail.html:42 +#: part/templates/part/detail.html:42 part/templates/part/part_base.html:188 msgid "Latest Serial Number" msgstr "" @@ -4553,51 +4557,51 @@ msgid "Pricing ranges" msgstr "" #: part/templates/part/order_prices.html:26 -#: part/templates/part/part_pricing.html:18 +#: part/templates/part/part_pricing.html:19 msgid "Supplier Pricing" msgstr "" #: part/templates/part/order_prices.html:27 #: part/templates/part/order_prices.html:52 #: part/templates/part/order_prices.html:83 -#: part/templates/part/part_pricing.html:22 -#: part/templates/part/part_pricing.html:48 -#: part/templates/part/part_pricing.html:80 +#: part/templates/part/part_pricing.html:23 +#: part/templates/part/part_pricing.html:49 +#: part/templates/part/part_pricing.html:81 msgid "Unit Cost" msgstr "" #: part/templates/part/order_prices.html:34 #: part/templates/part/order_prices.html:59 #: part/templates/part/order_prices.html:88 -#: part/templates/part/part_pricing.html:28 -#: part/templates/part/part_pricing.html:54 -#: part/templates/part/part_pricing.html:84 +#: part/templates/part/part_pricing.html:29 +#: part/templates/part/part_pricing.html:55 +#: part/templates/part/part_pricing.html:85 msgid "Total Cost" msgstr "" #: part/templates/part/order_prices.html:42 -#: part/templates/part/part_pricing.html:36 +#: part/templates/part/part_pricing.html:37 msgid "No supplier pricing available" msgstr "" #: part/templates/part/order_prices.html:51 #: part/templates/part/order_prices.html:103 -#: part/templates/part/part_pricing.html:44 +#: part/templates/part/part_pricing.html:45 msgid "BOM Pricing" msgstr "" #: part/templates/part/order_prices.html:67 -#: part/templates/part/part_pricing.html:62 +#: part/templates/part/part_pricing.html:63 msgid "Note: BOM pricing is incomplete for this part" msgstr "" #: part/templates/part/order_prices.html:74 -#: part/templates/part/part_pricing.html:69 +#: part/templates/part/part_pricing.html:70 msgid "No BOM pricing available" msgstr "" #: part/templates/part/order_prices.html:97 -#: part/templates/part/part_pricing.html:93 +#: part/templates/part/part_pricing.html:94 msgid "No pricing information is available for this part." msgstr "" @@ -4636,7 +4640,7 @@ msgstr "" #: part/templates/part/params.html:28 #: report/templates/report/inventree_test_report_base.html:90 -#: stock/models.py:1754 templates/InvenTree/settings/header.html:8 +#: stock/models.py:1756 templates/InvenTree/settings/header.html:8 #: templates/js/stock.js:137 msgid "Value" msgstr "" @@ -4742,7 +4746,7 @@ msgstr "" msgid "Building" msgstr "" -#: part/templates/part/part_base.html:257 +#: part/templates/part/part_base.html:265 msgid "Calculate" msgstr "" @@ -4851,7 +4855,7 @@ msgstr "" msgid "New Variant" msgstr "" -#: part/templatetags/inventree_extras.py:97 +#: part/templatetags/inventree_extras.py:98 msgid "Unknown database" msgstr "" @@ -5162,17 +5166,17 @@ msgid "Test Results" msgstr "" #: report/templates/report/inventree_test_report_base.html:88 -#: stock/models.py:1742 +#: stock/models.py:1744 msgid "Test" msgstr "" #: report/templates/report/inventree_test_report_base.html:89 -#: stock/models.py:1748 +#: stock/models.py:1750 msgid "Result" msgstr "" #: report/templates/report/inventree_test_report_base.html:92 -#: templates/js/order.js:195 templates/js/stock.js:982 +#: templates/js/order.js:195 templates/js/stock.js:987 msgid "Date" msgstr "" @@ -5194,7 +5198,7 @@ msgstr "" msgid "Moved {n} parts to {loc}" msgstr "" -#: stock/forms.py:114 stock/forms.py:418 stock/models.py:507 +#: stock/forms.py:114 stock/forms.py:418 stock/models.py:509 #: stock/templates/stock/item_base.html:376 templates/js/stock.js:654 msgid "Expiry Date" msgstr "" @@ -5284,187 +5288,187 @@ msgstr "" msgid "Set the destination as the default location for selected parts" msgstr "" -#: stock/models.py:54 stock/models.py:545 +#: stock/models.py:56 stock/models.py:547 msgid "Owner" msgstr "" -#: stock/models.py:55 stock/models.py:546 +#: stock/models.py:57 stock/models.py:548 msgid "Select Owner" msgstr "" -#: stock/models.py:273 +#: stock/models.py:275 msgid "StockItem with this serial number already exists" msgstr "" -#: stock/models.py:309 +#: stock/models.py:311 #, python-brace-format msgid "Part type ('{pf}') must be {pe}" msgstr "" -#: stock/models.py:319 stock/models.py:328 +#: stock/models.py:321 stock/models.py:330 msgid "Quantity must be 1 for item with a serial number" msgstr "" -#: stock/models.py:320 +#: stock/models.py:322 msgid "Serial number cannot be set if quantity greater than 1" msgstr "" -#: stock/models.py:342 +#: stock/models.py:344 msgid "Item cannot belong to itself" msgstr "" -#: stock/models.py:348 +#: stock/models.py:350 msgid "Item must have a build reference if is_building=True" msgstr "" -#: stock/models.py:355 +#: stock/models.py:357 msgid "Build reference does not point to the same part object" msgstr "" -#: stock/models.py:397 +#: stock/models.py:399 msgid "Parent Stock Item" msgstr "" -#: stock/models.py:406 +#: stock/models.py:408 msgid "Base part" msgstr "" -#: stock/models.py:415 +#: stock/models.py:417 msgid "Select a matching supplier part for this stock item" msgstr "" -#: stock/models.py:420 stock/templates/stock/stock_app_base.html:8 +#: stock/models.py:422 stock/templates/stock/stock_app_base.html:8 msgid "Stock Location" msgstr "" -#: stock/models.py:423 +#: stock/models.py:425 msgid "Where is this stock item located?" msgstr "" -#: stock/models.py:430 +#: stock/models.py:432 msgid "Packaging this stock item is stored in" msgstr "" -#: stock/models.py:435 stock/templates/stock/item_base.html:270 +#: stock/models.py:437 stock/templates/stock/item_base.html:270 msgid "Installed In" msgstr "" -#: stock/models.py:438 +#: stock/models.py:440 msgid "Is this item installed in another item?" msgstr "" -#: stock/models.py:454 +#: stock/models.py:456 msgid "Serial number for this item" msgstr "" -#: stock/models.py:466 +#: stock/models.py:468 msgid "Batch code for this stock item" msgstr "" -#: stock/models.py:470 +#: stock/models.py:472 msgid "Stock Quantity" msgstr "" -#: stock/models.py:479 +#: stock/models.py:481 msgid "Source Build" msgstr "" -#: stock/models.py:481 +#: stock/models.py:483 msgid "Build for this stock item" msgstr "" -#: stock/models.py:492 +#: stock/models.py:494 msgid "Source Purchase Order" msgstr "" -#: stock/models.py:495 +#: stock/models.py:497 msgid "Purchase order for this stock item" msgstr "" -#: stock/models.py:501 +#: stock/models.py:503 msgid "Destination Sales Order" msgstr "" -#: stock/models.py:508 +#: stock/models.py:510 msgid "Expiry date for stock item. Stock will be considered expired after this date" msgstr "" -#: stock/models.py:521 +#: stock/models.py:523 msgid "Delete on deplete" msgstr "" -#: stock/models.py:521 +#: stock/models.py:523 msgid "Delete this Stock Item when stock is depleted" msgstr "" -#: stock/models.py:531 stock/templates/stock/item_notes.html:13 +#: stock/models.py:533 stock/templates/stock/item_notes.html:13 #: stock/templates/stock/navbar.html:54 msgid "Stock Item Notes" msgstr "" -#: stock/models.py:541 +#: stock/models.py:543 msgid "Single unit purchase price at time of purchase" msgstr "" -#: stock/models.py:1009 +#: stock/models.py:1011 msgid "Part is not set as trackable" msgstr "" -#: stock/models.py:1015 +#: stock/models.py:1017 msgid "Quantity must be integer" msgstr "" -#: stock/models.py:1021 +#: stock/models.py:1023 #, python-brace-format msgid "Quantity must not exceed available stock quantity ({n})" msgstr "" -#: stock/models.py:1024 +#: stock/models.py:1026 msgid "Serial numbers must be a list of integers" msgstr "" -#: stock/models.py:1027 +#: stock/models.py:1029 msgid "Quantity does not match serial numbers" msgstr "" -#: stock/models.py:1034 +#: stock/models.py:1036 #, python-brace-format msgid "Serial numbers already exist: {exists}" msgstr "" -#: stock/models.py:1192 +#: stock/models.py:1194 msgid "StockItem cannot be moved as it is not in stock" msgstr "" -#: stock/models.py:1666 +#: stock/models.py:1668 msgid "Entry notes" msgstr "" -#: stock/models.py:1719 +#: stock/models.py:1721 msgid "Value must be provided for this test" msgstr "" -#: stock/models.py:1725 +#: stock/models.py:1727 msgid "Attachment must be uploaded for this test" msgstr "" -#: stock/models.py:1743 +#: stock/models.py:1745 msgid "Test name" msgstr "" -#: stock/models.py:1749 templates/js/table_filters.js:217 +#: stock/models.py:1751 templates/js/table_filters.js:217 msgid "Test result" msgstr "" -#: stock/models.py:1755 +#: stock/models.py:1757 msgid "Test output value" msgstr "" -#: stock/models.py:1762 +#: stock/models.py:1764 msgid "Test result attachment" msgstr "" -#: stock/models.py:1768 +#: stock/models.py:1770 msgid "Test notes" msgstr "" @@ -6583,7 +6587,7 @@ msgid "No builds matching query" msgstr "" #: templates/js/build.js:718 templates/js/part.js:390 templates/js/part.js:634 -#: templates/js/stock.js:509 templates/js/stock.js:936 +#: templates/js/stock.js:509 templates/js/stock.js:941 msgid "Select" msgstr "" @@ -6834,7 +6838,7 @@ msgstr "" msgid "Low stock" msgstr "" -#: templates/js/part.js:659 templates/js/stock.js:960 +#: templates/js/part.js:659 templates/js/stock.js:965 msgid "Path" msgstr "" @@ -7032,75 +7036,75 @@ msgstr "" msgid "Stocktake" msgstr "" -#: templates/js/stock.js:823 +#: templates/js/stock.js:828 msgid "Stock Status" msgstr "" -#: templates/js/stock.js:838 +#: templates/js/stock.js:843 msgid "Set Stock Status" msgstr "" -#: templates/js/stock.js:852 +#: templates/js/stock.js:857 msgid "Select Status Code" msgstr "" -#: templates/js/stock.js:853 +#: templates/js/stock.js:858 msgid "Status code must be selected" msgstr "" -#: templates/js/stock.js:992 +#: templates/js/stock.js:997 msgid "Invalid date" msgstr "" -#: templates/js/stock.js:1039 +#: templates/js/stock.js:1044 msgid "Location no longer exists" msgstr "" -#: templates/js/stock.js:1058 +#: templates/js/stock.js:1063 msgid "Purchase order no longer exists" msgstr "" -#: templates/js/stock.js:1077 +#: templates/js/stock.js:1082 msgid "Customer no longer exists" msgstr "" -#: templates/js/stock.js:1095 +#: templates/js/stock.js:1100 msgid "Stock item no longer exists" msgstr "" -#: templates/js/stock.js:1118 +#: templates/js/stock.js:1123 msgid "Added" msgstr "" -#: templates/js/stock.js:1126 +#: templates/js/stock.js:1131 msgid "Removed" msgstr "" -#: templates/js/stock.js:1158 +#: templates/js/stock.js:1163 msgid "No user information" msgstr "" -#: templates/js/stock.js:1170 +#: templates/js/stock.js:1175 msgid "Edit tracking entry" msgstr "" -#: templates/js/stock.js:1171 +#: templates/js/stock.js:1176 msgid "Delete tracking entry" msgstr "" -#: templates/js/stock.js:1295 +#: templates/js/stock.js:1300 msgid "Create New Location" msgstr "" -#: templates/js/stock.js:1336 +#: templates/js/stock.js:1341 msgid "No installed items" msgstr "" -#: templates/js/stock.js:1359 +#: templates/js/stock.js:1364 msgid "Serial" msgstr "" -#: templates/js/stock.js:1387 +#: templates/js/stock.js:1392 msgid "Uninstall Stock Item" msgstr "" diff --git a/InvenTree/locale/es/LC_MESSAGES/django.po b/InvenTree/locale/es/LC_MESSAGES/django.po index f411242796..6d0f3375c4 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-06-01 10:07+0000\n" -"PO-Revision-Date: 2021-06-01 10:22\n" +"POT-Creation-Date: 2021-06-16 22:40+0000\n" +"PO-Revision-Date: 2021-06-16 22:40\n" "Last-Translator: \n" "Language-Team: Spanish\n" "Language: es_ES\n" @@ -77,7 +77,7 @@ msgstr "" msgid "Duplicate serial: {n}" msgstr "" -#: InvenTree/helpers.py:384 order/models.py:245 order/models.py:355 +#: InvenTree/helpers.py:384 order/models.py:247 order/models.py:357 #: stock/views.py:1795 msgid "Invalid quantity provided" msgstr "" @@ -106,7 +106,7 @@ msgstr "" msgid "Number of unique serial number ({s}) must match quantity ({q})" msgstr "" -#: InvenTree/models.py:59 stock/models.py:1761 +#: InvenTree/models.py:59 stock/models.py:1763 msgid "Attachment" msgstr "" @@ -124,7 +124,7 @@ msgstr "" #: InvenTree/models.py:68 InvenTree/models.py:69 part/models.py:1999 #: report/templates/report/inventree_test_report_base.html:91 -#: templates/js/stock.js:1149 +#: templates/js/stock.js:1154 msgid "User" msgstr "Usuario" @@ -136,7 +136,7 @@ msgstr "" #: part/models.py:686 part/models.py:2140 part/templates/part/params.html:27 #: report/models.py:179 templates/InvenTree/search.html:137 #: templates/InvenTree/search.html:289 templates/js/part.js:118 -#: templates/js/part.js:641 templates/js/stock.js:942 +#: templates/js/part.js:641 templates/js/stock.js:947 msgid "Name" msgstr "Nombre" @@ -146,7 +146,7 @@ msgstr "Nombre" #: company/templates/company/manufacturer_part_base.html:72 #: company/templates/company/supplier_part_base.html:71 #: company/templates/company/supplier_part_detail.html:31 label/models.py:109 -#: order/models.py:101 order/templates/order/purchase_order_detail.html:143 +#: order/models.py:103 order/templates/order/purchase_order_detail.html:147 #: part/models.py:710 part/templates/part/detail.html:54 #: part/templates/part/set_category.html:14 report/models.py:192 #: report/models.py:505 report/models.py:544 @@ -158,8 +158,8 @@ msgstr "Nombre" #: templates/js/company.js:56 templates/js/order.js:183 #: templates/js/order.js:280 templates/js/part.js:177 templates/js/part.js:260 #: templates/js/part.js:437 templates/js/part.js:653 templates/js/part.js:721 -#: templates/js/stock.js:552 templates/js/stock.js:954 -#: templates/js/stock.js:999 +#: templates/js/stock.js:552 templates/js/stock.js:959 +#: templates/js/stock.js:1004 msgid "Description" msgstr "Descripción" @@ -372,27 +372,27 @@ msgstr "" msgid "Overage must be an integer value or a percentage" msgstr "" -#: InvenTree/views.py:592 +#: InvenTree/views.py:605 msgid "Delete Item" msgstr "Eliminar elemento" -#: InvenTree/views.py:641 +#: InvenTree/views.py:654 msgid "Check box to confirm item deletion" msgstr "" -#: InvenTree/views.py:656 templates/InvenTree/settings/user.html:18 +#: InvenTree/views.py:669 templates/InvenTree/settings/user.html:18 msgid "Edit User Information" msgstr "" -#: InvenTree/views.py:667 templates/InvenTree/settings/user.html:22 +#: InvenTree/views.py:680 templates/InvenTree/settings/user.html:22 msgid "Set Password" msgstr "Configurar Contraseña" -#: InvenTree/views.py:686 +#: InvenTree/views.py:699 msgid "Password fields must match" msgstr "" -#: InvenTree/views.py:937 templates/navbar.html:95 +#: InvenTree/views.py:950 templates/navbar.html:95 msgid "System Information" msgstr "Información del sistema" @@ -458,17 +458,17 @@ msgstr "" msgid "Target date for build completion. Build will be overdue after this date." msgstr "" -#: build/forms.py:48 build/forms.py:90 build/forms.py:266 build/models.py:1333 +#: build/forms.py:48 build/forms.py:90 build/forms.py:266 build/models.py:1346 #: build/templates/build/allocation_card.html:23 #: build/templates/build/auto_allocate.html:17 #: build/templates/build/build_base.html:133 #: build/templates/build/detail.html:31 common/models.py:699 #: company/forms.py:176 company/templates/company/supplier_part_pricing.html:77 #: order/forms.py:188 order/forms.py:205 order/forms.py:240 order/forms.py:262 -#: order/forms.py:279 order/models.py:614 order/models.py:815 +#: order/forms.py:279 order/models.py:616 order/models.py:817 #: order/templates/order/order_wizard/match_parts.html:29 #: order/templates/order/order_wizard/select_parts.html:32 -#: order/templates/order/purchase_order_detail.html:175 +#: order/templates/order/purchase_order_detail.html:179 #: order/templates/order/sales_order_detail.html:70 #: order/templates/order/sales_order_detail.html:77 #: order/templates/order/sales_order_detail.html:162 @@ -477,7 +477,7 @@ msgstr "" #: part/templates/part/allocation.html:19 #: part/templates/part/allocation.html:53 #: part/templates/part/order_prices.html:175 -#: part/templates/part/part_pricing.html:12 +#: part/templates/part/part_pricing.html:13 #: part/templates/part/sale_prices.html:85 #: report/templates/report/inventree_build_order_base.html:114 #: report/templates/report/inventree_po_report.html:91 @@ -487,8 +487,8 @@ msgstr "" #: stock/templates/stock/item_base.html:255 #: stock/templates/stock/stock_adjust.html:18 templates/js/barcode.js:364 #: templates/js/bom.js:205 templates/js/build.js:486 templates/js/build.js:1024 -#: templates/js/part.js:795 templates/js/stock.js:1134 -#: templates/js/stock.js:1353 +#: templates/js/part.js:795 templates/js/stock.js:1139 +#: templates/js/stock.js:1358 msgid "Quantity" msgstr "Cantidad" @@ -534,7 +534,7 @@ msgstr "" #: stock/templates/stock/stock_adjust.html:17 #: templates/InvenTree/search.html:260 templates/js/barcode.js:363 #: templates/js/barcode.js:531 templates/js/build.js:500 -#: templates/js/stock.js:639 templates/js/stock.js:1026 +#: templates/js/stock.js:639 templates/js/stock.js:1031 msgid "Location" msgstr "Unicación" @@ -543,13 +543,13 @@ msgid "Location of completed parts" msgstr "" #: build/forms.py:215 build/templates/build/build_base.html:138 -#: build/templates/build/detail.html:59 order/models.py:466 +#: build/templates/build/detail.html:59 order/models.py:468 #: order/templates/order/receive_parts.html:24 #: stock/templates/stock/item_base.html:403 templates/InvenTree/search.html:252 #: templates/js/barcode.js:119 templates/js/build.js:780 #: templates/js/order.js:187 templates/js/order.js:285 -#: templates/js/stock.js:626 templates/js/stock.js:1103 -#: templates/js/stock.js:1369 +#: templates/js/stock.js:626 templates/js/stock.js:1108 +#: templates/js/stock.js:1374 msgid "Status" msgstr "Estado" @@ -602,8 +602,8 @@ msgstr "" msgid "Build Order Reference" msgstr "" -#: build/models.py:128 order/models.py:99 order/models.py:616 -#: order/templates/order/purchase_order_detail.html:170 +#: build/models.py:128 order/models.py:101 order/models.py:618 +#: order/templates/order/purchase_order_detail.html:174 #: order/templates/order/sales_order_detail.html:225 part/models.py:2279 #: report/templates/report/inventree_po_report.html:92 #: report/templates/report/inventree_so_report.html:92 templates/js/bom.js:197 @@ -627,15 +627,15 @@ msgstr "" #: build/models.py:153 build/templates/build/auto_allocate.html:16 #: build/templates/build/build_base.html:128 #: build/templates/build/detail.html:26 company/models.py:622 -#: order/models.py:658 order/models.py:691 +#: order/models.py:660 order/models.py:693 #: order/templates/order/order_wizard/select_parts.html:30 -#: order/templates/order/purchase_order_detail.html:131 +#: order/templates/order/purchase_order_detail.html:132 #: order/templates/order/receive_parts.html:19 #: order/templates/order/sales_order_detail.html:213 part/models.py:321 #: part/models.py:1967 part/models.py:1979 part/models.py:1997 #: part/models.py:2072 part/models.py:2168 part/models.py:2254 #: part/templates/part/part_app_base.html:8 -#: part/templates/part/part_pricing.html:8 part/templates/part/related.html:29 +#: part/templates/part/part_pricing.html:9 part/templates/part/related.html:29 #: part/templates/part/set_category.html:13 #: report/templates/report/inventree_build_order_base.html:110 #: report/templates/report/inventree_po_report.html:90 @@ -646,7 +646,7 @@ msgstr "" #: templates/js/build.js:991 templates/js/company.js:140 #: templates/js/company.js:238 templates/js/part.js:241 #: templates/js/part.js:404 templates/js/stock.js:521 -#: templates/js/stock.js:1341 +#: templates/js/stock.js:1346 msgid "Part" msgstr "Parte" @@ -702,7 +702,7 @@ msgstr "" msgid "Build status code" msgstr "" -#: build/models.py:213 stock/models.py:464 +#: build/models.py:213 stock/models.py:466 msgid "Batch Code" msgstr "" @@ -710,16 +710,16 @@ msgstr "" msgid "Batch code for this build output" msgstr "" -#: build/models.py:220 order/models.py:105 part/models.py:882 +#: build/models.py:220 order/models.py:107 part/models.py:882 #: part/templates/part/detail.html:126 templates/js/order.js:293 msgid "Creation Date" msgstr "" -#: build/models.py:224 order/models.py:472 +#: build/models.py:224 order/models.py:474 msgid "Target completion date" msgstr "" -#: build/models.py:228 order/models.py:218 templates/js/build.js:798 +#: build/models.py:228 order/models.py:220 templates/js/build.js:798 msgid "Completion Date" msgstr "" @@ -736,7 +736,7 @@ msgid "User who issued this build order" msgstr "" #: build/models.py:251 build/templates/build/build_base.html:184 -#: build/templates/build/detail.html:105 order/models.py:119 +#: build/templates/build/detail.html:105 order/models.py:121 #: order/templates/order/order_base.html:138 #: order/templates/order/sales_order_base.html:140 part/models.py:886 #: report/templates/report/inventree_build_order_base.html:159 @@ -753,30 +753,30 @@ msgstr "" #: company/templates/company/supplier_part_base.html:78 #: company/templates/company/supplier_part_detail.html:28 #: part/templates/part/detail.html:83 part/templates/part/part_base.html:94 -#: stock/models.py:458 stock/templates/stock/item_base.html:345 +#: stock/models.py:460 stock/templates/stock/item_base.html:345 msgid "External Link" msgstr "" -#: build/models.py:258 part/models.py:744 stock/models.py:460 +#: build/models.py:258 part/models.py:744 stock/models.py:462 msgid "Link to external URL" msgstr "" #: build/models.py:262 build/templates/build/navbar.html:53 #: company/models.py:132 company/models.py:498 #: company/templates/company/navbar.html:70 -#: company/templates/company/navbar.html:73 order/models.py:123 -#: order/models.py:618 order/templates/order/po_navbar.html:29 +#: company/templates/company/navbar.html:73 order/models.py:125 +#: order/models.py:620 order/templates/order/po_navbar.html:29 #: order/templates/order/po_navbar.html:32 -#: order/templates/order/purchase_order_detail.html:209 +#: order/templates/order/purchase_order_detail.html:239 #: order/templates/order/sales_order_detail.html:278 #: order/templates/order/so_navbar.html:33 #: order/templates/order/so_navbar.html:36 part/models.py:871 #: part/templates/part/navbar.html:134 #: report/templates/report/inventree_build_order_base.html:173 #: stock/forms.py:173 stock/forms.py:317 stock/forms.py:349 stock/forms.py:377 -#: stock/models.py:530 stock/models.py:1665 stock/models.py:1767 +#: stock/models.py:532 stock/models.py:1667 stock/models.py:1769 #: stock/templates/stock/navbar.html:57 templates/js/barcode.js:37 -#: templates/js/bom.js:356 templates/js/stock.js:141 templates/js/stock.js:669 +#: templates/js/bom.js:356 templates/js/stock.js:141 templates/js/stock.js:674 msgid "Notes" msgstr "Notas" @@ -809,11 +809,11 @@ msgstr "" msgid "Allocated quantity ({n}) must not exceed available quantity ({q})" msgstr "" -#: build/models.py:1188 order/models.py:789 +#: build/models.py:1188 order/models.py:791 msgid "StockItem is over-allocated" msgstr "" -#: build/models.py:1192 order/models.py:792 +#: build/models.py:1192 order/models.py:794 msgid "Allocation quantity must be greater than zero" msgstr "" @@ -826,17 +826,17 @@ msgstr "" msgid "Selected stock item not found in BOM for part '{p}'" msgstr "" -#: build/models.py:1303 stock/templates/stock/item_base.html:317 +#: build/models.py:1316 stock/templates/stock/item_base.html:317 #: templates/InvenTree/search.html:183 templates/js/build.js:724 #: templates/navbar.html:29 msgid "Build" msgstr "" -#: build/models.py:1304 +#: build/models.py:1317 msgid "Build to allocate parts" msgstr "" -#: build/models.py:1320 part/templates/part/allocation.html:18 +#: build/models.py:1333 part/templates/part/allocation.html:18 #: part/templates/part/allocation.html:24 #: part/templates/part/allocation.html:31 #: part/templates/part/allocation.html:49 @@ -844,23 +844,23 @@ msgstr "" #: stock/templates/stock/item_base.html:31 #: stock/templates/stock/item_base.html:339 #: stock/templates/stock/stock_adjust.html:16 templates/js/build.js:841 -#: templates/js/stock.js:1085 +#: templates/js/stock.js:1090 msgid "Stock Item" msgstr "" -#: build/models.py:1321 +#: build/models.py:1334 msgid "Source stock item" msgstr "" -#: build/models.py:1334 +#: build/models.py:1347 msgid "Stock quantity to allocate to build" msgstr "" -#: build/models.py:1342 +#: build/models.py:1355 msgid "Install into" msgstr "" -#: build/models.py:1343 +#: build/models.py:1356 msgid "Destination stock item" msgstr "" @@ -916,7 +916,7 @@ msgstr "" #: order/templates/order/sales_order_detail.html:75 #: order/templates/order/sales_order_detail.html:160 #: report/templates/report/inventree_test_report_base.html:75 -#: stock/models.py:452 stock/templates/stock/item_base.html:249 +#: stock/models.py:454 stock/templates/stock/item_base.html:249 #: templates/js/build.js:484 msgid "Serial Number" msgstr "Número de serie" @@ -1037,7 +1037,7 @@ msgid "Progress" msgstr "Progreso" #: build/templates/build/build_base.html:170 -#: build/templates/build/detail.html:84 order/models.py:689 +#: build/templates/build/detail.html:84 order/models.py:691 #: order/templates/order/sales_order_base.html:9 #: order/templates/order/sales_order_base.html:35 #: order/templates/order/sales_order_ship.html:25 @@ -1195,7 +1195,7 @@ msgstr "" #: build/templates/build/detail.html:70 #: stock/templates/stock/item_base.html:303 templates/js/stock.js:634 -#: templates/js/stock.js:1376 templates/js/table_filters.js:112 +#: templates/js/stock.js:1381 templates/js/table_filters.js:112 #: templates/js/table_filters.js:206 msgid "Batch" msgstr "Lote" @@ -1250,7 +1250,7 @@ msgstr "" #: company/templates/company/navbar.html:15 #: order/templates/order/po_navbar.html:14 #: order/templates/order/so_navbar.html:15 part/templates/part/navbar.html:15 -#: templates/js/stock.js:1014 +#: templates/js/stock.js:1019 msgid "Details" msgstr "Detalles" @@ -1898,7 +1898,7 @@ msgstr "" #: company/templates/company/manufacturer_part_detail.html:26 #: company/templates/company/supplier_part_base.html:102 #: company/templates/company/supplier_part_detail.html:35 -#: order/templates/order/purchase_order_detail.html:158 part/bom.py:171 +#: order/templates/order/purchase_order_detail.html:162 part/bom.py:171 #: part/bom.py:242 templates/js/company.js:181 templates/js/company.js:307 msgid "MPN" msgstr "" @@ -1953,7 +1953,7 @@ msgid "Point of contact" msgstr "" #: company/models.py:121 company/models.py:333 company/models.py:485 -#: order/models.py:103 part/models.py:743 +#: order/models.py:105 part/models.py:743 #: report/templates/report/inventree_build_order_base.html:165 #: templates/js/company.js:188 templates/js/company.js:318 #: templates/js/part.js:497 @@ -1992,7 +1992,7 @@ msgstr "" msgid "Does this company manufacture parts?" msgstr "" -#: company/models.py:305 company/models.py:456 stock/models.py:405 +#: company/models.py:305 company/models.py:456 stock/models.py:407 #: stock/templates/stock/item_base.html:235 msgid "Base Part" msgstr "" @@ -2022,7 +2022,7 @@ msgstr "" #: company/models.py:466 company/templates/company/detail.html:62 #: company/templates/company/supplier_part_base.html:84 -#: company/templates/company/supplier_part_detail.html:25 order/models.py:190 +#: company/templates/company/supplier_part_detail.html:25 order/models.py:192 #: order/templates/order/order_base.html:92 #: order/templates/order/order_wizard/select_pos.html:30 part/bom.py:175 #: part/bom.py:286 stock/templates/stock/item_base.html:364 @@ -2037,7 +2037,7 @@ msgstr "" #: company/models.py:472 company/templates/company/supplier_part_base.html:88 #: company/templates/company/supplier_part_detail.html:26 -#: order/templates/order/purchase_order_detail.html:149 part/bom.py:176 +#: order/templates/order/purchase_order_detail.html:153 part/bom.py:176 #: part/bom.py:287 msgid "SKU" msgstr "" @@ -2081,8 +2081,8 @@ msgid "Minimum charge (e.g. stocking fee)" msgstr "" #: company/models.py:503 company/templates/company/supplier_part_base.html:109 -#: stock/models.py:429 stock/templates/stock/item_base.html:310 -#: templates/js/stock.js:665 +#: stock/models.py:431 stock/templates/stock/item_base.html:310 +#: templates/js/stock.js:670 msgid "Packaging" msgstr "" @@ -2165,11 +2165,11 @@ msgstr "" msgid "Uses default currency" msgstr "" -#: company/templates/company/detail.html:67 order/models.py:461 -#: order/templates/order/sales_order_base.html:94 stock/models.py:447 -#: stock/models.py:448 stock/templates/stock/item_base.html:262 +#: company/templates/company/detail.html:67 order/models.py:463 +#: order/templates/order/sales_order_base.html:94 stock/models.py:449 +#: stock/models.py:450 stock/templates/stock/item_base.html:262 #: templates/js/company.js:40 templates/js/order.js:267 -#: templates/js/stock.js:1067 +#: templates/js/stock.js:1072 msgid "Customer" msgstr "Cliente" @@ -2215,7 +2215,7 @@ msgstr "" #: company/templates/company/detail_manufacturer_part.html:66 #: company/templates/company/detail_supplier_part.html:66 #: part/templates/part/bom.html:159 part/templates/part/category.html:118 -#: templates/js/stock.js:1282 +#: templates/js/stock.js:1287 msgid "New Part" msgstr "" @@ -2262,7 +2262,7 @@ msgstr "" #: company/templates/company/detail_supplier_part.html:22 #: company/templates/company/manufacturer_part_suppliers.html:17 #: order/templates/order/purchase_order_detail.html:49 -#: part/templates/part/supplier.html:17 templates/js/stock.js:1288 +#: part/templates/part/supplier.html:17 templates/js/stock.js:1293 msgid "New Supplier Part" msgstr "" @@ -2385,7 +2385,7 @@ msgstr "" #: stock/templates/stock/location.html:136 #: stock/templates/stock/location_navbar.html:22 #: stock/templates/stock/location_navbar.html:29 -#: templates/InvenTree/search.html:198 templates/js/stock.js:966 +#: templates/InvenTree/search.html:198 templates/js/stock.js:971 #: templates/stats.html:93 templates/stats.html:102 users/models.py:42 msgid "Stock Items" msgstr "" @@ -2441,7 +2441,7 @@ msgid "New Sales Order" msgstr "" #: company/templates/company/supplier_part_base.html:7 -#: company/templates/company/supplier_part_base.html:20 stock/models.py:414 +#: company/templates/company/supplier_part_base.html:20 stock/models.py:416 #: stock/templates/stock/item_base.html:369 templates/js/company.js:279 msgid "Supplier Part" msgstr "" @@ -2598,7 +2598,7 @@ msgstr "" msgid "Edit Supplier Part" msgstr "" -#: company/views.py:578 templates/js/stock.js:1289 +#: company/views.py:578 templates/js/stock.js:1294 msgid "Create new Supplier Part" msgstr "" @@ -2712,7 +2712,7 @@ msgstr "" msgid "Enter sales order number" msgstr "" -#: order/forms.py:145 order/models.py:473 +#: order/forms.py:145 order/models.py:475 msgid "Target date for order completion. Order will be overdue after this date." msgstr "" @@ -2724,209 +2724,209 @@ msgstr "" msgid "Enter quantity of stock items" msgstr "" -#: order/models.py:99 +#: order/models.py:101 msgid "Order reference" msgstr "" -#: order/models.py:101 +#: order/models.py:103 msgid "Order description" msgstr "" -#: order/models.py:103 +#: order/models.py:105 msgid "Link to external page" msgstr "" -#: order/models.py:111 part/templates/part/detail.html:132 +#: order/models.py:113 part/templates/part/detail.html:132 msgid "Created By" msgstr "" -#: order/models.py:118 +#: order/models.py:120 msgid "User or group responsible for this order" msgstr "" -#: order/models.py:123 +#: order/models.py:125 msgid "Order notes" msgstr "" -#: order/models.py:182 order/models.py:466 +#: order/models.py:184 order/models.py:468 msgid "Purchase order status" msgstr "" -#: order/models.py:191 +#: order/models.py:193 msgid "Company from which the items are being ordered" msgstr "" -#: order/models.py:194 order/templates/order/order_base.html:98 +#: order/models.py:196 order/templates/order/order_base.html:98 #: templates/js/order.js:179 msgid "Supplier Reference" msgstr "" -#: order/models.py:194 +#: order/models.py:196 msgid "Supplier order reference code" msgstr "" -#: order/models.py:201 +#: order/models.py:203 msgid "received by" msgstr "" -#: order/models.py:206 +#: order/models.py:208 msgid "Issue Date" msgstr "" -#: order/models.py:207 +#: order/models.py:209 msgid "Date order was issued" msgstr "" -#: order/models.py:212 +#: order/models.py:214 msgid "Target Delivery Date" msgstr "" -#: order/models.py:213 +#: order/models.py:215 msgid "Expected date for order delivery. Order will be overdue after this date." msgstr "" -#: order/models.py:219 +#: order/models.py:221 msgid "Date order was completed" msgstr "" -#: order/models.py:243 part/views.py:1675 stock/models.py:302 -#: stock/models.py:1018 +#: order/models.py:245 part/views.py:1675 stock/models.py:304 +#: stock/models.py:1020 msgid "Quantity must be greater than zero" msgstr "" -#: order/models.py:248 +#: order/models.py:250 msgid "Part supplier must match PO supplier" msgstr "" -#: order/models.py:346 +#: order/models.py:348 msgid "Lines can only be received against an order marked as 'Placed'" msgstr "" -#: order/models.py:350 +#: order/models.py:352 msgid "Quantity must be an integer" msgstr "" -#: order/models.py:352 +#: order/models.py:354 msgid "Quantity must be a positive number" msgstr "" -#: order/models.py:462 +#: order/models.py:464 msgid "Company to which the items are being sold" msgstr "" -#: order/models.py:468 +#: order/models.py:470 msgid "Customer Reference " msgstr "" -#: order/models.py:468 +#: order/models.py:470 msgid "Customer order reference code" msgstr "" -#: order/models.py:476 templates/js/order.js:303 +#: order/models.py:478 templates/js/order.js:303 msgid "Shipment Date" msgstr "" -#: order/models.py:483 +#: order/models.py:485 msgid "shipped by" msgstr "" -#: order/models.py:527 +#: order/models.py:529 msgid "SalesOrder cannot be shipped as it is not currently pending" msgstr "" -#: order/models.py:614 +#: order/models.py:616 msgid "Item quantity" msgstr "" -#: order/models.py:616 +#: order/models.py:618 msgid "Line item reference" msgstr "" -#: order/models.py:618 +#: order/models.py:620 msgid "Line item notes" msgstr "" -#: order/models.py:644 order/models.py:689 +#: order/models.py:646 order/models.py:691 #: part/templates/part/allocation.html:17 #: part/templates/part/allocation.html:45 msgid "Order" msgstr "" -#: order/models.py:645 order/templates/order/order_base.html:9 +#: order/models.py:647 order/templates/order/order_base.html:9 #: order/templates/order/order_base.html:24 #: report/templates/report/inventree_po_report.html:77 #: stock/templates/stock/item_base.html:324 templates/js/order.js:148 -#: templates/js/stock.js:1048 +#: templates/js/stock.js:1053 msgid "Purchase Order" msgstr "" -#: order/models.py:659 +#: order/models.py:661 msgid "Supplier part" msgstr "" -#: order/models.py:662 order/templates/order/order_base.html:131 -#: order/templates/order/purchase_order_detail.html:189 +#: order/models.py:664 order/templates/order/order_base.html:131 +#: order/templates/order/purchase_order_detail.html:219 #: order/templates/order/receive_parts.html:22 #: order/templates/order/sales_order_base.html:133 msgid "Received" msgstr "" -#: order/models.py:662 +#: order/models.py:664 msgid "Number of items received" msgstr "" -#: order/models.py:669 stock/models.py:540 -#: stock/templates/stock/item_base.html:331 +#: order/models.py:671 stock/models.py:542 +#: stock/templates/stock/item_base.html:331 templates/js/stock.js:665 msgid "Purchase Price" msgstr "" -#: order/models.py:670 +#: order/models.py:672 msgid "Unit purchase price" msgstr "" -#: order/models.py:698 part/templates/part/navbar.html:101 +#: order/models.py:700 part/templates/part/navbar.html:101 #: part/templates/part/order_prices.html:82 -#: part/templates/part/part_pricing.html:77 +#: part/templates/part/part_pricing.html:78 msgid "Sale Price" msgstr "" -#: order/models.py:699 +#: order/models.py:701 msgid "Unit sale price" msgstr "" -#: order/models.py:774 order/models.py:776 +#: order/models.py:776 order/models.py:778 msgid "Stock item has not been assigned" msgstr "" -#: order/models.py:780 +#: order/models.py:782 msgid "Cannot allocate stock item to a line with a different part" msgstr "" -#: order/models.py:782 +#: order/models.py:784 msgid "Cannot allocate stock to a line without a part" msgstr "" -#: order/models.py:785 +#: order/models.py:787 msgid "Allocation quantity cannot exceed stock quantity" msgstr "" -#: order/models.py:795 +#: order/models.py:797 msgid "Quantity must be 1 for serialized stock item" msgstr "" -#: order/models.py:800 +#: order/models.py:802 msgid "Line" msgstr "" -#: order/models.py:811 +#: order/models.py:813 msgid "Item" msgstr "" -#: order/models.py:812 +#: order/models.py:814 msgid "Select stock item to allocate" msgstr "" -#: order/models.py:815 +#: order/models.py:817 msgid "Enter stock allocation quantity" msgstr "" @@ -2977,8 +2977,8 @@ msgstr "" #: order/templates/order/order_base.html:180 #: order/templates/order/purchase_order_detail.html:100 #: part/templates/part/category.html:208 part/templates/part/category.html:250 -#: stock/templates/stock/location.html:191 templates/js/stock.js:706 -#: templates/js/stock.js:1294 +#: stock/templates/stock/location.html:191 templates/js/stock.js:711 +#: templates/js/stock.js:1299 msgid "New Location" msgstr "" @@ -3162,21 +3162,25 @@ msgstr "" msgid "No line items found" msgstr "" -#: order/templates/order/purchase_order_detail.html:180 +#: order/templates/order/purchase_order_detail.html:191 #: order/templates/order/sales_order_detail.html:235 msgid "Unit Price" msgstr "" -#: order/templates/order/purchase_order_detail.html:221 +#: order/templates/order/purchase_order_detail.html:198 +msgid "Total price" +msgstr "" + +#: order/templates/order/purchase_order_detail.html:251 #: order/templates/order/sales_order_detail.html:328 msgid "Edit line item" msgstr "" -#: order/templates/order/purchase_order_detail.html:222 +#: order/templates/order/purchase_order_detail.html:252 msgid "Delete line item" msgstr "" -#: order/templates/order/purchase_order_detail.html:227 +#: order/templates/order/purchase_order_detail.html:257 msgid "Receive line item" msgstr "" @@ -4064,7 +4068,7 @@ msgid "Stock items for variant parts can be used for this BOM item" msgstr "" #: part/models.py:2371 part/views.py:1681 part/views.py:1733 -#: stock/models.py:292 +#: stock/models.py:294 msgid "Quantity must be integer value for trackable parts" msgstr "" @@ -4173,7 +4177,7 @@ msgid "All selected BOM items will be deleted" msgstr "" #: part/templates/part/bom.html:160 part/views.py:585 -#: templates/js/stock.js:1283 +#: templates/js/stock.js:1288 msgid "Create New Part" msgstr "" @@ -4314,7 +4318,7 @@ msgid "View grid display" msgstr "" #: part/templates/part/category.html:209 -#: stock/templates/stock/location.html:192 templates/js/stock.js:707 +#: stock/templates/stock/location.html:192 templates/js/stock.js:712 msgid "Create new location" msgstr "" @@ -4408,7 +4412,7 @@ msgstr "" msgid "Part Details" msgstr "" -#: part/templates/part/detail.html:42 +#: part/templates/part/detail.html:42 part/templates/part/part_base.html:188 msgid "Latest Serial Number" msgstr "" @@ -4551,51 +4555,51 @@ msgid "Pricing ranges" msgstr "" #: part/templates/part/order_prices.html:26 -#: part/templates/part/part_pricing.html:18 +#: part/templates/part/part_pricing.html:19 msgid "Supplier Pricing" msgstr "" #: part/templates/part/order_prices.html:27 #: part/templates/part/order_prices.html:52 #: part/templates/part/order_prices.html:83 -#: part/templates/part/part_pricing.html:22 -#: part/templates/part/part_pricing.html:48 -#: part/templates/part/part_pricing.html:80 +#: part/templates/part/part_pricing.html:23 +#: part/templates/part/part_pricing.html:49 +#: part/templates/part/part_pricing.html:81 msgid "Unit Cost" msgstr "" #: part/templates/part/order_prices.html:34 #: part/templates/part/order_prices.html:59 #: part/templates/part/order_prices.html:88 -#: part/templates/part/part_pricing.html:28 -#: part/templates/part/part_pricing.html:54 -#: part/templates/part/part_pricing.html:84 +#: part/templates/part/part_pricing.html:29 +#: part/templates/part/part_pricing.html:55 +#: part/templates/part/part_pricing.html:85 msgid "Total Cost" msgstr "" #: part/templates/part/order_prices.html:42 -#: part/templates/part/part_pricing.html:36 +#: part/templates/part/part_pricing.html:37 msgid "No supplier pricing available" msgstr "" #: part/templates/part/order_prices.html:51 #: part/templates/part/order_prices.html:103 -#: part/templates/part/part_pricing.html:44 +#: part/templates/part/part_pricing.html:45 msgid "BOM Pricing" msgstr "" #: part/templates/part/order_prices.html:67 -#: part/templates/part/part_pricing.html:62 +#: part/templates/part/part_pricing.html:63 msgid "Note: BOM pricing is incomplete for this part" msgstr "" #: part/templates/part/order_prices.html:74 -#: part/templates/part/part_pricing.html:69 +#: part/templates/part/part_pricing.html:70 msgid "No BOM pricing available" msgstr "" #: part/templates/part/order_prices.html:97 -#: part/templates/part/part_pricing.html:93 +#: part/templates/part/part_pricing.html:94 msgid "No pricing information is available for this part." msgstr "" @@ -4634,7 +4638,7 @@ msgstr "" #: part/templates/part/params.html:28 #: report/templates/report/inventree_test_report_base.html:90 -#: stock/models.py:1754 templates/InvenTree/settings/header.html:8 +#: stock/models.py:1756 templates/InvenTree/settings/header.html:8 #: templates/js/stock.js:137 msgid "Value" msgstr "" @@ -4740,7 +4744,7 @@ msgstr "" msgid "Building" msgstr "" -#: part/templates/part/part_base.html:257 +#: part/templates/part/part_base.html:265 msgid "Calculate" msgstr "" @@ -4849,7 +4853,7 @@ msgstr "" msgid "New Variant" msgstr "" -#: part/templatetags/inventree_extras.py:97 +#: part/templatetags/inventree_extras.py:98 msgid "Unknown database" msgstr "" @@ -5160,17 +5164,17 @@ msgid "Test Results" msgstr "" #: report/templates/report/inventree_test_report_base.html:88 -#: stock/models.py:1742 +#: stock/models.py:1744 msgid "Test" msgstr "" #: report/templates/report/inventree_test_report_base.html:89 -#: stock/models.py:1748 +#: stock/models.py:1750 msgid "Result" msgstr "" #: report/templates/report/inventree_test_report_base.html:92 -#: templates/js/order.js:195 templates/js/stock.js:982 +#: templates/js/order.js:195 templates/js/stock.js:987 msgid "Date" msgstr "" @@ -5192,7 +5196,7 @@ msgstr "" msgid "Moved {n} parts to {loc}" msgstr "" -#: stock/forms.py:114 stock/forms.py:418 stock/models.py:507 +#: stock/forms.py:114 stock/forms.py:418 stock/models.py:509 #: stock/templates/stock/item_base.html:376 templates/js/stock.js:654 msgid "Expiry Date" msgstr "" @@ -5282,187 +5286,187 @@ msgstr "" msgid "Set the destination as the default location for selected parts" msgstr "" -#: stock/models.py:54 stock/models.py:545 +#: stock/models.py:56 stock/models.py:547 msgid "Owner" msgstr "" -#: stock/models.py:55 stock/models.py:546 +#: stock/models.py:57 stock/models.py:548 msgid "Select Owner" msgstr "" -#: stock/models.py:273 +#: stock/models.py:275 msgid "StockItem with this serial number already exists" msgstr "" -#: stock/models.py:309 +#: stock/models.py:311 #, python-brace-format msgid "Part type ('{pf}') must be {pe}" msgstr "" -#: stock/models.py:319 stock/models.py:328 +#: stock/models.py:321 stock/models.py:330 msgid "Quantity must be 1 for item with a serial number" msgstr "" -#: stock/models.py:320 +#: stock/models.py:322 msgid "Serial number cannot be set if quantity greater than 1" msgstr "" -#: stock/models.py:342 +#: stock/models.py:344 msgid "Item cannot belong to itself" msgstr "" -#: stock/models.py:348 +#: stock/models.py:350 msgid "Item must have a build reference if is_building=True" msgstr "" -#: stock/models.py:355 +#: stock/models.py:357 msgid "Build reference does not point to the same part object" msgstr "" -#: stock/models.py:397 +#: stock/models.py:399 msgid "Parent Stock Item" msgstr "" -#: stock/models.py:406 +#: stock/models.py:408 msgid "Base part" msgstr "" -#: stock/models.py:415 +#: stock/models.py:417 msgid "Select a matching supplier part for this stock item" msgstr "" -#: stock/models.py:420 stock/templates/stock/stock_app_base.html:8 +#: stock/models.py:422 stock/templates/stock/stock_app_base.html:8 msgid "Stock Location" msgstr "" -#: stock/models.py:423 +#: stock/models.py:425 msgid "Where is this stock item located?" msgstr "" -#: stock/models.py:430 +#: stock/models.py:432 msgid "Packaging this stock item is stored in" msgstr "" -#: stock/models.py:435 stock/templates/stock/item_base.html:270 +#: stock/models.py:437 stock/templates/stock/item_base.html:270 msgid "Installed In" msgstr "" -#: stock/models.py:438 +#: stock/models.py:440 msgid "Is this item installed in another item?" msgstr "" -#: stock/models.py:454 +#: stock/models.py:456 msgid "Serial number for this item" msgstr "" -#: stock/models.py:466 +#: stock/models.py:468 msgid "Batch code for this stock item" msgstr "" -#: stock/models.py:470 +#: stock/models.py:472 msgid "Stock Quantity" msgstr "" -#: stock/models.py:479 +#: stock/models.py:481 msgid "Source Build" msgstr "" -#: stock/models.py:481 +#: stock/models.py:483 msgid "Build for this stock item" msgstr "" -#: stock/models.py:492 +#: stock/models.py:494 msgid "Source Purchase Order" msgstr "" -#: stock/models.py:495 +#: stock/models.py:497 msgid "Purchase order for this stock item" msgstr "" -#: stock/models.py:501 +#: stock/models.py:503 msgid "Destination Sales Order" msgstr "" -#: stock/models.py:508 +#: stock/models.py:510 msgid "Expiry date for stock item. Stock will be considered expired after this date" msgstr "" -#: stock/models.py:521 +#: stock/models.py:523 msgid "Delete on deplete" msgstr "" -#: stock/models.py:521 +#: stock/models.py:523 msgid "Delete this Stock Item when stock is depleted" msgstr "" -#: stock/models.py:531 stock/templates/stock/item_notes.html:13 +#: stock/models.py:533 stock/templates/stock/item_notes.html:13 #: stock/templates/stock/navbar.html:54 msgid "Stock Item Notes" msgstr "" -#: stock/models.py:541 +#: stock/models.py:543 msgid "Single unit purchase price at time of purchase" msgstr "" -#: stock/models.py:1009 +#: stock/models.py:1011 msgid "Part is not set as trackable" msgstr "" -#: stock/models.py:1015 +#: stock/models.py:1017 msgid "Quantity must be integer" msgstr "" -#: stock/models.py:1021 +#: stock/models.py:1023 #, python-brace-format msgid "Quantity must not exceed available stock quantity ({n})" msgstr "" -#: stock/models.py:1024 +#: stock/models.py:1026 msgid "Serial numbers must be a list of integers" msgstr "" -#: stock/models.py:1027 +#: stock/models.py:1029 msgid "Quantity does not match serial numbers" msgstr "" -#: stock/models.py:1034 +#: stock/models.py:1036 #, python-brace-format msgid "Serial numbers already exist: {exists}" msgstr "" -#: stock/models.py:1192 +#: stock/models.py:1194 msgid "StockItem cannot be moved as it is not in stock" msgstr "" -#: stock/models.py:1666 +#: stock/models.py:1668 msgid "Entry notes" msgstr "" -#: stock/models.py:1719 +#: stock/models.py:1721 msgid "Value must be provided for this test" msgstr "" -#: stock/models.py:1725 +#: stock/models.py:1727 msgid "Attachment must be uploaded for this test" msgstr "" -#: stock/models.py:1743 +#: stock/models.py:1745 msgid "Test name" msgstr "" -#: stock/models.py:1749 templates/js/table_filters.js:217 +#: stock/models.py:1751 templates/js/table_filters.js:217 msgid "Test result" msgstr "" -#: stock/models.py:1755 +#: stock/models.py:1757 msgid "Test output value" msgstr "" -#: stock/models.py:1762 +#: stock/models.py:1764 msgid "Test result attachment" msgstr "" -#: stock/models.py:1768 +#: stock/models.py:1770 msgid "Test notes" msgstr "" @@ -6580,7 +6584,7 @@ msgid "No builds matching query" msgstr "" #: templates/js/build.js:718 templates/js/part.js:390 templates/js/part.js:634 -#: templates/js/stock.js:509 templates/js/stock.js:936 +#: templates/js/stock.js:509 templates/js/stock.js:941 msgid "Select" msgstr "" @@ -6831,7 +6835,7 @@ msgstr "" msgid "Low stock" msgstr "" -#: templates/js/part.js:659 templates/js/stock.js:960 +#: templates/js/part.js:659 templates/js/stock.js:965 msgid "Path" msgstr "" @@ -7029,75 +7033,75 @@ msgstr "" msgid "Stocktake" msgstr "" -#: templates/js/stock.js:823 +#: templates/js/stock.js:828 msgid "Stock Status" msgstr "" -#: templates/js/stock.js:838 +#: templates/js/stock.js:843 msgid "Set Stock Status" msgstr "" -#: templates/js/stock.js:852 +#: templates/js/stock.js:857 msgid "Select Status Code" msgstr "" -#: templates/js/stock.js:853 +#: templates/js/stock.js:858 msgid "Status code must be selected" msgstr "" -#: templates/js/stock.js:992 +#: templates/js/stock.js:997 msgid "Invalid date" msgstr "" -#: templates/js/stock.js:1039 +#: templates/js/stock.js:1044 msgid "Location no longer exists" msgstr "" -#: templates/js/stock.js:1058 +#: templates/js/stock.js:1063 msgid "Purchase order no longer exists" msgstr "" -#: templates/js/stock.js:1077 +#: templates/js/stock.js:1082 msgid "Customer no longer exists" msgstr "" -#: templates/js/stock.js:1095 +#: templates/js/stock.js:1100 msgid "Stock item no longer exists" msgstr "" -#: templates/js/stock.js:1118 +#: templates/js/stock.js:1123 msgid "Added" msgstr "" -#: templates/js/stock.js:1126 +#: templates/js/stock.js:1131 msgid "Removed" msgstr "" -#: templates/js/stock.js:1158 +#: templates/js/stock.js:1163 msgid "No user information" msgstr "" -#: templates/js/stock.js:1170 +#: templates/js/stock.js:1175 msgid "Edit tracking entry" msgstr "" -#: templates/js/stock.js:1171 +#: templates/js/stock.js:1176 msgid "Delete tracking entry" msgstr "" -#: templates/js/stock.js:1295 +#: templates/js/stock.js:1300 msgid "Create New Location" msgstr "" -#: templates/js/stock.js:1336 +#: templates/js/stock.js:1341 msgid "No installed items" msgstr "" -#: templates/js/stock.js:1359 +#: templates/js/stock.js:1364 msgid "Serial" msgstr "" -#: templates/js/stock.js:1387 +#: templates/js/stock.js:1392 msgid "Uninstall Stock Item" msgstr "" diff --git a/InvenTree/locale/fr/LC_MESSAGES/django.po b/InvenTree/locale/fr/LC_MESSAGES/django.po index a266da7266..97617764a4 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-06-01 10:07+0000\n" -"PO-Revision-Date: 2021-06-02 19:11\n" +"POT-Creation-Date: 2021-06-16 22:40+0000\n" +"PO-Revision-Date: 2021-06-16 22:40\n" "Last-Translator: \n" "Language-Team: French\n" "Language: fr_FR\n" @@ -77,7 +77,7 @@ msgstr "Sélectionnez une catégorie" msgid "Duplicate serial: {n}" msgstr "Dupliquer le numéro de série: {n}" -#: InvenTree/helpers.py:384 order/models.py:245 order/models.py:355 +#: InvenTree/helpers.py:384 order/models.py:247 order/models.py:357 #: stock/views.py:1795 msgid "Invalid quantity provided" msgstr "Quantité fournie invalide" @@ -106,7 +106,7 @@ 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:59 stock/models.py:1761 +#: InvenTree/models.py:59 stock/models.py:1763 msgid "Attachment" msgstr "Pièce jointe" @@ -124,7 +124,7 @@ msgstr "Commentaire du fichier" #: InvenTree/models.py:68 InvenTree/models.py:69 part/models.py:1999 #: report/templates/report/inventree_test_report_base.html:91 -#: templates/js/stock.js:1149 +#: templates/js/stock.js:1154 msgid "User" msgstr "Utilisateur" @@ -136,7 +136,7 @@ msgstr "date de chargement" #: part/models.py:686 part/models.py:2140 part/templates/part/params.html:27 #: report/models.py:179 templates/InvenTree/search.html:137 #: templates/InvenTree/search.html:289 templates/js/part.js:118 -#: templates/js/part.js:641 templates/js/stock.js:942 +#: templates/js/part.js:641 templates/js/stock.js:947 msgid "Name" msgstr "Nom" @@ -146,7 +146,7 @@ msgstr "Nom" #: company/templates/company/manufacturer_part_base.html:72 #: company/templates/company/supplier_part_base.html:71 #: company/templates/company/supplier_part_detail.html:31 label/models.py:109 -#: order/models.py:101 order/templates/order/purchase_order_detail.html:143 +#: order/models.py:103 order/templates/order/purchase_order_detail.html:147 #: part/models.py:710 part/templates/part/detail.html:54 #: part/templates/part/set_category.html:14 report/models.py:192 #: report/models.py:505 report/models.py:544 @@ -158,8 +158,8 @@ msgstr "Nom" #: templates/js/company.js:56 templates/js/order.js:183 #: templates/js/order.js:280 templates/js/part.js:177 templates/js/part.js:260 #: templates/js/part.js:437 templates/js/part.js:653 templates/js/part.js:721 -#: templates/js/stock.js:552 templates/js/stock.js:954 -#: templates/js/stock.js:999 +#: templates/js/stock.js:552 templates/js/stock.js:959 +#: templates/js/stock.js:1004 msgid "Description" msgstr "Description" @@ -372,27 +372,27 @@ msgstr "" msgid "Overage must be an integer value or a percentage" msgstr "" -#: InvenTree/views.py:592 +#: InvenTree/views.py:605 msgid "Delete Item" msgstr "Supprimer cet élément" -#: InvenTree/views.py:641 +#: InvenTree/views.py:654 msgid "Check box to confirm item deletion" msgstr "" -#: InvenTree/views.py:656 templates/InvenTree/settings/user.html:18 +#: InvenTree/views.py:669 templates/InvenTree/settings/user.html:18 msgid "Edit User Information" msgstr "Modifier les informations utilisateur" -#: InvenTree/views.py:667 templates/InvenTree/settings/user.html:22 +#: InvenTree/views.py:680 templates/InvenTree/settings/user.html:22 msgid "Set Password" msgstr "" -#: InvenTree/views.py:686 +#: InvenTree/views.py:699 msgid "Password fields must match" msgstr "" -#: InvenTree/views.py:937 templates/navbar.html:95 +#: InvenTree/views.py:950 templates/navbar.html:95 msgid "System Information" msgstr "Informations système" @@ -458,17 +458,17 @@ msgstr "" msgid "Target date for build completion. Build will be overdue after this date." msgstr "" -#: build/forms.py:48 build/forms.py:90 build/forms.py:266 build/models.py:1333 +#: build/forms.py:48 build/forms.py:90 build/forms.py:266 build/models.py:1346 #: build/templates/build/allocation_card.html:23 #: build/templates/build/auto_allocate.html:17 #: build/templates/build/build_base.html:133 #: build/templates/build/detail.html:31 common/models.py:699 #: company/forms.py:176 company/templates/company/supplier_part_pricing.html:77 #: order/forms.py:188 order/forms.py:205 order/forms.py:240 order/forms.py:262 -#: order/forms.py:279 order/models.py:614 order/models.py:815 +#: order/forms.py:279 order/models.py:616 order/models.py:817 #: order/templates/order/order_wizard/match_parts.html:29 #: order/templates/order/order_wizard/select_parts.html:32 -#: order/templates/order/purchase_order_detail.html:175 +#: order/templates/order/purchase_order_detail.html:179 #: order/templates/order/sales_order_detail.html:70 #: order/templates/order/sales_order_detail.html:77 #: order/templates/order/sales_order_detail.html:162 @@ -477,7 +477,7 @@ msgstr "" #: part/templates/part/allocation.html:19 #: part/templates/part/allocation.html:53 #: part/templates/part/order_prices.html:175 -#: part/templates/part/part_pricing.html:12 +#: part/templates/part/part_pricing.html:13 #: part/templates/part/sale_prices.html:85 #: report/templates/report/inventree_build_order_base.html:114 #: report/templates/report/inventree_po_report.html:91 @@ -487,8 +487,8 @@ msgstr "" #: stock/templates/stock/item_base.html:255 #: stock/templates/stock/stock_adjust.html:18 templates/js/barcode.js:364 #: templates/js/bom.js:205 templates/js/build.js:486 templates/js/build.js:1024 -#: templates/js/part.js:795 templates/js/stock.js:1134 -#: templates/js/stock.js:1353 +#: templates/js/part.js:795 templates/js/stock.js:1139 +#: templates/js/stock.js:1358 msgid "Quantity" msgstr "Quantité" @@ -534,7 +534,7 @@ msgstr "" #: stock/templates/stock/stock_adjust.html:17 #: templates/InvenTree/search.html:260 templates/js/barcode.js:363 #: templates/js/barcode.js:531 templates/js/build.js:500 -#: templates/js/stock.js:639 templates/js/stock.js:1026 +#: templates/js/stock.js:639 templates/js/stock.js:1031 msgid "Location" msgstr "" @@ -543,13 +543,13 @@ msgid "Location of completed parts" msgstr "Emplacement des pièces terminées" #: build/forms.py:215 build/templates/build/build_base.html:138 -#: build/templates/build/detail.html:59 order/models.py:466 +#: build/templates/build/detail.html:59 order/models.py:468 #: order/templates/order/receive_parts.html:24 #: stock/templates/stock/item_base.html:403 templates/InvenTree/search.html:252 #: templates/js/barcode.js:119 templates/js/build.js:780 #: templates/js/order.js:187 templates/js/order.js:285 -#: templates/js/stock.js:626 templates/js/stock.js:1103 -#: templates/js/stock.js:1369 +#: templates/js/stock.js:626 templates/js/stock.js:1108 +#: templates/js/stock.js:1374 msgid "Status" msgstr "" @@ -602,8 +602,8 @@ msgstr "" msgid "Build Order Reference" msgstr "" -#: build/models.py:128 order/models.py:99 order/models.py:616 -#: order/templates/order/purchase_order_detail.html:170 +#: build/models.py:128 order/models.py:101 order/models.py:618 +#: order/templates/order/purchase_order_detail.html:174 #: order/templates/order/sales_order_detail.html:225 part/models.py:2279 #: report/templates/report/inventree_po_report.html:92 #: report/templates/report/inventree_so_report.html:92 templates/js/bom.js:197 @@ -627,15 +627,15 @@ msgstr "" #: build/models.py:153 build/templates/build/auto_allocate.html:16 #: build/templates/build/build_base.html:128 #: build/templates/build/detail.html:26 company/models.py:622 -#: order/models.py:658 order/models.py:691 +#: order/models.py:660 order/models.py:693 #: order/templates/order/order_wizard/select_parts.html:30 -#: order/templates/order/purchase_order_detail.html:131 +#: order/templates/order/purchase_order_detail.html:132 #: order/templates/order/receive_parts.html:19 #: order/templates/order/sales_order_detail.html:213 part/models.py:321 #: part/models.py:1967 part/models.py:1979 part/models.py:1997 #: part/models.py:2072 part/models.py:2168 part/models.py:2254 #: part/templates/part/part_app_base.html:8 -#: part/templates/part/part_pricing.html:8 part/templates/part/related.html:29 +#: part/templates/part/part_pricing.html:9 part/templates/part/related.html:29 #: part/templates/part/set_category.html:13 #: report/templates/report/inventree_build_order_base.html:110 #: report/templates/report/inventree_po_report.html:90 @@ -646,7 +646,7 @@ msgstr "" #: templates/js/build.js:991 templates/js/company.js:140 #: templates/js/company.js:238 templates/js/part.js:241 #: templates/js/part.js:404 templates/js/stock.js:521 -#: templates/js/stock.js:1341 +#: templates/js/stock.js:1346 msgid "Part" msgstr "Pièce" @@ -702,7 +702,7 @@ msgstr "" msgid "Build status code" msgstr "" -#: build/models.py:213 stock/models.py:464 +#: build/models.py:213 stock/models.py:466 msgid "Batch Code" msgstr "" @@ -710,16 +710,16 @@ msgstr "" msgid "Batch code for this build output" msgstr "" -#: build/models.py:220 order/models.py:105 part/models.py:882 +#: build/models.py:220 order/models.py:107 part/models.py:882 #: part/templates/part/detail.html:126 templates/js/order.js:293 msgid "Creation Date" msgstr "Date de création" -#: build/models.py:224 order/models.py:472 +#: build/models.py:224 order/models.py:474 msgid "Target completion date" msgstr "" -#: build/models.py:228 order/models.py:218 templates/js/build.js:798 +#: build/models.py:228 order/models.py:220 templates/js/build.js:798 msgid "Completion Date" msgstr "" @@ -736,7 +736,7 @@ msgid "User who issued this build order" msgstr "" #: build/models.py:251 build/templates/build/build_base.html:184 -#: build/templates/build/detail.html:105 order/models.py:119 +#: build/templates/build/detail.html:105 order/models.py:121 #: order/templates/order/order_base.html:138 #: order/templates/order/sales_order_base.html:140 part/models.py:886 #: report/templates/report/inventree_build_order_base.html:159 @@ -753,30 +753,30 @@ msgstr "" #: company/templates/company/supplier_part_base.html:78 #: company/templates/company/supplier_part_detail.html:28 #: part/templates/part/detail.html:83 part/templates/part/part_base.html:94 -#: stock/models.py:458 stock/templates/stock/item_base.html:345 +#: stock/models.py:460 stock/templates/stock/item_base.html:345 msgid "External Link" msgstr "Lien Externe" -#: build/models.py:258 part/models.py:744 stock/models.py:460 +#: build/models.py:258 part/models.py:744 stock/models.py:462 msgid "Link to external URL" msgstr "" #: build/models.py:262 build/templates/build/navbar.html:53 #: company/models.py:132 company/models.py:498 #: company/templates/company/navbar.html:70 -#: company/templates/company/navbar.html:73 order/models.py:123 -#: order/models.py:618 order/templates/order/po_navbar.html:29 +#: company/templates/company/navbar.html:73 order/models.py:125 +#: order/models.py:620 order/templates/order/po_navbar.html:29 #: order/templates/order/po_navbar.html:32 -#: order/templates/order/purchase_order_detail.html:209 +#: order/templates/order/purchase_order_detail.html:239 #: order/templates/order/sales_order_detail.html:278 #: order/templates/order/so_navbar.html:33 #: order/templates/order/so_navbar.html:36 part/models.py:871 #: part/templates/part/navbar.html:134 #: report/templates/report/inventree_build_order_base.html:173 #: stock/forms.py:173 stock/forms.py:317 stock/forms.py:349 stock/forms.py:377 -#: stock/models.py:530 stock/models.py:1665 stock/models.py:1767 +#: stock/models.py:532 stock/models.py:1667 stock/models.py:1769 #: stock/templates/stock/navbar.html:57 templates/js/barcode.js:37 -#: templates/js/bom.js:356 templates/js/stock.js:141 templates/js/stock.js:669 +#: templates/js/bom.js:356 templates/js/stock.js:141 templates/js/stock.js:674 msgid "Notes" msgstr "Notes" @@ -809,11 +809,11 @@ msgstr "L'élément de construction doit spécifier une sortie de construction, msgid "Allocated quantity ({n}) must not exceed available quantity ({q})" msgstr "" -#: build/models.py:1188 order/models.py:789 +#: build/models.py:1188 order/models.py:791 msgid "StockItem is over-allocated" msgstr "" -#: build/models.py:1192 order/models.py:792 +#: build/models.py:1192 order/models.py:794 msgid "Allocation quantity must be greater than zero" msgstr "" @@ -826,17 +826,17 @@ msgstr "" msgid "Selected stock item not found in BOM for part '{p}'" msgstr "L'article en stock sélectionné n'a pas été trouvé dans la BOM pour la pièce '{p}'" -#: build/models.py:1303 stock/templates/stock/item_base.html:317 +#: build/models.py:1316 stock/templates/stock/item_base.html:317 #: templates/InvenTree/search.html:183 templates/js/build.js:724 #: templates/navbar.html:29 msgid "Build" msgstr "" -#: build/models.py:1304 +#: build/models.py:1317 msgid "Build to allocate parts" msgstr "" -#: build/models.py:1320 part/templates/part/allocation.html:18 +#: build/models.py:1333 part/templates/part/allocation.html:18 #: part/templates/part/allocation.html:24 #: part/templates/part/allocation.html:31 #: part/templates/part/allocation.html:49 @@ -844,23 +844,23 @@ msgstr "" #: stock/templates/stock/item_base.html:31 #: stock/templates/stock/item_base.html:339 #: stock/templates/stock/stock_adjust.html:16 templates/js/build.js:841 -#: templates/js/stock.js:1085 +#: templates/js/stock.js:1090 msgid "Stock Item" msgstr "" -#: build/models.py:1321 +#: build/models.py:1334 msgid "Source stock item" msgstr "" -#: build/models.py:1334 +#: build/models.py:1347 msgid "Stock quantity to allocate to build" msgstr "" -#: build/models.py:1342 +#: build/models.py:1355 msgid "Install into" msgstr "" -#: build/models.py:1343 +#: build/models.py:1356 msgid "Destination stock item" msgstr "" @@ -916,7 +916,7 @@ msgstr "" #: order/templates/order/sales_order_detail.html:75 #: order/templates/order/sales_order_detail.html:160 #: report/templates/report/inventree_test_report_base.html:75 -#: stock/models.py:452 stock/templates/stock/item_base.html:249 +#: stock/models.py:454 stock/templates/stock/item_base.html:249 #: templates/js/build.js:484 msgid "Serial Number" msgstr "" @@ -1037,7 +1037,7 @@ msgid "Progress" msgstr "" #: build/templates/build/build_base.html:170 -#: build/templates/build/detail.html:84 order/models.py:689 +#: build/templates/build/detail.html:84 order/models.py:691 #: order/templates/order/sales_order_base.html:9 #: order/templates/order/sales_order_base.html:35 #: order/templates/order/sales_order_ship.html:25 @@ -1195,7 +1195,7 @@ msgstr "" #: build/templates/build/detail.html:70 #: stock/templates/stock/item_base.html:303 templates/js/stock.js:634 -#: templates/js/stock.js:1376 templates/js/table_filters.js:112 +#: templates/js/stock.js:1381 templates/js/table_filters.js:112 #: templates/js/table_filters.js:206 msgid "Batch" msgstr "" @@ -1250,7 +1250,7 @@ msgstr "" #: company/templates/company/navbar.html:15 #: order/templates/order/po_navbar.html:14 #: order/templates/order/so_navbar.html:15 part/templates/part/navbar.html:15 -#: templates/js/stock.js:1014 +#: templates/js/stock.js:1019 msgid "Details" msgstr "Détails" @@ -1898,7 +1898,7 @@ msgstr "" #: company/templates/company/manufacturer_part_detail.html:26 #: company/templates/company/supplier_part_base.html:102 #: company/templates/company/supplier_part_detail.html:35 -#: order/templates/order/purchase_order_detail.html:158 part/bom.py:171 +#: order/templates/order/purchase_order_detail.html:162 part/bom.py:171 #: part/bom.py:242 templates/js/company.js:181 templates/js/company.js:307 msgid "MPN" msgstr "" @@ -1953,7 +1953,7 @@ msgid "Point of contact" msgstr "" #: company/models.py:121 company/models.py:333 company/models.py:485 -#: order/models.py:103 part/models.py:743 +#: order/models.py:105 part/models.py:743 #: report/templates/report/inventree_build_order_base.html:165 #: templates/js/company.js:188 templates/js/company.js:318 #: templates/js/part.js:497 @@ -1992,7 +1992,7 @@ msgstr "" msgid "Does this company manufacture parts?" msgstr "" -#: company/models.py:305 company/models.py:456 stock/models.py:405 +#: company/models.py:305 company/models.py:456 stock/models.py:407 #: stock/templates/stock/item_base.html:235 msgid "Base Part" msgstr "" @@ -2022,7 +2022,7 @@ msgstr "" #: company/models.py:466 company/templates/company/detail.html:62 #: company/templates/company/supplier_part_base.html:84 -#: company/templates/company/supplier_part_detail.html:25 order/models.py:190 +#: company/templates/company/supplier_part_detail.html:25 order/models.py:192 #: order/templates/order/order_base.html:92 #: order/templates/order/order_wizard/select_pos.html:30 part/bom.py:175 #: part/bom.py:286 stock/templates/stock/item_base.html:364 @@ -2037,7 +2037,7 @@ msgstr "" #: company/models.py:472 company/templates/company/supplier_part_base.html:88 #: company/templates/company/supplier_part_detail.html:26 -#: order/templates/order/purchase_order_detail.html:149 part/bom.py:176 +#: order/templates/order/purchase_order_detail.html:153 part/bom.py:176 #: part/bom.py:287 msgid "SKU" msgstr "" @@ -2081,8 +2081,8 @@ msgid "Minimum charge (e.g. stocking fee)" msgstr "" #: company/models.py:503 company/templates/company/supplier_part_base.html:109 -#: stock/models.py:429 stock/templates/stock/item_base.html:310 -#: templates/js/stock.js:665 +#: stock/models.py:431 stock/templates/stock/item_base.html:310 +#: templates/js/stock.js:670 msgid "Packaging" msgstr "" @@ -2165,11 +2165,11 @@ msgstr "" msgid "Uses default currency" msgstr "" -#: company/templates/company/detail.html:67 order/models.py:461 -#: order/templates/order/sales_order_base.html:94 stock/models.py:447 -#: stock/models.py:448 stock/templates/stock/item_base.html:262 +#: company/templates/company/detail.html:67 order/models.py:463 +#: order/templates/order/sales_order_base.html:94 stock/models.py:449 +#: stock/models.py:450 stock/templates/stock/item_base.html:262 #: templates/js/company.js:40 templates/js/order.js:267 -#: templates/js/stock.js:1067 +#: templates/js/stock.js:1072 msgid "Customer" msgstr "" @@ -2215,7 +2215,7 @@ msgstr "" #: company/templates/company/detail_manufacturer_part.html:66 #: company/templates/company/detail_supplier_part.html:66 #: part/templates/part/bom.html:159 part/templates/part/category.html:118 -#: templates/js/stock.js:1282 +#: templates/js/stock.js:1287 msgid "New Part" msgstr "" @@ -2262,7 +2262,7 @@ msgstr "" #: company/templates/company/detail_supplier_part.html:22 #: company/templates/company/manufacturer_part_suppliers.html:17 #: order/templates/order/purchase_order_detail.html:49 -#: part/templates/part/supplier.html:17 templates/js/stock.js:1288 +#: part/templates/part/supplier.html:17 templates/js/stock.js:1293 msgid "New Supplier Part" msgstr "" @@ -2385,7 +2385,7 @@ msgstr "" #: stock/templates/stock/location.html:136 #: stock/templates/stock/location_navbar.html:22 #: stock/templates/stock/location_navbar.html:29 -#: templates/InvenTree/search.html:198 templates/js/stock.js:966 +#: templates/InvenTree/search.html:198 templates/js/stock.js:971 #: templates/stats.html:93 templates/stats.html:102 users/models.py:42 msgid "Stock Items" msgstr "" @@ -2441,7 +2441,7 @@ msgid "New Sales Order" msgstr "" #: company/templates/company/supplier_part_base.html:7 -#: company/templates/company/supplier_part_base.html:20 stock/models.py:414 +#: company/templates/company/supplier_part_base.html:20 stock/models.py:416 #: stock/templates/stock/item_base.html:369 templates/js/company.js:279 msgid "Supplier Part" msgstr "" @@ -2598,7 +2598,7 @@ msgstr "" msgid "Edit Supplier Part" msgstr "" -#: company/views.py:578 templates/js/stock.js:1289 +#: company/views.py:578 templates/js/stock.js:1294 msgid "Create new Supplier Part" msgstr "" @@ -2712,7 +2712,7 @@ msgstr "" msgid "Enter sales order number" msgstr "" -#: order/forms.py:145 order/models.py:473 +#: order/forms.py:145 order/models.py:475 msgid "Target date for order completion. Order will be overdue after this date." msgstr "" @@ -2724,209 +2724,209 @@ msgstr "" msgid "Enter quantity of stock items" msgstr "" -#: order/models.py:99 +#: order/models.py:101 msgid "Order reference" msgstr "" -#: order/models.py:101 +#: order/models.py:103 msgid "Order description" msgstr "" -#: order/models.py:103 +#: order/models.py:105 msgid "Link to external page" msgstr "" -#: order/models.py:111 part/templates/part/detail.html:132 +#: order/models.py:113 part/templates/part/detail.html:132 msgid "Created By" msgstr "" -#: order/models.py:118 +#: order/models.py:120 msgid "User or group responsible for this order" msgstr "" -#: order/models.py:123 +#: order/models.py:125 msgid "Order notes" msgstr "" -#: order/models.py:182 order/models.py:466 +#: order/models.py:184 order/models.py:468 msgid "Purchase order status" msgstr "" -#: order/models.py:191 +#: order/models.py:193 msgid "Company from which the items are being ordered" msgstr "" -#: order/models.py:194 order/templates/order/order_base.html:98 +#: order/models.py:196 order/templates/order/order_base.html:98 #: templates/js/order.js:179 msgid "Supplier Reference" msgstr "" -#: order/models.py:194 +#: order/models.py:196 msgid "Supplier order reference code" msgstr "" -#: order/models.py:201 +#: order/models.py:203 msgid "received by" msgstr "" -#: order/models.py:206 +#: order/models.py:208 msgid "Issue Date" msgstr "" -#: order/models.py:207 +#: order/models.py:209 msgid "Date order was issued" msgstr "" -#: order/models.py:212 +#: order/models.py:214 msgid "Target Delivery Date" msgstr "" -#: order/models.py:213 +#: order/models.py:215 msgid "Expected date for order delivery. Order will be overdue after this date." msgstr "" -#: order/models.py:219 +#: order/models.py:221 msgid "Date order was completed" msgstr "" -#: order/models.py:243 part/views.py:1675 stock/models.py:302 -#: stock/models.py:1018 +#: order/models.py:245 part/views.py:1675 stock/models.py:304 +#: stock/models.py:1020 msgid "Quantity must be greater than zero" msgstr "" -#: order/models.py:248 +#: order/models.py:250 msgid "Part supplier must match PO supplier" msgstr "" -#: order/models.py:346 +#: order/models.py:348 msgid "Lines can only be received against an order marked as 'Placed'" msgstr "" -#: order/models.py:350 +#: order/models.py:352 msgid "Quantity must be an integer" msgstr "" -#: order/models.py:352 +#: order/models.py:354 msgid "Quantity must be a positive number" msgstr "" -#: order/models.py:462 +#: order/models.py:464 msgid "Company to which the items are being sold" msgstr "" -#: order/models.py:468 +#: order/models.py:470 msgid "Customer Reference " msgstr "" -#: order/models.py:468 +#: order/models.py:470 msgid "Customer order reference code" msgstr "" -#: order/models.py:476 templates/js/order.js:303 +#: order/models.py:478 templates/js/order.js:303 msgid "Shipment Date" msgstr "" -#: order/models.py:483 +#: order/models.py:485 msgid "shipped by" msgstr "" -#: order/models.py:527 +#: order/models.py:529 msgid "SalesOrder cannot be shipped as it is not currently pending" msgstr "" -#: order/models.py:614 +#: order/models.py:616 msgid "Item quantity" msgstr "" -#: order/models.py:616 +#: order/models.py:618 msgid "Line item reference" msgstr "" -#: order/models.py:618 +#: order/models.py:620 msgid "Line item notes" msgstr "" -#: order/models.py:644 order/models.py:689 +#: order/models.py:646 order/models.py:691 #: part/templates/part/allocation.html:17 #: part/templates/part/allocation.html:45 msgid "Order" msgstr "" -#: order/models.py:645 order/templates/order/order_base.html:9 +#: order/models.py:647 order/templates/order/order_base.html:9 #: order/templates/order/order_base.html:24 #: report/templates/report/inventree_po_report.html:77 #: stock/templates/stock/item_base.html:324 templates/js/order.js:148 -#: templates/js/stock.js:1048 +#: templates/js/stock.js:1053 msgid "Purchase Order" msgstr "" -#: order/models.py:659 +#: order/models.py:661 msgid "Supplier part" msgstr "" -#: order/models.py:662 order/templates/order/order_base.html:131 -#: order/templates/order/purchase_order_detail.html:189 +#: order/models.py:664 order/templates/order/order_base.html:131 +#: order/templates/order/purchase_order_detail.html:219 #: order/templates/order/receive_parts.html:22 #: order/templates/order/sales_order_base.html:133 msgid "Received" msgstr "" -#: order/models.py:662 +#: order/models.py:664 msgid "Number of items received" msgstr "" -#: order/models.py:669 stock/models.py:540 -#: stock/templates/stock/item_base.html:331 +#: order/models.py:671 stock/models.py:542 +#: stock/templates/stock/item_base.html:331 templates/js/stock.js:665 msgid "Purchase Price" msgstr "" -#: order/models.py:670 +#: order/models.py:672 msgid "Unit purchase price" msgstr "" -#: order/models.py:698 part/templates/part/navbar.html:101 +#: order/models.py:700 part/templates/part/navbar.html:101 #: part/templates/part/order_prices.html:82 -#: part/templates/part/part_pricing.html:77 +#: part/templates/part/part_pricing.html:78 msgid "Sale Price" msgstr "" -#: order/models.py:699 +#: order/models.py:701 msgid "Unit sale price" msgstr "" -#: order/models.py:774 order/models.py:776 +#: order/models.py:776 order/models.py:778 msgid "Stock item has not been assigned" msgstr "" -#: order/models.py:780 +#: order/models.py:782 msgid "Cannot allocate stock item to a line with a different part" msgstr "" -#: order/models.py:782 +#: order/models.py:784 msgid "Cannot allocate stock to a line without a part" msgstr "" -#: order/models.py:785 +#: order/models.py:787 msgid "Allocation quantity cannot exceed stock quantity" msgstr "" -#: order/models.py:795 +#: order/models.py:797 msgid "Quantity must be 1 for serialized stock item" msgstr "" -#: order/models.py:800 +#: order/models.py:802 msgid "Line" msgstr "" -#: order/models.py:811 +#: order/models.py:813 msgid "Item" msgstr "" -#: order/models.py:812 +#: order/models.py:814 msgid "Select stock item to allocate" msgstr "" -#: order/models.py:815 +#: order/models.py:817 msgid "Enter stock allocation quantity" msgstr "" @@ -2977,8 +2977,8 @@ msgstr "" #: order/templates/order/order_base.html:180 #: order/templates/order/purchase_order_detail.html:100 #: part/templates/part/category.html:208 part/templates/part/category.html:250 -#: stock/templates/stock/location.html:191 templates/js/stock.js:706 -#: templates/js/stock.js:1294 +#: stock/templates/stock/location.html:191 templates/js/stock.js:711 +#: templates/js/stock.js:1299 msgid "New Location" msgstr "" @@ -3162,21 +3162,25 @@ msgstr "" msgid "No line items found" msgstr "" -#: order/templates/order/purchase_order_detail.html:180 +#: order/templates/order/purchase_order_detail.html:191 #: order/templates/order/sales_order_detail.html:235 msgid "Unit Price" msgstr "" -#: order/templates/order/purchase_order_detail.html:221 +#: order/templates/order/purchase_order_detail.html:198 +msgid "Total price" +msgstr "" + +#: order/templates/order/purchase_order_detail.html:251 #: order/templates/order/sales_order_detail.html:328 msgid "Edit line item" msgstr "" -#: order/templates/order/purchase_order_detail.html:222 +#: order/templates/order/purchase_order_detail.html:252 msgid "Delete line item" msgstr "" -#: order/templates/order/purchase_order_detail.html:227 +#: order/templates/order/purchase_order_detail.html:257 msgid "Receive line item" msgstr "" @@ -4064,7 +4068,7 @@ msgid "Stock items for variant parts can be used for this BOM item" msgstr "" #: part/models.py:2371 part/views.py:1681 part/views.py:1733 -#: stock/models.py:292 +#: stock/models.py:294 msgid "Quantity must be integer value for trackable parts" msgstr "" @@ -4173,7 +4177,7 @@ msgid "All selected BOM items will be deleted" msgstr "" #: part/templates/part/bom.html:160 part/views.py:585 -#: templates/js/stock.js:1283 +#: templates/js/stock.js:1288 msgid "Create New Part" msgstr "" @@ -4314,7 +4318,7 @@ msgid "View grid display" msgstr "" #: part/templates/part/category.html:209 -#: stock/templates/stock/location.html:192 templates/js/stock.js:707 +#: stock/templates/stock/location.html:192 templates/js/stock.js:712 msgid "Create new location" msgstr "" @@ -4408,7 +4412,7 @@ msgstr "" msgid "Part Details" msgstr "" -#: part/templates/part/detail.html:42 +#: part/templates/part/detail.html:42 part/templates/part/part_base.html:188 msgid "Latest Serial Number" msgstr "" @@ -4551,51 +4555,51 @@ msgid "Pricing ranges" msgstr "" #: part/templates/part/order_prices.html:26 -#: part/templates/part/part_pricing.html:18 +#: part/templates/part/part_pricing.html:19 msgid "Supplier Pricing" msgstr "" #: part/templates/part/order_prices.html:27 #: part/templates/part/order_prices.html:52 #: part/templates/part/order_prices.html:83 -#: part/templates/part/part_pricing.html:22 -#: part/templates/part/part_pricing.html:48 -#: part/templates/part/part_pricing.html:80 +#: part/templates/part/part_pricing.html:23 +#: part/templates/part/part_pricing.html:49 +#: part/templates/part/part_pricing.html:81 msgid "Unit Cost" msgstr "" #: part/templates/part/order_prices.html:34 #: part/templates/part/order_prices.html:59 #: part/templates/part/order_prices.html:88 -#: part/templates/part/part_pricing.html:28 -#: part/templates/part/part_pricing.html:54 -#: part/templates/part/part_pricing.html:84 +#: part/templates/part/part_pricing.html:29 +#: part/templates/part/part_pricing.html:55 +#: part/templates/part/part_pricing.html:85 msgid "Total Cost" msgstr "" #: part/templates/part/order_prices.html:42 -#: part/templates/part/part_pricing.html:36 +#: part/templates/part/part_pricing.html:37 msgid "No supplier pricing available" msgstr "" #: part/templates/part/order_prices.html:51 #: part/templates/part/order_prices.html:103 -#: part/templates/part/part_pricing.html:44 +#: part/templates/part/part_pricing.html:45 msgid "BOM Pricing" msgstr "" #: part/templates/part/order_prices.html:67 -#: part/templates/part/part_pricing.html:62 +#: part/templates/part/part_pricing.html:63 msgid "Note: BOM pricing is incomplete for this part" msgstr "" #: part/templates/part/order_prices.html:74 -#: part/templates/part/part_pricing.html:69 +#: part/templates/part/part_pricing.html:70 msgid "No BOM pricing available" msgstr "" #: part/templates/part/order_prices.html:97 -#: part/templates/part/part_pricing.html:93 +#: part/templates/part/part_pricing.html:94 msgid "No pricing information is available for this part." msgstr "" @@ -4634,7 +4638,7 @@ msgstr "" #: part/templates/part/params.html:28 #: report/templates/report/inventree_test_report_base.html:90 -#: stock/models.py:1754 templates/InvenTree/settings/header.html:8 +#: stock/models.py:1756 templates/InvenTree/settings/header.html:8 #: templates/js/stock.js:137 msgid "Value" msgstr "" @@ -4740,7 +4744,7 @@ msgstr "" msgid "Building" msgstr "" -#: part/templates/part/part_base.html:257 +#: part/templates/part/part_base.html:265 msgid "Calculate" msgstr "" @@ -4849,7 +4853,7 @@ msgstr "" msgid "New Variant" msgstr "" -#: part/templatetags/inventree_extras.py:97 +#: part/templatetags/inventree_extras.py:98 msgid "Unknown database" msgstr "" @@ -5160,17 +5164,17 @@ msgid "Test Results" msgstr "" #: report/templates/report/inventree_test_report_base.html:88 -#: stock/models.py:1742 +#: stock/models.py:1744 msgid "Test" msgstr "" #: report/templates/report/inventree_test_report_base.html:89 -#: stock/models.py:1748 +#: stock/models.py:1750 msgid "Result" msgstr "" #: report/templates/report/inventree_test_report_base.html:92 -#: templates/js/order.js:195 templates/js/stock.js:982 +#: templates/js/order.js:195 templates/js/stock.js:987 msgid "Date" msgstr "" @@ -5192,7 +5196,7 @@ msgstr "" msgid "Moved {n} parts to {loc}" msgstr "" -#: stock/forms.py:114 stock/forms.py:418 stock/models.py:507 +#: stock/forms.py:114 stock/forms.py:418 stock/models.py:509 #: stock/templates/stock/item_base.html:376 templates/js/stock.js:654 msgid "Expiry Date" msgstr "" @@ -5282,187 +5286,187 @@ msgstr "" msgid "Set the destination as the default location for selected parts" msgstr "" -#: stock/models.py:54 stock/models.py:545 +#: stock/models.py:56 stock/models.py:547 msgid "Owner" msgstr "" -#: stock/models.py:55 stock/models.py:546 +#: stock/models.py:57 stock/models.py:548 msgid "Select Owner" msgstr "" -#: stock/models.py:273 +#: stock/models.py:275 msgid "StockItem with this serial number already exists" msgstr "" -#: stock/models.py:309 +#: stock/models.py:311 #, python-brace-format msgid "Part type ('{pf}') must be {pe}" msgstr "" -#: stock/models.py:319 stock/models.py:328 +#: stock/models.py:321 stock/models.py:330 msgid "Quantity must be 1 for item with a serial number" msgstr "" -#: stock/models.py:320 +#: stock/models.py:322 msgid "Serial number cannot be set if quantity greater than 1" msgstr "" -#: stock/models.py:342 +#: stock/models.py:344 msgid "Item cannot belong to itself" msgstr "" -#: stock/models.py:348 +#: stock/models.py:350 msgid "Item must have a build reference if is_building=True" msgstr "" -#: stock/models.py:355 +#: stock/models.py:357 msgid "Build reference does not point to the same part object" msgstr "" -#: stock/models.py:397 +#: stock/models.py:399 msgid "Parent Stock Item" msgstr "" -#: stock/models.py:406 +#: stock/models.py:408 msgid "Base part" msgstr "" -#: stock/models.py:415 +#: stock/models.py:417 msgid "Select a matching supplier part for this stock item" msgstr "" -#: stock/models.py:420 stock/templates/stock/stock_app_base.html:8 +#: stock/models.py:422 stock/templates/stock/stock_app_base.html:8 msgid "Stock Location" msgstr "" -#: stock/models.py:423 +#: stock/models.py:425 msgid "Where is this stock item located?" msgstr "" -#: stock/models.py:430 +#: stock/models.py:432 msgid "Packaging this stock item is stored in" msgstr "" -#: stock/models.py:435 stock/templates/stock/item_base.html:270 +#: stock/models.py:437 stock/templates/stock/item_base.html:270 msgid "Installed In" msgstr "" -#: stock/models.py:438 +#: stock/models.py:440 msgid "Is this item installed in another item?" msgstr "" -#: stock/models.py:454 +#: stock/models.py:456 msgid "Serial number for this item" msgstr "" -#: stock/models.py:466 +#: stock/models.py:468 msgid "Batch code for this stock item" msgstr "" -#: stock/models.py:470 +#: stock/models.py:472 msgid "Stock Quantity" msgstr "" -#: stock/models.py:479 +#: stock/models.py:481 msgid "Source Build" msgstr "" -#: stock/models.py:481 +#: stock/models.py:483 msgid "Build for this stock item" msgstr "" -#: stock/models.py:492 +#: stock/models.py:494 msgid "Source Purchase Order" msgstr "" -#: stock/models.py:495 +#: stock/models.py:497 msgid "Purchase order for this stock item" msgstr "" -#: stock/models.py:501 +#: stock/models.py:503 msgid "Destination Sales Order" msgstr "" -#: stock/models.py:508 +#: stock/models.py:510 msgid "Expiry date for stock item. Stock will be considered expired after this date" msgstr "" -#: stock/models.py:521 +#: stock/models.py:523 msgid "Delete on deplete" msgstr "" -#: stock/models.py:521 +#: stock/models.py:523 msgid "Delete this Stock Item when stock is depleted" msgstr "" -#: stock/models.py:531 stock/templates/stock/item_notes.html:13 +#: stock/models.py:533 stock/templates/stock/item_notes.html:13 #: stock/templates/stock/navbar.html:54 msgid "Stock Item Notes" msgstr "" -#: stock/models.py:541 +#: stock/models.py:543 msgid "Single unit purchase price at time of purchase" msgstr "" -#: stock/models.py:1009 +#: stock/models.py:1011 msgid "Part is not set as trackable" msgstr "" -#: stock/models.py:1015 +#: stock/models.py:1017 msgid "Quantity must be integer" msgstr "" -#: stock/models.py:1021 +#: stock/models.py:1023 #, python-brace-format msgid "Quantity must not exceed available stock quantity ({n})" msgstr "" -#: stock/models.py:1024 +#: stock/models.py:1026 msgid "Serial numbers must be a list of integers" msgstr "" -#: stock/models.py:1027 +#: stock/models.py:1029 msgid "Quantity does not match serial numbers" msgstr "" -#: stock/models.py:1034 +#: stock/models.py:1036 #, python-brace-format msgid "Serial numbers already exist: {exists}" msgstr "" -#: stock/models.py:1192 +#: stock/models.py:1194 msgid "StockItem cannot be moved as it is not in stock" msgstr "" -#: stock/models.py:1666 +#: stock/models.py:1668 msgid "Entry notes" msgstr "" -#: stock/models.py:1719 +#: stock/models.py:1721 msgid "Value must be provided for this test" msgstr "" -#: stock/models.py:1725 +#: stock/models.py:1727 msgid "Attachment must be uploaded for this test" msgstr "" -#: stock/models.py:1743 +#: stock/models.py:1745 msgid "Test name" msgstr "" -#: stock/models.py:1749 templates/js/table_filters.js:217 +#: stock/models.py:1751 templates/js/table_filters.js:217 msgid "Test result" msgstr "" -#: stock/models.py:1755 +#: stock/models.py:1757 msgid "Test output value" msgstr "" -#: stock/models.py:1762 +#: stock/models.py:1764 msgid "Test result attachment" msgstr "" -#: stock/models.py:1768 +#: stock/models.py:1770 msgid "Test notes" msgstr "" @@ -6580,7 +6584,7 @@ msgid "No builds matching query" msgstr "" #: templates/js/build.js:718 templates/js/part.js:390 templates/js/part.js:634 -#: templates/js/stock.js:509 templates/js/stock.js:936 +#: templates/js/stock.js:509 templates/js/stock.js:941 msgid "Select" msgstr "" @@ -6831,7 +6835,7 @@ msgstr "" msgid "Low stock" msgstr "" -#: templates/js/part.js:659 templates/js/stock.js:960 +#: templates/js/part.js:659 templates/js/stock.js:965 msgid "Path" msgstr "" @@ -7029,75 +7033,75 @@ msgstr "" msgid "Stocktake" msgstr "" -#: templates/js/stock.js:823 +#: templates/js/stock.js:828 msgid "Stock Status" msgstr "" -#: templates/js/stock.js:838 +#: templates/js/stock.js:843 msgid "Set Stock Status" msgstr "" -#: templates/js/stock.js:852 +#: templates/js/stock.js:857 msgid "Select Status Code" msgstr "" -#: templates/js/stock.js:853 +#: templates/js/stock.js:858 msgid "Status code must be selected" msgstr "" -#: templates/js/stock.js:992 +#: templates/js/stock.js:997 msgid "Invalid date" msgstr "" -#: templates/js/stock.js:1039 +#: templates/js/stock.js:1044 msgid "Location no longer exists" msgstr "" -#: templates/js/stock.js:1058 +#: templates/js/stock.js:1063 msgid "Purchase order no longer exists" msgstr "" -#: templates/js/stock.js:1077 +#: templates/js/stock.js:1082 msgid "Customer no longer exists" msgstr "" -#: templates/js/stock.js:1095 +#: templates/js/stock.js:1100 msgid "Stock item no longer exists" msgstr "" -#: templates/js/stock.js:1118 +#: templates/js/stock.js:1123 msgid "Added" msgstr "" -#: templates/js/stock.js:1126 +#: templates/js/stock.js:1131 msgid "Removed" msgstr "" -#: templates/js/stock.js:1158 +#: templates/js/stock.js:1163 msgid "No user information" msgstr "" -#: templates/js/stock.js:1170 +#: templates/js/stock.js:1175 msgid "Edit tracking entry" msgstr "" -#: templates/js/stock.js:1171 +#: templates/js/stock.js:1176 msgid "Delete tracking entry" msgstr "" -#: templates/js/stock.js:1295 +#: templates/js/stock.js:1300 msgid "Create New Location" msgstr "" -#: templates/js/stock.js:1336 +#: templates/js/stock.js:1341 msgid "No installed items" msgstr "" -#: templates/js/stock.js:1359 +#: templates/js/stock.js:1364 msgid "Serial" msgstr "" -#: templates/js/stock.js:1387 +#: templates/js/stock.js:1392 msgid "Uninstall Stock Item" msgstr "" diff --git a/InvenTree/locale/it/LC_MESSAGES/django.po b/InvenTree/locale/it/LC_MESSAGES/django.po index 851cd87378..6caf5cb88d 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-06-01 10:07+0000\n" -"PO-Revision-Date: 2021-06-01 10:22\n" +"POT-Creation-Date: 2021-06-16 22:40+0000\n" +"PO-Revision-Date: 2021-06-16 22:40\n" "Last-Translator: \n" "Language-Team: Italian\n" "Language: it_IT\n" @@ -77,7 +77,7 @@ msgstr "" msgid "Duplicate serial: {n}" msgstr "" -#: InvenTree/helpers.py:384 order/models.py:245 order/models.py:355 +#: InvenTree/helpers.py:384 order/models.py:247 order/models.py:357 #: stock/views.py:1795 msgid "Invalid quantity provided" msgstr "" @@ -106,7 +106,7 @@ msgstr "" msgid "Number of unique serial number ({s}) must match quantity ({q})" msgstr "" -#: InvenTree/models.py:59 stock/models.py:1761 +#: InvenTree/models.py:59 stock/models.py:1763 msgid "Attachment" msgstr "" @@ -124,7 +124,7 @@ msgstr "" #: InvenTree/models.py:68 InvenTree/models.py:69 part/models.py:1999 #: report/templates/report/inventree_test_report_base.html:91 -#: templates/js/stock.js:1149 +#: templates/js/stock.js:1154 msgid "User" msgstr "" @@ -136,7 +136,7 @@ msgstr "" #: part/models.py:686 part/models.py:2140 part/templates/part/params.html:27 #: report/models.py:179 templates/InvenTree/search.html:137 #: templates/InvenTree/search.html:289 templates/js/part.js:118 -#: templates/js/part.js:641 templates/js/stock.js:942 +#: templates/js/part.js:641 templates/js/stock.js:947 msgid "Name" msgstr "" @@ -146,7 +146,7 @@ msgstr "" #: company/templates/company/manufacturer_part_base.html:72 #: company/templates/company/supplier_part_base.html:71 #: company/templates/company/supplier_part_detail.html:31 label/models.py:109 -#: order/models.py:101 order/templates/order/purchase_order_detail.html:143 +#: order/models.py:103 order/templates/order/purchase_order_detail.html:147 #: part/models.py:710 part/templates/part/detail.html:54 #: part/templates/part/set_category.html:14 report/models.py:192 #: report/models.py:505 report/models.py:544 @@ -158,8 +158,8 @@ msgstr "" #: templates/js/company.js:56 templates/js/order.js:183 #: templates/js/order.js:280 templates/js/part.js:177 templates/js/part.js:260 #: templates/js/part.js:437 templates/js/part.js:653 templates/js/part.js:721 -#: templates/js/stock.js:552 templates/js/stock.js:954 -#: templates/js/stock.js:999 +#: templates/js/stock.js:552 templates/js/stock.js:959 +#: templates/js/stock.js:1004 msgid "Description" msgstr "" @@ -372,27 +372,27 @@ msgstr "" msgid "Overage must be an integer value or a percentage" msgstr "" -#: InvenTree/views.py:592 +#: InvenTree/views.py:605 msgid "Delete Item" msgstr "" -#: InvenTree/views.py:641 +#: InvenTree/views.py:654 msgid "Check box to confirm item deletion" msgstr "" -#: InvenTree/views.py:656 templates/InvenTree/settings/user.html:18 +#: InvenTree/views.py:669 templates/InvenTree/settings/user.html:18 msgid "Edit User Information" msgstr "" -#: InvenTree/views.py:667 templates/InvenTree/settings/user.html:22 +#: InvenTree/views.py:680 templates/InvenTree/settings/user.html:22 msgid "Set Password" msgstr "" -#: InvenTree/views.py:686 +#: InvenTree/views.py:699 msgid "Password fields must match" msgstr "" -#: InvenTree/views.py:937 templates/navbar.html:95 +#: InvenTree/views.py:950 templates/navbar.html:95 msgid "System Information" msgstr "" @@ -458,17 +458,17 @@ msgstr "" msgid "Target date for build completion. Build will be overdue after this date." msgstr "" -#: build/forms.py:48 build/forms.py:90 build/forms.py:266 build/models.py:1333 +#: build/forms.py:48 build/forms.py:90 build/forms.py:266 build/models.py:1346 #: build/templates/build/allocation_card.html:23 #: build/templates/build/auto_allocate.html:17 #: build/templates/build/build_base.html:133 #: build/templates/build/detail.html:31 common/models.py:699 #: company/forms.py:176 company/templates/company/supplier_part_pricing.html:77 #: order/forms.py:188 order/forms.py:205 order/forms.py:240 order/forms.py:262 -#: order/forms.py:279 order/models.py:614 order/models.py:815 +#: order/forms.py:279 order/models.py:616 order/models.py:817 #: order/templates/order/order_wizard/match_parts.html:29 #: order/templates/order/order_wizard/select_parts.html:32 -#: order/templates/order/purchase_order_detail.html:175 +#: order/templates/order/purchase_order_detail.html:179 #: order/templates/order/sales_order_detail.html:70 #: order/templates/order/sales_order_detail.html:77 #: order/templates/order/sales_order_detail.html:162 @@ -477,7 +477,7 @@ msgstr "" #: part/templates/part/allocation.html:19 #: part/templates/part/allocation.html:53 #: part/templates/part/order_prices.html:175 -#: part/templates/part/part_pricing.html:12 +#: part/templates/part/part_pricing.html:13 #: part/templates/part/sale_prices.html:85 #: report/templates/report/inventree_build_order_base.html:114 #: report/templates/report/inventree_po_report.html:91 @@ -487,8 +487,8 @@ msgstr "" #: stock/templates/stock/item_base.html:255 #: stock/templates/stock/stock_adjust.html:18 templates/js/barcode.js:364 #: templates/js/bom.js:205 templates/js/build.js:486 templates/js/build.js:1024 -#: templates/js/part.js:795 templates/js/stock.js:1134 -#: templates/js/stock.js:1353 +#: templates/js/part.js:795 templates/js/stock.js:1139 +#: templates/js/stock.js:1358 msgid "Quantity" msgstr "" @@ -534,7 +534,7 @@ msgstr "" #: stock/templates/stock/stock_adjust.html:17 #: templates/InvenTree/search.html:260 templates/js/barcode.js:363 #: templates/js/barcode.js:531 templates/js/build.js:500 -#: templates/js/stock.js:639 templates/js/stock.js:1026 +#: templates/js/stock.js:639 templates/js/stock.js:1031 msgid "Location" msgstr "" @@ -543,13 +543,13 @@ msgid "Location of completed parts" msgstr "" #: build/forms.py:215 build/templates/build/build_base.html:138 -#: build/templates/build/detail.html:59 order/models.py:466 +#: build/templates/build/detail.html:59 order/models.py:468 #: order/templates/order/receive_parts.html:24 #: stock/templates/stock/item_base.html:403 templates/InvenTree/search.html:252 #: templates/js/barcode.js:119 templates/js/build.js:780 #: templates/js/order.js:187 templates/js/order.js:285 -#: templates/js/stock.js:626 templates/js/stock.js:1103 -#: templates/js/stock.js:1369 +#: templates/js/stock.js:626 templates/js/stock.js:1108 +#: templates/js/stock.js:1374 msgid "Status" msgstr "" @@ -602,8 +602,8 @@ msgstr "" msgid "Build Order Reference" msgstr "" -#: build/models.py:128 order/models.py:99 order/models.py:616 -#: order/templates/order/purchase_order_detail.html:170 +#: build/models.py:128 order/models.py:101 order/models.py:618 +#: order/templates/order/purchase_order_detail.html:174 #: order/templates/order/sales_order_detail.html:225 part/models.py:2279 #: report/templates/report/inventree_po_report.html:92 #: report/templates/report/inventree_so_report.html:92 templates/js/bom.js:197 @@ -627,15 +627,15 @@ msgstr "" #: build/models.py:153 build/templates/build/auto_allocate.html:16 #: build/templates/build/build_base.html:128 #: build/templates/build/detail.html:26 company/models.py:622 -#: order/models.py:658 order/models.py:691 +#: order/models.py:660 order/models.py:693 #: order/templates/order/order_wizard/select_parts.html:30 -#: order/templates/order/purchase_order_detail.html:131 +#: order/templates/order/purchase_order_detail.html:132 #: order/templates/order/receive_parts.html:19 #: order/templates/order/sales_order_detail.html:213 part/models.py:321 #: part/models.py:1967 part/models.py:1979 part/models.py:1997 #: part/models.py:2072 part/models.py:2168 part/models.py:2254 #: part/templates/part/part_app_base.html:8 -#: part/templates/part/part_pricing.html:8 part/templates/part/related.html:29 +#: part/templates/part/part_pricing.html:9 part/templates/part/related.html:29 #: part/templates/part/set_category.html:13 #: report/templates/report/inventree_build_order_base.html:110 #: report/templates/report/inventree_po_report.html:90 @@ -646,7 +646,7 @@ msgstr "" #: templates/js/build.js:991 templates/js/company.js:140 #: templates/js/company.js:238 templates/js/part.js:241 #: templates/js/part.js:404 templates/js/stock.js:521 -#: templates/js/stock.js:1341 +#: templates/js/stock.js:1346 msgid "Part" msgstr "" @@ -702,7 +702,7 @@ msgstr "" msgid "Build status code" msgstr "" -#: build/models.py:213 stock/models.py:464 +#: build/models.py:213 stock/models.py:466 msgid "Batch Code" msgstr "" @@ -710,16 +710,16 @@ msgstr "" msgid "Batch code for this build output" msgstr "" -#: build/models.py:220 order/models.py:105 part/models.py:882 +#: build/models.py:220 order/models.py:107 part/models.py:882 #: part/templates/part/detail.html:126 templates/js/order.js:293 msgid "Creation Date" msgstr "" -#: build/models.py:224 order/models.py:472 +#: build/models.py:224 order/models.py:474 msgid "Target completion date" msgstr "" -#: build/models.py:228 order/models.py:218 templates/js/build.js:798 +#: build/models.py:228 order/models.py:220 templates/js/build.js:798 msgid "Completion Date" msgstr "" @@ -736,7 +736,7 @@ msgid "User who issued this build order" msgstr "" #: build/models.py:251 build/templates/build/build_base.html:184 -#: build/templates/build/detail.html:105 order/models.py:119 +#: build/templates/build/detail.html:105 order/models.py:121 #: order/templates/order/order_base.html:138 #: order/templates/order/sales_order_base.html:140 part/models.py:886 #: report/templates/report/inventree_build_order_base.html:159 @@ -753,30 +753,30 @@ msgstr "" #: company/templates/company/supplier_part_base.html:78 #: company/templates/company/supplier_part_detail.html:28 #: part/templates/part/detail.html:83 part/templates/part/part_base.html:94 -#: stock/models.py:458 stock/templates/stock/item_base.html:345 +#: stock/models.py:460 stock/templates/stock/item_base.html:345 msgid "External Link" msgstr "" -#: build/models.py:258 part/models.py:744 stock/models.py:460 +#: build/models.py:258 part/models.py:744 stock/models.py:462 msgid "Link to external URL" msgstr "" #: build/models.py:262 build/templates/build/navbar.html:53 #: company/models.py:132 company/models.py:498 #: company/templates/company/navbar.html:70 -#: company/templates/company/navbar.html:73 order/models.py:123 -#: order/models.py:618 order/templates/order/po_navbar.html:29 +#: company/templates/company/navbar.html:73 order/models.py:125 +#: order/models.py:620 order/templates/order/po_navbar.html:29 #: order/templates/order/po_navbar.html:32 -#: order/templates/order/purchase_order_detail.html:209 +#: order/templates/order/purchase_order_detail.html:239 #: order/templates/order/sales_order_detail.html:278 #: order/templates/order/so_navbar.html:33 #: order/templates/order/so_navbar.html:36 part/models.py:871 #: part/templates/part/navbar.html:134 #: report/templates/report/inventree_build_order_base.html:173 #: stock/forms.py:173 stock/forms.py:317 stock/forms.py:349 stock/forms.py:377 -#: stock/models.py:530 stock/models.py:1665 stock/models.py:1767 +#: stock/models.py:532 stock/models.py:1667 stock/models.py:1769 #: stock/templates/stock/navbar.html:57 templates/js/barcode.js:37 -#: templates/js/bom.js:356 templates/js/stock.js:141 templates/js/stock.js:669 +#: templates/js/bom.js:356 templates/js/stock.js:141 templates/js/stock.js:674 msgid "Notes" msgstr "" @@ -809,11 +809,11 @@ msgstr "" msgid "Allocated quantity ({n}) must not exceed available quantity ({q})" msgstr "" -#: build/models.py:1188 order/models.py:789 +#: build/models.py:1188 order/models.py:791 msgid "StockItem is over-allocated" msgstr "" -#: build/models.py:1192 order/models.py:792 +#: build/models.py:1192 order/models.py:794 msgid "Allocation quantity must be greater than zero" msgstr "" @@ -826,17 +826,17 @@ msgstr "" msgid "Selected stock item not found in BOM for part '{p}'" msgstr "" -#: build/models.py:1303 stock/templates/stock/item_base.html:317 +#: build/models.py:1316 stock/templates/stock/item_base.html:317 #: templates/InvenTree/search.html:183 templates/js/build.js:724 #: templates/navbar.html:29 msgid "Build" msgstr "" -#: build/models.py:1304 +#: build/models.py:1317 msgid "Build to allocate parts" msgstr "" -#: build/models.py:1320 part/templates/part/allocation.html:18 +#: build/models.py:1333 part/templates/part/allocation.html:18 #: part/templates/part/allocation.html:24 #: part/templates/part/allocation.html:31 #: part/templates/part/allocation.html:49 @@ -844,23 +844,23 @@ msgstr "" #: stock/templates/stock/item_base.html:31 #: stock/templates/stock/item_base.html:339 #: stock/templates/stock/stock_adjust.html:16 templates/js/build.js:841 -#: templates/js/stock.js:1085 +#: templates/js/stock.js:1090 msgid "Stock Item" msgstr "" -#: build/models.py:1321 +#: build/models.py:1334 msgid "Source stock item" msgstr "" -#: build/models.py:1334 +#: build/models.py:1347 msgid "Stock quantity to allocate to build" msgstr "" -#: build/models.py:1342 +#: build/models.py:1355 msgid "Install into" msgstr "" -#: build/models.py:1343 +#: build/models.py:1356 msgid "Destination stock item" msgstr "" @@ -916,7 +916,7 @@ msgstr "" #: order/templates/order/sales_order_detail.html:75 #: order/templates/order/sales_order_detail.html:160 #: report/templates/report/inventree_test_report_base.html:75 -#: stock/models.py:452 stock/templates/stock/item_base.html:249 +#: stock/models.py:454 stock/templates/stock/item_base.html:249 #: templates/js/build.js:484 msgid "Serial Number" msgstr "" @@ -1037,7 +1037,7 @@ msgid "Progress" msgstr "" #: build/templates/build/build_base.html:170 -#: build/templates/build/detail.html:84 order/models.py:689 +#: build/templates/build/detail.html:84 order/models.py:691 #: order/templates/order/sales_order_base.html:9 #: order/templates/order/sales_order_base.html:35 #: order/templates/order/sales_order_ship.html:25 @@ -1195,7 +1195,7 @@ msgstr "" #: build/templates/build/detail.html:70 #: stock/templates/stock/item_base.html:303 templates/js/stock.js:634 -#: templates/js/stock.js:1376 templates/js/table_filters.js:112 +#: templates/js/stock.js:1381 templates/js/table_filters.js:112 #: templates/js/table_filters.js:206 msgid "Batch" msgstr "" @@ -1250,7 +1250,7 @@ msgstr "" #: company/templates/company/navbar.html:15 #: order/templates/order/po_navbar.html:14 #: order/templates/order/so_navbar.html:15 part/templates/part/navbar.html:15 -#: templates/js/stock.js:1014 +#: templates/js/stock.js:1019 msgid "Details" msgstr "" @@ -1898,7 +1898,7 @@ msgstr "" #: company/templates/company/manufacturer_part_detail.html:26 #: company/templates/company/supplier_part_base.html:102 #: company/templates/company/supplier_part_detail.html:35 -#: order/templates/order/purchase_order_detail.html:158 part/bom.py:171 +#: order/templates/order/purchase_order_detail.html:162 part/bom.py:171 #: part/bom.py:242 templates/js/company.js:181 templates/js/company.js:307 msgid "MPN" msgstr "" @@ -1953,7 +1953,7 @@ msgid "Point of contact" msgstr "" #: company/models.py:121 company/models.py:333 company/models.py:485 -#: order/models.py:103 part/models.py:743 +#: order/models.py:105 part/models.py:743 #: report/templates/report/inventree_build_order_base.html:165 #: templates/js/company.js:188 templates/js/company.js:318 #: templates/js/part.js:497 @@ -1992,7 +1992,7 @@ msgstr "" msgid "Does this company manufacture parts?" msgstr "" -#: company/models.py:305 company/models.py:456 stock/models.py:405 +#: company/models.py:305 company/models.py:456 stock/models.py:407 #: stock/templates/stock/item_base.html:235 msgid "Base Part" msgstr "" @@ -2022,7 +2022,7 @@ msgstr "" #: company/models.py:466 company/templates/company/detail.html:62 #: company/templates/company/supplier_part_base.html:84 -#: company/templates/company/supplier_part_detail.html:25 order/models.py:190 +#: company/templates/company/supplier_part_detail.html:25 order/models.py:192 #: order/templates/order/order_base.html:92 #: order/templates/order/order_wizard/select_pos.html:30 part/bom.py:175 #: part/bom.py:286 stock/templates/stock/item_base.html:364 @@ -2037,7 +2037,7 @@ msgstr "" #: company/models.py:472 company/templates/company/supplier_part_base.html:88 #: company/templates/company/supplier_part_detail.html:26 -#: order/templates/order/purchase_order_detail.html:149 part/bom.py:176 +#: order/templates/order/purchase_order_detail.html:153 part/bom.py:176 #: part/bom.py:287 msgid "SKU" msgstr "" @@ -2081,8 +2081,8 @@ msgid "Minimum charge (e.g. stocking fee)" msgstr "" #: company/models.py:503 company/templates/company/supplier_part_base.html:109 -#: stock/models.py:429 stock/templates/stock/item_base.html:310 -#: templates/js/stock.js:665 +#: stock/models.py:431 stock/templates/stock/item_base.html:310 +#: templates/js/stock.js:670 msgid "Packaging" msgstr "" @@ -2165,11 +2165,11 @@ msgstr "" msgid "Uses default currency" msgstr "" -#: company/templates/company/detail.html:67 order/models.py:461 -#: order/templates/order/sales_order_base.html:94 stock/models.py:447 -#: stock/models.py:448 stock/templates/stock/item_base.html:262 +#: company/templates/company/detail.html:67 order/models.py:463 +#: order/templates/order/sales_order_base.html:94 stock/models.py:449 +#: stock/models.py:450 stock/templates/stock/item_base.html:262 #: templates/js/company.js:40 templates/js/order.js:267 -#: templates/js/stock.js:1067 +#: templates/js/stock.js:1072 msgid "Customer" msgstr "" @@ -2215,7 +2215,7 @@ msgstr "" #: company/templates/company/detail_manufacturer_part.html:66 #: company/templates/company/detail_supplier_part.html:66 #: part/templates/part/bom.html:159 part/templates/part/category.html:118 -#: templates/js/stock.js:1282 +#: templates/js/stock.js:1287 msgid "New Part" msgstr "" @@ -2262,7 +2262,7 @@ msgstr "" #: company/templates/company/detail_supplier_part.html:22 #: company/templates/company/manufacturer_part_suppliers.html:17 #: order/templates/order/purchase_order_detail.html:49 -#: part/templates/part/supplier.html:17 templates/js/stock.js:1288 +#: part/templates/part/supplier.html:17 templates/js/stock.js:1293 msgid "New Supplier Part" msgstr "" @@ -2385,7 +2385,7 @@ msgstr "" #: stock/templates/stock/location.html:136 #: stock/templates/stock/location_navbar.html:22 #: stock/templates/stock/location_navbar.html:29 -#: templates/InvenTree/search.html:198 templates/js/stock.js:966 +#: templates/InvenTree/search.html:198 templates/js/stock.js:971 #: templates/stats.html:93 templates/stats.html:102 users/models.py:42 msgid "Stock Items" msgstr "" @@ -2441,7 +2441,7 @@ msgid "New Sales Order" msgstr "" #: company/templates/company/supplier_part_base.html:7 -#: company/templates/company/supplier_part_base.html:20 stock/models.py:414 +#: company/templates/company/supplier_part_base.html:20 stock/models.py:416 #: stock/templates/stock/item_base.html:369 templates/js/company.js:279 msgid "Supplier Part" msgstr "" @@ -2598,7 +2598,7 @@ msgstr "" msgid "Edit Supplier Part" msgstr "" -#: company/views.py:578 templates/js/stock.js:1289 +#: company/views.py:578 templates/js/stock.js:1294 msgid "Create new Supplier Part" msgstr "" @@ -2712,7 +2712,7 @@ msgstr "" msgid "Enter sales order number" msgstr "" -#: order/forms.py:145 order/models.py:473 +#: order/forms.py:145 order/models.py:475 msgid "Target date for order completion. Order will be overdue after this date." msgstr "" @@ -2724,209 +2724,209 @@ msgstr "" msgid "Enter quantity of stock items" msgstr "" -#: order/models.py:99 +#: order/models.py:101 msgid "Order reference" msgstr "" -#: order/models.py:101 +#: order/models.py:103 msgid "Order description" msgstr "" -#: order/models.py:103 +#: order/models.py:105 msgid "Link to external page" msgstr "" -#: order/models.py:111 part/templates/part/detail.html:132 +#: order/models.py:113 part/templates/part/detail.html:132 msgid "Created By" msgstr "" -#: order/models.py:118 +#: order/models.py:120 msgid "User or group responsible for this order" msgstr "" -#: order/models.py:123 +#: order/models.py:125 msgid "Order notes" msgstr "" -#: order/models.py:182 order/models.py:466 +#: order/models.py:184 order/models.py:468 msgid "Purchase order status" msgstr "" -#: order/models.py:191 +#: order/models.py:193 msgid "Company from which the items are being ordered" msgstr "" -#: order/models.py:194 order/templates/order/order_base.html:98 +#: order/models.py:196 order/templates/order/order_base.html:98 #: templates/js/order.js:179 msgid "Supplier Reference" msgstr "" -#: order/models.py:194 +#: order/models.py:196 msgid "Supplier order reference code" msgstr "" -#: order/models.py:201 +#: order/models.py:203 msgid "received by" msgstr "" -#: order/models.py:206 +#: order/models.py:208 msgid "Issue Date" msgstr "" -#: order/models.py:207 +#: order/models.py:209 msgid "Date order was issued" msgstr "" -#: order/models.py:212 +#: order/models.py:214 msgid "Target Delivery Date" msgstr "" -#: order/models.py:213 +#: order/models.py:215 msgid "Expected date for order delivery. Order will be overdue after this date." msgstr "" -#: order/models.py:219 +#: order/models.py:221 msgid "Date order was completed" msgstr "" -#: order/models.py:243 part/views.py:1675 stock/models.py:302 -#: stock/models.py:1018 +#: order/models.py:245 part/views.py:1675 stock/models.py:304 +#: stock/models.py:1020 msgid "Quantity must be greater than zero" msgstr "" -#: order/models.py:248 +#: order/models.py:250 msgid "Part supplier must match PO supplier" msgstr "" -#: order/models.py:346 +#: order/models.py:348 msgid "Lines can only be received against an order marked as 'Placed'" msgstr "" -#: order/models.py:350 +#: order/models.py:352 msgid "Quantity must be an integer" msgstr "" -#: order/models.py:352 +#: order/models.py:354 msgid "Quantity must be a positive number" msgstr "" -#: order/models.py:462 +#: order/models.py:464 msgid "Company to which the items are being sold" msgstr "" -#: order/models.py:468 +#: order/models.py:470 msgid "Customer Reference " msgstr "" -#: order/models.py:468 +#: order/models.py:470 msgid "Customer order reference code" msgstr "" -#: order/models.py:476 templates/js/order.js:303 +#: order/models.py:478 templates/js/order.js:303 msgid "Shipment Date" msgstr "" -#: order/models.py:483 +#: order/models.py:485 msgid "shipped by" msgstr "" -#: order/models.py:527 +#: order/models.py:529 msgid "SalesOrder cannot be shipped as it is not currently pending" msgstr "" -#: order/models.py:614 +#: order/models.py:616 msgid "Item quantity" msgstr "" -#: order/models.py:616 +#: order/models.py:618 msgid "Line item reference" msgstr "" -#: order/models.py:618 +#: order/models.py:620 msgid "Line item notes" msgstr "" -#: order/models.py:644 order/models.py:689 +#: order/models.py:646 order/models.py:691 #: part/templates/part/allocation.html:17 #: part/templates/part/allocation.html:45 msgid "Order" msgstr "" -#: order/models.py:645 order/templates/order/order_base.html:9 +#: order/models.py:647 order/templates/order/order_base.html:9 #: order/templates/order/order_base.html:24 #: report/templates/report/inventree_po_report.html:77 #: stock/templates/stock/item_base.html:324 templates/js/order.js:148 -#: templates/js/stock.js:1048 +#: templates/js/stock.js:1053 msgid "Purchase Order" msgstr "" -#: order/models.py:659 +#: order/models.py:661 msgid "Supplier part" msgstr "" -#: order/models.py:662 order/templates/order/order_base.html:131 -#: order/templates/order/purchase_order_detail.html:189 +#: order/models.py:664 order/templates/order/order_base.html:131 +#: order/templates/order/purchase_order_detail.html:219 #: order/templates/order/receive_parts.html:22 #: order/templates/order/sales_order_base.html:133 msgid "Received" msgstr "" -#: order/models.py:662 +#: order/models.py:664 msgid "Number of items received" msgstr "" -#: order/models.py:669 stock/models.py:540 -#: stock/templates/stock/item_base.html:331 +#: order/models.py:671 stock/models.py:542 +#: stock/templates/stock/item_base.html:331 templates/js/stock.js:665 msgid "Purchase Price" msgstr "" -#: order/models.py:670 +#: order/models.py:672 msgid "Unit purchase price" msgstr "" -#: order/models.py:698 part/templates/part/navbar.html:101 +#: order/models.py:700 part/templates/part/navbar.html:101 #: part/templates/part/order_prices.html:82 -#: part/templates/part/part_pricing.html:77 +#: part/templates/part/part_pricing.html:78 msgid "Sale Price" msgstr "" -#: order/models.py:699 +#: order/models.py:701 msgid "Unit sale price" msgstr "" -#: order/models.py:774 order/models.py:776 +#: order/models.py:776 order/models.py:778 msgid "Stock item has not been assigned" msgstr "" -#: order/models.py:780 +#: order/models.py:782 msgid "Cannot allocate stock item to a line with a different part" msgstr "" -#: order/models.py:782 +#: order/models.py:784 msgid "Cannot allocate stock to a line without a part" msgstr "" -#: order/models.py:785 +#: order/models.py:787 msgid "Allocation quantity cannot exceed stock quantity" msgstr "" -#: order/models.py:795 +#: order/models.py:797 msgid "Quantity must be 1 for serialized stock item" msgstr "" -#: order/models.py:800 +#: order/models.py:802 msgid "Line" msgstr "" -#: order/models.py:811 +#: order/models.py:813 msgid "Item" msgstr "" -#: order/models.py:812 +#: order/models.py:814 msgid "Select stock item to allocate" msgstr "" -#: order/models.py:815 +#: order/models.py:817 msgid "Enter stock allocation quantity" msgstr "" @@ -2977,8 +2977,8 @@ msgstr "" #: order/templates/order/order_base.html:180 #: order/templates/order/purchase_order_detail.html:100 #: part/templates/part/category.html:208 part/templates/part/category.html:250 -#: stock/templates/stock/location.html:191 templates/js/stock.js:706 -#: templates/js/stock.js:1294 +#: stock/templates/stock/location.html:191 templates/js/stock.js:711 +#: templates/js/stock.js:1299 msgid "New Location" msgstr "" @@ -3162,21 +3162,25 @@ msgstr "" msgid "No line items found" msgstr "" -#: order/templates/order/purchase_order_detail.html:180 +#: order/templates/order/purchase_order_detail.html:191 #: order/templates/order/sales_order_detail.html:235 msgid "Unit Price" msgstr "" -#: order/templates/order/purchase_order_detail.html:221 +#: order/templates/order/purchase_order_detail.html:198 +msgid "Total price" +msgstr "" + +#: order/templates/order/purchase_order_detail.html:251 #: order/templates/order/sales_order_detail.html:328 msgid "Edit line item" msgstr "" -#: order/templates/order/purchase_order_detail.html:222 +#: order/templates/order/purchase_order_detail.html:252 msgid "Delete line item" msgstr "" -#: order/templates/order/purchase_order_detail.html:227 +#: order/templates/order/purchase_order_detail.html:257 msgid "Receive line item" msgstr "" @@ -4064,7 +4068,7 @@ msgid "Stock items for variant parts can be used for this BOM item" msgstr "" #: part/models.py:2371 part/views.py:1681 part/views.py:1733 -#: stock/models.py:292 +#: stock/models.py:294 msgid "Quantity must be integer value for trackable parts" msgstr "" @@ -4173,7 +4177,7 @@ msgid "All selected BOM items will be deleted" msgstr "" #: part/templates/part/bom.html:160 part/views.py:585 -#: templates/js/stock.js:1283 +#: templates/js/stock.js:1288 msgid "Create New Part" msgstr "" @@ -4314,7 +4318,7 @@ msgid "View grid display" msgstr "" #: part/templates/part/category.html:209 -#: stock/templates/stock/location.html:192 templates/js/stock.js:707 +#: stock/templates/stock/location.html:192 templates/js/stock.js:712 msgid "Create new location" msgstr "" @@ -4408,7 +4412,7 @@ msgstr "" msgid "Part Details" msgstr "" -#: part/templates/part/detail.html:42 +#: part/templates/part/detail.html:42 part/templates/part/part_base.html:188 msgid "Latest Serial Number" msgstr "" @@ -4551,51 +4555,51 @@ msgid "Pricing ranges" msgstr "" #: part/templates/part/order_prices.html:26 -#: part/templates/part/part_pricing.html:18 +#: part/templates/part/part_pricing.html:19 msgid "Supplier Pricing" msgstr "" #: part/templates/part/order_prices.html:27 #: part/templates/part/order_prices.html:52 #: part/templates/part/order_prices.html:83 -#: part/templates/part/part_pricing.html:22 -#: part/templates/part/part_pricing.html:48 -#: part/templates/part/part_pricing.html:80 +#: part/templates/part/part_pricing.html:23 +#: part/templates/part/part_pricing.html:49 +#: part/templates/part/part_pricing.html:81 msgid "Unit Cost" msgstr "" #: part/templates/part/order_prices.html:34 #: part/templates/part/order_prices.html:59 #: part/templates/part/order_prices.html:88 -#: part/templates/part/part_pricing.html:28 -#: part/templates/part/part_pricing.html:54 -#: part/templates/part/part_pricing.html:84 +#: part/templates/part/part_pricing.html:29 +#: part/templates/part/part_pricing.html:55 +#: part/templates/part/part_pricing.html:85 msgid "Total Cost" msgstr "" #: part/templates/part/order_prices.html:42 -#: part/templates/part/part_pricing.html:36 +#: part/templates/part/part_pricing.html:37 msgid "No supplier pricing available" msgstr "" #: part/templates/part/order_prices.html:51 #: part/templates/part/order_prices.html:103 -#: part/templates/part/part_pricing.html:44 +#: part/templates/part/part_pricing.html:45 msgid "BOM Pricing" msgstr "" #: part/templates/part/order_prices.html:67 -#: part/templates/part/part_pricing.html:62 +#: part/templates/part/part_pricing.html:63 msgid "Note: BOM pricing is incomplete for this part" msgstr "" #: part/templates/part/order_prices.html:74 -#: part/templates/part/part_pricing.html:69 +#: part/templates/part/part_pricing.html:70 msgid "No BOM pricing available" msgstr "" #: part/templates/part/order_prices.html:97 -#: part/templates/part/part_pricing.html:93 +#: part/templates/part/part_pricing.html:94 msgid "No pricing information is available for this part." msgstr "" @@ -4634,7 +4638,7 @@ msgstr "" #: part/templates/part/params.html:28 #: report/templates/report/inventree_test_report_base.html:90 -#: stock/models.py:1754 templates/InvenTree/settings/header.html:8 +#: stock/models.py:1756 templates/InvenTree/settings/header.html:8 #: templates/js/stock.js:137 msgid "Value" msgstr "" @@ -4740,7 +4744,7 @@ msgstr "" msgid "Building" msgstr "" -#: part/templates/part/part_base.html:257 +#: part/templates/part/part_base.html:265 msgid "Calculate" msgstr "" @@ -4849,7 +4853,7 @@ msgstr "" msgid "New Variant" msgstr "" -#: part/templatetags/inventree_extras.py:97 +#: part/templatetags/inventree_extras.py:98 msgid "Unknown database" msgstr "" @@ -5160,17 +5164,17 @@ msgid "Test Results" msgstr "" #: report/templates/report/inventree_test_report_base.html:88 -#: stock/models.py:1742 +#: stock/models.py:1744 msgid "Test" msgstr "" #: report/templates/report/inventree_test_report_base.html:89 -#: stock/models.py:1748 +#: stock/models.py:1750 msgid "Result" msgstr "" #: report/templates/report/inventree_test_report_base.html:92 -#: templates/js/order.js:195 templates/js/stock.js:982 +#: templates/js/order.js:195 templates/js/stock.js:987 msgid "Date" msgstr "" @@ -5192,7 +5196,7 @@ msgstr "" msgid "Moved {n} parts to {loc}" msgstr "" -#: stock/forms.py:114 stock/forms.py:418 stock/models.py:507 +#: stock/forms.py:114 stock/forms.py:418 stock/models.py:509 #: stock/templates/stock/item_base.html:376 templates/js/stock.js:654 msgid "Expiry Date" msgstr "" @@ -5282,187 +5286,187 @@ msgstr "" msgid "Set the destination as the default location for selected parts" msgstr "" -#: stock/models.py:54 stock/models.py:545 +#: stock/models.py:56 stock/models.py:547 msgid "Owner" msgstr "" -#: stock/models.py:55 stock/models.py:546 +#: stock/models.py:57 stock/models.py:548 msgid "Select Owner" msgstr "" -#: stock/models.py:273 +#: stock/models.py:275 msgid "StockItem with this serial number already exists" msgstr "" -#: stock/models.py:309 +#: stock/models.py:311 #, python-brace-format msgid "Part type ('{pf}') must be {pe}" msgstr "" -#: stock/models.py:319 stock/models.py:328 +#: stock/models.py:321 stock/models.py:330 msgid "Quantity must be 1 for item with a serial number" msgstr "" -#: stock/models.py:320 +#: stock/models.py:322 msgid "Serial number cannot be set if quantity greater than 1" msgstr "" -#: stock/models.py:342 +#: stock/models.py:344 msgid "Item cannot belong to itself" msgstr "" -#: stock/models.py:348 +#: stock/models.py:350 msgid "Item must have a build reference if is_building=True" msgstr "" -#: stock/models.py:355 +#: stock/models.py:357 msgid "Build reference does not point to the same part object" msgstr "" -#: stock/models.py:397 +#: stock/models.py:399 msgid "Parent Stock Item" msgstr "" -#: stock/models.py:406 +#: stock/models.py:408 msgid "Base part" msgstr "" -#: stock/models.py:415 +#: stock/models.py:417 msgid "Select a matching supplier part for this stock item" msgstr "" -#: stock/models.py:420 stock/templates/stock/stock_app_base.html:8 +#: stock/models.py:422 stock/templates/stock/stock_app_base.html:8 msgid "Stock Location" msgstr "" -#: stock/models.py:423 +#: stock/models.py:425 msgid "Where is this stock item located?" msgstr "" -#: stock/models.py:430 +#: stock/models.py:432 msgid "Packaging this stock item is stored in" msgstr "" -#: stock/models.py:435 stock/templates/stock/item_base.html:270 +#: stock/models.py:437 stock/templates/stock/item_base.html:270 msgid "Installed In" msgstr "" -#: stock/models.py:438 +#: stock/models.py:440 msgid "Is this item installed in another item?" msgstr "" -#: stock/models.py:454 +#: stock/models.py:456 msgid "Serial number for this item" msgstr "" -#: stock/models.py:466 +#: stock/models.py:468 msgid "Batch code for this stock item" msgstr "" -#: stock/models.py:470 +#: stock/models.py:472 msgid "Stock Quantity" msgstr "" -#: stock/models.py:479 +#: stock/models.py:481 msgid "Source Build" msgstr "" -#: stock/models.py:481 +#: stock/models.py:483 msgid "Build for this stock item" msgstr "" -#: stock/models.py:492 +#: stock/models.py:494 msgid "Source Purchase Order" msgstr "" -#: stock/models.py:495 +#: stock/models.py:497 msgid "Purchase order for this stock item" msgstr "" -#: stock/models.py:501 +#: stock/models.py:503 msgid "Destination Sales Order" msgstr "" -#: stock/models.py:508 +#: stock/models.py:510 msgid "Expiry date for stock item. Stock will be considered expired after this date" msgstr "" -#: stock/models.py:521 +#: stock/models.py:523 msgid "Delete on deplete" msgstr "" -#: stock/models.py:521 +#: stock/models.py:523 msgid "Delete this Stock Item when stock is depleted" msgstr "" -#: stock/models.py:531 stock/templates/stock/item_notes.html:13 +#: stock/models.py:533 stock/templates/stock/item_notes.html:13 #: stock/templates/stock/navbar.html:54 msgid "Stock Item Notes" msgstr "" -#: stock/models.py:541 +#: stock/models.py:543 msgid "Single unit purchase price at time of purchase" msgstr "" -#: stock/models.py:1009 +#: stock/models.py:1011 msgid "Part is not set as trackable" msgstr "" -#: stock/models.py:1015 +#: stock/models.py:1017 msgid "Quantity must be integer" msgstr "" -#: stock/models.py:1021 +#: stock/models.py:1023 #, python-brace-format msgid "Quantity must not exceed available stock quantity ({n})" msgstr "" -#: stock/models.py:1024 +#: stock/models.py:1026 msgid "Serial numbers must be a list of integers" msgstr "" -#: stock/models.py:1027 +#: stock/models.py:1029 msgid "Quantity does not match serial numbers" msgstr "" -#: stock/models.py:1034 +#: stock/models.py:1036 #, python-brace-format msgid "Serial numbers already exist: {exists}" msgstr "" -#: stock/models.py:1192 +#: stock/models.py:1194 msgid "StockItem cannot be moved as it is not in stock" msgstr "" -#: stock/models.py:1666 +#: stock/models.py:1668 msgid "Entry notes" msgstr "" -#: stock/models.py:1719 +#: stock/models.py:1721 msgid "Value must be provided for this test" msgstr "" -#: stock/models.py:1725 +#: stock/models.py:1727 msgid "Attachment must be uploaded for this test" msgstr "" -#: stock/models.py:1743 +#: stock/models.py:1745 msgid "Test name" msgstr "" -#: stock/models.py:1749 templates/js/table_filters.js:217 +#: stock/models.py:1751 templates/js/table_filters.js:217 msgid "Test result" msgstr "" -#: stock/models.py:1755 +#: stock/models.py:1757 msgid "Test output value" msgstr "" -#: stock/models.py:1762 +#: stock/models.py:1764 msgid "Test result attachment" msgstr "" -#: stock/models.py:1768 +#: stock/models.py:1770 msgid "Test notes" msgstr "" @@ -6580,7 +6584,7 @@ msgid "No builds matching query" msgstr "" #: templates/js/build.js:718 templates/js/part.js:390 templates/js/part.js:634 -#: templates/js/stock.js:509 templates/js/stock.js:936 +#: templates/js/stock.js:509 templates/js/stock.js:941 msgid "Select" msgstr "" @@ -6831,7 +6835,7 @@ msgstr "" msgid "Low stock" msgstr "" -#: templates/js/part.js:659 templates/js/stock.js:960 +#: templates/js/part.js:659 templates/js/stock.js:965 msgid "Path" msgstr "" @@ -7029,75 +7033,75 @@ msgstr "" msgid "Stocktake" msgstr "" -#: templates/js/stock.js:823 +#: templates/js/stock.js:828 msgid "Stock Status" msgstr "" -#: templates/js/stock.js:838 +#: templates/js/stock.js:843 msgid "Set Stock Status" msgstr "" -#: templates/js/stock.js:852 +#: templates/js/stock.js:857 msgid "Select Status Code" msgstr "" -#: templates/js/stock.js:853 +#: templates/js/stock.js:858 msgid "Status code must be selected" msgstr "" -#: templates/js/stock.js:992 +#: templates/js/stock.js:997 msgid "Invalid date" msgstr "" -#: templates/js/stock.js:1039 +#: templates/js/stock.js:1044 msgid "Location no longer exists" msgstr "" -#: templates/js/stock.js:1058 +#: templates/js/stock.js:1063 msgid "Purchase order no longer exists" msgstr "" -#: templates/js/stock.js:1077 +#: templates/js/stock.js:1082 msgid "Customer no longer exists" msgstr "" -#: templates/js/stock.js:1095 +#: templates/js/stock.js:1100 msgid "Stock item no longer exists" msgstr "" -#: templates/js/stock.js:1118 +#: templates/js/stock.js:1123 msgid "Added" msgstr "" -#: templates/js/stock.js:1126 +#: templates/js/stock.js:1131 msgid "Removed" msgstr "" -#: templates/js/stock.js:1158 +#: templates/js/stock.js:1163 msgid "No user information" msgstr "" -#: templates/js/stock.js:1170 +#: templates/js/stock.js:1175 msgid "Edit tracking entry" msgstr "" -#: templates/js/stock.js:1171 +#: templates/js/stock.js:1176 msgid "Delete tracking entry" msgstr "" -#: templates/js/stock.js:1295 +#: templates/js/stock.js:1300 msgid "Create New Location" msgstr "" -#: templates/js/stock.js:1336 +#: templates/js/stock.js:1341 msgid "No installed items" msgstr "" -#: templates/js/stock.js:1359 +#: templates/js/stock.js:1364 msgid "Serial" msgstr "" -#: templates/js/stock.js:1387 +#: templates/js/stock.js:1392 msgid "Uninstall Stock Item" msgstr "" diff --git a/InvenTree/locale/ja/LC_MESSAGES/django.po b/InvenTree/locale/ja/LC_MESSAGES/django.po index 5febd2102f..f5afd1b0fe 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-06-01 10:07+0000\n" -"PO-Revision-Date: 2021-06-01 10:22\n" +"POT-Creation-Date: 2021-06-16 22:40+0000\n" +"PO-Revision-Date: 2021-06-16 22:41\n" "Last-Translator: \n" "Language-Team: Japanese\n" "Language: ja_JP\n" @@ -77,7 +77,7 @@ msgstr "" msgid "Duplicate serial: {n}" msgstr "" -#: InvenTree/helpers.py:384 order/models.py:245 order/models.py:355 +#: InvenTree/helpers.py:384 order/models.py:247 order/models.py:357 #: stock/views.py:1795 msgid "Invalid quantity provided" msgstr "" @@ -106,7 +106,7 @@ msgstr "" msgid "Number of unique serial number ({s}) must match quantity ({q})" msgstr "" -#: InvenTree/models.py:59 stock/models.py:1761 +#: InvenTree/models.py:59 stock/models.py:1763 msgid "Attachment" msgstr "" @@ -124,7 +124,7 @@ msgstr "" #: InvenTree/models.py:68 InvenTree/models.py:69 part/models.py:1999 #: report/templates/report/inventree_test_report_base.html:91 -#: templates/js/stock.js:1149 +#: templates/js/stock.js:1154 msgid "User" msgstr "" @@ -136,7 +136,7 @@ msgstr "" #: part/models.py:686 part/models.py:2140 part/templates/part/params.html:27 #: report/models.py:179 templates/InvenTree/search.html:137 #: templates/InvenTree/search.html:289 templates/js/part.js:118 -#: templates/js/part.js:641 templates/js/stock.js:942 +#: templates/js/part.js:641 templates/js/stock.js:947 msgid "Name" msgstr "" @@ -146,7 +146,7 @@ msgstr "" #: company/templates/company/manufacturer_part_base.html:72 #: company/templates/company/supplier_part_base.html:71 #: company/templates/company/supplier_part_detail.html:31 label/models.py:109 -#: order/models.py:101 order/templates/order/purchase_order_detail.html:143 +#: order/models.py:103 order/templates/order/purchase_order_detail.html:147 #: part/models.py:710 part/templates/part/detail.html:54 #: part/templates/part/set_category.html:14 report/models.py:192 #: report/models.py:505 report/models.py:544 @@ -158,8 +158,8 @@ msgstr "" #: templates/js/company.js:56 templates/js/order.js:183 #: templates/js/order.js:280 templates/js/part.js:177 templates/js/part.js:260 #: templates/js/part.js:437 templates/js/part.js:653 templates/js/part.js:721 -#: templates/js/stock.js:552 templates/js/stock.js:954 -#: templates/js/stock.js:999 +#: templates/js/stock.js:552 templates/js/stock.js:959 +#: templates/js/stock.js:1004 msgid "Description" msgstr "" @@ -372,27 +372,27 @@ msgstr "" msgid "Overage must be an integer value or a percentage" msgstr "" -#: InvenTree/views.py:592 +#: InvenTree/views.py:605 msgid "Delete Item" msgstr "" -#: InvenTree/views.py:641 +#: InvenTree/views.py:654 msgid "Check box to confirm item deletion" msgstr "" -#: InvenTree/views.py:656 templates/InvenTree/settings/user.html:18 +#: InvenTree/views.py:669 templates/InvenTree/settings/user.html:18 msgid "Edit User Information" msgstr "" -#: InvenTree/views.py:667 templates/InvenTree/settings/user.html:22 +#: InvenTree/views.py:680 templates/InvenTree/settings/user.html:22 msgid "Set Password" msgstr "" -#: InvenTree/views.py:686 +#: InvenTree/views.py:699 msgid "Password fields must match" msgstr "" -#: InvenTree/views.py:937 templates/navbar.html:95 +#: InvenTree/views.py:950 templates/navbar.html:95 msgid "System Information" msgstr "" @@ -458,17 +458,17 @@ msgstr "" msgid "Target date for build completion. Build will be overdue after this date." msgstr "" -#: build/forms.py:48 build/forms.py:90 build/forms.py:266 build/models.py:1333 +#: build/forms.py:48 build/forms.py:90 build/forms.py:266 build/models.py:1346 #: build/templates/build/allocation_card.html:23 #: build/templates/build/auto_allocate.html:17 #: build/templates/build/build_base.html:133 #: build/templates/build/detail.html:31 common/models.py:699 #: company/forms.py:176 company/templates/company/supplier_part_pricing.html:77 #: order/forms.py:188 order/forms.py:205 order/forms.py:240 order/forms.py:262 -#: order/forms.py:279 order/models.py:614 order/models.py:815 +#: order/forms.py:279 order/models.py:616 order/models.py:817 #: order/templates/order/order_wizard/match_parts.html:29 #: order/templates/order/order_wizard/select_parts.html:32 -#: order/templates/order/purchase_order_detail.html:175 +#: order/templates/order/purchase_order_detail.html:179 #: order/templates/order/sales_order_detail.html:70 #: order/templates/order/sales_order_detail.html:77 #: order/templates/order/sales_order_detail.html:162 @@ -477,7 +477,7 @@ msgstr "" #: part/templates/part/allocation.html:19 #: part/templates/part/allocation.html:53 #: part/templates/part/order_prices.html:175 -#: part/templates/part/part_pricing.html:12 +#: part/templates/part/part_pricing.html:13 #: part/templates/part/sale_prices.html:85 #: report/templates/report/inventree_build_order_base.html:114 #: report/templates/report/inventree_po_report.html:91 @@ -487,8 +487,8 @@ msgstr "" #: stock/templates/stock/item_base.html:255 #: stock/templates/stock/stock_adjust.html:18 templates/js/barcode.js:364 #: templates/js/bom.js:205 templates/js/build.js:486 templates/js/build.js:1024 -#: templates/js/part.js:795 templates/js/stock.js:1134 -#: templates/js/stock.js:1353 +#: templates/js/part.js:795 templates/js/stock.js:1139 +#: templates/js/stock.js:1358 msgid "Quantity" msgstr "" @@ -534,7 +534,7 @@ msgstr "" #: stock/templates/stock/stock_adjust.html:17 #: templates/InvenTree/search.html:260 templates/js/barcode.js:363 #: templates/js/barcode.js:531 templates/js/build.js:500 -#: templates/js/stock.js:639 templates/js/stock.js:1026 +#: templates/js/stock.js:639 templates/js/stock.js:1031 msgid "Location" msgstr "" @@ -543,13 +543,13 @@ msgid "Location of completed parts" msgstr "" #: build/forms.py:215 build/templates/build/build_base.html:138 -#: build/templates/build/detail.html:59 order/models.py:466 +#: build/templates/build/detail.html:59 order/models.py:468 #: order/templates/order/receive_parts.html:24 #: stock/templates/stock/item_base.html:403 templates/InvenTree/search.html:252 #: templates/js/barcode.js:119 templates/js/build.js:780 #: templates/js/order.js:187 templates/js/order.js:285 -#: templates/js/stock.js:626 templates/js/stock.js:1103 -#: templates/js/stock.js:1369 +#: templates/js/stock.js:626 templates/js/stock.js:1108 +#: templates/js/stock.js:1374 msgid "Status" msgstr "" @@ -602,8 +602,8 @@ msgstr "" msgid "Build Order Reference" msgstr "" -#: build/models.py:128 order/models.py:99 order/models.py:616 -#: order/templates/order/purchase_order_detail.html:170 +#: build/models.py:128 order/models.py:101 order/models.py:618 +#: order/templates/order/purchase_order_detail.html:174 #: order/templates/order/sales_order_detail.html:225 part/models.py:2279 #: report/templates/report/inventree_po_report.html:92 #: report/templates/report/inventree_so_report.html:92 templates/js/bom.js:197 @@ -627,15 +627,15 @@ msgstr "" #: build/models.py:153 build/templates/build/auto_allocate.html:16 #: build/templates/build/build_base.html:128 #: build/templates/build/detail.html:26 company/models.py:622 -#: order/models.py:658 order/models.py:691 +#: order/models.py:660 order/models.py:693 #: order/templates/order/order_wizard/select_parts.html:30 -#: order/templates/order/purchase_order_detail.html:131 +#: order/templates/order/purchase_order_detail.html:132 #: order/templates/order/receive_parts.html:19 #: order/templates/order/sales_order_detail.html:213 part/models.py:321 #: part/models.py:1967 part/models.py:1979 part/models.py:1997 #: part/models.py:2072 part/models.py:2168 part/models.py:2254 #: part/templates/part/part_app_base.html:8 -#: part/templates/part/part_pricing.html:8 part/templates/part/related.html:29 +#: part/templates/part/part_pricing.html:9 part/templates/part/related.html:29 #: part/templates/part/set_category.html:13 #: report/templates/report/inventree_build_order_base.html:110 #: report/templates/report/inventree_po_report.html:90 @@ -646,7 +646,7 @@ msgstr "" #: templates/js/build.js:991 templates/js/company.js:140 #: templates/js/company.js:238 templates/js/part.js:241 #: templates/js/part.js:404 templates/js/stock.js:521 -#: templates/js/stock.js:1341 +#: templates/js/stock.js:1346 msgid "Part" msgstr "" @@ -702,7 +702,7 @@ msgstr "" msgid "Build status code" msgstr "" -#: build/models.py:213 stock/models.py:464 +#: build/models.py:213 stock/models.py:466 msgid "Batch Code" msgstr "" @@ -710,16 +710,16 @@ msgstr "" msgid "Batch code for this build output" msgstr "" -#: build/models.py:220 order/models.py:105 part/models.py:882 +#: build/models.py:220 order/models.py:107 part/models.py:882 #: part/templates/part/detail.html:126 templates/js/order.js:293 msgid "Creation Date" msgstr "" -#: build/models.py:224 order/models.py:472 +#: build/models.py:224 order/models.py:474 msgid "Target completion date" msgstr "" -#: build/models.py:228 order/models.py:218 templates/js/build.js:798 +#: build/models.py:228 order/models.py:220 templates/js/build.js:798 msgid "Completion Date" msgstr "" @@ -736,7 +736,7 @@ msgid "User who issued this build order" msgstr "" #: build/models.py:251 build/templates/build/build_base.html:184 -#: build/templates/build/detail.html:105 order/models.py:119 +#: build/templates/build/detail.html:105 order/models.py:121 #: order/templates/order/order_base.html:138 #: order/templates/order/sales_order_base.html:140 part/models.py:886 #: report/templates/report/inventree_build_order_base.html:159 @@ -753,30 +753,30 @@ msgstr "" #: company/templates/company/supplier_part_base.html:78 #: company/templates/company/supplier_part_detail.html:28 #: part/templates/part/detail.html:83 part/templates/part/part_base.html:94 -#: stock/models.py:458 stock/templates/stock/item_base.html:345 +#: stock/models.py:460 stock/templates/stock/item_base.html:345 msgid "External Link" msgstr "" -#: build/models.py:258 part/models.py:744 stock/models.py:460 +#: build/models.py:258 part/models.py:744 stock/models.py:462 msgid "Link to external URL" msgstr "" #: build/models.py:262 build/templates/build/navbar.html:53 #: company/models.py:132 company/models.py:498 #: company/templates/company/navbar.html:70 -#: company/templates/company/navbar.html:73 order/models.py:123 -#: order/models.py:618 order/templates/order/po_navbar.html:29 +#: company/templates/company/navbar.html:73 order/models.py:125 +#: order/models.py:620 order/templates/order/po_navbar.html:29 #: order/templates/order/po_navbar.html:32 -#: order/templates/order/purchase_order_detail.html:209 +#: order/templates/order/purchase_order_detail.html:239 #: order/templates/order/sales_order_detail.html:278 #: order/templates/order/so_navbar.html:33 #: order/templates/order/so_navbar.html:36 part/models.py:871 #: part/templates/part/navbar.html:134 #: report/templates/report/inventree_build_order_base.html:173 #: stock/forms.py:173 stock/forms.py:317 stock/forms.py:349 stock/forms.py:377 -#: stock/models.py:530 stock/models.py:1665 stock/models.py:1767 +#: stock/models.py:532 stock/models.py:1667 stock/models.py:1769 #: stock/templates/stock/navbar.html:57 templates/js/barcode.js:37 -#: templates/js/bom.js:356 templates/js/stock.js:141 templates/js/stock.js:669 +#: templates/js/bom.js:356 templates/js/stock.js:141 templates/js/stock.js:674 msgid "Notes" msgstr "" @@ -809,11 +809,11 @@ msgstr "" msgid "Allocated quantity ({n}) must not exceed available quantity ({q})" msgstr "" -#: build/models.py:1188 order/models.py:789 +#: build/models.py:1188 order/models.py:791 msgid "StockItem is over-allocated" msgstr "" -#: build/models.py:1192 order/models.py:792 +#: build/models.py:1192 order/models.py:794 msgid "Allocation quantity must be greater than zero" msgstr "" @@ -826,17 +826,17 @@ msgstr "" msgid "Selected stock item not found in BOM for part '{p}'" msgstr "" -#: build/models.py:1303 stock/templates/stock/item_base.html:317 +#: build/models.py:1316 stock/templates/stock/item_base.html:317 #: templates/InvenTree/search.html:183 templates/js/build.js:724 #: templates/navbar.html:29 msgid "Build" msgstr "" -#: build/models.py:1304 +#: build/models.py:1317 msgid "Build to allocate parts" msgstr "" -#: build/models.py:1320 part/templates/part/allocation.html:18 +#: build/models.py:1333 part/templates/part/allocation.html:18 #: part/templates/part/allocation.html:24 #: part/templates/part/allocation.html:31 #: part/templates/part/allocation.html:49 @@ -844,23 +844,23 @@ msgstr "" #: stock/templates/stock/item_base.html:31 #: stock/templates/stock/item_base.html:339 #: stock/templates/stock/stock_adjust.html:16 templates/js/build.js:841 -#: templates/js/stock.js:1085 +#: templates/js/stock.js:1090 msgid "Stock Item" msgstr "" -#: build/models.py:1321 +#: build/models.py:1334 msgid "Source stock item" msgstr "" -#: build/models.py:1334 +#: build/models.py:1347 msgid "Stock quantity to allocate to build" msgstr "" -#: build/models.py:1342 +#: build/models.py:1355 msgid "Install into" msgstr "" -#: build/models.py:1343 +#: build/models.py:1356 msgid "Destination stock item" msgstr "" @@ -916,7 +916,7 @@ msgstr "" #: order/templates/order/sales_order_detail.html:75 #: order/templates/order/sales_order_detail.html:160 #: report/templates/report/inventree_test_report_base.html:75 -#: stock/models.py:452 stock/templates/stock/item_base.html:249 +#: stock/models.py:454 stock/templates/stock/item_base.html:249 #: templates/js/build.js:484 msgid "Serial Number" msgstr "" @@ -1037,7 +1037,7 @@ msgid "Progress" msgstr "" #: build/templates/build/build_base.html:170 -#: build/templates/build/detail.html:84 order/models.py:689 +#: build/templates/build/detail.html:84 order/models.py:691 #: order/templates/order/sales_order_base.html:9 #: order/templates/order/sales_order_base.html:35 #: order/templates/order/sales_order_ship.html:25 @@ -1195,7 +1195,7 @@ msgstr "" #: build/templates/build/detail.html:70 #: stock/templates/stock/item_base.html:303 templates/js/stock.js:634 -#: templates/js/stock.js:1376 templates/js/table_filters.js:112 +#: templates/js/stock.js:1381 templates/js/table_filters.js:112 #: templates/js/table_filters.js:206 msgid "Batch" msgstr "" @@ -1250,7 +1250,7 @@ msgstr "" #: company/templates/company/navbar.html:15 #: order/templates/order/po_navbar.html:14 #: order/templates/order/so_navbar.html:15 part/templates/part/navbar.html:15 -#: templates/js/stock.js:1014 +#: templates/js/stock.js:1019 msgid "Details" msgstr "" @@ -1898,7 +1898,7 @@ msgstr "" #: company/templates/company/manufacturer_part_detail.html:26 #: company/templates/company/supplier_part_base.html:102 #: company/templates/company/supplier_part_detail.html:35 -#: order/templates/order/purchase_order_detail.html:158 part/bom.py:171 +#: order/templates/order/purchase_order_detail.html:162 part/bom.py:171 #: part/bom.py:242 templates/js/company.js:181 templates/js/company.js:307 msgid "MPN" msgstr "" @@ -1953,7 +1953,7 @@ msgid "Point of contact" msgstr "" #: company/models.py:121 company/models.py:333 company/models.py:485 -#: order/models.py:103 part/models.py:743 +#: order/models.py:105 part/models.py:743 #: report/templates/report/inventree_build_order_base.html:165 #: templates/js/company.js:188 templates/js/company.js:318 #: templates/js/part.js:497 @@ -1992,7 +1992,7 @@ msgstr "" msgid "Does this company manufacture parts?" msgstr "" -#: company/models.py:305 company/models.py:456 stock/models.py:405 +#: company/models.py:305 company/models.py:456 stock/models.py:407 #: stock/templates/stock/item_base.html:235 msgid "Base Part" msgstr "" @@ -2022,7 +2022,7 @@ msgstr "" #: company/models.py:466 company/templates/company/detail.html:62 #: company/templates/company/supplier_part_base.html:84 -#: company/templates/company/supplier_part_detail.html:25 order/models.py:190 +#: company/templates/company/supplier_part_detail.html:25 order/models.py:192 #: order/templates/order/order_base.html:92 #: order/templates/order/order_wizard/select_pos.html:30 part/bom.py:175 #: part/bom.py:286 stock/templates/stock/item_base.html:364 @@ -2037,7 +2037,7 @@ msgstr "" #: company/models.py:472 company/templates/company/supplier_part_base.html:88 #: company/templates/company/supplier_part_detail.html:26 -#: order/templates/order/purchase_order_detail.html:149 part/bom.py:176 +#: order/templates/order/purchase_order_detail.html:153 part/bom.py:176 #: part/bom.py:287 msgid "SKU" msgstr "" @@ -2081,8 +2081,8 @@ msgid "Minimum charge (e.g. stocking fee)" msgstr "" #: company/models.py:503 company/templates/company/supplier_part_base.html:109 -#: stock/models.py:429 stock/templates/stock/item_base.html:310 -#: templates/js/stock.js:665 +#: stock/models.py:431 stock/templates/stock/item_base.html:310 +#: templates/js/stock.js:670 msgid "Packaging" msgstr "" @@ -2165,11 +2165,11 @@ msgstr "" msgid "Uses default currency" msgstr "" -#: company/templates/company/detail.html:67 order/models.py:461 -#: order/templates/order/sales_order_base.html:94 stock/models.py:447 -#: stock/models.py:448 stock/templates/stock/item_base.html:262 +#: company/templates/company/detail.html:67 order/models.py:463 +#: order/templates/order/sales_order_base.html:94 stock/models.py:449 +#: stock/models.py:450 stock/templates/stock/item_base.html:262 #: templates/js/company.js:40 templates/js/order.js:267 -#: templates/js/stock.js:1067 +#: templates/js/stock.js:1072 msgid "Customer" msgstr "" @@ -2215,7 +2215,7 @@ msgstr "" #: company/templates/company/detail_manufacturer_part.html:66 #: company/templates/company/detail_supplier_part.html:66 #: part/templates/part/bom.html:159 part/templates/part/category.html:118 -#: templates/js/stock.js:1282 +#: templates/js/stock.js:1287 msgid "New Part" msgstr "" @@ -2262,7 +2262,7 @@ msgstr "" #: company/templates/company/detail_supplier_part.html:22 #: company/templates/company/manufacturer_part_suppliers.html:17 #: order/templates/order/purchase_order_detail.html:49 -#: part/templates/part/supplier.html:17 templates/js/stock.js:1288 +#: part/templates/part/supplier.html:17 templates/js/stock.js:1293 msgid "New Supplier Part" msgstr "" @@ -2385,7 +2385,7 @@ msgstr "" #: stock/templates/stock/location.html:136 #: stock/templates/stock/location_navbar.html:22 #: stock/templates/stock/location_navbar.html:29 -#: templates/InvenTree/search.html:198 templates/js/stock.js:966 +#: templates/InvenTree/search.html:198 templates/js/stock.js:971 #: templates/stats.html:93 templates/stats.html:102 users/models.py:42 msgid "Stock Items" msgstr "" @@ -2441,7 +2441,7 @@ msgid "New Sales Order" msgstr "" #: company/templates/company/supplier_part_base.html:7 -#: company/templates/company/supplier_part_base.html:20 stock/models.py:414 +#: company/templates/company/supplier_part_base.html:20 stock/models.py:416 #: stock/templates/stock/item_base.html:369 templates/js/company.js:279 msgid "Supplier Part" msgstr "" @@ -2598,7 +2598,7 @@ msgstr "" msgid "Edit Supplier Part" msgstr "" -#: company/views.py:578 templates/js/stock.js:1289 +#: company/views.py:578 templates/js/stock.js:1294 msgid "Create new Supplier Part" msgstr "" @@ -2712,7 +2712,7 @@ msgstr "" msgid "Enter sales order number" msgstr "" -#: order/forms.py:145 order/models.py:473 +#: order/forms.py:145 order/models.py:475 msgid "Target date for order completion. Order will be overdue after this date." msgstr "" @@ -2724,209 +2724,209 @@ msgstr "" msgid "Enter quantity of stock items" msgstr "" -#: order/models.py:99 +#: order/models.py:101 msgid "Order reference" msgstr "" -#: order/models.py:101 +#: order/models.py:103 msgid "Order description" msgstr "" -#: order/models.py:103 +#: order/models.py:105 msgid "Link to external page" msgstr "" -#: order/models.py:111 part/templates/part/detail.html:132 +#: order/models.py:113 part/templates/part/detail.html:132 msgid "Created By" msgstr "" -#: order/models.py:118 +#: order/models.py:120 msgid "User or group responsible for this order" msgstr "" -#: order/models.py:123 +#: order/models.py:125 msgid "Order notes" msgstr "" -#: order/models.py:182 order/models.py:466 +#: order/models.py:184 order/models.py:468 msgid "Purchase order status" msgstr "" -#: order/models.py:191 +#: order/models.py:193 msgid "Company from which the items are being ordered" msgstr "" -#: order/models.py:194 order/templates/order/order_base.html:98 +#: order/models.py:196 order/templates/order/order_base.html:98 #: templates/js/order.js:179 msgid "Supplier Reference" msgstr "" -#: order/models.py:194 +#: order/models.py:196 msgid "Supplier order reference code" msgstr "" -#: order/models.py:201 +#: order/models.py:203 msgid "received by" msgstr "" -#: order/models.py:206 +#: order/models.py:208 msgid "Issue Date" msgstr "" -#: order/models.py:207 +#: order/models.py:209 msgid "Date order was issued" msgstr "" -#: order/models.py:212 +#: order/models.py:214 msgid "Target Delivery Date" msgstr "" -#: order/models.py:213 +#: order/models.py:215 msgid "Expected date for order delivery. Order will be overdue after this date." msgstr "" -#: order/models.py:219 +#: order/models.py:221 msgid "Date order was completed" msgstr "" -#: order/models.py:243 part/views.py:1675 stock/models.py:302 -#: stock/models.py:1018 +#: order/models.py:245 part/views.py:1675 stock/models.py:304 +#: stock/models.py:1020 msgid "Quantity must be greater than zero" msgstr "" -#: order/models.py:248 +#: order/models.py:250 msgid "Part supplier must match PO supplier" msgstr "" -#: order/models.py:346 +#: order/models.py:348 msgid "Lines can only be received against an order marked as 'Placed'" msgstr "" -#: order/models.py:350 +#: order/models.py:352 msgid "Quantity must be an integer" msgstr "" -#: order/models.py:352 +#: order/models.py:354 msgid "Quantity must be a positive number" msgstr "" -#: order/models.py:462 +#: order/models.py:464 msgid "Company to which the items are being sold" msgstr "" -#: order/models.py:468 +#: order/models.py:470 msgid "Customer Reference " msgstr "" -#: order/models.py:468 +#: order/models.py:470 msgid "Customer order reference code" msgstr "" -#: order/models.py:476 templates/js/order.js:303 +#: order/models.py:478 templates/js/order.js:303 msgid "Shipment Date" msgstr "" -#: order/models.py:483 +#: order/models.py:485 msgid "shipped by" msgstr "" -#: order/models.py:527 +#: order/models.py:529 msgid "SalesOrder cannot be shipped as it is not currently pending" msgstr "" -#: order/models.py:614 +#: order/models.py:616 msgid "Item quantity" msgstr "" -#: order/models.py:616 +#: order/models.py:618 msgid "Line item reference" msgstr "" -#: order/models.py:618 +#: order/models.py:620 msgid "Line item notes" msgstr "" -#: order/models.py:644 order/models.py:689 +#: order/models.py:646 order/models.py:691 #: part/templates/part/allocation.html:17 #: part/templates/part/allocation.html:45 msgid "Order" msgstr "" -#: order/models.py:645 order/templates/order/order_base.html:9 +#: order/models.py:647 order/templates/order/order_base.html:9 #: order/templates/order/order_base.html:24 #: report/templates/report/inventree_po_report.html:77 #: stock/templates/stock/item_base.html:324 templates/js/order.js:148 -#: templates/js/stock.js:1048 +#: templates/js/stock.js:1053 msgid "Purchase Order" msgstr "" -#: order/models.py:659 +#: order/models.py:661 msgid "Supplier part" msgstr "" -#: order/models.py:662 order/templates/order/order_base.html:131 -#: order/templates/order/purchase_order_detail.html:189 +#: order/models.py:664 order/templates/order/order_base.html:131 +#: order/templates/order/purchase_order_detail.html:219 #: order/templates/order/receive_parts.html:22 #: order/templates/order/sales_order_base.html:133 msgid "Received" msgstr "" -#: order/models.py:662 +#: order/models.py:664 msgid "Number of items received" msgstr "" -#: order/models.py:669 stock/models.py:540 -#: stock/templates/stock/item_base.html:331 +#: order/models.py:671 stock/models.py:542 +#: stock/templates/stock/item_base.html:331 templates/js/stock.js:665 msgid "Purchase Price" msgstr "" -#: order/models.py:670 +#: order/models.py:672 msgid "Unit purchase price" msgstr "" -#: order/models.py:698 part/templates/part/navbar.html:101 +#: order/models.py:700 part/templates/part/navbar.html:101 #: part/templates/part/order_prices.html:82 -#: part/templates/part/part_pricing.html:77 +#: part/templates/part/part_pricing.html:78 msgid "Sale Price" msgstr "" -#: order/models.py:699 +#: order/models.py:701 msgid "Unit sale price" msgstr "" -#: order/models.py:774 order/models.py:776 +#: order/models.py:776 order/models.py:778 msgid "Stock item has not been assigned" msgstr "" -#: order/models.py:780 +#: order/models.py:782 msgid "Cannot allocate stock item to a line with a different part" msgstr "" -#: order/models.py:782 +#: order/models.py:784 msgid "Cannot allocate stock to a line without a part" msgstr "" -#: order/models.py:785 +#: order/models.py:787 msgid "Allocation quantity cannot exceed stock quantity" msgstr "" -#: order/models.py:795 +#: order/models.py:797 msgid "Quantity must be 1 for serialized stock item" msgstr "" -#: order/models.py:800 +#: order/models.py:802 msgid "Line" msgstr "" -#: order/models.py:811 +#: order/models.py:813 msgid "Item" msgstr "" -#: order/models.py:812 +#: order/models.py:814 msgid "Select stock item to allocate" msgstr "" -#: order/models.py:815 +#: order/models.py:817 msgid "Enter stock allocation quantity" msgstr "" @@ -2977,8 +2977,8 @@ msgstr "" #: order/templates/order/order_base.html:180 #: order/templates/order/purchase_order_detail.html:100 #: part/templates/part/category.html:208 part/templates/part/category.html:250 -#: stock/templates/stock/location.html:191 templates/js/stock.js:706 -#: templates/js/stock.js:1294 +#: stock/templates/stock/location.html:191 templates/js/stock.js:711 +#: templates/js/stock.js:1299 msgid "New Location" msgstr "" @@ -3162,21 +3162,25 @@ msgstr "" msgid "No line items found" msgstr "" -#: order/templates/order/purchase_order_detail.html:180 +#: order/templates/order/purchase_order_detail.html:191 #: order/templates/order/sales_order_detail.html:235 msgid "Unit Price" msgstr "" -#: order/templates/order/purchase_order_detail.html:221 +#: order/templates/order/purchase_order_detail.html:198 +msgid "Total price" +msgstr "" + +#: order/templates/order/purchase_order_detail.html:251 #: order/templates/order/sales_order_detail.html:328 msgid "Edit line item" msgstr "" -#: order/templates/order/purchase_order_detail.html:222 +#: order/templates/order/purchase_order_detail.html:252 msgid "Delete line item" msgstr "" -#: order/templates/order/purchase_order_detail.html:227 +#: order/templates/order/purchase_order_detail.html:257 msgid "Receive line item" msgstr "" @@ -4064,7 +4068,7 @@ msgid "Stock items for variant parts can be used for this BOM item" msgstr "" #: part/models.py:2371 part/views.py:1681 part/views.py:1733 -#: stock/models.py:292 +#: stock/models.py:294 msgid "Quantity must be integer value for trackable parts" msgstr "" @@ -4173,7 +4177,7 @@ msgid "All selected BOM items will be deleted" msgstr "" #: part/templates/part/bom.html:160 part/views.py:585 -#: templates/js/stock.js:1283 +#: templates/js/stock.js:1288 msgid "Create New Part" msgstr "" @@ -4314,7 +4318,7 @@ msgid "View grid display" msgstr "" #: part/templates/part/category.html:209 -#: stock/templates/stock/location.html:192 templates/js/stock.js:707 +#: stock/templates/stock/location.html:192 templates/js/stock.js:712 msgid "Create new location" msgstr "" @@ -4408,7 +4412,7 @@ msgstr "" msgid "Part Details" msgstr "" -#: part/templates/part/detail.html:42 +#: part/templates/part/detail.html:42 part/templates/part/part_base.html:188 msgid "Latest Serial Number" msgstr "" @@ -4551,51 +4555,51 @@ msgid "Pricing ranges" msgstr "" #: part/templates/part/order_prices.html:26 -#: part/templates/part/part_pricing.html:18 +#: part/templates/part/part_pricing.html:19 msgid "Supplier Pricing" msgstr "" #: part/templates/part/order_prices.html:27 #: part/templates/part/order_prices.html:52 #: part/templates/part/order_prices.html:83 -#: part/templates/part/part_pricing.html:22 -#: part/templates/part/part_pricing.html:48 -#: part/templates/part/part_pricing.html:80 +#: part/templates/part/part_pricing.html:23 +#: part/templates/part/part_pricing.html:49 +#: part/templates/part/part_pricing.html:81 msgid "Unit Cost" msgstr "" #: part/templates/part/order_prices.html:34 #: part/templates/part/order_prices.html:59 #: part/templates/part/order_prices.html:88 -#: part/templates/part/part_pricing.html:28 -#: part/templates/part/part_pricing.html:54 -#: part/templates/part/part_pricing.html:84 +#: part/templates/part/part_pricing.html:29 +#: part/templates/part/part_pricing.html:55 +#: part/templates/part/part_pricing.html:85 msgid "Total Cost" msgstr "" #: part/templates/part/order_prices.html:42 -#: part/templates/part/part_pricing.html:36 +#: part/templates/part/part_pricing.html:37 msgid "No supplier pricing available" msgstr "" #: part/templates/part/order_prices.html:51 #: part/templates/part/order_prices.html:103 -#: part/templates/part/part_pricing.html:44 +#: part/templates/part/part_pricing.html:45 msgid "BOM Pricing" msgstr "" #: part/templates/part/order_prices.html:67 -#: part/templates/part/part_pricing.html:62 +#: part/templates/part/part_pricing.html:63 msgid "Note: BOM pricing is incomplete for this part" msgstr "" #: part/templates/part/order_prices.html:74 -#: part/templates/part/part_pricing.html:69 +#: part/templates/part/part_pricing.html:70 msgid "No BOM pricing available" msgstr "" #: part/templates/part/order_prices.html:97 -#: part/templates/part/part_pricing.html:93 +#: part/templates/part/part_pricing.html:94 msgid "No pricing information is available for this part." msgstr "" @@ -4634,7 +4638,7 @@ msgstr "" #: part/templates/part/params.html:28 #: report/templates/report/inventree_test_report_base.html:90 -#: stock/models.py:1754 templates/InvenTree/settings/header.html:8 +#: stock/models.py:1756 templates/InvenTree/settings/header.html:8 #: templates/js/stock.js:137 msgid "Value" msgstr "" @@ -4740,7 +4744,7 @@ msgstr "" msgid "Building" msgstr "" -#: part/templates/part/part_base.html:257 +#: part/templates/part/part_base.html:265 msgid "Calculate" msgstr "" @@ -4849,7 +4853,7 @@ msgstr "" msgid "New Variant" msgstr "" -#: part/templatetags/inventree_extras.py:97 +#: part/templatetags/inventree_extras.py:98 msgid "Unknown database" msgstr "" @@ -5160,17 +5164,17 @@ msgid "Test Results" msgstr "" #: report/templates/report/inventree_test_report_base.html:88 -#: stock/models.py:1742 +#: stock/models.py:1744 msgid "Test" msgstr "" #: report/templates/report/inventree_test_report_base.html:89 -#: stock/models.py:1748 +#: stock/models.py:1750 msgid "Result" msgstr "" #: report/templates/report/inventree_test_report_base.html:92 -#: templates/js/order.js:195 templates/js/stock.js:982 +#: templates/js/order.js:195 templates/js/stock.js:987 msgid "Date" msgstr "" @@ -5192,7 +5196,7 @@ msgstr "" msgid "Moved {n} parts to {loc}" msgstr "" -#: stock/forms.py:114 stock/forms.py:418 stock/models.py:507 +#: stock/forms.py:114 stock/forms.py:418 stock/models.py:509 #: stock/templates/stock/item_base.html:376 templates/js/stock.js:654 msgid "Expiry Date" msgstr "" @@ -5282,187 +5286,187 @@ msgstr "" msgid "Set the destination as the default location for selected parts" msgstr "" -#: stock/models.py:54 stock/models.py:545 +#: stock/models.py:56 stock/models.py:547 msgid "Owner" msgstr "" -#: stock/models.py:55 stock/models.py:546 +#: stock/models.py:57 stock/models.py:548 msgid "Select Owner" msgstr "" -#: stock/models.py:273 +#: stock/models.py:275 msgid "StockItem with this serial number already exists" msgstr "" -#: stock/models.py:309 +#: stock/models.py:311 #, python-brace-format msgid "Part type ('{pf}') must be {pe}" msgstr "" -#: stock/models.py:319 stock/models.py:328 +#: stock/models.py:321 stock/models.py:330 msgid "Quantity must be 1 for item with a serial number" msgstr "" -#: stock/models.py:320 +#: stock/models.py:322 msgid "Serial number cannot be set if quantity greater than 1" msgstr "" -#: stock/models.py:342 +#: stock/models.py:344 msgid "Item cannot belong to itself" msgstr "" -#: stock/models.py:348 +#: stock/models.py:350 msgid "Item must have a build reference if is_building=True" msgstr "" -#: stock/models.py:355 +#: stock/models.py:357 msgid "Build reference does not point to the same part object" msgstr "" -#: stock/models.py:397 +#: stock/models.py:399 msgid "Parent Stock Item" msgstr "" -#: stock/models.py:406 +#: stock/models.py:408 msgid "Base part" msgstr "" -#: stock/models.py:415 +#: stock/models.py:417 msgid "Select a matching supplier part for this stock item" msgstr "" -#: stock/models.py:420 stock/templates/stock/stock_app_base.html:8 +#: stock/models.py:422 stock/templates/stock/stock_app_base.html:8 msgid "Stock Location" msgstr "" -#: stock/models.py:423 +#: stock/models.py:425 msgid "Where is this stock item located?" msgstr "" -#: stock/models.py:430 +#: stock/models.py:432 msgid "Packaging this stock item is stored in" msgstr "" -#: stock/models.py:435 stock/templates/stock/item_base.html:270 +#: stock/models.py:437 stock/templates/stock/item_base.html:270 msgid "Installed In" msgstr "" -#: stock/models.py:438 +#: stock/models.py:440 msgid "Is this item installed in another item?" msgstr "" -#: stock/models.py:454 +#: stock/models.py:456 msgid "Serial number for this item" msgstr "" -#: stock/models.py:466 +#: stock/models.py:468 msgid "Batch code for this stock item" msgstr "" -#: stock/models.py:470 +#: stock/models.py:472 msgid "Stock Quantity" msgstr "" -#: stock/models.py:479 +#: stock/models.py:481 msgid "Source Build" msgstr "" -#: stock/models.py:481 +#: stock/models.py:483 msgid "Build for this stock item" msgstr "" -#: stock/models.py:492 +#: stock/models.py:494 msgid "Source Purchase Order" msgstr "" -#: stock/models.py:495 +#: stock/models.py:497 msgid "Purchase order for this stock item" msgstr "" -#: stock/models.py:501 +#: stock/models.py:503 msgid "Destination Sales Order" msgstr "" -#: stock/models.py:508 +#: stock/models.py:510 msgid "Expiry date for stock item. Stock will be considered expired after this date" msgstr "" -#: stock/models.py:521 +#: stock/models.py:523 msgid "Delete on deplete" msgstr "" -#: stock/models.py:521 +#: stock/models.py:523 msgid "Delete this Stock Item when stock is depleted" msgstr "" -#: stock/models.py:531 stock/templates/stock/item_notes.html:13 +#: stock/models.py:533 stock/templates/stock/item_notes.html:13 #: stock/templates/stock/navbar.html:54 msgid "Stock Item Notes" msgstr "" -#: stock/models.py:541 +#: stock/models.py:543 msgid "Single unit purchase price at time of purchase" msgstr "" -#: stock/models.py:1009 +#: stock/models.py:1011 msgid "Part is not set as trackable" msgstr "" -#: stock/models.py:1015 +#: stock/models.py:1017 msgid "Quantity must be integer" msgstr "" -#: stock/models.py:1021 +#: stock/models.py:1023 #, python-brace-format msgid "Quantity must not exceed available stock quantity ({n})" msgstr "" -#: stock/models.py:1024 +#: stock/models.py:1026 msgid "Serial numbers must be a list of integers" msgstr "" -#: stock/models.py:1027 +#: stock/models.py:1029 msgid "Quantity does not match serial numbers" msgstr "" -#: stock/models.py:1034 +#: stock/models.py:1036 #, python-brace-format msgid "Serial numbers already exist: {exists}" msgstr "" -#: stock/models.py:1192 +#: stock/models.py:1194 msgid "StockItem cannot be moved as it is not in stock" msgstr "" -#: stock/models.py:1666 +#: stock/models.py:1668 msgid "Entry notes" msgstr "" -#: stock/models.py:1719 +#: stock/models.py:1721 msgid "Value must be provided for this test" msgstr "" -#: stock/models.py:1725 +#: stock/models.py:1727 msgid "Attachment must be uploaded for this test" msgstr "" -#: stock/models.py:1743 +#: stock/models.py:1745 msgid "Test name" msgstr "" -#: stock/models.py:1749 templates/js/table_filters.js:217 +#: stock/models.py:1751 templates/js/table_filters.js:217 msgid "Test result" msgstr "" -#: stock/models.py:1755 +#: stock/models.py:1757 msgid "Test output value" msgstr "" -#: stock/models.py:1762 +#: stock/models.py:1764 msgid "Test result attachment" msgstr "" -#: stock/models.py:1768 +#: stock/models.py:1770 msgid "Test notes" msgstr "" @@ -6580,7 +6584,7 @@ msgid "No builds matching query" msgstr "" #: templates/js/build.js:718 templates/js/part.js:390 templates/js/part.js:634 -#: templates/js/stock.js:509 templates/js/stock.js:936 +#: templates/js/stock.js:509 templates/js/stock.js:941 msgid "Select" msgstr "" @@ -6831,7 +6835,7 @@ msgstr "" msgid "Low stock" msgstr "" -#: templates/js/part.js:659 templates/js/stock.js:960 +#: templates/js/part.js:659 templates/js/stock.js:965 msgid "Path" msgstr "" @@ -7029,75 +7033,75 @@ msgstr "" msgid "Stocktake" msgstr "" -#: templates/js/stock.js:823 +#: templates/js/stock.js:828 msgid "Stock Status" msgstr "" -#: templates/js/stock.js:838 +#: templates/js/stock.js:843 msgid "Set Stock Status" msgstr "" -#: templates/js/stock.js:852 +#: templates/js/stock.js:857 msgid "Select Status Code" msgstr "" -#: templates/js/stock.js:853 +#: templates/js/stock.js:858 msgid "Status code must be selected" msgstr "" -#: templates/js/stock.js:992 +#: templates/js/stock.js:997 msgid "Invalid date" msgstr "" -#: templates/js/stock.js:1039 +#: templates/js/stock.js:1044 msgid "Location no longer exists" msgstr "" -#: templates/js/stock.js:1058 +#: templates/js/stock.js:1063 msgid "Purchase order no longer exists" msgstr "" -#: templates/js/stock.js:1077 +#: templates/js/stock.js:1082 msgid "Customer no longer exists" msgstr "" -#: templates/js/stock.js:1095 +#: templates/js/stock.js:1100 msgid "Stock item no longer exists" msgstr "" -#: templates/js/stock.js:1118 +#: templates/js/stock.js:1123 msgid "Added" msgstr "" -#: templates/js/stock.js:1126 +#: templates/js/stock.js:1131 msgid "Removed" msgstr "" -#: templates/js/stock.js:1158 +#: templates/js/stock.js:1163 msgid "No user information" msgstr "" -#: templates/js/stock.js:1170 +#: templates/js/stock.js:1175 msgid "Edit tracking entry" msgstr "" -#: templates/js/stock.js:1171 +#: templates/js/stock.js:1176 msgid "Delete tracking entry" msgstr "" -#: templates/js/stock.js:1295 +#: templates/js/stock.js:1300 msgid "Create New Location" msgstr "" -#: templates/js/stock.js:1336 +#: templates/js/stock.js:1341 msgid "No installed items" msgstr "" -#: templates/js/stock.js:1359 +#: templates/js/stock.js:1364 msgid "Serial" msgstr "" -#: templates/js/stock.js:1387 +#: templates/js/stock.js:1392 msgid "Uninstall Stock Item" msgstr "" diff --git a/InvenTree/locale/pl/LC_MESSAGES/django.po b/InvenTree/locale/pl/LC_MESSAGES/django.po index 64f5af067b..9b4e347ff7 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-06-01 10:07+0000\n" -"PO-Revision-Date: 2021-06-01 10:22\n" +"POT-Creation-Date: 2021-06-16 22:40+0000\n" +"PO-Revision-Date: 2021-06-16 22:40\n" "Last-Translator: \n" "Language-Team: Polish\n" "Language: pl_PL\n" @@ -77,7 +77,7 @@ msgstr "Wybierz kategorię" msgid "Duplicate serial: {n}" msgstr "Powtórzony numer seryjny: {n}" -#: InvenTree/helpers.py:384 order/models.py:245 order/models.py:355 +#: InvenTree/helpers.py:384 order/models.py:247 order/models.py:357 #: stock/views.py:1795 msgid "Invalid quantity provided" msgstr "Podano nieprawidłową ilość" @@ -106,7 +106,7 @@ 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:59 stock/models.py:1761 +#: InvenTree/models.py:59 stock/models.py:1763 msgid "Attachment" msgstr "Załącznik" @@ -124,7 +124,7 @@ msgstr "Komentarz pliku" #: InvenTree/models.py:68 InvenTree/models.py:69 part/models.py:1999 #: report/templates/report/inventree_test_report_base.html:91 -#: templates/js/stock.js:1149 +#: templates/js/stock.js:1154 msgid "User" msgstr "Użytkownik" @@ -136,7 +136,7 @@ msgstr "data przesłania" #: part/models.py:686 part/models.py:2140 part/templates/part/params.html:27 #: report/models.py:179 templates/InvenTree/search.html:137 #: templates/InvenTree/search.html:289 templates/js/part.js:118 -#: templates/js/part.js:641 templates/js/stock.js:942 +#: templates/js/part.js:641 templates/js/stock.js:947 msgid "Name" msgstr "Nazwa" @@ -146,7 +146,7 @@ msgstr "Nazwa" #: company/templates/company/manufacturer_part_base.html:72 #: company/templates/company/supplier_part_base.html:71 #: company/templates/company/supplier_part_detail.html:31 label/models.py:109 -#: order/models.py:101 order/templates/order/purchase_order_detail.html:143 +#: order/models.py:103 order/templates/order/purchase_order_detail.html:147 #: part/models.py:710 part/templates/part/detail.html:54 #: part/templates/part/set_category.html:14 report/models.py:192 #: report/models.py:505 report/models.py:544 @@ -158,8 +158,8 @@ msgstr "Nazwa" #: templates/js/company.js:56 templates/js/order.js:183 #: templates/js/order.js:280 templates/js/part.js:177 templates/js/part.js:260 #: templates/js/part.js:437 templates/js/part.js:653 templates/js/part.js:721 -#: templates/js/stock.js:552 templates/js/stock.js:954 -#: templates/js/stock.js:999 +#: templates/js/stock.js:552 templates/js/stock.js:959 +#: templates/js/stock.js:1004 msgid "Description" msgstr "Opis" @@ -372,27 +372,27 @@ msgstr "" msgid "Overage must be an integer value or a percentage" msgstr "" -#: InvenTree/views.py:592 +#: InvenTree/views.py:605 msgid "Delete Item" msgstr "Usuń element" -#: InvenTree/views.py:641 +#: InvenTree/views.py:654 msgid "Check box to confirm item deletion" msgstr "Zaznacz pole aby potwierdzić usunięcie elementu" -#: InvenTree/views.py:656 templates/InvenTree/settings/user.html:18 +#: InvenTree/views.py:669 templates/InvenTree/settings/user.html:18 msgid "Edit User Information" msgstr "Edytuj informacje użytkownika" -#: InvenTree/views.py:667 templates/InvenTree/settings/user.html:22 +#: InvenTree/views.py:680 templates/InvenTree/settings/user.html:22 msgid "Set Password" msgstr "Ustaw hasło" -#: InvenTree/views.py:686 +#: InvenTree/views.py:699 msgid "Password fields must match" msgstr "Hasła muszą być zgodne" -#: InvenTree/views.py:937 templates/navbar.html:95 +#: InvenTree/views.py:950 templates/navbar.html:95 msgid "System Information" msgstr "Informacja systemowa" @@ -458,17 +458,17 @@ msgstr "Data docelowa" msgid "Target date for build completion. Build will be overdue after this date." msgstr "" -#: build/forms.py:48 build/forms.py:90 build/forms.py:266 build/models.py:1333 +#: build/forms.py:48 build/forms.py:90 build/forms.py:266 build/models.py:1346 #: build/templates/build/allocation_card.html:23 #: build/templates/build/auto_allocate.html:17 #: build/templates/build/build_base.html:133 #: build/templates/build/detail.html:31 common/models.py:699 #: company/forms.py:176 company/templates/company/supplier_part_pricing.html:77 #: order/forms.py:188 order/forms.py:205 order/forms.py:240 order/forms.py:262 -#: order/forms.py:279 order/models.py:614 order/models.py:815 +#: order/forms.py:279 order/models.py:616 order/models.py:817 #: order/templates/order/order_wizard/match_parts.html:29 #: order/templates/order/order_wizard/select_parts.html:32 -#: order/templates/order/purchase_order_detail.html:175 +#: order/templates/order/purchase_order_detail.html:179 #: order/templates/order/sales_order_detail.html:70 #: order/templates/order/sales_order_detail.html:77 #: order/templates/order/sales_order_detail.html:162 @@ -477,7 +477,7 @@ msgstr "" #: part/templates/part/allocation.html:19 #: part/templates/part/allocation.html:53 #: part/templates/part/order_prices.html:175 -#: part/templates/part/part_pricing.html:12 +#: part/templates/part/part_pricing.html:13 #: part/templates/part/sale_prices.html:85 #: report/templates/report/inventree_build_order_base.html:114 #: report/templates/report/inventree_po_report.html:91 @@ -487,8 +487,8 @@ msgstr "" #: stock/templates/stock/item_base.html:255 #: stock/templates/stock/stock_adjust.html:18 templates/js/barcode.js:364 #: templates/js/bom.js:205 templates/js/build.js:486 templates/js/build.js:1024 -#: templates/js/part.js:795 templates/js/stock.js:1134 -#: templates/js/stock.js:1353 +#: templates/js/part.js:795 templates/js/stock.js:1139 +#: templates/js/stock.js:1358 msgid "Quantity" msgstr "Ilość" @@ -534,7 +534,7 @@ msgstr "Oznacz budowę jako ukończoną" #: stock/templates/stock/stock_adjust.html:17 #: templates/InvenTree/search.html:260 templates/js/barcode.js:363 #: templates/js/barcode.js:531 templates/js/build.js:500 -#: templates/js/stock.js:639 templates/js/stock.js:1026 +#: templates/js/stock.js:639 templates/js/stock.js:1031 msgid "Location" msgstr "Lokalizacja" @@ -543,13 +543,13 @@ msgid "Location of completed parts" msgstr "Lokalizacja ukończonych części" #: build/forms.py:215 build/templates/build/build_base.html:138 -#: build/templates/build/detail.html:59 order/models.py:466 +#: build/templates/build/detail.html:59 order/models.py:468 #: order/templates/order/receive_parts.html:24 #: stock/templates/stock/item_base.html:403 templates/InvenTree/search.html:252 #: templates/js/barcode.js:119 templates/js/build.js:780 #: templates/js/order.js:187 templates/js/order.js:285 -#: templates/js/stock.js:626 templates/js/stock.js:1103 -#: templates/js/stock.js:1369 +#: templates/js/stock.js:626 templates/js/stock.js:1108 +#: templates/js/stock.js:1374 msgid "Status" msgstr "Status" @@ -602,8 +602,8 @@ msgstr "Zlecenia budowy" msgid "Build Order Reference" msgstr "Odwołanie do zamówienia wykonania" -#: build/models.py:128 order/models.py:99 order/models.py:616 -#: order/templates/order/purchase_order_detail.html:170 +#: build/models.py:128 order/models.py:101 order/models.py:618 +#: order/templates/order/purchase_order_detail.html:174 #: order/templates/order/sales_order_detail.html:225 part/models.py:2279 #: report/templates/report/inventree_po_report.html:92 #: report/templates/report/inventree_so_report.html:92 templates/js/bom.js:197 @@ -627,15 +627,15 @@ msgstr "Zamówienie budowy, do którego budowa jest przypisana" #: build/models.py:153 build/templates/build/auto_allocate.html:16 #: build/templates/build/build_base.html:128 #: build/templates/build/detail.html:26 company/models.py:622 -#: order/models.py:658 order/models.py:691 +#: order/models.py:660 order/models.py:693 #: order/templates/order/order_wizard/select_parts.html:30 -#: order/templates/order/purchase_order_detail.html:131 +#: order/templates/order/purchase_order_detail.html:132 #: order/templates/order/receive_parts.html:19 #: order/templates/order/sales_order_detail.html:213 part/models.py:321 #: part/models.py:1967 part/models.py:1979 part/models.py:1997 #: part/models.py:2072 part/models.py:2168 part/models.py:2254 #: part/templates/part/part_app_base.html:8 -#: part/templates/part/part_pricing.html:8 part/templates/part/related.html:29 +#: part/templates/part/part_pricing.html:9 part/templates/part/related.html:29 #: part/templates/part/set_category.html:13 #: report/templates/report/inventree_build_order_base.html:110 #: report/templates/report/inventree_po_report.html:90 @@ -646,7 +646,7 @@ msgstr "Zamówienie budowy, do którego budowa jest przypisana" #: templates/js/build.js:991 templates/js/company.js:140 #: templates/js/company.js:238 templates/js/part.js:241 #: templates/js/part.js:404 templates/js/stock.js:521 -#: templates/js/stock.js:1341 +#: templates/js/stock.js:1346 msgid "Part" msgstr "Część" @@ -702,7 +702,7 @@ msgstr "Status budowania" msgid "Build status code" msgstr "Kod statusu budowania" -#: build/models.py:213 stock/models.py:464 +#: build/models.py:213 stock/models.py:466 msgid "Batch Code" msgstr "Kod partii" @@ -710,16 +710,16 @@ msgstr "Kod partii" msgid "Batch code for this build output" msgstr "Kod partii dla wyjścia budowy" -#: build/models.py:220 order/models.py:105 part/models.py:882 +#: build/models.py:220 order/models.py:107 part/models.py:882 #: part/templates/part/detail.html:126 templates/js/order.js:293 msgid "Creation Date" msgstr "Data utworzenia" -#: build/models.py:224 order/models.py:472 +#: build/models.py:224 order/models.py:474 msgid "Target completion date" msgstr "Docelowy termin zakończenia" -#: build/models.py:228 order/models.py:218 templates/js/build.js:798 +#: build/models.py:228 order/models.py:220 templates/js/build.js:798 msgid "Completion Date" msgstr "Data zakończenia" @@ -736,7 +736,7 @@ msgid "User who issued this build order" msgstr "Użytkownik, który wydał to zamówienie" #: build/models.py:251 build/templates/build/build_base.html:184 -#: build/templates/build/detail.html:105 order/models.py:119 +#: build/templates/build/detail.html:105 order/models.py:121 #: order/templates/order/order_base.html:138 #: order/templates/order/sales_order_base.html:140 part/models.py:886 #: report/templates/report/inventree_build_order_base.html:159 @@ -753,30 +753,30 @@ msgstr "Użytkownik odpowiedzialny za to zamówienie budowy" #: company/templates/company/supplier_part_base.html:78 #: company/templates/company/supplier_part_detail.html:28 #: part/templates/part/detail.html:83 part/templates/part/part_base.html:94 -#: stock/models.py:458 stock/templates/stock/item_base.html:345 +#: stock/models.py:460 stock/templates/stock/item_base.html:345 msgid "External Link" msgstr "Link Zewnętrzny" -#: build/models.py:258 part/models.py:744 stock/models.py:460 +#: build/models.py:258 part/models.py:744 stock/models.py:462 msgid "Link to external URL" msgstr "Link do zewnętrznego adresu URL" #: build/models.py:262 build/templates/build/navbar.html:53 #: company/models.py:132 company/models.py:498 #: company/templates/company/navbar.html:70 -#: company/templates/company/navbar.html:73 order/models.py:123 -#: order/models.py:618 order/templates/order/po_navbar.html:29 +#: company/templates/company/navbar.html:73 order/models.py:125 +#: order/models.py:620 order/templates/order/po_navbar.html:29 #: order/templates/order/po_navbar.html:32 -#: order/templates/order/purchase_order_detail.html:209 +#: order/templates/order/purchase_order_detail.html:239 #: order/templates/order/sales_order_detail.html:278 #: order/templates/order/so_navbar.html:33 #: order/templates/order/so_navbar.html:36 part/models.py:871 #: part/templates/part/navbar.html:134 #: report/templates/report/inventree_build_order_base.html:173 #: stock/forms.py:173 stock/forms.py:317 stock/forms.py:349 stock/forms.py:377 -#: stock/models.py:530 stock/models.py:1665 stock/models.py:1767 +#: stock/models.py:532 stock/models.py:1667 stock/models.py:1769 #: stock/templates/stock/navbar.html:57 templates/js/barcode.js:37 -#: templates/js/bom.js:356 templates/js/stock.js:141 templates/js/stock.js:669 +#: templates/js/bom.js:356 templates/js/stock.js:141 templates/js/stock.js:674 msgid "Notes" msgstr "Uwagi" @@ -809,11 +809,11 @@ msgstr "" msgid "Allocated quantity ({n}) must not exceed available quantity ({q})" msgstr "" -#: build/models.py:1188 order/models.py:789 +#: build/models.py:1188 order/models.py:791 msgid "StockItem is over-allocated" msgstr "" -#: build/models.py:1192 order/models.py:792 +#: build/models.py:1192 order/models.py:794 msgid "Allocation quantity must be greater than zero" msgstr "" @@ -826,17 +826,17 @@ msgstr "" msgid "Selected stock item not found in BOM for part '{p}'" msgstr "" -#: build/models.py:1303 stock/templates/stock/item_base.html:317 +#: build/models.py:1316 stock/templates/stock/item_base.html:317 #: templates/InvenTree/search.html:183 templates/js/build.js:724 #: templates/navbar.html:29 msgid "Build" msgstr "Budowa" -#: build/models.py:1304 +#: build/models.py:1317 msgid "Build to allocate parts" msgstr "" -#: build/models.py:1320 part/templates/part/allocation.html:18 +#: build/models.py:1333 part/templates/part/allocation.html:18 #: part/templates/part/allocation.html:24 #: part/templates/part/allocation.html:31 #: part/templates/part/allocation.html:49 @@ -844,23 +844,23 @@ msgstr "" #: stock/templates/stock/item_base.html:31 #: stock/templates/stock/item_base.html:339 #: stock/templates/stock/stock_adjust.html:16 templates/js/build.js:841 -#: templates/js/stock.js:1085 +#: templates/js/stock.js:1090 msgid "Stock Item" msgstr "Element magazynowy" -#: build/models.py:1321 +#: build/models.py:1334 msgid "Source stock item" msgstr "Lokalizacja magazynowania przedmiotu" -#: build/models.py:1334 +#: build/models.py:1347 msgid "Stock quantity to allocate to build" msgstr "" -#: build/models.py:1342 +#: build/models.py:1355 msgid "Install into" msgstr "Zainstaluj do" -#: build/models.py:1343 +#: build/models.py:1356 msgid "Destination stock item" msgstr "Docelowa lokalizacja magazynowa przedmiotu" @@ -916,7 +916,7 @@ msgstr "" #: order/templates/order/sales_order_detail.html:75 #: order/templates/order/sales_order_detail.html:160 #: report/templates/report/inventree_test_report_base.html:75 -#: stock/models.py:452 stock/templates/stock/item_base.html:249 +#: stock/models.py:454 stock/templates/stock/item_base.html:249 #: templates/js/build.js:484 msgid "Serial Number" msgstr "Numer Seryjny" @@ -1037,7 +1037,7 @@ msgid "Progress" msgstr "Postęp" #: build/templates/build/build_base.html:170 -#: build/templates/build/detail.html:84 order/models.py:689 +#: build/templates/build/detail.html:84 order/models.py:691 #: order/templates/order/sales_order_base.html:9 #: order/templates/order/sales_order_base.html:35 #: order/templates/order/sales_order_ship.html:25 @@ -1195,7 +1195,7 @@ msgstr "Nie określono lokalizacji docelowej" #: build/templates/build/detail.html:70 #: stock/templates/stock/item_base.html:303 templates/js/stock.js:634 -#: templates/js/stock.js:1376 templates/js/table_filters.js:112 +#: templates/js/stock.js:1381 templates/js/table_filters.js:112 #: templates/js/table_filters.js:206 msgid "Batch" msgstr "Partia" @@ -1250,7 +1250,7 @@ msgstr "Szczegóły zlecenia budowy" #: company/templates/company/navbar.html:15 #: order/templates/order/po_navbar.html:14 #: order/templates/order/so_navbar.html:15 part/templates/part/navbar.html:15 -#: templates/js/stock.js:1014 +#: templates/js/stock.js:1019 msgid "Details" msgstr "Szczegóły" @@ -1898,7 +1898,7 @@ msgstr "Numer producenta" #: company/templates/company/manufacturer_part_detail.html:26 #: company/templates/company/supplier_part_base.html:102 #: company/templates/company/supplier_part_detail.html:35 -#: order/templates/order/purchase_order_detail.html:158 part/bom.py:171 +#: order/templates/order/purchase_order_detail.html:162 part/bom.py:171 #: part/bom.py:242 templates/js/company.js:181 templates/js/company.js:307 msgid "MPN" msgstr "MPN" @@ -1953,7 +1953,7 @@ msgid "Point of contact" msgstr "Punkt kontaktowy" #: company/models.py:121 company/models.py:333 company/models.py:485 -#: order/models.py:103 part/models.py:743 +#: order/models.py:105 part/models.py:743 #: report/templates/report/inventree_build_order_base.html:165 #: templates/js/company.js:188 templates/js/company.js:318 #: templates/js/part.js:497 @@ -1992,7 +1992,7 @@ msgstr "jest producentem" msgid "Does this company manufacture parts?" msgstr "Czy to przedsiębiorstwo produkuje części?" -#: company/models.py:305 company/models.py:456 stock/models.py:405 +#: company/models.py:305 company/models.py:456 stock/models.py:407 #: stock/templates/stock/item_base.html:235 msgid "Base Part" msgstr "Część bazowa" @@ -2022,7 +2022,7 @@ msgstr "" #: company/models.py:466 company/templates/company/detail.html:62 #: company/templates/company/supplier_part_base.html:84 -#: company/templates/company/supplier_part_detail.html:25 order/models.py:190 +#: company/templates/company/supplier_part_detail.html:25 order/models.py:192 #: order/templates/order/order_base.html:92 #: order/templates/order/order_wizard/select_pos.html:30 part/bom.py:175 #: part/bom.py:286 stock/templates/stock/item_base.html:364 @@ -2037,7 +2037,7 @@ msgstr "Wybierz dostawcę" #: company/models.py:472 company/templates/company/supplier_part_base.html:88 #: company/templates/company/supplier_part_detail.html:26 -#: order/templates/order/purchase_order_detail.html:149 part/bom.py:176 +#: order/templates/order/purchase_order_detail.html:153 part/bom.py:176 #: part/bom.py:287 msgid "SKU" msgstr "SKU" @@ -2081,8 +2081,8 @@ msgid "Minimum charge (e.g. stocking fee)" msgstr "" #: company/models.py:503 company/templates/company/supplier_part_base.html:109 -#: stock/models.py:429 stock/templates/stock/item_base.html:310 -#: templates/js/stock.js:665 +#: stock/models.py:431 stock/templates/stock/item_base.html:310 +#: templates/js/stock.js:670 msgid "Packaging" msgstr "Opakowanie" @@ -2165,11 +2165,11 @@ msgstr "Nie określono strony internetowej" msgid "Uses default currency" msgstr "" -#: company/templates/company/detail.html:67 order/models.py:461 -#: order/templates/order/sales_order_base.html:94 stock/models.py:447 -#: stock/models.py:448 stock/templates/stock/item_base.html:262 +#: company/templates/company/detail.html:67 order/models.py:463 +#: order/templates/order/sales_order_base.html:94 stock/models.py:449 +#: stock/models.py:450 stock/templates/stock/item_base.html:262 #: templates/js/company.js:40 templates/js/order.js:267 -#: templates/js/stock.js:1067 +#: templates/js/stock.js:1072 msgid "Customer" msgstr "Klient" @@ -2215,7 +2215,7 @@ msgstr "Usuń części" #: company/templates/company/detail_manufacturer_part.html:66 #: company/templates/company/detail_supplier_part.html:66 #: part/templates/part/bom.html:159 part/templates/part/category.html:118 -#: templates/js/stock.js:1282 +#: templates/js/stock.js:1287 msgid "New Part" msgstr "Nowy komponent" @@ -2262,7 +2262,7 @@ msgstr "Utwórz nowego dostawcę części" #: company/templates/company/detail_supplier_part.html:22 #: company/templates/company/manufacturer_part_suppliers.html:17 #: order/templates/order/purchase_order_detail.html:49 -#: part/templates/part/supplier.html:17 templates/js/stock.js:1288 +#: part/templates/part/supplier.html:17 templates/js/stock.js:1293 msgid "New Supplier Part" msgstr "Now dostawca części" @@ -2385,7 +2385,7 @@ msgstr "Dostarczone części" #: stock/templates/stock/location.html:136 #: stock/templates/stock/location_navbar.html:22 #: stock/templates/stock/location_navbar.html:29 -#: templates/InvenTree/search.html:198 templates/js/stock.js:966 +#: templates/InvenTree/search.html:198 templates/js/stock.js:971 #: templates/stats.html:93 templates/stats.html:102 users/models.py:42 msgid "Stock Items" msgstr "" @@ -2441,7 +2441,7 @@ msgid "New Sales Order" msgstr "" #: company/templates/company/supplier_part_base.html:7 -#: company/templates/company/supplier_part_base.html:20 stock/models.py:414 +#: company/templates/company/supplier_part_base.html:20 stock/models.py:416 #: stock/templates/stock/item_base.html:369 templates/js/company.js:279 msgid "Supplier Part" msgstr "" @@ -2598,7 +2598,7 @@ msgstr "" msgid "Edit Supplier Part" msgstr "" -#: company/views.py:578 templates/js/stock.js:1289 +#: company/views.py:578 templates/js/stock.js:1294 msgid "Create new Supplier Part" msgstr "" @@ -2712,7 +2712,7 @@ msgstr "" msgid "Enter sales order number" msgstr "" -#: order/forms.py:145 order/models.py:473 +#: order/forms.py:145 order/models.py:475 msgid "Target date for order completion. Order will be overdue after this date." msgstr "" @@ -2724,209 +2724,209 @@ msgstr "" msgid "Enter quantity of stock items" msgstr "Wprowadź ilość produktów magazynowych" -#: order/models.py:99 +#: order/models.py:101 msgid "Order reference" msgstr "Odniesienie zamówienia" -#: order/models.py:101 +#: order/models.py:103 msgid "Order description" msgstr "Opis Zamówienia" -#: order/models.py:103 +#: order/models.py:105 msgid "Link to external page" msgstr "Link do zewnętrznej witryny" -#: order/models.py:111 part/templates/part/detail.html:132 +#: order/models.py:113 part/templates/part/detail.html:132 msgid "Created By" msgstr "Utworzony przez" -#: order/models.py:118 +#: order/models.py:120 msgid "User or group responsible for this order" msgstr "Użytkownik lub grupa odpowiedzialna za to zamówienie" -#: order/models.py:123 +#: order/models.py:125 msgid "Order notes" msgstr "Notatki do zamówienia" -#: order/models.py:182 order/models.py:466 +#: order/models.py:184 order/models.py:468 msgid "Purchase order status" msgstr "" -#: order/models.py:191 +#: order/models.py:193 msgid "Company from which the items are being ordered" msgstr "" -#: order/models.py:194 order/templates/order/order_base.html:98 +#: order/models.py:196 order/templates/order/order_base.html:98 #: templates/js/order.js:179 msgid "Supplier Reference" msgstr "" -#: order/models.py:194 +#: order/models.py:196 msgid "Supplier order reference code" msgstr "" -#: order/models.py:201 +#: order/models.py:203 msgid "received by" msgstr "odebrane przez" -#: order/models.py:206 +#: order/models.py:208 msgid "Issue Date" msgstr "Data wydania" -#: order/models.py:207 +#: order/models.py:209 msgid "Date order was issued" msgstr "" -#: order/models.py:212 +#: order/models.py:214 msgid "Target Delivery Date" msgstr "" -#: order/models.py:213 +#: order/models.py:215 msgid "Expected date for order delivery. Order will be overdue after this date." msgstr "" -#: order/models.py:219 +#: order/models.py:221 msgid "Date order was completed" msgstr "" -#: order/models.py:243 part/views.py:1675 stock/models.py:302 -#: stock/models.py:1018 +#: order/models.py:245 part/views.py:1675 stock/models.py:304 +#: stock/models.py:1020 msgid "Quantity must be greater than zero" msgstr "" -#: order/models.py:248 +#: order/models.py:250 msgid "Part supplier must match PO supplier" msgstr "" -#: order/models.py:346 +#: order/models.py:348 msgid "Lines can only be received against an order marked as 'Placed'" msgstr "" -#: order/models.py:350 +#: order/models.py:352 msgid "Quantity must be an integer" msgstr "" -#: order/models.py:352 +#: order/models.py:354 msgid "Quantity must be a positive number" msgstr "" -#: order/models.py:462 +#: order/models.py:464 msgid "Company to which the items are being sold" msgstr "" -#: order/models.py:468 +#: order/models.py:470 msgid "Customer Reference " msgstr "" -#: order/models.py:468 +#: order/models.py:470 msgid "Customer order reference code" msgstr "" -#: order/models.py:476 templates/js/order.js:303 +#: order/models.py:478 templates/js/order.js:303 msgid "Shipment Date" msgstr "Data wysyłki" -#: order/models.py:483 +#: order/models.py:485 msgid "shipped by" msgstr "wysłane przez" -#: order/models.py:527 +#: order/models.py:529 msgid "SalesOrder cannot be shipped as it is not currently pending" msgstr "" -#: order/models.py:614 +#: order/models.py:616 msgid "Item quantity" msgstr "Ilość elementów" -#: order/models.py:616 +#: order/models.py:618 msgid "Line item reference" msgstr "" -#: order/models.py:618 +#: order/models.py:620 msgid "Line item notes" msgstr "" -#: order/models.py:644 order/models.py:689 +#: order/models.py:646 order/models.py:691 #: part/templates/part/allocation.html:17 #: part/templates/part/allocation.html:45 msgid "Order" msgstr "Zamówienie" -#: order/models.py:645 order/templates/order/order_base.html:9 +#: order/models.py:647 order/templates/order/order_base.html:9 #: order/templates/order/order_base.html:24 #: report/templates/report/inventree_po_report.html:77 #: stock/templates/stock/item_base.html:324 templates/js/order.js:148 -#: templates/js/stock.js:1048 +#: templates/js/stock.js:1053 msgid "Purchase Order" msgstr "" -#: order/models.py:659 +#: order/models.py:661 msgid "Supplier part" msgstr "" -#: order/models.py:662 order/templates/order/order_base.html:131 -#: order/templates/order/purchase_order_detail.html:189 +#: order/models.py:664 order/templates/order/order_base.html:131 +#: order/templates/order/purchase_order_detail.html:219 #: order/templates/order/receive_parts.html:22 #: order/templates/order/sales_order_base.html:133 msgid "Received" msgstr "Odebrane" -#: order/models.py:662 +#: order/models.py:664 msgid "Number of items received" msgstr "" -#: order/models.py:669 stock/models.py:540 -#: stock/templates/stock/item_base.html:331 +#: order/models.py:671 stock/models.py:542 +#: stock/templates/stock/item_base.html:331 templates/js/stock.js:665 msgid "Purchase Price" msgstr "Cena zakupu" -#: order/models.py:670 +#: order/models.py:672 msgid "Unit purchase price" msgstr "Cena zakupu jednostkowego" -#: order/models.py:698 part/templates/part/navbar.html:101 +#: order/models.py:700 part/templates/part/navbar.html:101 #: part/templates/part/order_prices.html:82 -#: part/templates/part/part_pricing.html:77 +#: part/templates/part/part_pricing.html:78 msgid "Sale Price" msgstr "Cena sprzedaży" -#: order/models.py:699 +#: order/models.py:701 msgid "Unit sale price" msgstr "Jednostkowa cena sprzedaży" -#: order/models.py:774 order/models.py:776 +#: order/models.py:776 order/models.py:778 msgid "Stock item has not been assigned" msgstr "" -#: order/models.py:780 +#: order/models.py:782 msgid "Cannot allocate stock item to a line with a different part" msgstr "" -#: order/models.py:782 +#: order/models.py:784 msgid "Cannot allocate stock to a line without a part" msgstr "" -#: order/models.py:785 +#: order/models.py:787 msgid "Allocation quantity cannot exceed stock quantity" msgstr "" -#: order/models.py:795 +#: order/models.py:797 msgid "Quantity must be 1 for serialized stock item" msgstr "" -#: order/models.py:800 +#: order/models.py:802 msgid "Line" msgstr "Linia" -#: order/models.py:811 +#: order/models.py:813 msgid "Item" msgstr "Komponent" -#: order/models.py:812 +#: order/models.py:814 msgid "Select stock item to allocate" msgstr "" -#: order/models.py:815 +#: order/models.py:817 msgid "Enter stock allocation quantity" msgstr "" @@ -2977,8 +2977,8 @@ msgstr "Wydany" #: order/templates/order/order_base.html:180 #: order/templates/order/purchase_order_detail.html:100 #: part/templates/part/category.html:208 part/templates/part/category.html:250 -#: stock/templates/stock/location.html:191 templates/js/stock.js:706 -#: templates/js/stock.js:1294 +#: stock/templates/stock/location.html:191 templates/js/stock.js:711 +#: templates/js/stock.js:1299 msgid "New Location" msgstr "Nowa lokalizacja" @@ -3162,21 +3162,25 @@ msgstr "" msgid "No line items found" msgstr "" -#: order/templates/order/purchase_order_detail.html:180 +#: order/templates/order/purchase_order_detail.html:191 #: order/templates/order/sales_order_detail.html:235 msgid "Unit Price" msgstr "Cena jednostkowa" -#: order/templates/order/purchase_order_detail.html:221 +#: order/templates/order/purchase_order_detail.html:198 +msgid "Total price" +msgstr "" + +#: order/templates/order/purchase_order_detail.html:251 #: order/templates/order/sales_order_detail.html:328 msgid "Edit line item" msgstr "" -#: order/templates/order/purchase_order_detail.html:222 +#: order/templates/order/purchase_order_detail.html:252 msgid "Delete line item" msgstr "" -#: order/templates/order/purchase_order_detail.html:227 +#: order/templates/order/purchase_order_detail.html:257 msgid "Receive line item" msgstr "" @@ -4064,7 +4068,7 @@ msgid "Stock items for variant parts can be used for this BOM item" msgstr "" #: part/models.py:2371 part/views.py:1681 part/views.py:1733 -#: stock/models.py:292 +#: stock/models.py:294 msgid "Quantity must be integer value for trackable parts" msgstr "" @@ -4173,7 +4177,7 @@ msgid "All selected BOM items will be deleted" msgstr "" #: part/templates/part/bom.html:160 part/views.py:585 -#: templates/js/stock.js:1283 +#: templates/js/stock.js:1288 msgid "Create New Part" msgstr "" @@ -4314,7 +4318,7 @@ msgid "View grid display" msgstr "" #: part/templates/part/category.html:209 -#: stock/templates/stock/location.html:192 templates/js/stock.js:707 +#: stock/templates/stock/location.html:192 templates/js/stock.js:712 msgid "Create new location" msgstr "" @@ -4408,7 +4412,7 @@ msgstr "" msgid "Part Details" msgstr "Szczegóły części" -#: part/templates/part/detail.html:42 +#: part/templates/part/detail.html:42 part/templates/part/part_base.html:188 msgid "Latest Serial Number" msgstr "Ostatni numer seryjny" @@ -4551,51 +4555,51 @@ msgid "Pricing ranges" msgstr "" #: part/templates/part/order_prices.html:26 -#: part/templates/part/part_pricing.html:18 +#: part/templates/part/part_pricing.html:19 msgid "Supplier Pricing" msgstr "" #: part/templates/part/order_prices.html:27 #: part/templates/part/order_prices.html:52 #: part/templates/part/order_prices.html:83 -#: part/templates/part/part_pricing.html:22 -#: part/templates/part/part_pricing.html:48 -#: part/templates/part/part_pricing.html:80 +#: part/templates/part/part_pricing.html:23 +#: part/templates/part/part_pricing.html:49 +#: part/templates/part/part_pricing.html:81 msgid "Unit Cost" msgstr "" #: part/templates/part/order_prices.html:34 #: part/templates/part/order_prices.html:59 #: part/templates/part/order_prices.html:88 -#: part/templates/part/part_pricing.html:28 -#: part/templates/part/part_pricing.html:54 -#: part/templates/part/part_pricing.html:84 +#: part/templates/part/part_pricing.html:29 +#: part/templates/part/part_pricing.html:55 +#: part/templates/part/part_pricing.html:85 msgid "Total Cost" msgstr "" #: part/templates/part/order_prices.html:42 -#: part/templates/part/part_pricing.html:36 +#: part/templates/part/part_pricing.html:37 msgid "No supplier pricing available" msgstr "" #: part/templates/part/order_prices.html:51 #: part/templates/part/order_prices.html:103 -#: part/templates/part/part_pricing.html:44 +#: part/templates/part/part_pricing.html:45 msgid "BOM Pricing" msgstr "" #: part/templates/part/order_prices.html:67 -#: part/templates/part/part_pricing.html:62 +#: part/templates/part/part_pricing.html:63 msgid "Note: BOM pricing is incomplete for this part" msgstr "" #: part/templates/part/order_prices.html:74 -#: part/templates/part/part_pricing.html:69 +#: part/templates/part/part_pricing.html:70 msgid "No BOM pricing available" msgstr "" #: part/templates/part/order_prices.html:97 -#: part/templates/part/part_pricing.html:93 +#: part/templates/part/part_pricing.html:94 msgid "No pricing information is available for this part." msgstr "" @@ -4634,7 +4638,7 @@ msgstr "" #: part/templates/part/params.html:28 #: report/templates/report/inventree_test_report_base.html:90 -#: stock/models.py:1754 templates/InvenTree/settings/header.html:8 +#: stock/models.py:1756 templates/InvenTree/settings/header.html:8 #: templates/js/stock.js:137 msgid "Value" msgstr "" @@ -4740,7 +4744,7 @@ msgstr "" msgid "Building" msgstr "" -#: part/templates/part/part_base.html:257 +#: part/templates/part/part_base.html:265 msgid "Calculate" msgstr "" @@ -4849,7 +4853,7 @@ msgstr "" msgid "New Variant" msgstr "" -#: part/templatetags/inventree_extras.py:97 +#: part/templatetags/inventree_extras.py:98 msgid "Unknown database" msgstr "" @@ -5160,17 +5164,17 @@ msgid "Test Results" msgstr "" #: report/templates/report/inventree_test_report_base.html:88 -#: stock/models.py:1742 +#: stock/models.py:1744 msgid "Test" msgstr "" #: report/templates/report/inventree_test_report_base.html:89 -#: stock/models.py:1748 +#: stock/models.py:1750 msgid "Result" msgstr "" #: report/templates/report/inventree_test_report_base.html:92 -#: templates/js/order.js:195 templates/js/stock.js:982 +#: templates/js/order.js:195 templates/js/stock.js:987 msgid "Date" msgstr "" @@ -5192,7 +5196,7 @@ msgstr "" msgid "Moved {n} parts to {loc}" msgstr "" -#: stock/forms.py:114 stock/forms.py:418 stock/models.py:507 +#: stock/forms.py:114 stock/forms.py:418 stock/models.py:509 #: stock/templates/stock/item_base.html:376 templates/js/stock.js:654 msgid "Expiry Date" msgstr "" @@ -5282,187 +5286,187 @@ msgstr "" msgid "Set the destination as the default location for selected parts" msgstr "" -#: stock/models.py:54 stock/models.py:545 +#: stock/models.py:56 stock/models.py:547 msgid "Owner" msgstr "" -#: stock/models.py:55 stock/models.py:546 +#: stock/models.py:57 stock/models.py:548 msgid "Select Owner" msgstr "" -#: stock/models.py:273 +#: stock/models.py:275 msgid "StockItem with this serial number already exists" msgstr "" -#: stock/models.py:309 +#: stock/models.py:311 #, python-brace-format msgid "Part type ('{pf}') must be {pe}" msgstr "" -#: stock/models.py:319 stock/models.py:328 +#: stock/models.py:321 stock/models.py:330 msgid "Quantity must be 1 for item with a serial number" msgstr "" -#: stock/models.py:320 +#: stock/models.py:322 msgid "Serial number cannot be set if quantity greater than 1" msgstr "" -#: stock/models.py:342 +#: stock/models.py:344 msgid "Item cannot belong to itself" msgstr "" -#: stock/models.py:348 +#: stock/models.py:350 msgid "Item must have a build reference if is_building=True" msgstr "" -#: stock/models.py:355 +#: stock/models.py:357 msgid "Build reference does not point to the same part object" msgstr "" -#: stock/models.py:397 +#: stock/models.py:399 msgid "Parent Stock Item" msgstr "" -#: stock/models.py:406 +#: stock/models.py:408 msgid "Base part" msgstr "" -#: stock/models.py:415 +#: stock/models.py:417 msgid "Select a matching supplier part for this stock item" msgstr "" -#: stock/models.py:420 stock/templates/stock/stock_app_base.html:8 +#: stock/models.py:422 stock/templates/stock/stock_app_base.html:8 msgid "Stock Location" msgstr "" -#: stock/models.py:423 +#: stock/models.py:425 msgid "Where is this stock item located?" msgstr "" -#: stock/models.py:430 +#: stock/models.py:432 msgid "Packaging this stock item is stored in" msgstr "" -#: stock/models.py:435 stock/templates/stock/item_base.html:270 +#: stock/models.py:437 stock/templates/stock/item_base.html:270 msgid "Installed In" msgstr "" -#: stock/models.py:438 +#: stock/models.py:440 msgid "Is this item installed in another item?" msgstr "" -#: stock/models.py:454 +#: stock/models.py:456 msgid "Serial number for this item" msgstr "" -#: stock/models.py:466 +#: stock/models.py:468 msgid "Batch code for this stock item" msgstr "" -#: stock/models.py:470 +#: stock/models.py:472 msgid "Stock Quantity" msgstr "" -#: stock/models.py:479 +#: stock/models.py:481 msgid "Source Build" msgstr "" -#: stock/models.py:481 +#: stock/models.py:483 msgid "Build for this stock item" msgstr "" -#: stock/models.py:492 +#: stock/models.py:494 msgid "Source Purchase Order" msgstr "" -#: stock/models.py:495 +#: stock/models.py:497 msgid "Purchase order for this stock item" msgstr "" -#: stock/models.py:501 +#: stock/models.py:503 msgid "Destination Sales Order" msgstr "" -#: stock/models.py:508 +#: stock/models.py:510 msgid "Expiry date for stock item. Stock will be considered expired after this date" msgstr "" -#: stock/models.py:521 +#: stock/models.py:523 msgid "Delete on deplete" msgstr "" -#: stock/models.py:521 +#: stock/models.py:523 msgid "Delete this Stock Item when stock is depleted" msgstr "" -#: stock/models.py:531 stock/templates/stock/item_notes.html:13 +#: stock/models.py:533 stock/templates/stock/item_notes.html:13 #: stock/templates/stock/navbar.html:54 msgid "Stock Item Notes" msgstr "" -#: stock/models.py:541 +#: stock/models.py:543 msgid "Single unit purchase price at time of purchase" msgstr "" -#: stock/models.py:1009 +#: stock/models.py:1011 msgid "Part is not set as trackable" msgstr "" -#: stock/models.py:1015 +#: stock/models.py:1017 msgid "Quantity must be integer" msgstr "" -#: stock/models.py:1021 +#: stock/models.py:1023 #, python-brace-format msgid "Quantity must not exceed available stock quantity ({n})" msgstr "" -#: stock/models.py:1024 +#: stock/models.py:1026 msgid "Serial numbers must be a list of integers" msgstr "" -#: stock/models.py:1027 +#: stock/models.py:1029 msgid "Quantity does not match serial numbers" msgstr "" -#: stock/models.py:1034 +#: stock/models.py:1036 #, python-brace-format msgid "Serial numbers already exist: {exists}" msgstr "" -#: stock/models.py:1192 +#: stock/models.py:1194 msgid "StockItem cannot be moved as it is not in stock" msgstr "" -#: stock/models.py:1666 +#: stock/models.py:1668 msgid "Entry notes" msgstr "" -#: stock/models.py:1719 +#: stock/models.py:1721 msgid "Value must be provided for this test" msgstr "" -#: stock/models.py:1725 +#: stock/models.py:1727 msgid "Attachment must be uploaded for this test" msgstr "" -#: stock/models.py:1743 +#: stock/models.py:1745 msgid "Test name" msgstr "" -#: stock/models.py:1749 templates/js/table_filters.js:217 +#: stock/models.py:1751 templates/js/table_filters.js:217 msgid "Test result" msgstr "" -#: stock/models.py:1755 +#: stock/models.py:1757 msgid "Test output value" msgstr "" -#: stock/models.py:1762 +#: stock/models.py:1764 msgid "Test result attachment" msgstr "" -#: stock/models.py:1768 +#: stock/models.py:1770 msgid "Test notes" msgstr "" @@ -6580,7 +6584,7 @@ msgid "No builds matching query" msgstr "" #: templates/js/build.js:718 templates/js/part.js:390 templates/js/part.js:634 -#: templates/js/stock.js:509 templates/js/stock.js:936 +#: templates/js/stock.js:509 templates/js/stock.js:941 msgid "Select" msgstr "" @@ -6831,7 +6835,7 @@ msgstr "" msgid "Low stock" msgstr "" -#: templates/js/part.js:659 templates/js/stock.js:960 +#: templates/js/part.js:659 templates/js/stock.js:965 msgid "Path" msgstr "" @@ -7029,75 +7033,75 @@ msgstr "" msgid "Stocktake" msgstr "" -#: templates/js/stock.js:823 +#: templates/js/stock.js:828 msgid "Stock Status" msgstr "" -#: templates/js/stock.js:838 +#: templates/js/stock.js:843 msgid "Set Stock Status" msgstr "" -#: templates/js/stock.js:852 +#: templates/js/stock.js:857 msgid "Select Status Code" msgstr "" -#: templates/js/stock.js:853 +#: templates/js/stock.js:858 msgid "Status code must be selected" msgstr "" -#: templates/js/stock.js:992 +#: templates/js/stock.js:997 msgid "Invalid date" msgstr "" -#: templates/js/stock.js:1039 +#: templates/js/stock.js:1044 msgid "Location no longer exists" msgstr "" -#: templates/js/stock.js:1058 +#: templates/js/stock.js:1063 msgid "Purchase order no longer exists" msgstr "" -#: templates/js/stock.js:1077 +#: templates/js/stock.js:1082 msgid "Customer no longer exists" msgstr "" -#: templates/js/stock.js:1095 +#: templates/js/stock.js:1100 msgid "Stock item no longer exists" msgstr "" -#: templates/js/stock.js:1118 +#: templates/js/stock.js:1123 msgid "Added" msgstr "" -#: templates/js/stock.js:1126 +#: templates/js/stock.js:1131 msgid "Removed" msgstr "" -#: templates/js/stock.js:1158 +#: templates/js/stock.js:1163 msgid "No user information" msgstr "" -#: templates/js/stock.js:1170 +#: templates/js/stock.js:1175 msgid "Edit tracking entry" msgstr "" -#: templates/js/stock.js:1171 +#: templates/js/stock.js:1176 msgid "Delete tracking entry" msgstr "" -#: templates/js/stock.js:1295 +#: templates/js/stock.js:1300 msgid "Create New Location" msgstr "" -#: templates/js/stock.js:1336 +#: templates/js/stock.js:1341 msgid "No installed items" msgstr "" -#: templates/js/stock.js:1359 +#: templates/js/stock.js:1364 msgid "Serial" msgstr "" -#: templates/js/stock.js:1387 +#: templates/js/stock.js:1392 msgid "Uninstall Stock Item" msgstr "" diff --git a/InvenTree/locale/ru/LC_MESSAGES/django.po b/InvenTree/locale/ru/LC_MESSAGES/django.po index 02ea1794d6..d61e19d068 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-06-01 10:07+0000\n" -"PO-Revision-Date: 2021-06-03 17:03\n" +"POT-Creation-Date: 2021-06-16 22:40+0000\n" +"PO-Revision-Date: 2021-06-16 22:41\n" "Last-Translator: \n" "Language-Team: Russian\n" "Language: ru_RU\n" @@ -77,7 +77,7 @@ msgstr "Выбрать категорию" msgid "Duplicate serial: {n}" msgstr "Дублировать серийный номер: {n}" -#: InvenTree/helpers.py:384 order/models.py:245 order/models.py:355 +#: InvenTree/helpers.py:384 order/models.py:247 order/models.py:357 #: stock/views.py:1795 msgid "Invalid quantity provided" msgstr "недопустимое количество" @@ -106,7 +106,7 @@ msgstr "Серийных номеров не найдено" msgid "Number of unique serial number ({s}) must match quantity ({q})" msgstr "Число уникальных серийных номеров ({s}) должно соответствовать количеству ({q})" -#: InvenTree/models.py:59 stock/models.py:1761 +#: InvenTree/models.py:59 stock/models.py:1763 msgid "Attachment" msgstr "Вложения" @@ -124,7 +124,7 @@ msgstr "Комментарий к файлу" #: InvenTree/models.py:68 InvenTree/models.py:69 part/models.py:1999 #: report/templates/report/inventree_test_report_base.html:91 -#: templates/js/stock.js:1149 +#: templates/js/stock.js:1154 msgid "User" msgstr "Пользователь" @@ -136,7 +136,7 @@ msgstr "дата загрузки" #: part/models.py:686 part/models.py:2140 part/templates/part/params.html:27 #: report/models.py:179 templates/InvenTree/search.html:137 #: templates/InvenTree/search.html:289 templates/js/part.js:118 -#: templates/js/part.js:641 templates/js/stock.js:942 +#: templates/js/part.js:641 templates/js/stock.js:947 msgid "Name" msgstr "Название" @@ -146,7 +146,7 @@ msgstr "Название" #: company/templates/company/manufacturer_part_base.html:72 #: company/templates/company/supplier_part_base.html:71 #: company/templates/company/supplier_part_detail.html:31 label/models.py:109 -#: order/models.py:101 order/templates/order/purchase_order_detail.html:143 +#: order/models.py:103 order/templates/order/purchase_order_detail.html:147 #: part/models.py:710 part/templates/part/detail.html:54 #: part/templates/part/set_category.html:14 report/models.py:192 #: report/models.py:505 report/models.py:544 @@ -158,8 +158,8 @@ msgstr "Название" #: templates/js/company.js:56 templates/js/order.js:183 #: templates/js/order.js:280 templates/js/part.js:177 templates/js/part.js:260 #: templates/js/part.js:437 templates/js/part.js:653 templates/js/part.js:721 -#: templates/js/stock.js:552 templates/js/stock.js:954 -#: templates/js/stock.js:999 +#: templates/js/stock.js:552 templates/js/stock.js:959 +#: templates/js/stock.js:1004 msgid "Description" msgstr "Описание" @@ -372,27 +372,27 @@ msgstr "Перегрузка не может превысить 100%" msgid "Overage must be an integer value or a percentage" msgstr "Превышение должно быть целым числом или процентом" -#: InvenTree/views.py:592 +#: InvenTree/views.py:605 msgid "Delete Item" msgstr "Удалить элемент" -#: InvenTree/views.py:641 +#: InvenTree/views.py:654 msgid "Check box to confirm item deletion" msgstr "Установите флажок для подтверждения удаления элемента" -#: InvenTree/views.py:656 templates/InvenTree/settings/user.html:18 +#: InvenTree/views.py:669 templates/InvenTree/settings/user.html:18 msgid "Edit User Information" msgstr "Редактировать информацию о пользователе" -#: InvenTree/views.py:667 templates/InvenTree/settings/user.html:22 +#: InvenTree/views.py:680 templates/InvenTree/settings/user.html:22 msgid "Set Password" msgstr "Установить пароль" -#: InvenTree/views.py:686 +#: InvenTree/views.py:699 msgid "Password fields must match" msgstr "Пароли должны совпадать" -#: InvenTree/views.py:937 templates/navbar.html:95 +#: InvenTree/views.py:950 templates/navbar.html:95 msgid "System Information" msgstr "Информация о системе" @@ -458,17 +458,17 @@ msgstr "Целевая дата" msgid "Target date for build completion. Build will be overdue after this date." msgstr "Целевая дата для сборки. Сборка будет просрочена после этой даты." -#: build/forms.py:48 build/forms.py:90 build/forms.py:266 build/models.py:1333 +#: build/forms.py:48 build/forms.py:90 build/forms.py:266 build/models.py:1346 #: build/templates/build/allocation_card.html:23 #: build/templates/build/auto_allocate.html:17 #: build/templates/build/build_base.html:133 #: build/templates/build/detail.html:31 common/models.py:699 #: company/forms.py:176 company/templates/company/supplier_part_pricing.html:77 #: order/forms.py:188 order/forms.py:205 order/forms.py:240 order/forms.py:262 -#: order/forms.py:279 order/models.py:614 order/models.py:815 +#: order/forms.py:279 order/models.py:616 order/models.py:817 #: order/templates/order/order_wizard/match_parts.html:29 #: order/templates/order/order_wizard/select_parts.html:32 -#: order/templates/order/purchase_order_detail.html:175 +#: order/templates/order/purchase_order_detail.html:179 #: order/templates/order/sales_order_detail.html:70 #: order/templates/order/sales_order_detail.html:77 #: order/templates/order/sales_order_detail.html:162 @@ -477,7 +477,7 @@ msgstr "Целевая дата для сборки. Сборка будет п #: part/templates/part/allocation.html:19 #: part/templates/part/allocation.html:53 #: part/templates/part/order_prices.html:175 -#: part/templates/part/part_pricing.html:12 +#: part/templates/part/part_pricing.html:13 #: part/templates/part/sale_prices.html:85 #: report/templates/report/inventree_build_order_base.html:114 #: report/templates/report/inventree_po_report.html:91 @@ -487,8 +487,8 @@ msgstr "Целевая дата для сборки. Сборка будет п #: stock/templates/stock/item_base.html:255 #: stock/templates/stock/stock_adjust.html:18 templates/js/barcode.js:364 #: templates/js/bom.js:205 templates/js/build.js:486 templates/js/build.js:1024 -#: templates/js/part.js:795 templates/js/stock.js:1134 -#: templates/js/stock.js:1353 +#: templates/js/part.js:795 templates/js/stock.js:1139 +#: templates/js/stock.js:1358 msgid "Quantity" msgstr "Количество" @@ -522,7 +522,7 @@ msgstr "Подтвердите снятие со склада" #: build/forms.py:169 msgid "Confirm stock allocation" -msgstr "" +msgstr "Подтвердите выделение запасов" #: build/forms.py:186 msgid "Mark build as complete" @@ -534,7 +534,7 @@ msgstr "Пометить сборку как завершенную" #: stock/templates/stock/stock_adjust.html:17 #: templates/InvenTree/search.html:260 templates/js/barcode.js:363 #: templates/js/barcode.js:531 templates/js/build.js:500 -#: templates/js/stock.js:639 templates/js/stock.js:1026 +#: templates/js/stock.js:639 templates/js/stock.js:1031 msgid "Location" msgstr "Расположение" @@ -543,19 +543,19 @@ msgid "Location of completed parts" msgstr "Расположение укомплектованных частей" #: build/forms.py:215 build/templates/build/build_base.html:138 -#: build/templates/build/detail.html:59 order/models.py:466 +#: build/templates/build/detail.html:59 order/models.py:468 #: order/templates/order/receive_parts.html:24 #: stock/templates/stock/item_base.html:403 templates/InvenTree/search.html:252 #: templates/js/barcode.js:119 templates/js/build.js:780 #: templates/js/order.js:187 templates/js/order.js:285 -#: templates/js/stock.js:626 templates/js/stock.js:1103 -#: templates/js/stock.js:1369 +#: templates/js/stock.js:626 templates/js/stock.js:1108 +#: templates/js/stock.js:1374 msgid "Status" msgstr "Статус" #: build/forms.py:216 msgid "Build output stock status" -msgstr "" +msgstr "Создать статус склада вывода" #: build/forms.py:223 msgid "Confirm incomplete" @@ -563,30 +563,30 @@ msgstr "Подтвердите незавершенность" #: build/forms.py:224 msgid "Confirm completion with incomplete stock allocation" -msgstr "" +msgstr "Подтвердите завершение с неполным выделением запасов" #: build/forms.py:227 msgid "Confirm build completion" -msgstr "" +msgstr "Подтвердите завершение сборки" #: build/forms.py:252 msgid "Confirm cancel" -msgstr "" +msgstr "Подтвердите отмену" #: build/forms.py:252 build/views.py:66 msgid "Confirm build cancellation" -msgstr "" +msgstr "Подтвердите отмену сборки" #: build/forms.py:266 msgid "Select quantity of stock to allocate" -msgstr "" +msgstr "Выберите количество запасов для распределения" #: build/models.py:66 build/templates/build/build_base.html:9 #: build/templates/build/build_base.html:73 #: part/templates/part/allocation.html:23 #: report/templates/report/inventree_build_order_base.html:106 msgid "Build Order" -msgstr "" +msgstr "Порядок сборки" #: build/models.py:67 build/templates/build/index.html:8 #: build/templates/build/index.html:15 order/templates/order/so_builds.html:12 @@ -596,14 +596,14 @@ msgstr "" #: templates/InvenTree/search.html:185 #: templates/InvenTree/settings/tabs.html:34 users/models.py:43 msgid "Build Orders" -msgstr "" +msgstr "Порядок сборки" #: build/models.py:127 msgid "Build Order Reference" -msgstr "" +msgstr "Ссылка на заказ" -#: build/models.py:128 order/models.py:99 order/models.py:616 -#: order/templates/order/purchase_order_detail.html:170 +#: build/models.py:128 order/models.py:101 order/models.py:618 +#: order/templates/order/purchase_order_detail.html:174 #: order/templates/order/sales_order_detail.html:225 part/models.py:2279 #: report/templates/report/inventree_po_report.html:92 #: report/templates/report/inventree_so_report.html:92 templates/js/bom.js:197 @@ -627,15 +627,15 @@ msgstr "" #: build/models.py:153 build/templates/build/auto_allocate.html:16 #: build/templates/build/build_base.html:128 #: build/templates/build/detail.html:26 company/models.py:622 -#: order/models.py:658 order/models.py:691 +#: order/models.py:660 order/models.py:693 #: order/templates/order/order_wizard/select_parts.html:30 -#: order/templates/order/purchase_order_detail.html:131 +#: order/templates/order/purchase_order_detail.html:132 #: order/templates/order/receive_parts.html:19 #: order/templates/order/sales_order_detail.html:213 part/models.py:321 #: part/models.py:1967 part/models.py:1979 part/models.py:1997 #: part/models.py:2072 part/models.py:2168 part/models.py:2254 #: part/templates/part/part_app_base.html:8 -#: part/templates/part/part_pricing.html:8 part/templates/part/related.html:29 +#: part/templates/part/part_pricing.html:9 part/templates/part/related.html:29 #: part/templates/part/set_category.html:13 #: report/templates/report/inventree_build_order_base.html:110 #: report/templates/report/inventree_po_report.html:90 @@ -646,7 +646,7 @@ msgstr "" #: templates/js/build.js:991 templates/js/company.js:140 #: templates/js/company.js:238 templates/js/part.js:241 #: templates/js/part.js:404 templates/js/stock.js:521 -#: templates/js/stock.js:1341 +#: templates/js/stock.js:1346 msgid "Part" msgstr "" @@ -702,7 +702,7 @@ msgstr "" msgid "Build status code" msgstr "" -#: build/models.py:213 stock/models.py:464 +#: build/models.py:213 stock/models.py:466 msgid "Batch Code" msgstr "" @@ -710,16 +710,16 @@ msgstr "" msgid "Batch code for this build output" msgstr "" -#: build/models.py:220 order/models.py:105 part/models.py:882 +#: build/models.py:220 order/models.py:107 part/models.py:882 #: part/templates/part/detail.html:126 templates/js/order.js:293 msgid "Creation Date" msgstr "" -#: build/models.py:224 order/models.py:472 +#: build/models.py:224 order/models.py:474 msgid "Target completion date" msgstr "" -#: build/models.py:228 order/models.py:218 templates/js/build.js:798 +#: build/models.py:228 order/models.py:220 templates/js/build.js:798 msgid "Completion Date" msgstr "" @@ -736,7 +736,7 @@ msgid "User who issued this build order" msgstr "" #: build/models.py:251 build/templates/build/build_base.html:184 -#: build/templates/build/detail.html:105 order/models.py:119 +#: build/templates/build/detail.html:105 order/models.py:121 #: order/templates/order/order_base.html:138 #: order/templates/order/sales_order_base.html:140 part/models.py:886 #: report/templates/report/inventree_build_order_base.html:159 @@ -753,30 +753,30 @@ msgstr "" #: company/templates/company/supplier_part_base.html:78 #: company/templates/company/supplier_part_detail.html:28 #: part/templates/part/detail.html:83 part/templates/part/part_base.html:94 -#: stock/models.py:458 stock/templates/stock/item_base.html:345 +#: stock/models.py:460 stock/templates/stock/item_base.html:345 msgid "External Link" msgstr "" -#: build/models.py:258 part/models.py:744 stock/models.py:460 +#: build/models.py:258 part/models.py:744 stock/models.py:462 msgid "Link to external URL" msgstr "" #: build/models.py:262 build/templates/build/navbar.html:53 #: company/models.py:132 company/models.py:498 #: company/templates/company/navbar.html:70 -#: company/templates/company/navbar.html:73 order/models.py:123 -#: order/models.py:618 order/templates/order/po_navbar.html:29 +#: company/templates/company/navbar.html:73 order/models.py:125 +#: order/models.py:620 order/templates/order/po_navbar.html:29 #: order/templates/order/po_navbar.html:32 -#: order/templates/order/purchase_order_detail.html:209 +#: order/templates/order/purchase_order_detail.html:239 #: order/templates/order/sales_order_detail.html:278 #: order/templates/order/so_navbar.html:33 #: order/templates/order/so_navbar.html:36 part/models.py:871 #: part/templates/part/navbar.html:134 #: report/templates/report/inventree_build_order_base.html:173 #: stock/forms.py:173 stock/forms.py:317 stock/forms.py:349 stock/forms.py:377 -#: stock/models.py:530 stock/models.py:1665 stock/models.py:1767 +#: stock/models.py:532 stock/models.py:1667 stock/models.py:1769 #: stock/templates/stock/navbar.html:57 templates/js/barcode.js:37 -#: templates/js/bom.js:356 templates/js/stock.js:141 templates/js/stock.js:669 +#: templates/js/bom.js:356 templates/js/stock.js:141 templates/js/stock.js:674 msgid "Notes" msgstr "" @@ -809,11 +809,11 @@ msgstr "" msgid "Allocated quantity ({n}) must not exceed available quantity ({q})" msgstr "" -#: build/models.py:1188 order/models.py:789 +#: build/models.py:1188 order/models.py:791 msgid "StockItem is over-allocated" msgstr "" -#: build/models.py:1192 order/models.py:792 +#: build/models.py:1192 order/models.py:794 msgid "Allocation quantity must be greater than zero" msgstr "" @@ -826,17 +826,17 @@ msgstr "" msgid "Selected stock item not found in BOM for part '{p}'" msgstr "" -#: build/models.py:1303 stock/templates/stock/item_base.html:317 +#: build/models.py:1316 stock/templates/stock/item_base.html:317 #: templates/InvenTree/search.html:183 templates/js/build.js:724 #: templates/navbar.html:29 msgid "Build" msgstr "" -#: build/models.py:1304 +#: build/models.py:1317 msgid "Build to allocate parts" msgstr "" -#: build/models.py:1320 part/templates/part/allocation.html:18 +#: build/models.py:1333 part/templates/part/allocation.html:18 #: part/templates/part/allocation.html:24 #: part/templates/part/allocation.html:31 #: part/templates/part/allocation.html:49 @@ -844,23 +844,23 @@ msgstr "" #: stock/templates/stock/item_base.html:31 #: stock/templates/stock/item_base.html:339 #: stock/templates/stock/stock_adjust.html:16 templates/js/build.js:841 -#: templates/js/stock.js:1085 +#: templates/js/stock.js:1090 msgid "Stock Item" msgstr "" -#: build/models.py:1321 +#: build/models.py:1334 msgid "Source stock item" msgstr "" -#: build/models.py:1334 +#: build/models.py:1347 msgid "Stock quantity to allocate to build" msgstr "" -#: build/models.py:1342 +#: build/models.py:1355 msgid "Install into" msgstr "" -#: build/models.py:1343 +#: build/models.py:1356 msgid "Destination stock item" msgstr "" @@ -916,7 +916,7 @@ msgstr "" #: order/templates/order/sales_order_detail.html:75 #: order/templates/order/sales_order_detail.html:160 #: report/templates/report/inventree_test_report_base.html:75 -#: stock/models.py:452 stock/templates/stock/item_base.html:249 +#: stock/models.py:454 stock/templates/stock/item_base.html:249 #: templates/js/build.js:484 msgid "Serial Number" msgstr "" @@ -1037,7 +1037,7 @@ msgid "Progress" msgstr "" #: build/templates/build/build_base.html:170 -#: build/templates/build/detail.html:84 order/models.py:689 +#: build/templates/build/detail.html:84 order/models.py:691 #: order/templates/order/sales_order_base.html:9 #: order/templates/order/sales_order_base.html:35 #: order/templates/order/sales_order_ship.html:25 @@ -1195,7 +1195,7 @@ msgstr "" #: build/templates/build/detail.html:70 #: stock/templates/stock/item_base.html:303 templates/js/stock.js:634 -#: templates/js/stock.js:1376 templates/js/table_filters.js:112 +#: templates/js/stock.js:1381 templates/js/table_filters.js:112 #: templates/js/table_filters.js:206 msgid "Batch" msgstr "" @@ -1250,7 +1250,7 @@ msgstr "" #: company/templates/company/navbar.html:15 #: order/templates/order/po_navbar.html:14 #: order/templates/order/so_navbar.html:15 part/templates/part/navbar.html:15 -#: templates/js/stock.js:1014 +#: templates/js/stock.js:1019 msgid "Details" msgstr "" @@ -1898,7 +1898,7 @@ msgstr "" #: company/templates/company/manufacturer_part_detail.html:26 #: company/templates/company/supplier_part_base.html:102 #: company/templates/company/supplier_part_detail.html:35 -#: order/templates/order/purchase_order_detail.html:158 part/bom.py:171 +#: order/templates/order/purchase_order_detail.html:162 part/bom.py:171 #: part/bom.py:242 templates/js/company.js:181 templates/js/company.js:307 msgid "MPN" msgstr "" @@ -1953,7 +1953,7 @@ msgid "Point of contact" msgstr "" #: company/models.py:121 company/models.py:333 company/models.py:485 -#: order/models.py:103 part/models.py:743 +#: order/models.py:105 part/models.py:743 #: report/templates/report/inventree_build_order_base.html:165 #: templates/js/company.js:188 templates/js/company.js:318 #: templates/js/part.js:497 @@ -1992,7 +1992,7 @@ msgstr "" msgid "Does this company manufacture parts?" msgstr "" -#: company/models.py:305 company/models.py:456 stock/models.py:405 +#: company/models.py:305 company/models.py:456 stock/models.py:407 #: stock/templates/stock/item_base.html:235 msgid "Base Part" msgstr "" @@ -2022,7 +2022,7 @@ msgstr "" #: company/models.py:466 company/templates/company/detail.html:62 #: company/templates/company/supplier_part_base.html:84 -#: company/templates/company/supplier_part_detail.html:25 order/models.py:190 +#: company/templates/company/supplier_part_detail.html:25 order/models.py:192 #: order/templates/order/order_base.html:92 #: order/templates/order/order_wizard/select_pos.html:30 part/bom.py:175 #: part/bom.py:286 stock/templates/stock/item_base.html:364 @@ -2037,7 +2037,7 @@ msgstr "" #: company/models.py:472 company/templates/company/supplier_part_base.html:88 #: company/templates/company/supplier_part_detail.html:26 -#: order/templates/order/purchase_order_detail.html:149 part/bom.py:176 +#: order/templates/order/purchase_order_detail.html:153 part/bom.py:176 #: part/bom.py:287 msgid "SKU" msgstr "" @@ -2081,8 +2081,8 @@ msgid "Minimum charge (e.g. stocking fee)" msgstr "" #: company/models.py:503 company/templates/company/supplier_part_base.html:109 -#: stock/models.py:429 stock/templates/stock/item_base.html:310 -#: templates/js/stock.js:665 +#: stock/models.py:431 stock/templates/stock/item_base.html:310 +#: templates/js/stock.js:670 msgid "Packaging" msgstr "" @@ -2165,11 +2165,11 @@ msgstr "" msgid "Uses default currency" msgstr "" -#: company/templates/company/detail.html:67 order/models.py:461 -#: order/templates/order/sales_order_base.html:94 stock/models.py:447 -#: stock/models.py:448 stock/templates/stock/item_base.html:262 +#: company/templates/company/detail.html:67 order/models.py:463 +#: order/templates/order/sales_order_base.html:94 stock/models.py:449 +#: stock/models.py:450 stock/templates/stock/item_base.html:262 #: templates/js/company.js:40 templates/js/order.js:267 -#: templates/js/stock.js:1067 +#: templates/js/stock.js:1072 msgid "Customer" msgstr "" @@ -2215,7 +2215,7 @@ msgstr "" #: company/templates/company/detail_manufacturer_part.html:66 #: company/templates/company/detail_supplier_part.html:66 #: part/templates/part/bom.html:159 part/templates/part/category.html:118 -#: templates/js/stock.js:1282 +#: templates/js/stock.js:1287 msgid "New Part" msgstr "" @@ -2262,7 +2262,7 @@ msgstr "" #: company/templates/company/detail_supplier_part.html:22 #: company/templates/company/manufacturer_part_suppliers.html:17 #: order/templates/order/purchase_order_detail.html:49 -#: part/templates/part/supplier.html:17 templates/js/stock.js:1288 +#: part/templates/part/supplier.html:17 templates/js/stock.js:1293 msgid "New Supplier Part" msgstr "" @@ -2385,7 +2385,7 @@ msgstr "" #: stock/templates/stock/location.html:136 #: stock/templates/stock/location_navbar.html:22 #: stock/templates/stock/location_navbar.html:29 -#: templates/InvenTree/search.html:198 templates/js/stock.js:966 +#: templates/InvenTree/search.html:198 templates/js/stock.js:971 #: templates/stats.html:93 templates/stats.html:102 users/models.py:42 msgid "Stock Items" msgstr "" @@ -2441,7 +2441,7 @@ msgid "New Sales Order" msgstr "" #: company/templates/company/supplier_part_base.html:7 -#: company/templates/company/supplier_part_base.html:20 stock/models.py:414 +#: company/templates/company/supplier_part_base.html:20 stock/models.py:416 #: stock/templates/stock/item_base.html:369 templates/js/company.js:279 msgid "Supplier Part" msgstr "" @@ -2598,7 +2598,7 @@ msgstr "" msgid "Edit Supplier Part" msgstr "" -#: company/views.py:578 templates/js/stock.js:1289 +#: company/views.py:578 templates/js/stock.js:1294 msgid "Create new Supplier Part" msgstr "" @@ -2712,7 +2712,7 @@ msgstr "" msgid "Enter sales order number" msgstr "" -#: order/forms.py:145 order/models.py:473 +#: order/forms.py:145 order/models.py:475 msgid "Target date for order completion. Order will be overdue after this date." msgstr "" @@ -2724,209 +2724,209 @@ msgstr "" msgid "Enter quantity of stock items" msgstr "" -#: order/models.py:99 +#: order/models.py:101 msgid "Order reference" msgstr "" -#: order/models.py:101 +#: order/models.py:103 msgid "Order description" msgstr "" -#: order/models.py:103 +#: order/models.py:105 msgid "Link to external page" msgstr "" -#: order/models.py:111 part/templates/part/detail.html:132 +#: order/models.py:113 part/templates/part/detail.html:132 msgid "Created By" msgstr "" -#: order/models.py:118 +#: order/models.py:120 msgid "User or group responsible for this order" msgstr "" -#: order/models.py:123 +#: order/models.py:125 msgid "Order notes" msgstr "" -#: order/models.py:182 order/models.py:466 +#: order/models.py:184 order/models.py:468 msgid "Purchase order status" msgstr "" -#: order/models.py:191 +#: order/models.py:193 msgid "Company from which the items are being ordered" msgstr "" -#: order/models.py:194 order/templates/order/order_base.html:98 +#: order/models.py:196 order/templates/order/order_base.html:98 #: templates/js/order.js:179 msgid "Supplier Reference" msgstr "" -#: order/models.py:194 +#: order/models.py:196 msgid "Supplier order reference code" msgstr "" -#: order/models.py:201 +#: order/models.py:203 msgid "received by" msgstr "" -#: order/models.py:206 +#: order/models.py:208 msgid "Issue Date" msgstr "" -#: order/models.py:207 +#: order/models.py:209 msgid "Date order was issued" msgstr "" -#: order/models.py:212 +#: order/models.py:214 msgid "Target Delivery Date" msgstr "" -#: order/models.py:213 +#: order/models.py:215 msgid "Expected date for order delivery. Order will be overdue after this date." msgstr "" -#: order/models.py:219 +#: order/models.py:221 msgid "Date order was completed" msgstr "" -#: order/models.py:243 part/views.py:1675 stock/models.py:302 -#: stock/models.py:1018 +#: order/models.py:245 part/views.py:1675 stock/models.py:304 +#: stock/models.py:1020 msgid "Quantity must be greater than zero" msgstr "" -#: order/models.py:248 +#: order/models.py:250 msgid "Part supplier must match PO supplier" msgstr "" -#: order/models.py:346 +#: order/models.py:348 msgid "Lines can only be received against an order marked as 'Placed'" msgstr "" -#: order/models.py:350 +#: order/models.py:352 msgid "Quantity must be an integer" msgstr "" -#: order/models.py:352 +#: order/models.py:354 msgid "Quantity must be a positive number" msgstr "" -#: order/models.py:462 +#: order/models.py:464 msgid "Company to which the items are being sold" msgstr "" -#: order/models.py:468 +#: order/models.py:470 msgid "Customer Reference " msgstr "" -#: order/models.py:468 +#: order/models.py:470 msgid "Customer order reference code" msgstr "" -#: order/models.py:476 templates/js/order.js:303 +#: order/models.py:478 templates/js/order.js:303 msgid "Shipment Date" msgstr "" -#: order/models.py:483 +#: order/models.py:485 msgid "shipped by" msgstr "" -#: order/models.py:527 +#: order/models.py:529 msgid "SalesOrder cannot be shipped as it is not currently pending" msgstr "" -#: order/models.py:614 +#: order/models.py:616 msgid "Item quantity" msgstr "" -#: order/models.py:616 +#: order/models.py:618 msgid "Line item reference" msgstr "" -#: order/models.py:618 +#: order/models.py:620 msgid "Line item notes" msgstr "" -#: order/models.py:644 order/models.py:689 +#: order/models.py:646 order/models.py:691 #: part/templates/part/allocation.html:17 #: part/templates/part/allocation.html:45 msgid "Order" msgstr "" -#: order/models.py:645 order/templates/order/order_base.html:9 +#: order/models.py:647 order/templates/order/order_base.html:9 #: order/templates/order/order_base.html:24 #: report/templates/report/inventree_po_report.html:77 #: stock/templates/stock/item_base.html:324 templates/js/order.js:148 -#: templates/js/stock.js:1048 +#: templates/js/stock.js:1053 msgid "Purchase Order" msgstr "" -#: order/models.py:659 +#: order/models.py:661 msgid "Supplier part" msgstr "" -#: order/models.py:662 order/templates/order/order_base.html:131 -#: order/templates/order/purchase_order_detail.html:189 +#: order/models.py:664 order/templates/order/order_base.html:131 +#: order/templates/order/purchase_order_detail.html:219 #: order/templates/order/receive_parts.html:22 #: order/templates/order/sales_order_base.html:133 msgid "Received" msgstr "" -#: order/models.py:662 +#: order/models.py:664 msgid "Number of items received" msgstr "" -#: order/models.py:669 stock/models.py:540 -#: stock/templates/stock/item_base.html:331 +#: order/models.py:671 stock/models.py:542 +#: stock/templates/stock/item_base.html:331 templates/js/stock.js:665 msgid "Purchase Price" msgstr "" -#: order/models.py:670 +#: order/models.py:672 msgid "Unit purchase price" msgstr "" -#: order/models.py:698 part/templates/part/navbar.html:101 +#: order/models.py:700 part/templates/part/navbar.html:101 #: part/templates/part/order_prices.html:82 -#: part/templates/part/part_pricing.html:77 +#: part/templates/part/part_pricing.html:78 msgid "Sale Price" msgstr "" -#: order/models.py:699 +#: order/models.py:701 msgid "Unit sale price" msgstr "" -#: order/models.py:774 order/models.py:776 +#: order/models.py:776 order/models.py:778 msgid "Stock item has not been assigned" msgstr "" -#: order/models.py:780 +#: order/models.py:782 msgid "Cannot allocate stock item to a line with a different part" msgstr "" -#: order/models.py:782 +#: order/models.py:784 msgid "Cannot allocate stock to a line without a part" msgstr "" -#: order/models.py:785 +#: order/models.py:787 msgid "Allocation quantity cannot exceed stock quantity" msgstr "" -#: order/models.py:795 +#: order/models.py:797 msgid "Quantity must be 1 for serialized stock item" msgstr "" -#: order/models.py:800 +#: order/models.py:802 msgid "Line" msgstr "" -#: order/models.py:811 +#: order/models.py:813 msgid "Item" msgstr "" -#: order/models.py:812 +#: order/models.py:814 msgid "Select stock item to allocate" msgstr "" -#: order/models.py:815 +#: order/models.py:817 msgid "Enter stock allocation quantity" msgstr "" @@ -2977,8 +2977,8 @@ msgstr "" #: order/templates/order/order_base.html:180 #: order/templates/order/purchase_order_detail.html:100 #: part/templates/part/category.html:208 part/templates/part/category.html:250 -#: stock/templates/stock/location.html:191 templates/js/stock.js:706 -#: templates/js/stock.js:1294 +#: stock/templates/stock/location.html:191 templates/js/stock.js:711 +#: templates/js/stock.js:1299 msgid "New Location" msgstr "" @@ -3162,21 +3162,25 @@ msgstr "" msgid "No line items found" msgstr "" -#: order/templates/order/purchase_order_detail.html:180 +#: order/templates/order/purchase_order_detail.html:191 #: order/templates/order/sales_order_detail.html:235 msgid "Unit Price" msgstr "" -#: order/templates/order/purchase_order_detail.html:221 +#: order/templates/order/purchase_order_detail.html:198 +msgid "Total price" +msgstr "" + +#: order/templates/order/purchase_order_detail.html:251 #: order/templates/order/sales_order_detail.html:328 msgid "Edit line item" msgstr "" -#: order/templates/order/purchase_order_detail.html:222 +#: order/templates/order/purchase_order_detail.html:252 msgid "Delete line item" msgstr "" -#: order/templates/order/purchase_order_detail.html:227 +#: order/templates/order/purchase_order_detail.html:257 msgid "Receive line item" msgstr "" @@ -4064,7 +4068,7 @@ msgid "Stock items for variant parts can be used for this BOM item" msgstr "" #: part/models.py:2371 part/views.py:1681 part/views.py:1733 -#: stock/models.py:292 +#: stock/models.py:294 msgid "Quantity must be integer value for trackable parts" msgstr "" @@ -4173,7 +4177,7 @@ msgid "All selected BOM items will be deleted" msgstr "" #: part/templates/part/bom.html:160 part/views.py:585 -#: templates/js/stock.js:1283 +#: templates/js/stock.js:1288 msgid "Create New Part" msgstr "" @@ -4314,7 +4318,7 @@ msgid "View grid display" msgstr "" #: part/templates/part/category.html:209 -#: stock/templates/stock/location.html:192 templates/js/stock.js:707 +#: stock/templates/stock/location.html:192 templates/js/stock.js:712 msgid "Create new location" msgstr "" @@ -4408,7 +4412,7 @@ msgstr "" msgid "Part Details" msgstr "" -#: part/templates/part/detail.html:42 +#: part/templates/part/detail.html:42 part/templates/part/part_base.html:188 msgid "Latest Serial Number" msgstr "" @@ -4551,51 +4555,51 @@ msgid "Pricing ranges" msgstr "" #: part/templates/part/order_prices.html:26 -#: part/templates/part/part_pricing.html:18 +#: part/templates/part/part_pricing.html:19 msgid "Supplier Pricing" msgstr "" #: part/templates/part/order_prices.html:27 #: part/templates/part/order_prices.html:52 #: part/templates/part/order_prices.html:83 -#: part/templates/part/part_pricing.html:22 -#: part/templates/part/part_pricing.html:48 -#: part/templates/part/part_pricing.html:80 +#: part/templates/part/part_pricing.html:23 +#: part/templates/part/part_pricing.html:49 +#: part/templates/part/part_pricing.html:81 msgid "Unit Cost" msgstr "" #: part/templates/part/order_prices.html:34 #: part/templates/part/order_prices.html:59 #: part/templates/part/order_prices.html:88 -#: part/templates/part/part_pricing.html:28 -#: part/templates/part/part_pricing.html:54 -#: part/templates/part/part_pricing.html:84 +#: part/templates/part/part_pricing.html:29 +#: part/templates/part/part_pricing.html:55 +#: part/templates/part/part_pricing.html:85 msgid "Total Cost" msgstr "" #: part/templates/part/order_prices.html:42 -#: part/templates/part/part_pricing.html:36 +#: part/templates/part/part_pricing.html:37 msgid "No supplier pricing available" msgstr "" #: part/templates/part/order_prices.html:51 #: part/templates/part/order_prices.html:103 -#: part/templates/part/part_pricing.html:44 +#: part/templates/part/part_pricing.html:45 msgid "BOM Pricing" msgstr "" #: part/templates/part/order_prices.html:67 -#: part/templates/part/part_pricing.html:62 +#: part/templates/part/part_pricing.html:63 msgid "Note: BOM pricing is incomplete for this part" msgstr "" #: part/templates/part/order_prices.html:74 -#: part/templates/part/part_pricing.html:69 +#: part/templates/part/part_pricing.html:70 msgid "No BOM pricing available" msgstr "" #: part/templates/part/order_prices.html:97 -#: part/templates/part/part_pricing.html:93 +#: part/templates/part/part_pricing.html:94 msgid "No pricing information is available for this part." msgstr "" @@ -4634,7 +4638,7 @@ msgstr "" #: part/templates/part/params.html:28 #: report/templates/report/inventree_test_report_base.html:90 -#: stock/models.py:1754 templates/InvenTree/settings/header.html:8 +#: stock/models.py:1756 templates/InvenTree/settings/header.html:8 #: templates/js/stock.js:137 msgid "Value" msgstr "" @@ -4740,7 +4744,7 @@ msgstr "" msgid "Building" msgstr "" -#: part/templates/part/part_base.html:257 +#: part/templates/part/part_base.html:265 msgid "Calculate" msgstr "" @@ -4849,7 +4853,7 @@ msgstr "" msgid "New Variant" msgstr "" -#: part/templatetags/inventree_extras.py:97 +#: part/templatetags/inventree_extras.py:98 msgid "Unknown database" msgstr "" @@ -5160,17 +5164,17 @@ msgid "Test Results" msgstr "" #: report/templates/report/inventree_test_report_base.html:88 -#: stock/models.py:1742 +#: stock/models.py:1744 msgid "Test" msgstr "" #: report/templates/report/inventree_test_report_base.html:89 -#: stock/models.py:1748 +#: stock/models.py:1750 msgid "Result" msgstr "" #: report/templates/report/inventree_test_report_base.html:92 -#: templates/js/order.js:195 templates/js/stock.js:982 +#: templates/js/order.js:195 templates/js/stock.js:987 msgid "Date" msgstr "" @@ -5192,7 +5196,7 @@ msgstr "" msgid "Moved {n} parts to {loc}" msgstr "" -#: stock/forms.py:114 stock/forms.py:418 stock/models.py:507 +#: stock/forms.py:114 stock/forms.py:418 stock/models.py:509 #: stock/templates/stock/item_base.html:376 templates/js/stock.js:654 msgid "Expiry Date" msgstr "" @@ -5282,187 +5286,187 @@ msgstr "" msgid "Set the destination as the default location for selected parts" msgstr "" -#: stock/models.py:54 stock/models.py:545 +#: stock/models.py:56 stock/models.py:547 msgid "Owner" msgstr "" -#: stock/models.py:55 stock/models.py:546 +#: stock/models.py:57 stock/models.py:548 msgid "Select Owner" msgstr "" -#: stock/models.py:273 +#: stock/models.py:275 msgid "StockItem with this serial number already exists" msgstr "" -#: stock/models.py:309 +#: stock/models.py:311 #, python-brace-format msgid "Part type ('{pf}') must be {pe}" msgstr "" -#: stock/models.py:319 stock/models.py:328 +#: stock/models.py:321 stock/models.py:330 msgid "Quantity must be 1 for item with a serial number" msgstr "" -#: stock/models.py:320 +#: stock/models.py:322 msgid "Serial number cannot be set if quantity greater than 1" msgstr "" -#: stock/models.py:342 +#: stock/models.py:344 msgid "Item cannot belong to itself" msgstr "" -#: stock/models.py:348 +#: stock/models.py:350 msgid "Item must have a build reference if is_building=True" msgstr "" -#: stock/models.py:355 +#: stock/models.py:357 msgid "Build reference does not point to the same part object" msgstr "" -#: stock/models.py:397 +#: stock/models.py:399 msgid "Parent Stock Item" msgstr "" -#: stock/models.py:406 +#: stock/models.py:408 msgid "Base part" msgstr "" -#: stock/models.py:415 +#: stock/models.py:417 msgid "Select a matching supplier part for this stock item" msgstr "" -#: stock/models.py:420 stock/templates/stock/stock_app_base.html:8 +#: stock/models.py:422 stock/templates/stock/stock_app_base.html:8 msgid "Stock Location" msgstr "" -#: stock/models.py:423 +#: stock/models.py:425 msgid "Where is this stock item located?" msgstr "" -#: stock/models.py:430 +#: stock/models.py:432 msgid "Packaging this stock item is stored in" msgstr "" -#: stock/models.py:435 stock/templates/stock/item_base.html:270 +#: stock/models.py:437 stock/templates/stock/item_base.html:270 msgid "Installed In" msgstr "" -#: stock/models.py:438 +#: stock/models.py:440 msgid "Is this item installed in another item?" msgstr "" -#: stock/models.py:454 +#: stock/models.py:456 msgid "Serial number for this item" msgstr "" -#: stock/models.py:466 +#: stock/models.py:468 msgid "Batch code for this stock item" msgstr "" -#: stock/models.py:470 +#: stock/models.py:472 msgid "Stock Quantity" msgstr "" -#: stock/models.py:479 +#: stock/models.py:481 msgid "Source Build" msgstr "" -#: stock/models.py:481 +#: stock/models.py:483 msgid "Build for this stock item" msgstr "" -#: stock/models.py:492 +#: stock/models.py:494 msgid "Source Purchase Order" msgstr "" -#: stock/models.py:495 +#: stock/models.py:497 msgid "Purchase order for this stock item" msgstr "" -#: stock/models.py:501 +#: stock/models.py:503 msgid "Destination Sales Order" msgstr "" -#: stock/models.py:508 +#: stock/models.py:510 msgid "Expiry date for stock item. Stock will be considered expired after this date" msgstr "" -#: stock/models.py:521 +#: stock/models.py:523 msgid "Delete on deplete" msgstr "" -#: stock/models.py:521 +#: stock/models.py:523 msgid "Delete this Stock Item when stock is depleted" msgstr "" -#: stock/models.py:531 stock/templates/stock/item_notes.html:13 +#: stock/models.py:533 stock/templates/stock/item_notes.html:13 #: stock/templates/stock/navbar.html:54 msgid "Stock Item Notes" msgstr "" -#: stock/models.py:541 +#: stock/models.py:543 msgid "Single unit purchase price at time of purchase" msgstr "" -#: stock/models.py:1009 +#: stock/models.py:1011 msgid "Part is not set as trackable" msgstr "" -#: stock/models.py:1015 +#: stock/models.py:1017 msgid "Quantity must be integer" msgstr "" -#: stock/models.py:1021 +#: stock/models.py:1023 #, python-brace-format msgid "Quantity must not exceed available stock quantity ({n})" msgstr "" -#: stock/models.py:1024 +#: stock/models.py:1026 msgid "Serial numbers must be a list of integers" msgstr "" -#: stock/models.py:1027 +#: stock/models.py:1029 msgid "Quantity does not match serial numbers" msgstr "" -#: stock/models.py:1034 +#: stock/models.py:1036 #, python-brace-format msgid "Serial numbers already exist: {exists}" msgstr "" -#: stock/models.py:1192 +#: stock/models.py:1194 msgid "StockItem cannot be moved as it is not in stock" msgstr "" -#: stock/models.py:1666 +#: stock/models.py:1668 msgid "Entry notes" msgstr "" -#: stock/models.py:1719 +#: stock/models.py:1721 msgid "Value must be provided for this test" msgstr "" -#: stock/models.py:1725 +#: stock/models.py:1727 msgid "Attachment must be uploaded for this test" msgstr "" -#: stock/models.py:1743 +#: stock/models.py:1745 msgid "Test name" msgstr "" -#: stock/models.py:1749 templates/js/table_filters.js:217 +#: stock/models.py:1751 templates/js/table_filters.js:217 msgid "Test result" msgstr "" -#: stock/models.py:1755 +#: stock/models.py:1757 msgid "Test output value" msgstr "" -#: stock/models.py:1762 +#: stock/models.py:1764 msgid "Test result attachment" msgstr "" -#: stock/models.py:1768 +#: stock/models.py:1770 msgid "Test notes" msgstr "" @@ -6580,7 +6584,7 @@ msgid "No builds matching query" msgstr "" #: templates/js/build.js:718 templates/js/part.js:390 templates/js/part.js:634 -#: templates/js/stock.js:509 templates/js/stock.js:936 +#: templates/js/stock.js:509 templates/js/stock.js:941 msgid "Select" msgstr "" @@ -6831,7 +6835,7 @@ msgstr "" msgid "Low stock" msgstr "" -#: templates/js/part.js:659 templates/js/stock.js:960 +#: templates/js/part.js:659 templates/js/stock.js:965 msgid "Path" msgstr "" @@ -7029,75 +7033,75 @@ msgstr "" msgid "Stocktake" msgstr "" -#: templates/js/stock.js:823 +#: templates/js/stock.js:828 msgid "Stock Status" msgstr "" -#: templates/js/stock.js:838 +#: templates/js/stock.js:843 msgid "Set Stock Status" msgstr "" -#: templates/js/stock.js:852 +#: templates/js/stock.js:857 msgid "Select Status Code" msgstr "" -#: templates/js/stock.js:853 +#: templates/js/stock.js:858 msgid "Status code must be selected" msgstr "" -#: templates/js/stock.js:992 +#: templates/js/stock.js:997 msgid "Invalid date" msgstr "" -#: templates/js/stock.js:1039 +#: templates/js/stock.js:1044 msgid "Location no longer exists" msgstr "" -#: templates/js/stock.js:1058 +#: templates/js/stock.js:1063 msgid "Purchase order no longer exists" msgstr "" -#: templates/js/stock.js:1077 +#: templates/js/stock.js:1082 msgid "Customer no longer exists" msgstr "" -#: templates/js/stock.js:1095 +#: templates/js/stock.js:1100 msgid "Stock item no longer exists" msgstr "" -#: templates/js/stock.js:1118 +#: templates/js/stock.js:1123 msgid "Added" msgstr "" -#: templates/js/stock.js:1126 +#: templates/js/stock.js:1131 msgid "Removed" msgstr "" -#: templates/js/stock.js:1158 +#: templates/js/stock.js:1163 msgid "No user information" msgstr "" -#: templates/js/stock.js:1170 +#: templates/js/stock.js:1175 msgid "Edit tracking entry" msgstr "" -#: templates/js/stock.js:1171 +#: templates/js/stock.js:1176 msgid "Delete tracking entry" msgstr "" -#: templates/js/stock.js:1295 +#: templates/js/stock.js:1300 msgid "Create New Location" msgstr "" -#: templates/js/stock.js:1336 +#: templates/js/stock.js:1341 msgid "No installed items" msgstr "" -#: templates/js/stock.js:1359 +#: templates/js/stock.js:1364 msgid "Serial" msgstr "" -#: templates/js/stock.js:1387 +#: templates/js/stock.js:1392 msgid "Uninstall Stock Item" msgstr "" diff --git a/InvenTree/locale/tr/LC_MESSAGES/django.po b/InvenTree/locale/tr/LC_MESSAGES/django.po index 6934e3e8c4..e30c1ed591 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-06-01 10:07+0000\n" -"PO-Revision-Date: 2021-06-01 10:22\n" +"POT-Creation-Date: 2021-06-16 22:40+0000\n" +"PO-Revision-Date: 2021-06-16 22:41\n" "Last-Translator: \n" "Language-Team: Turkish\n" "Language: tr_TR\n" @@ -77,7 +77,7 @@ msgstr "Kategori Seçin" msgid "Duplicate serial: {n}" msgstr "Tekrarlanan seri {n}" -#: InvenTree/helpers.py:384 order/models.py:245 order/models.py:355 +#: InvenTree/helpers.py:384 order/models.py:247 order/models.py:357 #: stock/views.py:1795 msgid "Invalid quantity provided" msgstr "Geçersiz veri sağlandı" @@ -106,7 +106,7 @@ msgstr "Seri numarası bulunamadı" msgid "Number of unique serial number ({s}) must match quantity ({q})" msgstr "Benzersiz serinin numaraları ({s}) miktarla eşleşmeli ({q})" -#: InvenTree/models.py:59 stock/models.py:1761 +#: InvenTree/models.py:59 stock/models.py:1763 msgid "Attachment" msgstr "Ek" @@ -124,7 +124,7 @@ msgstr "Yorum" #: InvenTree/models.py:68 InvenTree/models.py:69 part/models.py:1999 #: report/templates/report/inventree_test_report_base.html:91 -#: templates/js/stock.js:1149 +#: templates/js/stock.js:1154 msgid "User" msgstr "Kullanıcı" @@ -136,7 +136,7 @@ msgstr "Yükleme tarihi" #: part/models.py:686 part/models.py:2140 part/templates/part/params.html:27 #: report/models.py:179 templates/InvenTree/search.html:137 #: templates/InvenTree/search.html:289 templates/js/part.js:118 -#: templates/js/part.js:641 templates/js/stock.js:942 +#: templates/js/part.js:641 templates/js/stock.js:947 msgid "Name" msgstr "Adı" @@ -146,7 +146,7 @@ msgstr "Adı" #: company/templates/company/manufacturer_part_base.html:72 #: company/templates/company/supplier_part_base.html:71 #: company/templates/company/supplier_part_detail.html:31 label/models.py:109 -#: order/models.py:101 order/templates/order/purchase_order_detail.html:143 +#: order/models.py:103 order/templates/order/purchase_order_detail.html:147 #: part/models.py:710 part/templates/part/detail.html:54 #: part/templates/part/set_category.html:14 report/models.py:192 #: report/models.py:505 report/models.py:544 @@ -158,8 +158,8 @@ msgstr "Adı" #: templates/js/company.js:56 templates/js/order.js:183 #: templates/js/order.js:280 templates/js/part.js:177 templates/js/part.js:260 #: templates/js/part.js:437 templates/js/part.js:653 templates/js/part.js:721 -#: templates/js/stock.js:552 templates/js/stock.js:954 -#: templates/js/stock.js:999 +#: templates/js/stock.js:552 templates/js/stock.js:959 +#: templates/js/stock.js:1004 msgid "Description" msgstr "Açıklama" @@ -372,27 +372,27 @@ msgstr "" msgid "Overage must be an integer value or a percentage" msgstr "" -#: InvenTree/views.py:592 +#: InvenTree/views.py:605 msgid "Delete Item" msgstr "" -#: InvenTree/views.py:641 +#: InvenTree/views.py:654 msgid "Check box to confirm item deletion" msgstr "" -#: InvenTree/views.py:656 templates/InvenTree/settings/user.html:18 +#: InvenTree/views.py:669 templates/InvenTree/settings/user.html:18 msgid "Edit User Information" msgstr "" -#: InvenTree/views.py:667 templates/InvenTree/settings/user.html:22 +#: InvenTree/views.py:680 templates/InvenTree/settings/user.html:22 msgid "Set Password" msgstr "" -#: InvenTree/views.py:686 +#: InvenTree/views.py:699 msgid "Password fields must match" msgstr "" -#: InvenTree/views.py:937 templates/navbar.html:95 +#: InvenTree/views.py:950 templates/navbar.html:95 msgid "System Information" msgstr "" @@ -458,17 +458,17 @@ msgstr "" msgid "Target date for build completion. Build will be overdue after this date." msgstr "" -#: build/forms.py:48 build/forms.py:90 build/forms.py:266 build/models.py:1333 +#: build/forms.py:48 build/forms.py:90 build/forms.py:266 build/models.py:1346 #: build/templates/build/allocation_card.html:23 #: build/templates/build/auto_allocate.html:17 #: build/templates/build/build_base.html:133 #: build/templates/build/detail.html:31 common/models.py:699 #: company/forms.py:176 company/templates/company/supplier_part_pricing.html:77 #: order/forms.py:188 order/forms.py:205 order/forms.py:240 order/forms.py:262 -#: order/forms.py:279 order/models.py:614 order/models.py:815 +#: order/forms.py:279 order/models.py:616 order/models.py:817 #: order/templates/order/order_wizard/match_parts.html:29 #: order/templates/order/order_wizard/select_parts.html:32 -#: order/templates/order/purchase_order_detail.html:175 +#: order/templates/order/purchase_order_detail.html:179 #: order/templates/order/sales_order_detail.html:70 #: order/templates/order/sales_order_detail.html:77 #: order/templates/order/sales_order_detail.html:162 @@ -477,7 +477,7 @@ msgstr "" #: part/templates/part/allocation.html:19 #: part/templates/part/allocation.html:53 #: part/templates/part/order_prices.html:175 -#: part/templates/part/part_pricing.html:12 +#: part/templates/part/part_pricing.html:13 #: part/templates/part/sale_prices.html:85 #: report/templates/report/inventree_build_order_base.html:114 #: report/templates/report/inventree_po_report.html:91 @@ -487,8 +487,8 @@ msgstr "" #: stock/templates/stock/item_base.html:255 #: stock/templates/stock/stock_adjust.html:18 templates/js/barcode.js:364 #: templates/js/bom.js:205 templates/js/build.js:486 templates/js/build.js:1024 -#: templates/js/part.js:795 templates/js/stock.js:1134 -#: templates/js/stock.js:1353 +#: templates/js/part.js:795 templates/js/stock.js:1139 +#: templates/js/stock.js:1358 msgid "Quantity" msgstr "" @@ -534,7 +534,7 @@ msgstr "" #: stock/templates/stock/stock_adjust.html:17 #: templates/InvenTree/search.html:260 templates/js/barcode.js:363 #: templates/js/barcode.js:531 templates/js/build.js:500 -#: templates/js/stock.js:639 templates/js/stock.js:1026 +#: templates/js/stock.js:639 templates/js/stock.js:1031 msgid "Location" msgstr "" @@ -543,13 +543,13 @@ msgid "Location of completed parts" msgstr "" #: build/forms.py:215 build/templates/build/build_base.html:138 -#: build/templates/build/detail.html:59 order/models.py:466 +#: build/templates/build/detail.html:59 order/models.py:468 #: order/templates/order/receive_parts.html:24 #: stock/templates/stock/item_base.html:403 templates/InvenTree/search.html:252 #: templates/js/barcode.js:119 templates/js/build.js:780 #: templates/js/order.js:187 templates/js/order.js:285 -#: templates/js/stock.js:626 templates/js/stock.js:1103 -#: templates/js/stock.js:1369 +#: templates/js/stock.js:626 templates/js/stock.js:1108 +#: templates/js/stock.js:1374 msgid "Status" msgstr "" @@ -602,8 +602,8 @@ msgstr "" msgid "Build Order Reference" msgstr "" -#: build/models.py:128 order/models.py:99 order/models.py:616 -#: order/templates/order/purchase_order_detail.html:170 +#: build/models.py:128 order/models.py:101 order/models.py:618 +#: order/templates/order/purchase_order_detail.html:174 #: order/templates/order/sales_order_detail.html:225 part/models.py:2279 #: report/templates/report/inventree_po_report.html:92 #: report/templates/report/inventree_so_report.html:92 templates/js/bom.js:197 @@ -627,15 +627,15 @@ msgstr "" #: build/models.py:153 build/templates/build/auto_allocate.html:16 #: build/templates/build/build_base.html:128 #: build/templates/build/detail.html:26 company/models.py:622 -#: order/models.py:658 order/models.py:691 +#: order/models.py:660 order/models.py:693 #: order/templates/order/order_wizard/select_parts.html:30 -#: order/templates/order/purchase_order_detail.html:131 +#: order/templates/order/purchase_order_detail.html:132 #: order/templates/order/receive_parts.html:19 #: order/templates/order/sales_order_detail.html:213 part/models.py:321 #: part/models.py:1967 part/models.py:1979 part/models.py:1997 #: part/models.py:2072 part/models.py:2168 part/models.py:2254 #: part/templates/part/part_app_base.html:8 -#: part/templates/part/part_pricing.html:8 part/templates/part/related.html:29 +#: part/templates/part/part_pricing.html:9 part/templates/part/related.html:29 #: part/templates/part/set_category.html:13 #: report/templates/report/inventree_build_order_base.html:110 #: report/templates/report/inventree_po_report.html:90 @@ -646,7 +646,7 @@ msgstr "" #: templates/js/build.js:991 templates/js/company.js:140 #: templates/js/company.js:238 templates/js/part.js:241 #: templates/js/part.js:404 templates/js/stock.js:521 -#: templates/js/stock.js:1341 +#: templates/js/stock.js:1346 msgid "Part" msgstr "" @@ -702,7 +702,7 @@ msgstr "" msgid "Build status code" msgstr "" -#: build/models.py:213 stock/models.py:464 +#: build/models.py:213 stock/models.py:466 msgid "Batch Code" msgstr "" @@ -710,16 +710,16 @@ msgstr "" msgid "Batch code for this build output" msgstr "" -#: build/models.py:220 order/models.py:105 part/models.py:882 +#: build/models.py:220 order/models.py:107 part/models.py:882 #: part/templates/part/detail.html:126 templates/js/order.js:293 msgid "Creation Date" msgstr "" -#: build/models.py:224 order/models.py:472 +#: build/models.py:224 order/models.py:474 msgid "Target completion date" msgstr "" -#: build/models.py:228 order/models.py:218 templates/js/build.js:798 +#: build/models.py:228 order/models.py:220 templates/js/build.js:798 msgid "Completion Date" msgstr "" @@ -736,7 +736,7 @@ msgid "User who issued this build order" msgstr "" #: build/models.py:251 build/templates/build/build_base.html:184 -#: build/templates/build/detail.html:105 order/models.py:119 +#: build/templates/build/detail.html:105 order/models.py:121 #: order/templates/order/order_base.html:138 #: order/templates/order/sales_order_base.html:140 part/models.py:886 #: report/templates/report/inventree_build_order_base.html:159 @@ -753,30 +753,30 @@ msgstr "" #: company/templates/company/supplier_part_base.html:78 #: company/templates/company/supplier_part_detail.html:28 #: part/templates/part/detail.html:83 part/templates/part/part_base.html:94 -#: stock/models.py:458 stock/templates/stock/item_base.html:345 +#: stock/models.py:460 stock/templates/stock/item_base.html:345 msgid "External Link" msgstr "" -#: build/models.py:258 part/models.py:744 stock/models.py:460 +#: build/models.py:258 part/models.py:744 stock/models.py:462 msgid "Link to external URL" msgstr "" #: build/models.py:262 build/templates/build/navbar.html:53 #: company/models.py:132 company/models.py:498 #: company/templates/company/navbar.html:70 -#: company/templates/company/navbar.html:73 order/models.py:123 -#: order/models.py:618 order/templates/order/po_navbar.html:29 +#: company/templates/company/navbar.html:73 order/models.py:125 +#: order/models.py:620 order/templates/order/po_navbar.html:29 #: order/templates/order/po_navbar.html:32 -#: order/templates/order/purchase_order_detail.html:209 +#: order/templates/order/purchase_order_detail.html:239 #: order/templates/order/sales_order_detail.html:278 #: order/templates/order/so_navbar.html:33 #: order/templates/order/so_navbar.html:36 part/models.py:871 #: part/templates/part/navbar.html:134 #: report/templates/report/inventree_build_order_base.html:173 #: stock/forms.py:173 stock/forms.py:317 stock/forms.py:349 stock/forms.py:377 -#: stock/models.py:530 stock/models.py:1665 stock/models.py:1767 +#: stock/models.py:532 stock/models.py:1667 stock/models.py:1769 #: stock/templates/stock/navbar.html:57 templates/js/barcode.js:37 -#: templates/js/bom.js:356 templates/js/stock.js:141 templates/js/stock.js:669 +#: templates/js/bom.js:356 templates/js/stock.js:141 templates/js/stock.js:674 msgid "Notes" msgstr "" @@ -809,11 +809,11 @@ msgstr "" msgid "Allocated quantity ({n}) must not exceed available quantity ({q})" msgstr "" -#: build/models.py:1188 order/models.py:789 +#: build/models.py:1188 order/models.py:791 msgid "StockItem is over-allocated" msgstr "" -#: build/models.py:1192 order/models.py:792 +#: build/models.py:1192 order/models.py:794 msgid "Allocation quantity must be greater than zero" msgstr "" @@ -826,17 +826,17 @@ msgstr "" msgid "Selected stock item not found in BOM for part '{p}'" msgstr "" -#: build/models.py:1303 stock/templates/stock/item_base.html:317 +#: build/models.py:1316 stock/templates/stock/item_base.html:317 #: templates/InvenTree/search.html:183 templates/js/build.js:724 #: templates/navbar.html:29 msgid "Build" msgstr "" -#: build/models.py:1304 +#: build/models.py:1317 msgid "Build to allocate parts" msgstr "" -#: build/models.py:1320 part/templates/part/allocation.html:18 +#: build/models.py:1333 part/templates/part/allocation.html:18 #: part/templates/part/allocation.html:24 #: part/templates/part/allocation.html:31 #: part/templates/part/allocation.html:49 @@ -844,23 +844,23 @@ msgstr "" #: stock/templates/stock/item_base.html:31 #: stock/templates/stock/item_base.html:339 #: stock/templates/stock/stock_adjust.html:16 templates/js/build.js:841 -#: templates/js/stock.js:1085 +#: templates/js/stock.js:1090 msgid "Stock Item" msgstr "" -#: build/models.py:1321 +#: build/models.py:1334 msgid "Source stock item" msgstr "" -#: build/models.py:1334 +#: build/models.py:1347 msgid "Stock quantity to allocate to build" msgstr "" -#: build/models.py:1342 +#: build/models.py:1355 msgid "Install into" msgstr "" -#: build/models.py:1343 +#: build/models.py:1356 msgid "Destination stock item" msgstr "" @@ -916,7 +916,7 @@ msgstr "" #: order/templates/order/sales_order_detail.html:75 #: order/templates/order/sales_order_detail.html:160 #: report/templates/report/inventree_test_report_base.html:75 -#: stock/models.py:452 stock/templates/stock/item_base.html:249 +#: stock/models.py:454 stock/templates/stock/item_base.html:249 #: templates/js/build.js:484 msgid "Serial Number" msgstr "" @@ -1037,7 +1037,7 @@ msgid "Progress" msgstr "" #: build/templates/build/build_base.html:170 -#: build/templates/build/detail.html:84 order/models.py:689 +#: build/templates/build/detail.html:84 order/models.py:691 #: order/templates/order/sales_order_base.html:9 #: order/templates/order/sales_order_base.html:35 #: order/templates/order/sales_order_ship.html:25 @@ -1195,7 +1195,7 @@ msgstr "" #: build/templates/build/detail.html:70 #: stock/templates/stock/item_base.html:303 templates/js/stock.js:634 -#: templates/js/stock.js:1376 templates/js/table_filters.js:112 +#: templates/js/stock.js:1381 templates/js/table_filters.js:112 #: templates/js/table_filters.js:206 msgid "Batch" msgstr "" @@ -1250,7 +1250,7 @@ msgstr "" #: company/templates/company/navbar.html:15 #: order/templates/order/po_navbar.html:14 #: order/templates/order/so_navbar.html:15 part/templates/part/navbar.html:15 -#: templates/js/stock.js:1014 +#: templates/js/stock.js:1019 msgid "Details" msgstr "" @@ -1898,7 +1898,7 @@ msgstr "" #: company/templates/company/manufacturer_part_detail.html:26 #: company/templates/company/supplier_part_base.html:102 #: company/templates/company/supplier_part_detail.html:35 -#: order/templates/order/purchase_order_detail.html:158 part/bom.py:171 +#: order/templates/order/purchase_order_detail.html:162 part/bom.py:171 #: part/bom.py:242 templates/js/company.js:181 templates/js/company.js:307 msgid "MPN" msgstr "" @@ -1953,7 +1953,7 @@ msgid "Point of contact" msgstr "" #: company/models.py:121 company/models.py:333 company/models.py:485 -#: order/models.py:103 part/models.py:743 +#: order/models.py:105 part/models.py:743 #: report/templates/report/inventree_build_order_base.html:165 #: templates/js/company.js:188 templates/js/company.js:318 #: templates/js/part.js:497 @@ -1992,7 +1992,7 @@ msgstr "" msgid "Does this company manufacture parts?" msgstr "" -#: company/models.py:305 company/models.py:456 stock/models.py:405 +#: company/models.py:305 company/models.py:456 stock/models.py:407 #: stock/templates/stock/item_base.html:235 msgid "Base Part" msgstr "" @@ -2022,7 +2022,7 @@ msgstr "" #: company/models.py:466 company/templates/company/detail.html:62 #: company/templates/company/supplier_part_base.html:84 -#: company/templates/company/supplier_part_detail.html:25 order/models.py:190 +#: company/templates/company/supplier_part_detail.html:25 order/models.py:192 #: order/templates/order/order_base.html:92 #: order/templates/order/order_wizard/select_pos.html:30 part/bom.py:175 #: part/bom.py:286 stock/templates/stock/item_base.html:364 @@ -2037,7 +2037,7 @@ msgstr "" #: company/models.py:472 company/templates/company/supplier_part_base.html:88 #: company/templates/company/supplier_part_detail.html:26 -#: order/templates/order/purchase_order_detail.html:149 part/bom.py:176 +#: order/templates/order/purchase_order_detail.html:153 part/bom.py:176 #: part/bom.py:287 msgid "SKU" msgstr "" @@ -2081,8 +2081,8 @@ msgid "Minimum charge (e.g. stocking fee)" msgstr "" #: company/models.py:503 company/templates/company/supplier_part_base.html:109 -#: stock/models.py:429 stock/templates/stock/item_base.html:310 -#: templates/js/stock.js:665 +#: stock/models.py:431 stock/templates/stock/item_base.html:310 +#: templates/js/stock.js:670 msgid "Packaging" msgstr "" @@ -2165,11 +2165,11 @@ msgstr "" msgid "Uses default currency" msgstr "" -#: company/templates/company/detail.html:67 order/models.py:461 -#: order/templates/order/sales_order_base.html:94 stock/models.py:447 -#: stock/models.py:448 stock/templates/stock/item_base.html:262 +#: company/templates/company/detail.html:67 order/models.py:463 +#: order/templates/order/sales_order_base.html:94 stock/models.py:449 +#: stock/models.py:450 stock/templates/stock/item_base.html:262 #: templates/js/company.js:40 templates/js/order.js:267 -#: templates/js/stock.js:1067 +#: templates/js/stock.js:1072 msgid "Customer" msgstr "" @@ -2215,7 +2215,7 @@ msgstr "" #: company/templates/company/detail_manufacturer_part.html:66 #: company/templates/company/detail_supplier_part.html:66 #: part/templates/part/bom.html:159 part/templates/part/category.html:118 -#: templates/js/stock.js:1282 +#: templates/js/stock.js:1287 msgid "New Part" msgstr "" @@ -2262,7 +2262,7 @@ msgstr "" #: company/templates/company/detail_supplier_part.html:22 #: company/templates/company/manufacturer_part_suppliers.html:17 #: order/templates/order/purchase_order_detail.html:49 -#: part/templates/part/supplier.html:17 templates/js/stock.js:1288 +#: part/templates/part/supplier.html:17 templates/js/stock.js:1293 msgid "New Supplier Part" msgstr "" @@ -2385,7 +2385,7 @@ msgstr "" #: stock/templates/stock/location.html:136 #: stock/templates/stock/location_navbar.html:22 #: stock/templates/stock/location_navbar.html:29 -#: templates/InvenTree/search.html:198 templates/js/stock.js:966 +#: templates/InvenTree/search.html:198 templates/js/stock.js:971 #: templates/stats.html:93 templates/stats.html:102 users/models.py:42 msgid "Stock Items" msgstr "" @@ -2441,7 +2441,7 @@ msgid "New Sales Order" msgstr "" #: company/templates/company/supplier_part_base.html:7 -#: company/templates/company/supplier_part_base.html:20 stock/models.py:414 +#: company/templates/company/supplier_part_base.html:20 stock/models.py:416 #: stock/templates/stock/item_base.html:369 templates/js/company.js:279 msgid "Supplier Part" msgstr "" @@ -2598,7 +2598,7 @@ msgstr "" msgid "Edit Supplier Part" msgstr "" -#: company/views.py:578 templates/js/stock.js:1289 +#: company/views.py:578 templates/js/stock.js:1294 msgid "Create new Supplier Part" msgstr "" @@ -2712,7 +2712,7 @@ msgstr "" msgid "Enter sales order number" msgstr "" -#: order/forms.py:145 order/models.py:473 +#: order/forms.py:145 order/models.py:475 msgid "Target date for order completion. Order will be overdue after this date." msgstr "" @@ -2724,209 +2724,209 @@ msgstr "" msgid "Enter quantity of stock items" msgstr "" -#: order/models.py:99 +#: order/models.py:101 msgid "Order reference" msgstr "" -#: order/models.py:101 +#: order/models.py:103 msgid "Order description" msgstr "" -#: order/models.py:103 +#: order/models.py:105 msgid "Link to external page" msgstr "" -#: order/models.py:111 part/templates/part/detail.html:132 +#: order/models.py:113 part/templates/part/detail.html:132 msgid "Created By" msgstr "" -#: order/models.py:118 +#: order/models.py:120 msgid "User or group responsible for this order" msgstr "" -#: order/models.py:123 +#: order/models.py:125 msgid "Order notes" msgstr "" -#: order/models.py:182 order/models.py:466 +#: order/models.py:184 order/models.py:468 msgid "Purchase order status" msgstr "" -#: order/models.py:191 +#: order/models.py:193 msgid "Company from which the items are being ordered" msgstr "" -#: order/models.py:194 order/templates/order/order_base.html:98 +#: order/models.py:196 order/templates/order/order_base.html:98 #: templates/js/order.js:179 msgid "Supplier Reference" msgstr "" -#: order/models.py:194 +#: order/models.py:196 msgid "Supplier order reference code" msgstr "" -#: order/models.py:201 +#: order/models.py:203 msgid "received by" msgstr "" -#: order/models.py:206 +#: order/models.py:208 msgid "Issue Date" msgstr "" -#: order/models.py:207 +#: order/models.py:209 msgid "Date order was issued" msgstr "" -#: order/models.py:212 +#: order/models.py:214 msgid "Target Delivery Date" msgstr "" -#: order/models.py:213 +#: order/models.py:215 msgid "Expected date for order delivery. Order will be overdue after this date." msgstr "" -#: order/models.py:219 +#: order/models.py:221 msgid "Date order was completed" msgstr "" -#: order/models.py:243 part/views.py:1675 stock/models.py:302 -#: stock/models.py:1018 +#: order/models.py:245 part/views.py:1675 stock/models.py:304 +#: stock/models.py:1020 msgid "Quantity must be greater than zero" msgstr "" -#: order/models.py:248 +#: order/models.py:250 msgid "Part supplier must match PO supplier" msgstr "" -#: order/models.py:346 +#: order/models.py:348 msgid "Lines can only be received against an order marked as 'Placed'" msgstr "" -#: order/models.py:350 +#: order/models.py:352 msgid "Quantity must be an integer" msgstr "" -#: order/models.py:352 +#: order/models.py:354 msgid "Quantity must be a positive number" msgstr "" -#: order/models.py:462 +#: order/models.py:464 msgid "Company to which the items are being sold" msgstr "" -#: order/models.py:468 +#: order/models.py:470 msgid "Customer Reference " msgstr "" -#: order/models.py:468 +#: order/models.py:470 msgid "Customer order reference code" msgstr "" -#: order/models.py:476 templates/js/order.js:303 +#: order/models.py:478 templates/js/order.js:303 msgid "Shipment Date" msgstr "" -#: order/models.py:483 +#: order/models.py:485 msgid "shipped by" msgstr "" -#: order/models.py:527 +#: order/models.py:529 msgid "SalesOrder cannot be shipped as it is not currently pending" msgstr "" -#: order/models.py:614 +#: order/models.py:616 msgid "Item quantity" msgstr "" -#: order/models.py:616 +#: order/models.py:618 msgid "Line item reference" msgstr "" -#: order/models.py:618 +#: order/models.py:620 msgid "Line item notes" msgstr "" -#: order/models.py:644 order/models.py:689 +#: order/models.py:646 order/models.py:691 #: part/templates/part/allocation.html:17 #: part/templates/part/allocation.html:45 msgid "Order" msgstr "" -#: order/models.py:645 order/templates/order/order_base.html:9 +#: order/models.py:647 order/templates/order/order_base.html:9 #: order/templates/order/order_base.html:24 #: report/templates/report/inventree_po_report.html:77 #: stock/templates/stock/item_base.html:324 templates/js/order.js:148 -#: templates/js/stock.js:1048 +#: templates/js/stock.js:1053 msgid "Purchase Order" msgstr "" -#: order/models.py:659 +#: order/models.py:661 msgid "Supplier part" msgstr "" -#: order/models.py:662 order/templates/order/order_base.html:131 -#: order/templates/order/purchase_order_detail.html:189 +#: order/models.py:664 order/templates/order/order_base.html:131 +#: order/templates/order/purchase_order_detail.html:219 #: order/templates/order/receive_parts.html:22 #: order/templates/order/sales_order_base.html:133 msgid "Received" msgstr "" -#: order/models.py:662 +#: order/models.py:664 msgid "Number of items received" msgstr "" -#: order/models.py:669 stock/models.py:540 -#: stock/templates/stock/item_base.html:331 +#: order/models.py:671 stock/models.py:542 +#: stock/templates/stock/item_base.html:331 templates/js/stock.js:665 msgid "Purchase Price" msgstr "" -#: order/models.py:670 +#: order/models.py:672 msgid "Unit purchase price" msgstr "" -#: order/models.py:698 part/templates/part/navbar.html:101 +#: order/models.py:700 part/templates/part/navbar.html:101 #: part/templates/part/order_prices.html:82 -#: part/templates/part/part_pricing.html:77 +#: part/templates/part/part_pricing.html:78 msgid "Sale Price" msgstr "" -#: order/models.py:699 +#: order/models.py:701 msgid "Unit sale price" msgstr "" -#: order/models.py:774 order/models.py:776 +#: order/models.py:776 order/models.py:778 msgid "Stock item has not been assigned" msgstr "" -#: order/models.py:780 +#: order/models.py:782 msgid "Cannot allocate stock item to a line with a different part" msgstr "" -#: order/models.py:782 +#: order/models.py:784 msgid "Cannot allocate stock to a line without a part" msgstr "" -#: order/models.py:785 +#: order/models.py:787 msgid "Allocation quantity cannot exceed stock quantity" msgstr "" -#: order/models.py:795 +#: order/models.py:797 msgid "Quantity must be 1 for serialized stock item" msgstr "" -#: order/models.py:800 +#: order/models.py:802 msgid "Line" msgstr "" -#: order/models.py:811 +#: order/models.py:813 msgid "Item" msgstr "" -#: order/models.py:812 +#: order/models.py:814 msgid "Select stock item to allocate" msgstr "" -#: order/models.py:815 +#: order/models.py:817 msgid "Enter stock allocation quantity" msgstr "" @@ -2977,8 +2977,8 @@ msgstr "" #: order/templates/order/order_base.html:180 #: order/templates/order/purchase_order_detail.html:100 #: part/templates/part/category.html:208 part/templates/part/category.html:250 -#: stock/templates/stock/location.html:191 templates/js/stock.js:706 -#: templates/js/stock.js:1294 +#: stock/templates/stock/location.html:191 templates/js/stock.js:711 +#: templates/js/stock.js:1299 msgid "New Location" msgstr "" @@ -3162,21 +3162,25 @@ msgstr "" msgid "No line items found" msgstr "" -#: order/templates/order/purchase_order_detail.html:180 +#: order/templates/order/purchase_order_detail.html:191 #: order/templates/order/sales_order_detail.html:235 msgid "Unit Price" msgstr "" -#: order/templates/order/purchase_order_detail.html:221 +#: order/templates/order/purchase_order_detail.html:198 +msgid "Total price" +msgstr "" + +#: order/templates/order/purchase_order_detail.html:251 #: order/templates/order/sales_order_detail.html:328 msgid "Edit line item" msgstr "" -#: order/templates/order/purchase_order_detail.html:222 +#: order/templates/order/purchase_order_detail.html:252 msgid "Delete line item" msgstr "" -#: order/templates/order/purchase_order_detail.html:227 +#: order/templates/order/purchase_order_detail.html:257 msgid "Receive line item" msgstr "" @@ -4064,7 +4068,7 @@ msgid "Stock items for variant parts can be used for this BOM item" msgstr "" #: part/models.py:2371 part/views.py:1681 part/views.py:1733 -#: stock/models.py:292 +#: stock/models.py:294 msgid "Quantity must be integer value for trackable parts" msgstr "" @@ -4173,7 +4177,7 @@ msgid "All selected BOM items will be deleted" msgstr "" #: part/templates/part/bom.html:160 part/views.py:585 -#: templates/js/stock.js:1283 +#: templates/js/stock.js:1288 msgid "Create New Part" msgstr "" @@ -4314,7 +4318,7 @@ msgid "View grid display" msgstr "" #: part/templates/part/category.html:209 -#: stock/templates/stock/location.html:192 templates/js/stock.js:707 +#: stock/templates/stock/location.html:192 templates/js/stock.js:712 msgid "Create new location" msgstr "" @@ -4408,7 +4412,7 @@ msgstr "" msgid "Part Details" msgstr "" -#: part/templates/part/detail.html:42 +#: part/templates/part/detail.html:42 part/templates/part/part_base.html:188 msgid "Latest Serial Number" msgstr "" @@ -4551,51 +4555,51 @@ msgid "Pricing ranges" msgstr "" #: part/templates/part/order_prices.html:26 -#: part/templates/part/part_pricing.html:18 +#: part/templates/part/part_pricing.html:19 msgid "Supplier Pricing" msgstr "" #: part/templates/part/order_prices.html:27 #: part/templates/part/order_prices.html:52 #: part/templates/part/order_prices.html:83 -#: part/templates/part/part_pricing.html:22 -#: part/templates/part/part_pricing.html:48 -#: part/templates/part/part_pricing.html:80 +#: part/templates/part/part_pricing.html:23 +#: part/templates/part/part_pricing.html:49 +#: part/templates/part/part_pricing.html:81 msgid "Unit Cost" msgstr "" #: part/templates/part/order_prices.html:34 #: part/templates/part/order_prices.html:59 #: part/templates/part/order_prices.html:88 -#: part/templates/part/part_pricing.html:28 -#: part/templates/part/part_pricing.html:54 -#: part/templates/part/part_pricing.html:84 +#: part/templates/part/part_pricing.html:29 +#: part/templates/part/part_pricing.html:55 +#: part/templates/part/part_pricing.html:85 msgid "Total Cost" msgstr "" #: part/templates/part/order_prices.html:42 -#: part/templates/part/part_pricing.html:36 +#: part/templates/part/part_pricing.html:37 msgid "No supplier pricing available" msgstr "" #: part/templates/part/order_prices.html:51 #: part/templates/part/order_prices.html:103 -#: part/templates/part/part_pricing.html:44 +#: part/templates/part/part_pricing.html:45 msgid "BOM Pricing" msgstr "" #: part/templates/part/order_prices.html:67 -#: part/templates/part/part_pricing.html:62 +#: part/templates/part/part_pricing.html:63 msgid "Note: BOM pricing is incomplete for this part" msgstr "" #: part/templates/part/order_prices.html:74 -#: part/templates/part/part_pricing.html:69 +#: part/templates/part/part_pricing.html:70 msgid "No BOM pricing available" msgstr "" #: part/templates/part/order_prices.html:97 -#: part/templates/part/part_pricing.html:93 +#: part/templates/part/part_pricing.html:94 msgid "No pricing information is available for this part." msgstr "" @@ -4634,7 +4638,7 @@ msgstr "" #: part/templates/part/params.html:28 #: report/templates/report/inventree_test_report_base.html:90 -#: stock/models.py:1754 templates/InvenTree/settings/header.html:8 +#: stock/models.py:1756 templates/InvenTree/settings/header.html:8 #: templates/js/stock.js:137 msgid "Value" msgstr "" @@ -4740,7 +4744,7 @@ msgstr "" msgid "Building" msgstr "" -#: part/templates/part/part_base.html:257 +#: part/templates/part/part_base.html:265 msgid "Calculate" msgstr "" @@ -4849,7 +4853,7 @@ msgstr "" msgid "New Variant" msgstr "" -#: part/templatetags/inventree_extras.py:97 +#: part/templatetags/inventree_extras.py:98 msgid "Unknown database" msgstr "" @@ -5160,17 +5164,17 @@ msgid "Test Results" msgstr "" #: report/templates/report/inventree_test_report_base.html:88 -#: stock/models.py:1742 +#: stock/models.py:1744 msgid "Test" msgstr "" #: report/templates/report/inventree_test_report_base.html:89 -#: stock/models.py:1748 +#: stock/models.py:1750 msgid "Result" msgstr "" #: report/templates/report/inventree_test_report_base.html:92 -#: templates/js/order.js:195 templates/js/stock.js:982 +#: templates/js/order.js:195 templates/js/stock.js:987 msgid "Date" msgstr "" @@ -5192,7 +5196,7 @@ msgstr "" msgid "Moved {n} parts to {loc}" msgstr "" -#: stock/forms.py:114 stock/forms.py:418 stock/models.py:507 +#: stock/forms.py:114 stock/forms.py:418 stock/models.py:509 #: stock/templates/stock/item_base.html:376 templates/js/stock.js:654 msgid "Expiry Date" msgstr "" @@ -5282,187 +5286,187 @@ msgstr "" msgid "Set the destination as the default location for selected parts" msgstr "" -#: stock/models.py:54 stock/models.py:545 +#: stock/models.py:56 stock/models.py:547 msgid "Owner" msgstr "" -#: stock/models.py:55 stock/models.py:546 +#: stock/models.py:57 stock/models.py:548 msgid "Select Owner" msgstr "" -#: stock/models.py:273 +#: stock/models.py:275 msgid "StockItem with this serial number already exists" msgstr "" -#: stock/models.py:309 +#: stock/models.py:311 #, python-brace-format msgid "Part type ('{pf}') must be {pe}" msgstr "" -#: stock/models.py:319 stock/models.py:328 +#: stock/models.py:321 stock/models.py:330 msgid "Quantity must be 1 for item with a serial number" msgstr "" -#: stock/models.py:320 +#: stock/models.py:322 msgid "Serial number cannot be set if quantity greater than 1" msgstr "" -#: stock/models.py:342 +#: stock/models.py:344 msgid "Item cannot belong to itself" msgstr "" -#: stock/models.py:348 +#: stock/models.py:350 msgid "Item must have a build reference if is_building=True" msgstr "" -#: stock/models.py:355 +#: stock/models.py:357 msgid "Build reference does not point to the same part object" msgstr "" -#: stock/models.py:397 +#: stock/models.py:399 msgid "Parent Stock Item" msgstr "" -#: stock/models.py:406 +#: stock/models.py:408 msgid "Base part" msgstr "" -#: stock/models.py:415 +#: stock/models.py:417 msgid "Select a matching supplier part for this stock item" msgstr "" -#: stock/models.py:420 stock/templates/stock/stock_app_base.html:8 +#: stock/models.py:422 stock/templates/stock/stock_app_base.html:8 msgid "Stock Location" msgstr "" -#: stock/models.py:423 +#: stock/models.py:425 msgid "Where is this stock item located?" msgstr "" -#: stock/models.py:430 +#: stock/models.py:432 msgid "Packaging this stock item is stored in" msgstr "" -#: stock/models.py:435 stock/templates/stock/item_base.html:270 +#: stock/models.py:437 stock/templates/stock/item_base.html:270 msgid "Installed In" msgstr "" -#: stock/models.py:438 +#: stock/models.py:440 msgid "Is this item installed in another item?" msgstr "" -#: stock/models.py:454 +#: stock/models.py:456 msgid "Serial number for this item" msgstr "" -#: stock/models.py:466 +#: stock/models.py:468 msgid "Batch code for this stock item" msgstr "" -#: stock/models.py:470 +#: stock/models.py:472 msgid "Stock Quantity" msgstr "" -#: stock/models.py:479 +#: stock/models.py:481 msgid "Source Build" msgstr "" -#: stock/models.py:481 +#: stock/models.py:483 msgid "Build for this stock item" msgstr "" -#: stock/models.py:492 +#: stock/models.py:494 msgid "Source Purchase Order" msgstr "" -#: stock/models.py:495 +#: stock/models.py:497 msgid "Purchase order for this stock item" msgstr "" -#: stock/models.py:501 +#: stock/models.py:503 msgid "Destination Sales Order" msgstr "" -#: stock/models.py:508 +#: stock/models.py:510 msgid "Expiry date for stock item. Stock will be considered expired after this date" msgstr "" -#: stock/models.py:521 +#: stock/models.py:523 msgid "Delete on deplete" msgstr "" -#: stock/models.py:521 +#: stock/models.py:523 msgid "Delete this Stock Item when stock is depleted" msgstr "" -#: stock/models.py:531 stock/templates/stock/item_notes.html:13 +#: stock/models.py:533 stock/templates/stock/item_notes.html:13 #: stock/templates/stock/navbar.html:54 msgid "Stock Item Notes" msgstr "" -#: stock/models.py:541 +#: stock/models.py:543 msgid "Single unit purchase price at time of purchase" msgstr "" -#: stock/models.py:1009 +#: stock/models.py:1011 msgid "Part is not set as trackable" msgstr "" -#: stock/models.py:1015 +#: stock/models.py:1017 msgid "Quantity must be integer" msgstr "" -#: stock/models.py:1021 +#: stock/models.py:1023 #, python-brace-format msgid "Quantity must not exceed available stock quantity ({n})" msgstr "" -#: stock/models.py:1024 +#: stock/models.py:1026 msgid "Serial numbers must be a list of integers" msgstr "" -#: stock/models.py:1027 +#: stock/models.py:1029 msgid "Quantity does not match serial numbers" msgstr "" -#: stock/models.py:1034 +#: stock/models.py:1036 #, python-brace-format msgid "Serial numbers already exist: {exists}" msgstr "" -#: stock/models.py:1192 +#: stock/models.py:1194 msgid "StockItem cannot be moved as it is not in stock" msgstr "" -#: stock/models.py:1666 +#: stock/models.py:1668 msgid "Entry notes" msgstr "" -#: stock/models.py:1719 +#: stock/models.py:1721 msgid "Value must be provided for this test" msgstr "" -#: stock/models.py:1725 +#: stock/models.py:1727 msgid "Attachment must be uploaded for this test" msgstr "" -#: stock/models.py:1743 +#: stock/models.py:1745 msgid "Test name" msgstr "" -#: stock/models.py:1749 templates/js/table_filters.js:217 +#: stock/models.py:1751 templates/js/table_filters.js:217 msgid "Test result" msgstr "" -#: stock/models.py:1755 +#: stock/models.py:1757 msgid "Test output value" msgstr "" -#: stock/models.py:1762 +#: stock/models.py:1764 msgid "Test result attachment" msgstr "" -#: stock/models.py:1768 +#: stock/models.py:1770 msgid "Test notes" msgstr "" @@ -6580,7 +6584,7 @@ msgid "No builds matching query" msgstr "" #: templates/js/build.js:718 templates/js/part.js:390 templates/js/part.js:634 -#: templates/js/stock.js:509 templates/js/stock.js:936 +#: templates/js/stock.js:509 templates/js/stock.js:941 msgid "Select" msgstr "" @@ -6831,7 +6835,7 @@ msgstr "" msgid "Low stock" msgstr "" -#: templates/js/part.js:659 templates/js/stock.js:960 +#: templates/js/part.js:659 templates/js/stock.js:965 msgid "Path" msgstr "" @@ -7029,75 +7033,75 @@ msgstr "" msgid "Stocktake" msgstr "" -#: templates/js/stock.js:823 +#: templates/js/stock.js:828 msgid "Stock Status" msgstr "" -#: templates/js/stock.js:838 +#: templates/js/stock.js:843 msgid "Set Stock Status" msgstr "" -#: templates/js/stock.js:852 +#: templates/js/stock.js:857 msgid "Select Status Code" msgstr "" -#: templates/js/stock.js:853 +#: templates/js/stock.js:858 msgid "Status code must be selected" msgstr "" -#: templates/js/stock.js:992 +#: templates/js/stock.js:997 msgid "Invalid date" msgstr "" -#: templates/js/stock.js:1039 +#: templates/js/stock.js:1044 msgid "Location no longer exists" msgstr "" -#: templates/js/stock.js:1058 +#: templates/js/stock.js:1063 msgid "Purchase order no longer exists" msgstr "" -#: templates/js/stock.js:1077 +#: templates/js/stock.js:1082 msgid "Customer no longer exists" msgstr "" -#: templates/js/stock.js:1095 +#: templates/js/stock.js:1100 msgid "Stock item no longer exists" msgstr "" -#: templates/js/stock.js:1118 +#: templates/js/stock.js:1123 msgid "Added" msgstr "" -#: templates/js/stock.js:1126 +#: templates/js/stock.js:1131 msgid "Removed" msgstr "" -#: templates/js/stock.js:1158 +#: templates/js/stock.js:1163 msgid "No user information" msgstr "" -#: templates/js/stock.js:1170 +#: templates/js/stock.js:1175 msgid "Edit tracking entry" msgstr "" -#: templates/js/stock.js:1171 +#: templates/js/stock.js:1176 msgid "Delete tracking entry" msgstr "" -#: templates/js/stock.js:1295 +#: templates/js/stock.js:1300 msgid "Create New Location" msgstr "" -#: templates/js/stock.js:1336 +#: templates/js/stock.js:1341 msgid "No installed items" msgstr "" -#: templates/js/stock.js:1359 +#: templates/js/stock.js:1364 msgid "Serial" msgstr "" -#: templates/js/stock.js:1387 +#: templates/js/stock.js:1392 msgid "Uninstall Stock Item" msgstr "" diff --git a/InvenTree/locale/zh/LC_MESSAGES/django.po b/InvenTree/locale/zh/LC_MESSAGES/django.po index b1ea2924c9..9892439445 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-06-01 10:07+0000\n" -"PO-Revision-Date: 2021-06-01 10:22\n" +"POT-Creation-Date: 2021-06-16 22:40+0000\n" +"PO-Revision-Date: 2021-06-16 22:41\n" "Last-Translator: \n" "Language-Team: Chinese Simplified\n" "Language: zh_CN\n" @@ -77,7 +77,7 @@ msgstr "选择分类" msgid "Duplicate serial: {n}" msgstr "" -#: InvenTree/helpers.py:384 order/models.py:245 order/models.py:355 +#: InvenTree/helpers.py:384 order/models.py:247 order/models.py:357 #: stock/views.py:1795 msgid "Invalid quantity provided" msgstr "" @@ -106,7 +106,7 @@ msgstr "未找到序列号" msgid "Number of unique serial number ({s}) must match quantity ({q})" msgstr "" -#: InvenTree/models.py:59 stock/models.py:1761 +#: InvenTree/models.py:59 stock/models.py:1763 msgid "Attachment" msgstr "附件" @@ -124,7 +124,7 @@ msgstr "文件注释" #: InvenTree/models.py:68 InvenTree/models.py:69 part/models.py:1999 #: report/templates/report/inventree_test_report_base.html:91 -#: templates/js/stock.js:1149 +#: templates/js/stock.js:1154 msgid "User" msgstr "用户" @@ -136,7 +136,7 @@ msgstr "上传日期" #: part/models.py:686 part/models.py:2140 part/templates/part/params.html:27 #: report/models.py:179 templates/InvenTree/search.html:137 #: templates/InvenTree/search.html:289 templates/js/part.js:118 -#: templates/js/part.js:641 templates/js/stock.js:942 +#: templates/js/part.js:641 templates/js/stock.js:947 msgid "Name" msgstr "名称" @@ -146,7 +146,7 @@ msgstr "名称" #: company/templates/company/manufacturer_part_base.html:72 #: company/templates/company/supplier_part_base.html:71 #: company/templates/company/supplier_part_detail.html:31 label/models.py:109 -#: order/models.py:101 order/templates/order/purchase_order_detail.html:143 +#: order/models.py:103 order/templates/order/purchase_order_detail.html:147 #: part/models.py:710 part/templates/part/detail.html:54 #: part/templates/part/set_category.html:14 report/models.py:192 #: report/models.py:505 report/models.py:544 @@ -158,8 +158,8 @@ msgstr "名称" #: templates/js/company.js:56 templates/js/order.js:183 #: templates/js/order.js:280 templates/js/part.js:177 templates/js/part.js:260 #: templates/js/part.js:437 templates/js/part.js:653 templates/js/part.js:721 -#: templates/js/stock.js:552 templates/js/stock.js:954 -#: templates/js/stock.js:999 +#: templates/js/stock.js:552 templates/js/stock.js:959 +#: templates/js/stock.js:1004 msgid "Description" msgstr "" @@ -372,27 +372,27 @@ msgstr "" msgid "Overage must be an integer value or a percentage" msgstr "" -#: InvenTree/views.py:592 +#: InvenTree/views.py:605 msgid "Delete Item" msgstr "" -#: InvenTree/views.py:641 +#: InvenTree/views.py:654 msgid "Check box to confirm item deletion" msgstr "" -#: InvenTree/views.py:656 templates/InvenTree/settings/user.html:18 +#: InvenTree/views.py:669 templates/InvenTree/settings/user.html:18 msgid "Edit User Information" msgstr "" -#: InvenTree/views.py:667 templates/InvenTree/settings/user.html:22 +#: InvenTree/views.py:680 templates/InvenTree/settings/user.html:22 msgid "Set Password" msgstr "" -#: InvenTree/views.py:686 +#: InvenTree/views.py:699 msgid "Password fields must match" msgstr "" -#: InvenTree/views.py:937 templates/navbar.html:95 +#: InvenTree/views.py:950 templates/navbar.html:95 msgid "System Information" msgstr "" @@ -458,17 +458,17 @@ msgstr "" msgid "Target date for build completion. Build will be overdue after this date." msgstr "" -#: build/forms.py:48 build/forms.py:90 build/forms.py:266 build/models.py:1333 +#: build/forms.py:48 build/forms.py:90 build/forms.py:266 build/models.py:1346 #: build/templates/build/allocation_card.html:23 #: build/templates/build/auto_allocate.html:17 #: build/templates/build/build_base.html:133 #: build/templates/build/detail.html:31 common/models.py:699 #: company/forms.py:176 company/templates/company/supplier_part_pricing.html:77 #: order/forms.py:188 order/forms.py:205 order/forms.py:240 order/forms.py:262 -#: order/forms.py:279 order/models.py:614 order/models.py:815 +#: order/forms.py:279 order/models.py:616 order/models.py:817 #: order/templates/order/order_wizard/match_parts.html:29 #: order/templates/order/order_wizard/select_parts.html:32 -#: order/templates/order/purchase_order_detail.html:175 +#: order/templates/order/purchase_order_detail.html:179 #: order/templates/order/sales_order_detail.html:70 #: order/templates/order/sales_order_detail.html:77 #: order/templates/order/sales_order_detail.html:162 @@ -477,7 +477,7 @@ msgstr "" #: part/templates/part/allocation.html:19 #: part/templates/part/allocation.html:53 #: part/templates/part/order_prices.html:175 -#: part/templates/part/part_pricing.html:12 +#: part/templates/part/part_pricing.html:13 #: part/templates/part/sale_prices.html:85 #: report/templates/report/inventree_build_order_base.html:114 #: report/templates/report/inventree_po_report.html:91 @@ -487,8 +487,8 @@ msgstr "" #: stock/templates/stock/item_base.html:255 #: stock/templates/stock/stock_adjust.html:18 templates/js/barcode.js:364 #: templates/js/bom.js:205 templates/js/build.js:486 templates/js/build.js:1024 -#: templates/js/part.js:795 templates/js/stock.js:1134 -#: templates/js/stock.js:1353 +#: templates/js/part.js:795 templates/js/stock.js:1139 +#: templates/js/stock.js:1358 msgid "Quantity" msgstr "" @@ -534,7 +534,7 @@ msgstr "" #: stock/templates/stock/stock_adjust.html:17 #: templates/InvenTree/search.html:260 templates/js/barcode.js:363 #: templates/js/barcode.js:531 templates/js/build.js:500 -#: templates/js/stock.js:639 templates/js/stock.js:1026 +#: templates/js/stock.js:639 templates/js/stock.js:1031 msgid "Location" msgstr "" @@ -543,13 +543,13 @@ msgid "Location of completed parts" msgstr "" #: build/forms.py:215 build/templates/build/build_base.html:138 -#: build/templates/build/detail.html:59 order/models.py:466 +#: build/templates/build/detail.html:59 order/models.py:468 #: order/templates/order/receive_parts.html:24 #: stock/templates/stock/item_base.html:403 templates/InvenTree/search.html:252 #: templates/js/barcode.js:119 templates/js/build.js:780 #: templates/js/order.js:187 templates/js/order.js:285 -#: templates/js/stock.js:626 templates/js/stock.js:1103 -#: templates/js/stock.js:1369 +#: templates/js/stock.js:626 templates/js/stock.js:1108 +#: templates/js/stock.js:1374 msgid "Status" msgstr "" @@ -602,8 +602,8 @@ msgstr "" msgid "Build Order Reference" msgstr "" -#: build/models.py:128 order/models.py:99 order/models.py:616 -#: order/templates/order/purchase_order_detail.html:170 +#: build/models.py:128 order/models.py:101 order/models.py:618 +#: order/templates/order/purchase_order_detail.html:174 #: order/templates/order/sales_order_detail.html:225 part/models.py:2279 #: report/templates/report/inventree_po_report.html:92 #: report/templates/report/inventree_so_report.html:92 templates/js/bom.js:197 @@ -627,15 +627,15 @@ msgstr "" #: build/models.py:153 build/templates/build/auto_allocate.html:16 #: build/templates/build/build_base.html:128 #: build/templates/build/detail.html:26 company/models.py:622 -#: order/models.py:658 order/models.py:691 +#: order/models.py:660 order/models.py:693 #: order/templates/order/order_wizard/select_parts.html:30 -#: order/templates/order/purchase_order_detail.html:131 +#: order/templates/order/purchase_order_detail.html:132 #: order/templates/order/receive_parts.html:19 #: order/templates/order/sales_order_detail.html:213 part/models.py:321 #: part/models.py:1967 part/models.py:1979 part/models.py:1997 #: part/models.py:2072 part/models.py:2168 part/models.py:2254 #: part/templates/part/part_app_base.html:8 -#: part/templates/part/part_pricing.html:8 part/templates/part/related.html:29 +#: part/templates/part/part_pricing.html:9 part/templates/part/related.html:29 #: part/templates/part/set_category.html:13 #: report/templates/report/inventree_build_order_base.html:110 #: report/templates/report/inventree_po_report.html:90 @@ -646,7 +646,7 @@ msgstr "" #: templates/js/build.js:991 templates/js/company.js:140 #: templates/js/company.js:238 templates/js/part.js:241 #: templates/js/part.js:404 templates/js/stock.js:521 -#: templates/js/stock.js:1341 +#: templates/js/stock.js:1346 msgid "Part" msgstr "" @@ -702,7 +702,7 @@ msgstr "" msgid "Build status code" msgstr "" -#: build/models.py:213 stock/models.py:464 +#: build/models.py:213 stock/models.py:466 msgid "Batch Code" msgstr "" @@ -710,16 +710,16 @@ msgstr "" msgid "Batch code for this build output" msgstr "" -#: build/models.py:220 order/models.py:105 part/models.py:882 +#: build/models.py:220 order/models.py:107 part/models.py:882 #: part/templates/part/detail.html:126 templates/js/order.js:293 msgid "Creation Date" msgstr "" -#: build/models.py:224 order/models.py:472 +#: build/models.py:224 order/models.py:474 msgid "Target completion date" msgstr "" -#: build/models.py:228 order/models.py:218 templates/js/build.js:798 +#: build/models.py:228 order/models.py:220 templates/js/build.js:798 msgid "Completion Date" msgstr "" @@ -736,7 +736,7 @@ msgid "User who issued this build order" msgstr "" #: build/models.py:251 build/templates/build/build_base.html:184 -#: build/templates/build/detail.html:105 order/models.py:119 +#: build/templates/build/detail.html:105 order/models.py:121 #: order/templates/order/order_base.html:138 #: order/templates/order/sales_order_base.html:140 part/models.py:886 #: report/templates/report/inventree_build_order_base.html:159 @@ -753,30 +753,30 @@ msgstr "" #: company/templates/company/supplier_part_base.html:78 #: company/templates/company/supplier_part_detail.html:28 #: part/templates/part/detail.html:83 part/templates/part/part_base.html:94 -#: stock/models.py:458 stock/templates/stock/item_base.html:345 +#: stock/models.py:460 stock/templates/stock/item_base.html:345 msgid "External Link" msgstr "" -#: build/models.py:258 part/models.py:744 stock/models.py:460 +#: build/models.py:258 part/models.py:744 stock/models.py:462 msgid "Link to external URL" msgstr "" #: build/models.py:262 build/templates/build/navbar.html:53 #: company/models.py:132 company/models.py:498 #: company/templates/company/navbar.html:70 -#: company/templates/company/navbar.html:73 order/models.py:123 -#: order/models.py:618 order/templates/order/po_navbar.html:29 +#: company/templates/company/navbar.html:73 order/models.py:125 +#: order/models.py:620 order/templates/order/po_navbar.html:29 #: order/templates/order/po_navbar.html:32 -#: order/templates/order/purchase_order_detail.html:209 +#: order/templates/order/purchase_order_detail.html:239 #: order/templates/order/sales_order_detail.html:278 #: order/templates/order/so_navbar.html:33 #: order/templates/order/so_navbar.html:36 part/models.py:871 #: part/templates/part/navbar.html:134 #: report/templates/report/inventree_build_order_base.html:173 #: stock/forms.py:173 stock/forms.py:317 stock/forms.py:349 stock/forms.py:377 -#: stock/models.py:530 stock/models.py:1665 stock/models.py:1767 +#: stock/models.py:532 stock/models.py:1667 stock/models.py:1769 #: stock/templates/stock/navbar.html:57 templates/js/barcode.js:37 -#: templates/js/bom.js:356 templates/js/stock.js:141 templates/js/stock.js:669 +#: templates/js/bom.js:356 templates/js/stock.js:141 templates/js/stock.js:674 msgid "Notes" msgstr "" @@ -809,11 +809,11 @@ msgstr "" msgid "Allocated quantity ({n}) must not exceed available quantity ({q})" msgstr "" -#: build/models.py:1188 order/models.py:789 +#: build/models.py:1188 order/models.py:791 msgid "StockItem is over-allocated" msgstr "" -#: build/models.py:1192 order/models.py:792 +#: build/models.py:1192 order/models.py:794 msgid "Allocation quantity must be greater than zero" msgstr "" @@ -826,17 +826,17 @@ msgstr "" msgid "Selected stock item not found in BOM for part '{p}'" msgstr "" -#: build/models.py:1303 stock/templates/stock/item_base.html:317 +#: build/models.py:1316 stock/templates/stock/item_base.html:317 #: templates/InvenTree/search.html:183 templates/js/build.js:724 #: templates/navbar.html:29 msgid "Build" msgstr "" -#: build/models.py:1304 +#: build/models.py:1317 msgid "Build to allocate parts" msgstr "" -#: build/models.py:1320 part/templates/part/allocation.html:18 +#: build/models.py:1333 part/templates/part/allocation.html:18 #: part/templates/part/allocation.html:24 #: part/templates/part/allocation.html:31 #: part/templates/part/allocation.html:49 @@ -844,23 +844,23 @@ msgstr "" #: stock/templates/stock/item_base.html:31 #: stock/templates/stock/item_base.html:339 #: stock/templates/stock/stock_adjust.html:16 templates/js/build.js:841 -#: templates/js/stock.js:1085 +#: templates/js/stock.js:1090 msgid "Stock Item" msgstr "" -#: build/models.py:1321 +#: build/models.py:1334 msgid "Source stock item" msgstr "" -#: build/models.py:1334 +#: build/models.py:1347 msgid "Stock quantity to allocate to build" msgstr "" -#: build/models.py:1342 +#: build/models.py:1355 msgid "Install into" msgstr "" -#: build/models.py:1343 +#: build/models.py:1356 msgid "Destination stock item" msgstr "" @@ -916,7 +916,7 @@ msgstr "" #: order/templates/order/sales_order_detail.html:75 #: order/templates/order/sales_order_detail.html:160 #: report/templates/report/inventree_test_report_base.html:75 -#: stock/models.py:452 stock/templates/stock/item_base.html:249 +#: stock/models.py:454 stock/templates/stock/item_base.html:249 #: templates/js/build.js:484 msgid "Serial Number" msgstr "" @@ -1037,7 +1037,7 @@ msgid "Progress" msgstr "" #: build/templates/build/build_base.html:170 -#: build/templates/build/detail.html:84 order/models.py:689 +#: build/templates/build/detail.html:84 order/models.py:691 #: order/templates/order/sales_order_base.html:9 #: order/templates/order/sales_order_base.html:35 #: order/templates/order/sales_order_ship.html:25 @@ -1195,7 +1195,7 @@ msgstr "" #: build/templates/build/detail.html:70 #: stock/templates/stock/item_base.html:303 templates/js/stock.js:634 -#: templates/js/stock.js:1376 templates/js/table_filters.js:112 +#: templates/js/stock.js:1381 templates/js/table_filters.js:112 #: templates/js/table_filters.js:206 msgid "Batch" msgstr "" @@ -1250,7 +1250,7 @@ msgstr "" #: company/templates/company/navbar.html:15 #: order/templates/order/po_navbar.html:14 #: order/templates/order/so_navbar.html:15 part/templates/part/navbar.html:15 -#: templates/js/stock.js:1014 +#: templates/js/stock.js:1019 msgid "Details" msgstr "" @@ -1898,7 +1898,7 @@ msgstr "" #: company/templates/company/manufacturer_part_detail.html:26 #: company/templates/company/supplier_part_base.html:102 #: company/templates/company/supplier_part_detail.html:35 -#: order/templates/order/purchase_order_detail.html:158 part/bom.py:171 +#: order/templates/order/purchase_order_detail.html:162 part/bom.py:171 #: part/bom.py:242 templates/js/company.js:181 templates/js/company.js:307 msgid "MPN" msgstr "" @@ -1953,7 +1953,7 @@ msgid "Point of contact" msgstr "" #: company/models.py:121 company/models.py:333 company/models.py:485 -#: order/models.py:103 part/models.py:743 +#: order/models.py:105 part/models.py:743 #: report/templates/report/inventree_build_order_base.html:165 #: templates/js/company.js:188 templates/js/company.js:318 #: templates/js/part.js:497 @@ -1992,7 +1992,7 @@ msgstr "" msgid "Does this company manufacture parts?" msgstr "" -#: company/models.py:305 company/models.py:456 stock/models.py:405 +#: company/models.py:305 company/models.py:456 stock/models.py:407 #: stock/templates/stock/item_base.html:235 msgid "Base Part" msgstr "" @@ -2022,7 +2022,7 @@ msgstr "" #: company/models.py:466 company/templates/company/detail.html:62 #: company/templates/company/supplier_part_base.html:84 -#: company/templates/company/supplier_part_detail.html:25 order/models.py:190 +#: company/templates/company/supplier_part_detail.html:25 order/models.py:192 #: order/templates/order/order_base.html:92 #: order/templates/order/order_wizard/select_pos.html:30 part/bom.py:175 #: part/bom.py:286 stock/templates/stock/item_base.html:364 @@ -2037,7 +2037,7 @@ msgstr "" #: company/models.py:472 company/templates/company/supplier_part_base.html:88 #: company/templates/company/supplier_part_detail.html:26 -#: order/templates/order/purchase_order_detail.html:149 part/bom.py:176 +#: order/templates/order/purchase_order_detail.html:153 part/bom.py:176 #: part/bom.py:287 msgid "SKU" msgstr "" @@ -2081,8 +2081,8 @@ msgid "Minimum charge (e.g. stocking fee)" msgstr "" #: company/models.py:503 company/templates/company/supplier_part_base.html:109 -#: stock/models.py:429 stock/templates/stock/item_base.html:310 -#: templates/js/stock.js:665 +#: stock/models.py:431 stock/templates/stock/item_base.html:310 +#: templates/js/stock.js:670 msgid "Packaging" msgstr "" @@ -2165,11 +2165,11 @@ msgstr "" msgid "Uses default currency" msgstr "" -#: company/templates/company/detail.html:67 order/models.py:461 -#: order/templates/order/sales_order_base.html:94 stock/models.py:447 -#: stock/models.py:448 stock/templates/stock/item_base.html:262 +#: company/templates/company/detail.html:67 order/models.py:463 +#: order/templates/order/sales_order_base.html:94 stock/models.py:449 +#: stock/models.py:450 stock/templates/stock/item_base.html:262 #: templates/js/company.js:40 templates/js/order.js:267 -#: templates/js/stock.js:1067 +#: templates/js/stock.js:1072 msgid "Customer" msgstr "" @@ -2215,7 +2215,7 @@ msgstr "" #: company/templates/company/detail_manufacturer_part.html:66 #: company/templates/company/detail_supplier_part.html:66 #: part/templates/part/bom.html:159 part/templates/part/category.html:118 -#: templates/js/stock.js:1282 +#: templates/js/stock.js:1287 msgid "New Part" msgstr "" @@ -2262,7 +2262,7 @@ msgstr "" #: company/templates/company/detail_supplier_part.html:22 #: company/templates/company/manufacturer_part_suppliers.html:17 #: order/templates/order/purchase_order_detail.html:49 -#: part/templates/part/supplier.html:17 templates/js/stock.js:1288 +#: part/templates/part/supplier.html:17 templates/js/stock.js:1293 msgid "New Supplier Part" msgstr "" @@ -2385,7 +2385,7 @@ msgstr "" #: stock/templates/stock/location.html:136 #: stock/templates/stock/location_navbar.html:22 #: stock/templates/stock/location_navbar.html:29 -#: templates/InvenTree/search.html:198 templates/js/stock.js:966 +#: templates/InvenTree/search.html:198 templates/js/stock.js:971 #: templates/stats.html:93 templates/stats.html:102 users/models.py:42 msgid "Stock Items" msgstr "" @@ -2441,7 +2441,7 @@ msgid "New Sales Order" msgstr "" #: company/templates/company/supplier_part_base.html:7 -#: company/templates/company/supplier_part_base.html:20 stock/models.py:414 +#: company/templates/company/supplier_part_base.html:20 stock/models.py:416 #: stock/templates/stock/item_base.html:369 templates/js/company.js:279 msgid "Supplier Part" msgstr "" @@ -2598,7 +2598,7 @@ msgstr "" msgid "Edit Supplier Part" msgstr "" -#: company/views.py:578 templates/js/stock.js:1289 +#: company/views.py:578 templates/js/stock.js:1294 msgid "Create new Supplier Part" msgstr "" @@ -2712,7 +2712,7 @@ msgstr "" msgid "Enter sales order number" msgstr "" -#: order/forms.py:145 order/models.py:473 +#: order/forms.py:145 order/models.py:475 msgid "Target date for order completion. Order will be overdue after this date." msgstr "" @@ -2724,209 +2724,209 @@ msgstr "" msgid "Enter quantity of stock items" msgstr "" -#: order/models.py:99 +#: order/models.py:101 msgid "Order reference" msgstr "" -#: order/models.py:101 +#: order/models.py:103 msgid "Order description" msgstr "" -#: order/models.py:103 +#: order/models.py:105 msgid "Link to external page" msgstr "" -#: order/models.py:111 part/templates/part/detail.html:132 +#: order/models.py:113 part/templates/part/detail.html:132 msgid "Created By" msgstr "" -#: order/models.py:118 +#: order/models.py:120 msgid "User or group responsible for this order" msgstr "" -#: order/models.py:123 +#: order/models.py:125 msgid "Order notes" msgstr "" -#: order/models.py:182 order/models.py:466 +#: order/models.py:184 order/models.py:468 msgid "Purchase order status" msgstr "" -#: order/models.py:191 +#: order/models.py:193 msgid "Company from which the items are being ordered" msgstr "" -#: order/models.py:194 order/templates/order/order_base.html:98 +#: order/models.py:196 order/templates/order/order_base.html:98 #: templates/js/order.js:179 msgid "Supplier Reference" msgstr "" -#: order/models.py:194 +#: order/models.py:196 msgid "Supplier order reference code" msgstr "" -#: order/models.py:201 +#: order/models.py:203 msgid "received by" msgstr "" -#: order/models.py:206 +#: order/models.py:208 msgid "Issue Date" msgstr "" -#: order/models.py:207 +#: order/models.py:209 msgid "Date order was issued" msgstr "" -#: order/models.py:212 +#: order/models.py:214 msgid "Target Delivery Date" msgstr "" -#: order/models.py:213 +#: order/models.py:215 msgid "Expected date for order delivery. Order will be overdue after this date." msgstr "" -#: order/models.py:219 +#: order/models.py:221 msgid "Date order was completed" msgstr "" -#: order/models.py:243 part/views.py:1675 stock/models.py:302 -#: stock/models.py:1018 +#: order/models.py:245 part/views.py:1675 stock/models.py:304 +#: stock/models.py:1020 msgid "Quantity must be greater than zero" msgstr "" -#: order/models.py:248 +#: order/models.py:250 msgid "Part supplier must match PO supplier" msgstr "" -#: order/models.py:346 +#: order/models.py:348 msgid "Lines can only be received against an order marked as 'Placed'" msgstr "" -#: order/models.py:350 +#: order/models.py:352 msgid "Quantity must be an integer" msgstr "" -#: order/models.py:352 +#: order/models.py:354 msgid "Quantity must be a positive number" msgstr "" -#: order/models.py:462 +#: order/models.py:464 msgid "Company to which the items are being sold" msgstr "" -#: order/models.py:468 +#: order/models.py:470 msgid "Customer Reference " msgstr "" -#: order/models.py:468 +#: order/models.py:470 msgid "Customer order reference code" msgstr "" -#: order/models.py:476 templates/js/order.js:303 +#: order/models.py:478 templates/js/order.js:303 msgid "Shipment Date" msgstr "" -#: order/models.py:483 +#: order/models.py:485 msgid "shipped by" msgstr "" -#: order/models.py:527 +#: order/models.py:529 msgid "SalesOrder cannot be shipped as it is not currently pending" msgstr "" -#: order/models.py:614 +#: order/models.py:616 msgid "Item quantity" msgstr "" -#: order/models.py:616 +#: order/models.py:618 msgid "Line item reference" msgstr "" -#: order/models.py:618 +#: order/models.py:620 msgid "Line item notes" msgstr "" -#: order/models.py:644 order/models.py:689 +#: order/models.py:646 order/models.py:691 #: part/templates/part/allocation.html:17 #: part/templates/part/allocation.html:45 msgid "Order" msgstr "" -#: order/models.py:645 order/templates/order/order_base.html:9 +#: order/models.py:647 order/templates/order/order_base.html:9 #: order/templates/order/order_base.html:24 #: report/templates/report/inventree_po_report.html:77 #: stock/templates/stock/item_base.html:324 templates/js/order.js:148 -#: templates/js/stock.js:1048 +#: templates/js/stock.js:1053 msgid "Purchase Order" msgstr "" -#: order/models.py:659 +#: order/models.py:661 msgid "Supplier part" msgstr "" -#: order/models.py:662 order/templates/order/order_base.html:131 -#: order/templates/order/purchase_order_detail.html:189 +#: order/models.py:664 order/templates/order/order_base.html:131 +#: order/templates/order/purchase_order_detail.html:219 #: order/templates/order/receive_parts.html:22 #: order/templates/order/sales_order_base.html:133 msgid "Received" msgstr "" -#: order/models.py:662 +#: order/models.py:664 msgid "Number of items received" msgstr "" -#: order/models.py:669 stock/models.py:540 -#: stock/templates/stock/item_base.html:331 +#: order/models.py:671 stock/models.py:542 +#: stock/templates/stock/item_base.html:331 templates/js/stock.js:665 msgid "Purchase Price" msgstr "" -#: order/models.py:670 +#: order/models.py:672 msgid "Unit purchase price" msgstr "" -#: order/models.py:698 part/templates/part/navbar.html:101 +#: order/models.py:700 part/templates/part/navbar.html:101 #: part/templates/part/order_prices.html:82 -#: part/templates/part/part_pricing.html:77 +#: part/templates/part/part_pricing.html:78 msgid "Sale Price" msgstr "" -#: order/models.py:699 +#: order/models.py:701 msgid "Unit sale price" msgstr "" -#: order/models.py:774 order/models.py:776 +#: order/models.py:776 order/models.py:778 msgid "Stock item has not been assigned" msgstr "" -#: order/models.py:780 +#: order/models.py:782 msgid "Cannot allocate stock item to a line with a different part" msgstr "" -#: order/models.py:782 +#: order/models.py:784 msgid "Cannot allocate stock to a line without a part" msgstr "" -#: order/models.py:785 +#: order/models.py:787 msgid "Allocation quantity cannot exceed stock quantity" msgstr "" -#: order/models.py:795 +#: order/models.py:797 msgid "Quantity must be 1 for serialized stock item" msgstr "" -#: order/models.py:800 +#: order/models.py:802 msgid "Line" msgstr "" -#: order/models.py:811 +#: order/models.py:813 msgid "Item" msgstr "" -#: order/models.py:812 +#: order/models.py:814 msgid "Select stock item to allocate" msgstr "" -#: order/models.py:815 +#: order/models.py:817 msgid "Enter stock allocation quantity" msgstr "" @@ -2977,8 +2977,8 @@ msgstr "" #: order/templates/order/order_base.html:180 #: order/templates/order/purchase_order_detail.html:100 #: part/templates/part/category.html:208 part/templates/part/category.html:250 -#: stock/templates/stock/location.html:191 templates/js/stock.js:706 -#: templates/js/stock.js:1294 +#: stock/templates/stock/location.html:191 templates/js/stock.js:711 +#: templates/js/stock.js:1299 msgid "New Location" msgstr "" @@ -3162,21 +3162,25 @@ msgstr "" msgid "No line items found" msgstr "" -#: order/templates/order/purchase_order_detail.html:180 +#: order/templates/order/purchase_order_detail.html:191 #: order/templates/order/sales_order_detail.html:235 msgid "Unit Price" msgstr "" -#: order/templates/order/purchase_order_detail.html:221 +#: order/templates/order/purchase_order_detail.html:198 +msgid "Total price" +msgstr "" + +#: order/templates/order/purchase_order_detail.html:251 #: order/templates/order/sales_order_detail.html:328 msgid "Edit line item" msgstr "" -#: order/templates/order/purchase_order_detail.html:222 +#: order/templates/order/purchase_order_detail.html:252 msgid "Delete line item" msgstr "" -#: order/templates/order/purchase_order_detail.html:227 +#: order/templates/order/purchase_order_detail.html:257 msgid "Receive line item" msgstr "" @@ -4064,7 +4068,7 @@ msgid "Stock items for variant parts can be used for this BOM item" msgstr "" #: part/models.py:2371 part/views.py:1681 part/views.py:1733 -#: stock/models.py:292 +#: stock/models.py:294 msgid "Quantity must be integer value for trackable parts" msgstr "" @@ -4173,7 +4177,7 @@ msgid "All selected BOM items will be deleted" msgstr "" #: part/templates/part/bom.html:160 part/views.py:585 -#: templates/js/stock.js:1283 +#: templates/js/stock.js:1288 msgid "Create New Part" msgstr "" @@ -4314,7 +4318,7 @@ msgid "View grid display" msgstr "" #: part/templates/part/category.html:209 -#: stock/templates/stock/location.html:192 templates/js/stock.js:707 +#: stock/templates/stock/location.html:192 templates/js/stock.js:712 msgid "Create new location" msgstr "" @@ -4408,7 +4412,7 @@ msgstr "" msgid "Part Details" msgstr "" -#: part/templates/part/detail.html:42 +#: part/templates/part/detail.html:42 part/templates/part/part_base.html:188 msgid "Latest Serial Number" msgstr "" @@ -4551,51 +4555,51 @@ msgid "Pricing ranges" msgstr "" #: part/templates/part/order_prices.html:26 -#: part/templates/part/part_pricing.html:18 +#: part/templates/part/part_pricing.html:19 msgid "Supplier Pricing" msgstr "" #: part/templates/part/order_prices.html:27 #: part/templates/part/order_prices.html:52 #: part/templates/part/order_prices.html:83 -#: part/templates/part/part_pricing.html:22 -#: part/templates/part/part_pricing.html:48 -#: part/templates/part/part_pricing.html:80 +#: part/templates/part/part_pricing.html:23 +#: part/templates/part/part_pricing.html:49 +#: part/templates/part/part_pricing.html:81 msgid "Unit Cost" msgstr "" #: part/templates/part/order_prices.html:34 #: part/templates/part/order_prices.html:59 #: part/templates/part/order_prices.html:88 -#: part/templates/part/part_pricing.html:28 -#: part/templates/part/part_pricing.html:54 -#: part/templates/part/part_pricing.html:84 +#: part/templates/part/part_pricing.html:29 +#: part/templates/part/part_pricing.html:55 +#: part/templates/part/part_pricing.html:85 msgid "Total Cost" msgstr "" #: part/templates/part/order_prices.html:42 -#: part/templates/part/part_pricing.html:36 +#: part/templates/part/part_pricing.html:37 msgid "No supplier pricing available" msgstr "" #: part/templates/part/order_prices.html:51 #: part/templates/part/order_prices.html:103 -#: part/templates/part/part_pricing.html:44 +#: part/templates/part/part_pricing.html:45 msgid "BOM Pricing" msgstr "" #: part/templates/part/order_prices.html:67 -#: part/templates/part/part_pricing.html:62 +#: part/templates/part/part_pricing.html:63 msgid "Note: BOM pricing is incomplete for this part" msgstr "" #: part/templates/part/order_prices.html:74 -#: part/templates/part/part_pricing.html:69 +#: part/templates/part/part_pricing.html:70 msgid "No BOM pricing available" msgstr "" #: part/templates/part/order_prices.html:97 -#: part/templates/part/part_pricing.html:93 +#: part/templates/part/part_pricing.html:94 msgid "No pricing information is available for this part." msgstr "" @@ -4634,7 +4638,7 @@ msgstr "" #: part/templates/part/params.html:28 #: report/templates/report/inventree_test_report_base.html:90 -#: stock/models.py:1754 templates/InvenTree/settings/header.html:8 +#: stock/models.py:1756 templates/InvenTree/settings/header.html:8 #: templates/js/stock.js:137 msgid "Value" msgstr "" @@ -4740,7 +4744,7 @@ msgstr "" msgid "Building" msgstr "" -#: part/templates/part/part_base.html:257 +#: part/templates/part/part_base.html:265 msgid "Calculate" msgstr "" @@ -4849,7 +4853,7 @@ msgstr "" msgid "New Variant" msgstr "" -#: part/templatetags/inventree_extras.py:97 +#: part/templatetags/inventree_extras.py:98 msgid "Unknown database" msgstr "" @@ -5160,17 +5164,17 @@ msgid "Test Results" msgstr "" #: report/templates/report/inventree_test_report_base.html:88 -#: stock/models.py:1742 +#: stock/models.py:1744 msgid "Test" msgstr "" #: report/templates/report/inventree_test_report_base.html:89 -#: stock/models.py:1748 +#: stock/models.py:1750 msgid "Result" msgstr "" #: report/templates/report/inventree_test_report_base.html:92 -#: templates/js/order.js:195 templates/js/stock.js:982 +#: templates/js/order.js:195 templates/js/stock.js:987 msgid "Date" msgstr "" @@ -5192,7 +5196,7 @@ msgstr "" msgid "Moved {n} parts to {loc}" msgstr "" -#: stock/forms.py:114 stock/forms.py:418 stock/models.py:507 +#: stock/forms.py:114 stock/forms.py:418 stock/models.py:509 #: stock/templates/stock/item_base.html:376 templates/js/stock.js:654 msgid "Expiry Date" msgstr "" @@ -5282,187 +5286,187 @@ msgstr "" msgid "Set the destination as the default location for selected parts" msgstr "" -#: stock/models.py:54 stock/models.py:545 +#: stock/models.py:56 stock/models.py:547 msgid "Owner" msgstr "" -#: stock/models.py:55 stock/models.py:546 +#: stock/models.py:57 stock/models.py:548 msgid "Select Owner" msgstr "" -#: stock/models.py:273 +#: stock/models.py:275 msgid "StockItem with this serial number already exists" msgstr "" -#: stock/models.py:309 +#: stock/models.py:311 #, python-brace-format msgid "Part type ('{pf}') must be {pe}" msgstr "" -#: stock/models.py:319 stock/models.py:328 +#: stock/models.py:321 stock/models.py:330 msgid "Quantity must be 1 for item with a serial number" msgstr "" -#: stock/models.py:320 +#: stock/models.py:322 msgid "Serial number cannot be set if quantity greater than 1" msgstr "" -#: stock/models.py:342 +#: stock/models.py:344 msgid "Item cannot belong to itself" msgstr "" -#: stock/models.py:348 +#: stock/models.py:350 msgid "Item must have a build reference if is_building=True" msgstr "" -#: stock/models.py:355 +#: stock/models.py:357 msgid "Build reference does not point to the same part object" msgstr "" -#: stock/models.py:397 +#: stock/models.py:399 msgid "Parent Stock Item" msgstr "" -#: stock/models.py:406 +#: stock/models.py:408 msgid "Base part" msgstr "" -#: stock/models.py:415 +#: stock/models.py:417 msgid "Select a matching supplier part for this stock item" msgstr "" -#: stock/models.py:420 stock/templates/stock/stock_app_base.html:8 +#: stock/models.py:422 stock/templates/stock/stock_app_base.html:8 msgid "Stock Location" msgstr "" -#: stock/models.py:423 +#: stock/models.py:425 msgid "Where is this stock item located?" msgstr "" -#: stock/models.py:430 +#: stock/models.py:432 msgid "Packaging this stock item is stored in" msgstr "" -#: stock/models.py:435 stock/templates/stock/item_base.html:270 +#: stock/models.py:437 stock/templates/stock/item_base.html:270 msgid "Installed In" msgstr "" -#: stock/models.py:438 +#: stock/models.py:440 msgid "Is this item installed in another item?" msgstr "" -#: stock/models.py:454 +#: stock/models.py:456 msgid "Serial number for this item" msgstr "" -#: stock/models.py:466 +#: stock/models.py:468 msgid "Batch code for this stock item" msgstr "" -#: stock/models.py:470 +#: stock/models.py:472 msgid "Stock Quantity" msgstr "" -#: stock/models.py:479 +#: stock/models.py:481 msgid "Source Build" msgstr "" -#: stock/models.py:481 +#: stock/models.py:483 msgid "Build for this stock item" msgstr "" -#: stock/models.py:492 +#: stock/models.py:494 msgid "Source Purchase Order" msgstr "" -#: stock/models.py:495 +#: stock/models.py:497 msgid "Purchase order for this stock item" msgstr "" -#: stock/models.py:501 +#: stock/models.py:503 msgid "Destination Sales Order" msgstr "" -#: stock/models.py:508 +#: stock/models.py:510 msgid "Expiry date for stock item. Stock will be considered expired after this date" msgstr "" -#: stock/models.py:521 +#: stock/models.py:523 msgid "Delete on deplete" msgstr "" -#: stock/models.py:521 +#: stock/models.py:523 msgid "Delete this Stock Item when stock is depleted" msgstr "" -#: stock/models.py:531 stock/templates/stock/item_notes.html:13 +#: stock/models.py:533 stock/templates/stock/item_notes.html:13 #: stock/templates/stock/navbar.html:54 msgid "Stock Item Notes" msgstr "" -#: stock/models.py:541 +#: stock/models.py:543 msgid "Single unit purchase price at time of purchase" msgstr "" -#: stock/models.py:1009 +#: stock/models.py:1011 msgid "Part is not set as trackable" msgstr "" -#: stock/models.py:1015 +#: stock/models.py:1017 msgid "Quantity must be integer" msgstr "" -#: stock/models.py:1021 +#: stock/models.py:1023 #, python-brace-format msgid "Quantity must not exceed available stock quantity ({n})" msgstr "" -#: stock/models.py:1024 +#: stock/models.py:1026 msgid "Serial numbers must be a list of integers" msgstr "" -#: stock/models.py:1027 +#: stock/models.py:1029 msgid "Quantity does not match serial numbers" msgstr "" -#: stock/models.py:1034 +#: stock/models.py:1036 #, python-brace-format msgid "Serial numbers already exist: {exists}" msgstr "" -#: stock/models.py:1192 +#: stock/models.py:1194 msgid "StockItem cannot be moved as it is not in stock" msgstr "" -#: stock/models.py:1666 +#: stock/models.py:1668 msgid "Entry notes" msgstr "" -#: stock/models.py:1719 +#: stock/models.py:1721 msgid "Value must be provided for this test" msgstr "" -#: stock/models.py:1725 +#: stock/models.py:1727 msgid "Attachment must be uploaded for this test" msgstr "" -#: stock/models.py:1743 +#: stock/models.py:1745 msgid "Test name" msgstr "" -#: stock/models.py:1749 templates/js/table_filters.js:217 +#: stock/models.py:1751 templates/js/table_filters.js:217 msgid "Test result" msgstr "" -#: stock/models.py:1755 +#: stock/models.py:1757 msgid "Test output value" msgstr "" -#: stock/models.py:1762 +#: stock/models.py:1764 msgid "Test result attachment" msgstr "" -#: stock/models.py:1768 +#: stock/models.py:1770 msgid "Test notes" msgstr "" @@ -6580,7 +6584,7 @@ msgid "No builds matching query" msgstr "" #: templates/js/build.js:718 templates/js/part.js:390 templates/js/part.js:634 -#: templates/js/stock.js:509 templates/js/stock.js:936 +#: templates/js/stock.js:509 templates/js/stock.js:941 msgid "Select" msgstr "" @@ -6831,7 +6835,7 @@ msgstr "" msgid "Low stock" msgstr "" -#: templates/js/part.js:659 templates/js/stock.js:960 +#: templates/js/part.js:659 templates/js/stock.js:965 msgid "Path" msgstr "" @@ -7029,75 +7033,75 @@ msgstr "" msgid "Stocktake" msgstr "" -#: templates/js/stock.js:823 +#: templates/js/stock.js:828 msgid "Stock Status" msgstr "" -#: templates/js/stock.js:838 +#: templates/js/stock.js:843 msgid "Set Stock Status" msgstr "" -#: templates/js/stock.js:852 +#: templates/js/stock.js:857 msgid "Select Status Code" msgstr "" -#: templates/js/stock.js:853 +#: templates/js/stock.js:858 msgid "Status code must be selected" msgstr "" -#: templates/js/stock.js:992 +#: templates/js/stock.js:997 msgid "Invalid date" msgstr "" -#: templates/js/stock.js:1039 +#: templates/js/stock.js:1044 msgid "Location no longer exists" msgstr "" -#: templates/js/stock.js:1058 +#: templates/js/stock.js:1063 msgid "Purchase order no longer exists" msgstr "" -#: templates/js/stock.js:1077 +#: templates/js/stock.js:1082 msgid "Customer no longer exists" msgstr "" -#: templates/js/stock.js:1095 +#: templates/js/stock.js:1100 msgid "Stock item no longer exists" msgstr "" -#: templates/js/stock.js:1118 +#: templates/js/stock.js:1123 msgid "Added" msgstr "" -#: templates/js/stock.js:1126 +#: templates/js/stock.js:1131 msgid "Removed" msgstr "" -#: templates/js/stock.js:1158 +#: templates/js/stock.js:1163 msgid "No user information" msgstr "" -#: templates/js/stock.js:1170 +#: templates/js/stock.js:1175 msgid "Edit tracking entry" msgstr "" -#: templates/js/stock.js:1171 +#: templates/js/stock.js:1176 msgid "Delete tracking entry" msgstr "" -#: templates/js/stock.js:1295 +#: templates/js/stock.js:1300 msgid "Create New Location" msgstr "" -#: templates/js/stock.js:1336 +#: templates/js/stock.js:1341 msgid "No installed items" msgstr "" -#: templates/js/stock.js:1359 +#: templates/js/stock.js:1364 msgid "Serial" msgstr "" -#: templates/js/stock.js:1387 +#: templates/js/stock.js:1392 msgid "Uninstall Stock Item" msgstr "" From f6241031f60766f61861b6d72ae8f82d007ae156 Mon Sep 17 00:00:00 2001 From: Oliver Walters Date: Thu, 17 Jun 2021 21:44:54 +1000 Subject: [PATCH 35/35] Typo fix for excluded commands (cherry picked from commit cf7087747b28c5ad3c900531cb09afb5884dfee6) --- InvenTree/InvenTree/ready.py | 3 +-- InvenTree/InvenTree/settings.py | 2 +- 2 files changed, 2 insertions(+), 3 deletions(-) diff --git a/InvenTree/InvenTree/ready.py b/InvenTree/InvenTree/ready.py index 5a4f1e9576..9e64a2e6c7 100644 --- a/InvenTree/InvenTree/ready.py +++ b/InvenTree/InvenTree/ready.py @@ -26,10 +26,9 @@ def canAppAccessDatabase(): 'flush', 'loaddata', 'dumpdata', - 'makemirations', + 'makemigrations', 'migrate', 'check', - 'mediarestore', 'shell', 'createsuperuser', 'wait_for_db', diff --git a/InvenTree/InvenTree/settings.py b/InvenTree/InvenTree/settings.py index 208472ff2e..fceaf9a58f 100644 --- a/InvenTree/InvenTree/settings.py +++ b/InvenTree/InvenTree/settings.py @@ -97,7 +97,7 @@ DOCKER = _is_true(get_setting( # Configure logging settings log_level = get_setting( 'INVENTREE_LOG_LEVEL', - CONFIG.get('log_level', 'DEBUG') + CONFIG.get('log_level', 'WARNING') ) logging.basicConfig(