diff --git a/.gitignore b/.gitignore index 7c360a8231..5dd3580ef6 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/InvenTree/InvenTree/management/commands/rebuild_models.py b/InvenTree/InvenTree/management/commands/rebuild_models.py new file mode 100644 index 0000000000..2a60da9365 --- /dev/null +++ b/InvenTree/InvenTree/management/commands/rebuild_models.py @@ -0,0 +1,60 @@ +""" +Custom management command to rebuild all MPTT models + +- This is crucial after importing any fixtures, etc +""" + +from django.core.management.base import BaseCommand + + +class Command(BaseCommand): + """ + Rebuild all database models which leverage the MPTT structure. + """ + + def handle(self, *args, **kwargs): + + # Part model + try: + print("Rebuilding Part objects") + + from part.models import Part + Part.objects.rebuild() + except: + print("Error rebuilding Part objects") + + # Part category + try: + print("Rebuilding PartCategory objects") + + from part.models import PartCategory + PartCategory.objects.rebuild() + except: + print("Error rebuilding PartCategory objects") + + # StockItem model + try: + print("Rebuilding StockItem objects") + + from stock.models import StockItem + StockItem.objects.rebuild() + except: + print("Error rebuilding StockItem objects") + + # StockLocation model + try: + print("Rebuilding StockLocation objects") + + from stock.models import StockLocation + StockLocation.objects.rebuild() + except: + print("Error rebuilding StockLocation objects") + + # Build model + try: + print("Rebuilding Build objects") + + from build.models import Build + Build.objects.rebuild() + except: + print("Error rebuilding Build objects") 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 43b6feee46..e0bc1ccb95 100644 --- a/InvenTree/InvenTree/settings.py +++ b/InvenTree/InvenTree/settings.py @@ -98,7 +98,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( @@ -192,7 +192,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/InvenTree/urls.py b/InvenTree/InvenTree/urls.py index bce493fb23..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,24 +156,28 @@ 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')), 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')] diff --git a/InvenTree/InvenTree/version.py b/InvenTree/InvenTree/version.py index 7b8546b1c2..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 pre" +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 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/InvenTree/build/api.py b/InvenTree/build/api.py index 160642281a..1cb973fe05 100644 --- a/InvenTree/build/api.py +++ b/InvenTree/build/api.py @@ -165,6 +165,19 @@ class BuildItemList(generics.ListCreateAPIView): serializer_class = BuildItemSerializer + def get_serializer(self, *args, **kwargs): + + try: + params = self.request.query_params + + kwargs['part_detail'] = str2bool(params.get('part_detail', False)) + kwargs['build_detail'] = str2bool(params.get('build_detail', False)) + kwargs['location_detail'] = str2bool(params.get('location_detail', False)) + except AttributeError: + pass + + return self.serializer_class(*args, **kwargs) + def get_queryset(self): """ Override the queryset method, to allow filtering by stock_item.part diff --git a/InvenTree/build/models.py b/InvenTree/build/models.py index 03a49b627f..fad5a2934d 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.bom_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() diff --git a/InvenTree/build/serializers.py b/InvenTree/build/serializers.py index 629422f6e5..d8573cfa70 100644 --- a/InvenTree/build/serializers.py +++ b/InvenTree/build/serializers.py @@ -13,7 +13,8 @@ from rest_framework import serializers from InvenTree.serializers import InvenTreeModelSerializer from stock.serializers import StockItemSerializerBrief -from part.serializers import PartBriefSerializer +from stock.serializers import LocationSerializer +from part.serializers import PartSerializer, PartBriefSerializer from .models import Build, BuildItem @@ -99,22 +100,45 @@ class BuildItemSerializer(InvenTreeModelSerializer): bom_part = serializers.IntegerField(source='bom_item.sub_part.pk', read_only=True) part = serializers.IntegerField(source='stock_item.part.pk', read_only=True) - part_name = serializers.CharField(source='stock_item.part.full_name', read_only=True) - part_thumb = serializers.CharField(source='getStockItemThumbnail', read_only=True) + location = serializers.IntegerField(source='stock_item.location.pk', read_only=True) + + # Extra (optional) detail fields + part_detail = PartSerializer(source='stock_item.part', many=False, read_only=True) + build_detail = BuildSerializer(source='build', many=False, read_only=True) stock_item_detail = StockItemSerializerBrief(source='stock_item', read_only=True) + location_detail = LocationSerializer(source='stock_item.location', read_only=True) quantity = serializers.FloatField() + def __init__(self, *args, **kwargs): + + build_detail = kwargs.pop('build_detail', False) + part_detail = kwargs.pop('part_detail', False) + location_detail = kwargs.pop('location_detail', False) + + super().__init__(*args, **kwargs) + + if not build_detail: + self.fields.pop('build_detail') + + if not part_detail: + self.fields.pop('part_detail') + + if not location_detail: + self.fields.pop('location_detail') + class Meta: model = BuildItem fields = [ 'pk', 'bom_part', 'build', + 'build_detail', 'install_into', + 'location', + 'location_detail', 'part', - 'part_name', - 'part_thumb', + 'part_detail', 'stock_item', 'stock_item_detail', 'quantity' diff --git a/InvenTree/common/models.py b/InvenTree/common/models.py index b1f0a565e2..cf60a20792 100644 --- a/InvenTree/common/models.py +++ b/InvenTree/common/models.py @@ -212,6 +212,21 @@ class InvenTreeSetting(models.Model): 'validator': bool, }, + 'PART_INTERNAL_PRICE': { + 'name': _('Internal Prices'), + 'description': _('Enable internal prices for parts'), + 'default': False, + 'validator': bool + }, + + 'PART_BOM_USE_INTERNAL_PRICE': { + 'name': _('Internal Price as BOM-Price'), + 'description': _('Use the internal price (if set) in BOM-price calculations'), + 'default': False, + 'validator': bool + + }, + 'REPORT_DEBUG_MODE': { 'name': _('Debug Mode'), 'description': _('Generate reports in debug mode (HTML output)'), @@ -733,7 +748,7 @@ class PriceBreak(models.Model): return converted.amount -def get_price(instance, quantity, moq=True, multiples=True, currency=None): +def get_price(instance, quantity, moq=True, multiples=True, currency=None, break_name: str = 'price_breaks'): """ Calculate the price based on quantity price breaks. - Don't forget to add in flat-fee cost (base_cost field) @@ -741,7 +756,10 @@ def get_price(instance, quantity, moq=True, multiples=True, currency=None): - If order multiples are to be observed, then we need to calculate based on that, too """ - price_breaks = instance.price_breaks.all() + if hasattr(instance, break_name): + price_breaks = getattr(instance, break_name).all() + else: + price_breaks = [] # No price break information available? if len(price_breaks) == 0: @@ -763,7 +781,7 @@ def get_price(instance, quantity, moq=True, multiples=True, currency=None): currency = currency_code_default() pb_min = None - for pb in instance.price_breaks.all(): + for pb in price_breaks: # Store smallest price break if not pb_min: pb_min = pb diff --git a/InvenTree/company/api.py b/InvenTree/company/api.py index ff8b6d667b..83aef7531b 100644 --- a/InvenTree/company/api.py +++ b/InvenTree/company/api.py @@ -103,17 +103,11 @@ class ManufacturerPartList(generics.ListCreateAPIView): # Do we wish to include extra detail? try: - kwargs['part_detail'] = str2bool(self.request.query_params.get('part_detail', None)) - except AttributeError: - pass + params = self.request.query_params - try: - kwargs['manufacturer_detail'] = str2bool(self.request.query_params.get('manufacturer_detail', None)) - except AttributeError: - pass - - try: - kwargs['pretty'] = str2bool(self.request.query_params.get('pretty', None)) + kwargs['part_detail'] = str2bool(params.get('part_detail', None)) + kwargs['manufacturer_detail'] = str2bool(params.get('manufacturer_detail', None)) + kwargs['pretty'] = str2bool(params.get('pretty', None)) except AttributeError: pass @@ -252,22 +246,11 @@ class SupplierPartList(generics.ListCreateAPIView): # Do we wish to include extra detail? try: - kwargs['part_detail'] = str2bool(self.request.query_params.get('part_detail', None)) - except AttributeError: - pass - - try: - kwargs['supplier_detail'] = str2bool(self.request.query_params.get('supplier_detail', None)) - except AttributeError: - pass - - try: - kwargs['manufacturer_detail'] = str2bool(self.request.query_params.get('manufacturer_detail', None)) - except AttributeError: - pass - - try: - kwargs['pretty'] = str2bool(self.request.query_params.get('pretty', None)) + params = self.request.query_params + kwargs['part_detail'] = str2bool(params.get('part_detail', None)) + kwargs['supplier_detail'] = str2bool(params.get('supplier_detail', None)) + kwargs['manufacturer_detail'] = str2bool(self.params.get('manufacturer_detail', None)) + kwargs['pretty'] = str2bool(params.get('pretty', None)) except AttributeError: pass diff --git a/InvenTree/company/fixtures/supplier_part.yaml b/InvenTree/company/fixtures/supplier_part.yaml index 446339d58b..02cf33e12e 100644 --- a/InvenTree/company/fixtures/supplier_part.yaml +++ b/InvenTree/company/fixtures/supplier_part.yaml @@ -52,3 +52,10 @@ part: 2 supplier: 2 SKU: 'ZERGM312' + +- model: company.supplierpart + pk: 5 + fields: + part: 4 + supplier: 2 + SKU: 'R_4K7_0603' diff --git a/InvenTree/company/tests.py b/InvenTree/company/tests.py index b1e05efe14..e4a70b077a 100644 --- a/InvenTree/company/tests.py +++ b/InvenTree/company/tests.py @@ -65,7 +65,7 @@ class CompanySimpleTest(TestCase): self.assertEqual(acme.supplied_part_count, 4) self.assertTrue(appel.has_parts) - self.assertEqual(appel.supplied_part_count, 3) + self.assertEqual(appel.supplied_part_count, 4) self.assertTrue(zerg.has_parts) self.assertEqual(zerg.supplied_part_count, 2) diff --git a/InvenTree/config_template.yaml b/InvenTree/config_template.yaml index 1333b876b8..0e6232d270 100644 --- a/InvenTree/config_template.yaml +++ b/InvenTree/config_template.yaml @@ -129,9 +129,9 @@ 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/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'] 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 "" diff --git a/InvenTree/order/api.py b/InvenTree/order/api.py index 7eda59eacb..6661bd568b 100644 --- a/InvenTree/order/api.py +++ b/InvenTree/order/api.py @@ -22,9 +22,10 @@ from .models import PurchaseOrder, PurchaseOrderLineItem from .models import PurchaseOrderAttachment from .serializers import POSerializer, POLineItemSerializer, POAttachmentSerializer -from .models import SalesOrder, SalesOrderLineItem +from .models import SalesOrder, SalesOrderLineItem, SalesOrderAllocation from .models import SalesOrderAttachment from .serializers import SalesOrderSerializer, SOLineItemSerializer, SOAttachmentSerializer +from .serializers import SalesOrderAllocationSerializer class POList(generics.ListCreateAPIView): @@ -422,17 +423,11 @@ class SOLineItemList(generics.ListCreateAPIView): def get_serializer(self, *args, **kwargs): try: - kwargs['part_detail'] = str2bool(self.request.query_params.get('part_detail', False)) - except AttributeError: - pass + params = self.request.query_params - try: - kwargs['order_detail'] = str2bool(self.request.query_params.get('order_detail', False)) - except AttributeError: - pass - - try: - kwargs['allocations'] = str2bool(self.request.query_params.get('allocations', False)) + kwargs['part_detail'] = str2bool(params.get('part_detail', False)) + kwargs['order_detail'] = str2bool(params.get('order_detail', False)) + kwargs['allocations'] = str2bool(params.get('allocations', False)) except AttributeError: pass @@ -486,6 +481,70 @@ class SOLineItemDetail(generics.RetrieveUpdateAPIView): serializer_class = SOLineItemSerializer +class SOAllocationList(generics.ListCreateAPIView): + """ + API endpoint for listing SalesOrderAllocation objects + """ + + queryset = SalesOrderAllocation.objects.all() + serializer_class = SalesOrderAllocationSerializer + + def get_serializer(self, *args, **kwargs): + + try: + params = self.request.query_params + + kwargs['part_detail'] = str2bool(params.get('part_detail', False)) + kwargs['item_detail'] = str2bool(params.get('item_detail', False)) + kwargs['order_detail'] = str2bool(params.get('order_detail', False)) + kwargs['location_detail'] = str2bool(params.get('location_detail', False)) + except AttributeError: + pass + + return self.serializer_class(*args, **kwargs) + + def filter_queryset(self, queryset): + + queryset = super().filter_queryset(queryset) + + # Filter by order + params = self.request.query_params + + # Filter by "part" reference + part = params.get('part', None) + + if part is not None: + queryset = queryset.filter(item__part=part) + + # Filter by "order" reference + order = params.get('order', None) + + if order is not None: + queryset = queryset.filter(line__order=order) + + # Filter by "outstanding" order status + outstanding = params.get('outstanding', None) + + if outstanding is not None: + outstanding = str2bool(outstanding) + + if outstanding: + queryset = queryset.filter(line__order__status__in=SalesOrderStatus.OPEN) + else: + queryset = queryset.exclude(line__order__status__in=SalesOrderStatus.OPEN) + + return queryset + + filter_backends = [ + DjangoFilterBackend, + ] + + # Default filterable fields + filter_fields = [ + 'item', + ] + + class POAttachmentList(generics.ListCreateAPIView, AttachmentMixin): """ API endpoint for listing (and creating) a PurchaseOrderAttachment (file upload) @@ -494,10 +553,6 @@ class POAttachmentList(generics.ListCreateAPIView, AttachmentMixin): queryset = PurchaseOrderAttachment.objects.all() serializer_class = POAttachmentSerializer - filter_fields = [ - 'order', - ] - order_api_urls = [ # API endpoints for purchase orders @@ -512,14 +567,26 @@ order_api_urls = [ url(r'^po-line/$', POLineItemList.as_view(), name='api-po-line-list'), # API endpoints for sales ordesr - url(r'^so/(?P\d+)/$', SODetail.as_view(), name='api-so-detail'), - url(r'so/attachment/', include([ - url(r'^.*$', SOAttachmentList.as_view(), name='api-so-attachment-list'), + url(r'^so/', include([ + url(r'^(?P\d+)/$', SODetail.as_view(), name='api-so-detail'), + url(r'attachment/', include([ + url(r'^.*$', SOAttachmentList.as_view(), name='api-so-attachment-list'), + ])), + + # List all sales orders + url(r'^.*$', SOList.as_view(), name='api-so-list'), ])), - url(r'^so/.*$', SOList.as_view(), name='api-so-list'), - # API endpoints for sales order line items - url(r'^so-line/(?P\d+)/$', SOLineItemDetail.as_view(), name='api-so-line-detail'), - url(r'^so-line/$', SOLineItemList.as_view(), name='api-so-line-list'), + url(r'^so-line/', include([ + url(r'^(?P\d+)/$', SOLineItemDetail.as_view(), name='api-so-line-detail'), + url(r'^$', SOLineItemList.as_view(), name='api-so-line-list'), + ])), + + # API endpoints for sales order allocations + url(r'^so-allocation', include([ + + # List all sales order allocations + url(r'^.*$', SOAllocationList.as_view(), name='api-so-allocation-list'), + ])), ] diff --git a/InvenTree/order/fixtures/order.yaml b/InvenTree/order/fixtures/order.yaml index 6b65c20786..769f7702e5 100644 --- a/InvenTree/order/fixtures/order.yaml +++ b/InvenTree/order/fixtures/order.yaml @@ -68,6 +68,7 @@ order: 1 part: 1 quantity: 100 + destination: 5 # Desk/Drawer_1 # 250 x ACME0002 (M2x4 LPHS) # Partially received (50) @@ -95,3 +96,10 @@ part: 3 quantity: 100 +# 1 x R_4K7_0603 +- model: order.purchaseorderlineitem + pk: 23 + fields: + order: 1 + part: 5 + quantity: 1 diff --git a/InvenTree/order/forms.py b/InvenTree/order/forms.py index ceb633688a..48b5245a5f 100644 --- a/InvenTree/order/forms.py +++ b/InvenTree/order/forms.py @@ -86,12 +86,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", ] @@ -202,6 +207,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..9efbf947bb 100644 --- a/InvenTree/order/serializers.py +++ b/InvenTree/order/serializers.py @@ -17,6 +17,8 @@ from InvenTree.serializers import InvenTreeAttachmentSerializerField from company.serializers import CompanyBriefSerializer, SupplierPartSerializer from part.serializers import PartBriefSerializer +from stock.serializers import LocationBriefSerializer +from stock.serializers import StockItemSerializer, LocationSerializer from .models import PurchaseOrder, PurchaseOrderLineItem from .models import PurchaseOrderAttachment, SalesOrderAttachment @@ -41,7 +43,7 @@ class POSerializer(InvenTreeModelSerializer): """ Add extra information to the queryset - - Number of liens in the PurchaseOrder + - Number of lines in the PurchaseOrder - Overdue status of the PurchaseOrder """ @@ -116,6 +118,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 +136,7 @@ class POLineItemSerializer(InvenTreeModelSerializer): 'purchase_price', 'purchase_price_currency', 'purchase_price_string', + 'destination', ] @@ -232,11 +237,38 @@ class SalesOrderAllocationSerializer(InvenTreeModelSerializer): This includes some fields from the related model objects. """ - location_path = serializers.CharField(source='get_location_path') - location_id = serializers.IntegerField(source='get_location') - serial = serializers.CharField(source='get_serial') - po = serializers.CharField(source='get_po') - quantity = serializers.FloatField() + part = serializers.PrimaryKeyRelatedField(source='item.part', read_only=True) + order = serializers.PrimaryKeyRelatedField(source='line.order', many=False, read_only=True) + serial = serializers.CharField(source='get_serial', read_only=True) + quantity = serializers.FloatField(read_only=True) + location = serializers.PrimaryKeyRelatedField(source='item.location', many=False, read_only=True) + + # Extra detail fields + order_detail = SalesOrderSerializer(source='line.order', many=False, read_only=True) + part_detail = PartBriefSerializer(source='item.part', many=False, read_only=True) + item_detail = StockItemSerializer(source='item', many=False, read_only=True) + location_detail = LocationSerializer(source='item.location', many=False, read_only=True) + + def __init__(self, *args, **kwargs): + + order_detail = kwargs.pop('order_detail', False) + part_detail = kwargs.pop('part_detail', False) + item_detail = kwargs.pop('item_detail', False) + location_detail = kwargs.pop('location_detail', False) + + super().__init__(*args, **kwargs) + + if not order_detail: + self.fields.pop('order_detail') + + if not part_detail: + self.fields.pop('part_detail') + + if not item_detail: + self.fields.pop('item_detail') + + if not location_detail: + self.fields.pop('location_detail') class Meta: model = SalesOrderAllocation @@ -246,10 +278,14 @@ class SalesOrderAllocationSerializer(InvenTreeModelSerializer): 'line', 'serial', 'quantity', - 'location_id', - 'location_path', - 'po', + 'location', + 'location_detail', 'item', + 'item_detail', + 'order', + 'order_detail', + 'part', + 'part_detail', ] diff --git a/InvenTree/order/templates/order/purchase_order_detail.html b/InvenTree/order/templates/order/purchase_order_detail.html index ef844409fd..0ad73923a2 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 '{% trans "Total" %}' + } }, { field: 'part_detail.description', @@ -172,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, @@ -182,6 +193,25 @@ $("#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; + 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, field: 'received', @@ -204,6 +234,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 }} + + + + +
+ +{% else %} +
+

{% trans "Permission Denied" %}

+ +
+ {% trans "You do not have permission to view this page." %} +
+
+{% endif %} +{% endblock %} + +{% block js_ready %} +{{ block.super }} + +{% settings_value "PART_INTERNAL_PRICE" as show_internal_price %} +{% if show_internal_price and roles.sales_order.view %} +function reloadPriceBreaks() { + $("#internal-price-break-table").bootstrapTable("refresh"); +} + +$('#new-internal-price-break').click(function() { + launchModalForm("{% url 'internal-price-break-create' %}", + { + success: reloadPriceBreaks, + data: { + part: {{ part.id }}, + } + } + ); +}); + +$('#internal-price-break-table').inventreeTable({ + name: 'internalprice', + formatNoMatches: function() { return "{% trans 'No internal price break information found' %}"; }, + queryParams: { + part: {{ part.id }}, + }, + url: "{% url 'api-part-internal-price-list' %}", + onPostBody: function() { + var table = $('#internal-price-break-table'); + + table.find('.button-internal-price-break-delete').click(function() { + var pk = $(this).attr('pk'); + + launchModalForm( + `/part/internal-price/${pk}/delete/`, + { + success: reloadPriceBreaks + } + ); + }); + + table.find('.button-internal-price-break-edit').click(function() { + var pk = $(this).attr('pk'); + + launchModalForm( + `/part/internal-price/${pk}/edit/`, + { + success: reloadPriceBreaks + } + ); + }); + }, + columns: [ + { + field: 'pk', + title: 'ID', + visible: false, + switchable: false, + }, + { + field: 'quantity', + title: '{% trans "Quantity" %}', + sortable: true, + }, + { + field: 'price', + title: '{% trans "Price" %}', + sortable: true, + formatter: function(value, row, index) { + var html = value; + + html += `
` + + html += makeIconButton('fa-edit icon-blue', 'button-internal-price-break-edit', row.pk, '{% trans "Edit internal price break" %}'); + html += makeIconButton('fa-trash-alt icon-red', 'button-internal-price-break-delete', row.pk, '{% trans "Delete internal price break" %}'); + + html += `
`; + + return html; + } + }, + ] +}) + +{% endif %} +{% endblock %} \ No newline at end of file diff --git a/InvenTree/part/templates/part/navbar.html b/InvenTree/part/templates/part/navbar.html index d1ed7e3d21..c0bc4c96a3 100644 --- a/InvenTree/part/templates/part/navbar.html +++ b/InvenTree/part/templates/part/navbar.html @@ -2,6 +2,8 @@ {% load static %} {% load inventree_extras %} +{% settings_value "PART_INTERNAL_PRICE" as show_internal_price %} +