From c0ab2d1da9976a87bef16689f9f63a39a2faa76d Mon Sep 17 00:00:00 2001 From: Oliver Walters Date: Wed, 21 Apr 2021 17:16:07 +1000 Subject: [PATCH] Unit test fixes --- InvenTree/build/tests.py | 4 +- InvenTree/build/views.py | 17 +- InvenTree/locale/de/LC_MESSAGES/django.mo | Bin 101003 -> 119528 bytes InvenTree/locale/de/LC_MESSAGES/django.po | 613 +++++++++++++--------- InvenTree/locale/en/LC_MESSAGES/django.po | 520 ++++++++++-------- InvenTree/locale/es/LC_MESSAGES/django.po | 520 ++++++++++-------- InvenTree/locale/fr/LC_MESSAGES/django.mo | Bin 0 -> 379 bytes InvenTree/locale/fr/LC_MESSAGES/django.po | 520 ++++++++++-------- InvenTree/locale/it/LC_MESSAGES/django.mo | Bin 0 -> 380 bytes InvenTree/locale/it/LC_MESSAGES/django.po | 520 ++++++++++-------- InvenTree/locale/ja/LC_MESSAGES/django.mo | Bin 0 -> 373 bytes InvenTree/locale/ja/LC_MESSAGES/django.po | 520 ++++++++++-------- InvenTree/locale/pl/LC_MESSAGES/django.mo | Bin 0 -> 526 bytes InvenTree/locale/pl/LC_MESSAGES/django.po | 520 ++++++++++-------- InvenTree/locale/ru/LC_MESSAGES/django.mo | Bin 0 -> 518 bytes InvenTree/locale/ru/LC_MESSAGES/django.po | 520 ++++++++++-------- InvenTree/locale/zh/LC_MESSAGES/django.mo | Bin 0 -> 337 bytes InvenTree/locale/zh/LC_MESSAGES/django.po | 520 ++++++++++-------- 18 files changed, 2671 insertions(+), 2123 deletions(-) create mode 100644 InvenTree/locale/fr/LC_MESSAGES/django.mo create mode 100644 InvenTree/locale/it/LC_MESSAGES/django.mo create mode 100644 InvenTree/locale/ja/LC_MESSAGES/django.mo create mode 100644 InvenTree/locale/pl/LC_MESSAGES/django.mo create mode 100644 InvenTree/locale/ru/LC_MESSAGES/django.mo create mode 100644 InvenTree/locale/zh/LC_MESSAGES/django.mo diff --git a/InvenTree/build/tests.py b/InvenTree/build/tests.py index 2ac571a726..e16ef9a282 100644 --- a/InvenTree/build/tests.py +++ b/InvenTree/build/tests.py @@ -15,7 +15,7 @@ from datetime import datetime, timedelta from .models import Build from stock.models import StockItem -from InvenTree.status_codes import BuildStatus +from InvenTree.status_codes import BuildStatus, StockStatus class BuildTestSimple(TestCase): @@ -335,6 +335,7 @@ class TestBuildViews(TestCase): 'confirm_incomplete': 1, 'location': 1, 'output': self.output.pk, + 'stock_status': StockStatus.DAMAGED }, HTTP_X_REQUESTED_WITH='XMLHttpRequest' ) @@ -342,6 +343,7 @@ class TestBuildViews(TestCase): self.assertEqual(response.status_code, 200) data = json.loads(response.content) + self.assertTrue(data['form_valid']) # Now the build should be able to be completed diff --git a/InvenTree/build/views.py b/InvenTree/build/views.py index 0c9cc62370..b41f975a26 100644 --- a/InvenTree/build/views.py +++ b/InvenTree/build/views.py @@ -449,6 +449,9 @@ class BuildOutputComplete(AjaxUpdateView): return form def validate(self, build, form, **kwargs): + """ + Custom validation steps for the BuildOutputComplete" form + """ data = form.cleaned_data @@ -456,8 +459,14 @@ class BuildOutputComplete(AjaxUpdateView): stock_status = data.get('stock_status', StockStatus.OK) + # Any "invalid" stock status defaults to OK + try: + stock_status = int(stock_status) + except (ValueError): + stock_status = StockStatus.OK + if int(stock_status) not in StockStatus.keys(): - form.add_error('status', _('Invalid stock status value selected')) + form.add_error('stock_status', _('Invalid stock status value selected')) if output: @@ -552,6 +561,12 @@ class BuildOutputComplete(AjaxUpdateView): output = data.get('output', None) stock_status = data.get('stock_status', StockStatus.OK) + # Any "invalid" stock status defaults to OK + try: + stock_status = int(stock_status) + except (ValueError): + stock_status = StockStatus.OK + # Complete the build output build.completeBuildOutput( output, diff --git a/InvenTree/locale/de/LC_MESSAGES/django.mo b/InvenTree/locale/de/LC_MESSAGES/django.mo index aa43358545702edc9a1c760892e91c36d237718e..0dd13dedf0651b756b6cefbf5f93f05f1616d5e0 100644 GIT binary patch literal 119528 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 NnaWvw|M_j>`9Hrq7_R^T diff --git a/InvenTree/locale/de/LC_MESSAGES/django.po b/InvenTree/locale/de/LC_MESSAGES/django.po index 26dd39205d..a8a13ac65a 100644 --- a/InvenTree/locale/de/LC_MESSAGES/django.po +++ b/InvenTree/locale/de/LC_MESSAGES/django.po @@ -6,7 +6,7 @@ msgid "" msgstr "" "Project-Id-Version: \n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2021-04-21 12:28+1000\n" +"POT-Creation-Date: 2021-04-21 17:15+1000\n" "PO-Revision-Date: 2021-03-28 17:47+0200\n" "Last-Translator: Andreas Kaiser , Matthias " "MAIR\n" @@ -34,8 +34,8 @@ msgstr "Keine passende Aktion gefunden" msgid "Enter date" msgstr "Datum eingeben" -#: InvenTree/forms.py:110 build/forms.py:99 build/forms.py:120 -#: build/forms.py:142 build/forms.py:166 build/forms.py:188 build/forms.py:223 +#: InvenTree/forms.py:110 build/forms.py:101 build/forms.py:122 +#: build/forms.py:144 build/forms.py:168 build/forms.py:184 build/forms.py:226 #: order/forms.py:27 order/forms.py:38 order/forms.py:49 order/forms.py:60 #: order/forms.py:71 part/forms.py:134 msgid "Confirm" @@ -156,7 +156,7 @@ msgstr "Name" #: templates/InvenTree/search.html:144 templates/InvenTree/search.html:224 #: templates/InvenTree/search.html:296 #: templates/InvenTree/settings/header.html:9 templates/js/bom.js:190 -#: templates/js/build.js:677 templates/js/build.js:944 +#: templates/js/build.js:736 templates/js/build.js:1004 #: templates/js/company.js:56 templates/js/order.js:183 #: templates/js/order.js:280 templates/js/part.js:169 templates/js/part.js:252 #: templates/js/part.js:371 templates/js/part.js:565 templates/js/part.js:643 @@ -205,60 +205,60 @@ msgstr "" msgid "InvenTree system health checks failed" msgstr "InvenTree Status-Überprüfung fehlgeschlagen" -#: InvenTree/status_codes.py:94 InvenTree/status_codes.py:135 -#: InvenTree/status_codes.py:228 +#: InvenTree/status_codes.py:102 InvenTree/status_codes.py:143 +#: InvenTree/status_codes.py:236 msgid "Pending" msgstr "Ausstehend" -#: InvenTree/status_codes.py:95 +#: InvenTree/status_codes.py:103 msgid "Placed" msgstr "Platziert" -#: InvenTree/status_codes.py:96 InvenTree/status_codes.py:231 +#: InvenTree/status_codes.py:104 InvenTree/status_codes.py:239 msgid "Complete" msgstr "Fertig" -#: InvenTree/status_codes.py:97 InvenTree/status_codes.py:137 -#: InvenTree/status_codes.py:230 +#: InvenTree/status_codes.py:105 InvenTree/status_codes.py:145 +#: InvenTree/status_codes.py:238 msgid "Cancelled" msgstr "Storniert" -#: InvenTree/status_codes.py:98 InvenTree/status_codes.py:138 -#: InvenTree/status_codes.py:180 +#: InvenTree/status_codes.py:106 InvenTree/status_codes.py:146 +#: InvenTree/status_codes.py:188 msgid "Lost" msgstr "Verloren" -#: InvenTree/status_codes.py:99 InvenTree/status_codes.py:139 -#: InvenTree/status_codes.py:182 +#: InvenTree/status_codes.py:107 InvenTree/status_codes.py:147 +#: InvenTree/status_codes.py:190 msgid "Returned" msgstr "Zurückgegeben" -#: InvenTree/status_codes.py:136 +#: InvenTree/status_codes.py:144 #: order/templates/order/sales_order_base.html:124 msgid "Shipped" msgstr "Versendet" -#: InvenTree/status_codes.py:176 +#: InvenTree/status_codes.py:184 msgid "OK" msgstr "OK" -#: InvenTree/status_codes.py:177 +#: InvenTree/status_codes.py:185 msgid "Attention needed" msgstr "erfordert Eingriff" -#: InvenTree/status_codes.py:178 +#: InvenTree/status_codes.py:186 msgid "Damaged" msgstr "Beschädigt" -#: InvenTree/status_codes.py:179 +#: InvenTree/status_codes.py:187 msgid "Destroyed" msgstr "Zerstört" -#: InvenTree/status_codes.py:181 +#: InvenTree/status_codes.py:189 msgid "Rejected" msgstr "Zurückgewiesen" -#: InvenTree/status_codes.py:229 +#: InvenTree/status_codes.py:237 msgid "Production" msgstr "in Arbeit" @@ -361,32 +361,33 @@ msgstr "Barcode ist bereits BestandsObjekt zugeordnet" msgid "Barcode associated with StockItem" msgstr "Barcode zugeordnet zu BestandsObjekt" -#: build/forms.py:34 +#: build/forms.py:36 msgid "Build Order reference" msgstr "Bauauftrags-Referenz" -#: build/forms.py:35 +#: build/forms.py:37 msgid "Order target date" msgstr "geplantes Bestelldatum" -#: build/forms.py:39 build/templates/build/build_base.html:107 +#: build/forms.py:41 build/templates/build/build_base.html:136 #: build/templates/build/detail.html:121 order/forms.py:109 order/forms.py:144 #: order/templates/order/order_base.html:124 #: order/templates/order/sales_order_base.html:117 #: report/templates/report/inventree_build_order_base.html:126 -#: templates/js/build.js:723 templates/js/order.js:200 +#: templates/js/build.js:783 templates/js/order.js:200 #: templates/js/order.js:298 msgid "Target Date" msgstr "Zieldatum" -#: build/forms.py:40 build/models.py:224 +#: build/forms.py:42 build/models.py:224 msgid "" "Target date for build completion. Build will be overdue after this date." msgstr "Zieldatum für Bauauftrag-Fertigstellung." -#: build/forms.py:45 build/forms.py:87 build/forms.py:257 build/models.py:1109 +#: build/forms.py:47 build/forms.py:89 build/forms.py:265 build/models.py:1227 +#: build/templates/build/allocation_card.html:23 #: build/templates/build/auto_allocate.html:17 -#: build/templates/build/build_base.html:94 +#: build/templates/build/build_base.html:123 #: build/templates/build/detail.html:31 common/models.py:703 #: company/forms.py:176 company/templates/company/supplier_part_pricing.html:77 #: order/forms.py:188 order/forms.py:205 order/forms.py:239 order/forms.py:261 @@ -410,87 +411,103 @@ msgstr "Zieldatum für Bauauftrag-Fertigstellung." #: stock/forms.py:175 stock/forms.py:308 stock/models.py:1566 #: stock/templates/stock/item_base.html:244 #: stock/templates/stock/stock_adjust.html:18 templates/js/barcode.js:364 -#: templates/js/bom.js:205 templates/js/build.js:420 templates/js/build.js:954 +#: templates/js/bom.js:205 templates/js/build.js:476 templates/js/build.js:1014 #: templates/js/stock.js:1033 templates/js/stock.js:1271 msgid "Quantity" msgstr "Anzahl" -#: build/forms.py:46 +#: build/forms.py:48 msgid "Number of items to build" msgstr "Anzahl der zu bauenden Teile" -#: build/forms.py:88 +#: build/forms.py:90 msgid "Enter quantity for build output" msgstr "Menge der Endprodukte angeben" -#: build/forms.py:92 order/forms.py:233 stock/forms.py:118 +#: build/forms.py:94 order/forms.py:233 stock/forms.py:118 msgid "Serial Numbers" msgstr "Seriennummer" -#: build/forms.py:94 +#: build/forms.py:96 msgid "Enter serial numbers for build outputs" msgstr "Seriennummer für dieses Endprodukt eingeben" -#: build/forms.py:100 +#: build/forms.py:102 msgid "Confirm creation of build output" msgstr "Anlage von Endprodukt(en) bestätigen" -#: build/forms.py:121 +#: build/forms.py:123 msgid "Confirm deletion of build output" msgstr "Löschen des Endprodukt bestätigen" -#: build/forms.py:142 +#: build/forms.py:144 msgid "Confirm unallocation of stock" msgstr "Aufhebung der BestandsZuordnung bestätigen" -#: build/forms.py:166 +#: build/forms.py:168 msgid "Confirm stock allocation" msgstr "Bestandszuordnung bestätigen" -#: build/forms.py:189 +#: build/forms.py:185 msgid "Mark build as complete" msgstr "Bauauftrag als vollständig markieren" -#: build/forms.py:213 build/templates/build/auto_allocate.html:18 +#: build/forms.py:209 build/templates/build/auto_allocate.html:18 #: order/forms.py:82 stock/forms.py:347 #: stock/templates/stock/item_base.html:274 #: 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:434 +#: templates/js/barcode.js:531 templates/js/build.js:490 #: templates/js/stock.js:641 msgid "Location" msgstr "Lagerort" -#: build/forms.py:214 +#: build/forms.py:210 msgid "Location of completed parts" msgstr "Lagerort der Endprodukte" -#: build/forms.py:219 +#: build/forms.py:214 build/templates/build/build_base.html:128 +#: build/templates/build/detail.html:59 order/models.py:445 +#: order/templates/order/receive_parts.html:24 +#: stock/templates/stock/item_base.html:392 templates/InvenTree/search.html:252 +#: templates/js/barcode.js:119 templates/js/build.js:770 +#: templates/js/order.js:187 templates/js/order.js:285 +#: templates/js/stock.js:628 templates/js/stock.js:1279 +msgid "Status" +msgstr "Status" + +#: build/forms.py:215 +#, fuzzy +#| msgid "Build output does not match build" +msgid "Build output stock status" +msgstr "Endprodukt stimmt nicht mit Bauauftrag überein" + +#: build/forms.py:222 msgid "Confirm incomplete" msgstr "Bauauftrag nicht fertiggestellt" -#: build/forms.py:220 +#: build/forms.py:223 msgid "Confirm completion with incomplete stock allocation" msgstr "Fertigstellung mit nicht kompletter Bestandszuordnung bestätigen" -#: build/forms.py:223 +#: build/forms.py:226 msgid "Confirm build completion" msgstr "Bauauftrag-Fertigstellung bestätigen" -#: build/forms.py:243 +#: build/forms.py:251 msgid "Confirm cancel" msgstr "Abbruch bestätigen" -#: build/forms.py:243 build/views.py:66 +#: build/forms.py:251 build/views.py:66 msgid "Confirm build cancellation" msgstr "Bauabbruch bestätigen" -#: build/forms.py:257 +#: build/forms.py:265 msgid "Select quantity of stock to allocate" msgstr "Menge der BestandsObjekte für Zuordnung auswählen" #: build/models.py:65 build/templates/build/build_base.html:9 -#: build/templates/build/build_base.html:38 +#: build/templates/build/build_base.html:63 #: part/templates/part/allocation.html:23 #: report/templates/report/inventree_build_order_base.html:106 msgid "Build Order" @@ -515,7 +532,7 @@ msgstr "Bauauftragsreferenz" #: order/templates/order/sales_order_detail.html:219 part/models.py:2187 #: report/templates/report/inventree_po_report.html:92 #: report/templates/report/inventree_so_report.html:92 templates/js/bom.js:197 -#: templates/js/build.js:509 templates/js/build.js:948 +#: templates/js/build.js:565 templates/js/build.js:1008 msgid "Reference" msgstr "Referenz" @@ -523,7 +540,7 @@ msgstr "Referenz" msgid "Brief description of the build" msgstr "Kurze Beschreibung des Baus" -#: build/models.py:146 build/templates/build/build_base.html:124 +#: build/models.py:146 build/templates/build/build_base.html:153 #: build/templates/build/detail.html:77 msgid "Parent Build" msgstr "Eltern-Bauauftrag" @@ -533,7 +550,7 @@ msgid "BuildOrder to which this build is allocated" msgstr "Bauauftrag, zu dem dieser Bauauftrag zugwiesen ist" #: build/models.py:152 build/templates/build/auto_allocate.html:16 -#: build/templates/build/build_base.html:89 +#: build/templates/build/build_base.html:118 #: build/templates/build/detail.html:26 company/models.py:669 #: order/models.py:637 order/models.py:669 #: order/templates/order/order_wizard/select_parts.html:30 @@ -550,7 +567,7 @@ msgstr "Bauauftrag, zu dem dieser Bauauftrag zugwiesen ist" #: report/templates/report/inventree_so_report.html:90 #: templates/InvenTree/search.html:112 templates/InvenTree/search.html:210 #: templates/js/barcode.js:362 templates/js/bom.js:163 -#: templates/js/build.js:681 templates/js/build.js:921 +#: templates/js/build.js:741 templates/js/build.js:981 #: templates/js/company.js:140 templates/js/company.js:238 #: templates/js/part.js:233 templates/js/part.js:338 templates/js/stock.js:523 #: templates/js/stock.js:1343 @@ -630,7 +647,7 @@ msgstr "Erstelldatum" msgid "Target completion date" msgstr "geplantes Fertigstellungsdatum" -#: build/models.py:227 order/models.py:218 +#: build/models.py:227 order/models.py:218 templates/js/build.js:788 msgid "Completion Date" msgstr "Fertigstellungsdatum" @@ -646,7 +663,7 @@ msgstr "Aufgegeben von" msgid "User who issued this build order" msgstr "Nutzer der diesen Bauauftrag erstellt hat" -#: build/models.py:250 build/templates/build/build_base.html:145 +#: build/models.py:250 build/templates/build/build_base.html:174 #: build/templates/build/detail.html:105 order/models.py:119 #: order/templates/order/order_base.html:138 #: order/templates/order/sales_order_base.html:138 part/models.py:886 @@ -672,7 +689,7 @@ msgstr "Externer Link" msgid "Link to external URL" msgstr "Link zu einer externen URL" -#: build/models.py:261 build/templates/build/navbar.html:59 +#: build/models.py:261 build/templates/build/navbar.html:53 #: company/models.py:135 company/models.py:501 #: company/templates/company/navbar.html:70 #: company/templates/company/navbar.html:73 order/models.py:123 @@ -695,91 +712,94 @@ msgstr "Notizen" msgid "Extra build notes" msgstr "Extranotizen für den Bauauftrag" -#: build/models.py:673 +#: build/models.py:739 msgid "No build output specified" msgstr "kein Endprodukt angegeben" -#: build/models.py:676 +#: build/models.py:742 msgid "Build output is already completed" msgstr "Endprodukt bereits hergstellt" -#: build/models.py:679 +#: build/models.py:745 msgid "Build output does not match Build Order" msgstr "Endprodukt stimmt nicht mit dem Bauauftrag überein" -#: build/models.py:754 +#: build/models.py:838 msgid "Completed build output" msgstr "Endprodukt fertigstellen" -#: build/models.py:1002 +#: build/models.py:1118 msgid "BuildItem must be unique for build, stock_item and install_into" msgstr "" "Bauauftrags-Objekt muss für Bauauftrag, Lager-Objekt und installiert_in " "eindeutig sein" -#: build/models.py:1024 -msgid "Build item must specify a build output" +#: build/models.py:1143 +#, fuzzy +#| msgid "Build item must specify a build output" +msgid "" +"Build item must specify a build output, as master part is marked as trackable" msgstr "Bauauftrags-Objekt muss einem Endprodukt zugewiesen sein" -#: build/models.py:1029 +#: build/models.py:1147 #, python-brace-format 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:1033 +#: build/models.py:1151 #, python-brace-format 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:1040 order/models.py:758 +#: build/models.py:1158 order/models.py:758 msgid "StockItem is over-allocated" msgstr "Zu viele BestandsObjekt zugewiesen" -#: build/models.py:1044 order/models.py:761 +#: build/models.py:1162 order/models.py:761 msgid "Allocation quantity must be greater than zero" msgstr "Reserviermenge muss größer null sein" -#: build/models.py:1048 +#: build/models.py:1166 msgid "Quantity must be 1 for serialized stock" msgstr "Anzahl muss 1 für Objekte mit Seriennummer sein" -#: build/models.py:1088 stock/templates/stock/item_base.html:306 -#: templates/InvenTree/search.html:183 templates/js/build.js:655 +#: build/models.py:1206 stock/templates/stock/item_base.html:306 +#: templates/InvenTree/search.html:183 templates/js/build.js:714 #: templates/navbar.html:29 msgid "Build" msgstr "Bauauftrag" -#: build/models.py:1089 +#: build/models.py:1207 msgid "Build to allocate parts" msgstr "Bauauftrag starten um Teile zuzuweisen" -#: build/models.py:1096 part/templates/part/allocation.html:18 +#: build/models.py:1214 part/templates/part/allocation.html:18 #: part/templates/part/allocation.html:24 #: part/templates/part/allocation.html:31 #: part/templates/part/allocation.html:49 #: stock/templates/stock/item_base.html:8 #: stock/templates/stock/item_base.html:93 #: stock/templates/stock/item_base.html:328 -#: stock/templates/stock/stock_adjust.html:16 templates/js/build.js:771 +#: stock/templates/stock/stock_adjust.html:16 templates/js/build.js:831 #: templates/js/stock.js:1004 templates/js/stock.js:1262 msgid "Stock Item" msgstr "BestandsObjekt" -#: build/models.py:1097 +#: build/models.py:1215 msgid "Source stock item" msgstr "Quell-BestandsObjekt" -#: build/models.py:1110 +#: build/models.py:1228 msgid "Stock quantity to allocate to build" msgstr "BestandsObjekt-Anzahl dem Bauauftrag zuweisen" -#: build/models.py:1118 +#: build/models.py:1236 msgid "Install into" msgstr "Installiere in" -#: build/models.py:1119 +#: build/models.py:1237 msgid "Destination stock item" msgstr "Ziel-BestandsObjekt" @@ -790,54 +810,70 @@ msgid "Allocate Parts" msgstr "Teile zuordnen" #: build/templates/build/allocate.html:15 -msgid "Incomplete Build Ouputs" -msgstr "unfertige Endprodukte" +#, fuzzy +#| msgid "Allocate Stock to Order" +msgid "Allocate Stock to Build" +msgstr "Lagerbestand dem Auftrag zuweisen" -#: build/templates/build/allocate.html:21 -msgid "Build order has been completed" -msgstr "Bauauftrag ist vollständig" +#: build/templates/build/allocate.html:22 +#, fuzzy +#| msgid "Allocate stock to build output" +msgid "Allocate stock to build" +msgstr "Bestand dem Endprodukt zuweisen" -#: build/templates/build/allocate.html:26 -msgid "Create new build output" -msgstr "Neues Endprodukt anlegen" +#: build/templates/build/allocate.html:23 +msgid "Auto Allocate" +msgstr "Automatisches Zuweisen" -#: build/templates/build/allocate.html:27 -msgid "Create New Output" -msgstr "Neues Endprodukt anlegen" +#: build/templates/build/allocate.html:25 templates/js/build.js:646 +msgid "Unallocate stock" +msgstr "Bestandszuordnung aufheben" -#: build/templates/build/allocate.html:30 +#: build/templates/build/allocate.html:26 build/views.py:308 build/views.py:794 +msgid "Unallocate Stock" +msgstr "Bestandszuordnung aufheben" + +#: build/templates/build/allocate.html:29 msgid "Order required parts" msgstr "Benötigte Teile bestellen" -#: build/templates/build/allocate.html:31 +#: build/templates/build/allocate.html:30 #: company/templates/company/detail_manufacturer_part.html:33 #: company/templates/company/detail_supplier_part.html:32 order/views.py:794 #: part/templates/part/category.html:127 msgid "Order Parts" msgstr "Teile bestellen" -#: build/templates/build/allocate.html:34 templates/js/build.js:590 -msgid "Unallocate stock" -msgstr "Bestandszuordnung aufheben" +#: build/templates/build/allocate.html:36 +#, fuzzy +#| msgid "This stock item is allocated to Build" +msgid "Untracked stock has been fully allocated for this Build Order" +msgstr "Dieses BestandsObjekt ist dem Bau zugewiesen" -#: build/templates/build/allocate.html:35 build/views.py:338 build/views.py:784 -msgid "Unallocate Stock" -msgstr "Bestandszuordnung aufheben" +#: build/templates/build/allocate.html:40 +#, fuzzy +#| msgid "This stock item is allocated to Build" +msgid "Untracked stock has not been fully allocated for this Build Order" +msgstr "Dieses BestandsObjekt ist dem Bau zugewiesen" -#: build/templates/build/allocate.html:49 -msgid "Create a new build output" -msgstr "Neues Endprodukt anlegen" +#: build/templates/build/allocate.html:47 +#, fuzzy +#| msgid "This stock item does not have any child items" +msgid "This Build Order does not have any associated untracked BOM items" +msgstr "Dieses BestandsObjekt hat keine Kinder" -#: build/templates/build/allocate.html:50 -msgid "No incomplete build outputs remain." -msgstr "Keine unfertigen Endprodukte verbleiben." - -#: build/templates/build/allocate.html:51 -msgid "Create a new build output using the button above" -msgstr "Neues Endprodukt mit der Schaltfläche obehalb anlegen" +#: build/templates/build/allocation_card.html:21 +#: build/templates/build/complete_output.html:46 +#: order/templates/order/sales_order_detail.html:75 +#: order/templates/order/sales_order_detail.html:157 +#: report/templates/report/inventree_test_report_base.html:75 +#: stock/models.py:420 stock/templates/stock/item_base.html:238 +#: templates/js/build.js:474 +msgid "Serial Number" +msgstr "Seriennummer" #: build/templates/build/attachments.html:12 -#: build/templates/build/navbar.html:49 build/templates/build/navbar.html:52 +#: build/templates/build/navbar.html:43 build/templates/build/navbar.html:46 #: order/templates/order/po_navbar.html:26 #: order/templates/order/so_navbar.html:29 part/templates/part/navbar.html:119 #: part/templates/part/navbar.html:122 stock/templates/stock/navbar.html:47 @@ -875,7 +911,31 @@ msgstr "Dieser Bauauftrag ist dem Auftrag %(link)s zugeordnet" msgid "This Build Order is a child of Build Order %(link)s" msgstr "Dieser Bauauftrag ist dem Bauauftrag %(link)s untergeordnet" -#: build/templates/build/build_base.html:40 +#: build/templates/build/build_base.html:31 +#, fuzzy +#| msgid "Build order has been completed" +msgid "Build Order is ready to mark as completed" +msgstr "Bauauftrag ist vollständig" + +#: build/templates/build/build_base.html:36 +#, fuzzy +#| msgid "Build order cannot be completed" +msgid "Build Order cannot be completed as outstanding outputs remain" +msgstr "Bauauftrag kann nicht fertiggestellt werden" + +#: build/templates/build/build_base.html:41 +#, fuzzy +#| msgid "Required build quantity has not been completed" +msgid "Required build quantity has not yet been completed" +msgstr "Benötigte Teil-Anzahl wurde noch nicht fertiggestellt" + +#: build/templates/build/build_base.html:46 +#, fuzzy +#| msgid "This stock item is allocated to Build" +msgid "Stock has not been fully allocated to this Build Order" +msgstr "Dieses BestandsObjekt ist dem Bau zugewiesen" + +#: build/templates/build/build_base.html:65 #: company/templates/company/company_base.html:40 #: company/templates/company/manufacturer_part_base.html:25 #: company/templates/company/supplier_part_base.html:26 @@ -887,8 +947,8 @@ msgstr "Dieser Bauauftrag ist dem Bauauftrag %(link)s untergeordnet" msgid "Admin view" msgstr "Admin" -#: build/templates/build/build_base.html:46 -#: build/templates/build/build_base.html:111 +#: build/templates/build/build_base.html:71 +#: build/templates/build/build_base.html:140 #: order/templates/order/order_base.html:32 #: order/templates/order/order_base.html:86 #: order/templates/order/sales_order_base.html:41 @@ -898,58 +958,48 @@ msgstr "Admin" msgid "Overdue" msgstr "Überfällig" -#: build/templates/build/build_base.html:55 +#: build/templates/build/build_base.html:80 msgid "Print actions" msgstr "Aktionen drucken" -#: build/templates/build/build_base.html:59 +#: build/templates/build/build_base.html:84 msgid "Print Build Order" msgstr "Bauauftrag drucken" -#: build/templates/build/build_base.html:65 -msgid "Build actions" -msgstr "Bau-Auftrag Aktionen" - -#: build/templates/build/build_base.html:69 -msgid "Edit Build" -msgstr "Bauauftrag bearbeiten" - -#: build/templates/build/build_base.html:71 -#: build/templates/build/build_base.html:179 +#: build/templates/build/build_base.html:90 +#: build/templates/build/build_base.html:215 msgid "Complete Build" msgstr "Bauauftrag fertigstellen" -#: build/templates/build/build_base.html:72 -#: build/templates/build/build_base.html:170 build/views.py:57 +#: build/templates/build/build_base.html:95 +msgid "Build actions" +msgstr "Bau-Auftrag Aktionen" + +#: build/templates/build/build_base.html:99 +msgid "Edit Build" +msgstr "Bauauftrag bearbeiten" + +#: build/templates/build/build_base.html:101 +#: build/templates/build/build_base.html:199 build/views.py:57 msgid "Cancel Build" msgstr "Bauauftrag abbrechen" -#: build/templates/build/build_base.html:85 +#: build/templates/build/build_base.html:114 #: build/templates/build/detail.html:11 msgid "Build Details" msgstr "Bau-Status" -#: build/templates/build/build_base.html:99 -#: build/templates/build/detail.html:59 order/models.py:445 -#: order/templates/order/receive_parts.html:24 -#: stock/templates/stock/item_base.html:392 templates/InvenTree/search.html:252 -#: templates/js/barcode.js:119 templates/js/build.js:710 -#: templates/js/order.js:187 templates/js/order.js:285 -#: templates/js/stock.js:628 templates/js/stock.js:1279 -msgid "Status" -msgstr "Status" - -#: build/templates/build/build_base.html:111 +#: build/templates/build/build_base.html:140 #, python-format msgid "This build was due on %(target)s" msgstr "Bauauftrag war fäälig am %(target)s" -#: build/templates/build/build_base.html:118 +#: build/templates/build/build_base.html:147 #: build/templates/build/detail.html:64 msgid "Progress" msgstr "Fortschritt" -#: build/templates/build/build_base.html:131 +#: build/templates/build/build_base.html:160 #: build/templates/build/detail.html:84 order/models.py:667 #: order/templates/order/sales_order_base.html:9 #: order/templates/order/sales_order_base.html:33 @@ -961,21 +1011,60 @@ msgstr "Fortschritt" msgid "Sales Order" msgstr "Auftrag" -#: build/templates/build/build_base.html:138 +#: build/templates/build/build_base.html:167 #: build/templates/build/detail.html:98 #: report/templates/report/inventree_build_order_base.html:153 msgid "Issued By" msgstr "Aufgegeben von" +#: build/templates/build/build_base.html:207 +#, fuzzy +#| msgid "Incomplete Build Ouputs" +msgid "Incomplete Outputs" +msgstr "unfertige Endprodukte" + +#: build/templates/build/build_base.html:208 +#, fuzzy +#| msgid "No incomplete build outputs remain." +msgid "Build Order cannot be completed as incomplete build outputs remain" +msgstr "Keine unfertigen Endprodukte verbleiben." + #: build/templates/build/build_children.html:10 -#: build/templates/build/navbar.html:42 +#: build/templates/build/navbar.html:36 msgid "Child Build Orders" msgstr "Unter-Bauaufträge" -#: build/templates/build/build_output.html:10 -#: build/templates/build/navbar.html:35 build/templates/build/navbar.html:38 -msgid "Build Outputs" -msgstr "Endprodukte" +#: build/templates/build/build_output.html:15 +#, fuzzy +#| msgid "Incomplete Build Ouputs" +msgid "Incomplete Build Outputs" +msgstr "unfertige Endprodukte" + +#: build/templates/build/build_output.html:22 +msgid "Create new build output" +msgstr "Neues Endprodukt anlegen" + +#: build/templates/build/build_output.html:23 +msgid "Create New Output" +msgstr "Neues Endprodukt anlegen" + +#: build/templates/build/build_output.html:36 +msgid "Create a new build output" +msgstr "Neues Endprodukt anlegen" + +#: build/templates/build/build_output.html:37 +msgid "No incomplete build outputs remain." +msgstr "Keine unfertigen Endprodukte verbleiben." + +#: build/templates/build/build_output.html:38 +msgid "Create a new build output using the button above" +msgstr "Neues Endprodukt mit der Schaltfläche obehalb anlegen" + +#: build/templates/build/build_output.html:49 +#, fuzzy +#| msgid "Complete Build Output" +msgid "Completed Build Outputs" +msgstr "Endprodukt fertigstellen" #: build/templates/build/build_output_create.html:7 msgid "The Bill of Materials contains trackable parts" @@ -1003,12 +1092,16 @@ msgid "Are you sure you wish to cancel this build?" msgstr "Sind Sie sicher, dass sie diesen Bauauftrag abbrechen möchten?" #: build/templates/build/complete.html:8 -msgid "Build can be completed" -msgstr "Bauauftrag kann fertiggstellt werden" +#, fuzzy +#| msgid "Build order has been completed" +msgid "Build Order is complete" +msgstr "Bauauftrag ist vollständig" #: build/templates/build/complete.html:12 -msgid "Build cannot be completed" -msgstr "Bauauftrag kann nicht fertiggestellt werden" +#, fuzzy +#| msgid "Build order has been completed" +msgid "Build Order is incomplete" +msgstr "Bauauftrag ist vollständig" #: build/templates/build/complete.html:15 msgid "Incompleted build outputs remain" @@ -1018,19 +1111,29 @@ msgstr "unfertige Endprodukte vorhanden" msgid "Required build quantity has not been completed" msgstr "Benötigte Teil-Anzahl wurde noch nicht fertiggestellt" -#: build/templates/build/complete_output.html:9 -msgid "Stock allocation is complete" +#: build/templates/build/complete.html:21 +#, fuzzy +#| msgid "parts have not been fully allocated" +msgid "Required stock has not been fully allocated" +msgstr "Teile wurden noch nicht vollständig zugeordnet" + +#: build/templates/build/complete_output.html:10 +#, fuzzy +#| msgid "Stock allocation is complete" +msgid "Stock allocation is complete for this output" msgstr "Bestandszuordnung ist vollständig" -#: build/templates/build/complete_output.html:13 +#: build/templates/build/complete_output.html:14 msgid "Stock allocation is incomplete" msgstr "Bestandszuordnung ist nicht vollständig" -#: build/templates/build/complete_output.html:19 -msgid "parts have not been fully allocated" +#: build/templates/build/complete_output.html:20 +#, fuzzy +#| msgid "parts have not been fully allocated" +msgid "tracked parts have not been fully allocated" msgstr "Teile wurden noch nicht vollständig zugeordnet" -#: build/templates/build/complete_output.html:40 +#: build/templates/build/complete_output.html:41 msgid "The following items will be created" msgstr "Die folgenden Objekte werden erstellt" @@ -1086,7 +1189,7 @@ msgstr "Los" #: build/templates/build/detail.html:116 #: order/templates/order/order_base.html:111 -#: order/templates/order/sales_order_base.html:111 templates/js/build.js:718 +#: order/templates/order/sales_order_base.html:111 templates/js/build.js:778 msgid "Created" msgstr "Erstellt" @@ -1094,8 +1197,7 @@ msgstr "Erstellt" msgid "No target date set" msgstr "Kein Ziel-Datum gesetzt" -#: build/templates/build/detail.html:132 templates/js/build.js:696 -#: templates/js/build.js:728 +#: build/templates/build/detail.html:132 templates/js/build.js:756 msgid "Completed" msgstr "Fertig" @@ -1107,7 +1209,7 @@ msgstr "Bauauftrag ist nicht vollständig" msgid "Alter the quantity of stock allocated to the build output" msgstr "Anzahl des zugeordneten Bestands für die Endprodukte ändern" -#: build/templates/build/index.html:28 build/views.py:657 +#: build/templates/build/index.html:28 build/views.py:667 msgid "New Build Order" msgstr "Neuer Bauauftrag" @@ -1138,20 +1240,20 @@ msgstr "Bauauftrag-details" msgid "Details" msgstr "Details" -#: build/templates/build/navbar.html:20 build/templates/build/navbar.html:23 -#: build/templates/build/parts.html:11 -msgid "Required Parts" -msgstr "Benötigte Teile" +#: build/templates/build/navbar.html:21 build/templates/build/navbar.html:24 +#: build/views.py:91 +msgid "Allocate Stock" +msgstr "Lagerbestand zuweisen" -#: build/templates/build/navbar.html:27 build/templates/build/navbar.html:30 -msgid "In Progress" -msgstr "In Bearbeitung" +#: build/templates/build/navbar.html:29 build/templates/build/navbar.html:32 +msgid "Build Outputs" +msgstr "Endprodukte" -#: build/templates/build/navbar.html:45 +#: build/templates/build/navbar.html:39 msgid "Child Builds" msgstr "Unter-Endprodukte" -#: build/templates/build/navbar.html:56 +#: build/templates/build/navbar.html:50 msgid "Build Order Notes" msgstr "Bauauftrag-Notizen" @@ -1189,66 +1291,70 @@ msgstr "" msgid "Build was cancelled" msgstr "Bauauftrag wurde abgebrochen" -#: build/views.py:91 -msgid "Allocate Stock" -msgstr "Lagerbestand zuweisen" - -#: build/views.py:154 build/views.py:314 build/views.py:485 -msgid "Build output must be specified" -msgstr "Endprodukt muss angegeben sein" - -#: build/views.py:168 +#: build/views.py:138 msgid "Allocated stock to build output" msgstr "Bestand dem Endprodukt zuweisen" -#: build/views.py:180 +#: build/views.py:150 msgid "Create Build Output" msgstr "Endprodukt anlegen" -#: build/views.py:203 stock/models.py:969 stock/views.py:1789 +#: build/views.py:173 stock/models.py:969 stock/views.py:1789 msgid "Serial numbers already exist" msgstr "Seriennummern existieren bereits" -#: build/views.py:212 +#: build/views.py:182 msgid "Serial numbers required for trackable build output" msgstr "Seriennummern für verfolgbare Endprodukte benötigt" -#: build/views.py:278 +#: build/views.py:248 msgid "Delete Build Output" msgstr "Endprodukt entfernen" -#: build/views.py:299 build/views.py:383 +#: build/views.py:269 build/views.py:359 msgid "Confirm unallocation of build stock" msgstr "Entfernung von Bestands-Zuordnung bestätigen" -#: build/views.py:300 build/views.py:384 stock/views.py:425 +#: build/views.py:270 build/views.py:360 stock/views.py:425 msgid "Check the confirmation box" msgstr "Bestätigungsbox bestätigen" -#: build/views.py:312 +#: build/views.py:282 msgid "Build output does not match build" msgstr "Endprodukt stimmt nicht mit Bauauftrag überein" -#: build/views.py:326 +#: build/views.py:284 build/views.py:485 +msgid "Build output must be specified" +msgstr "Endprodukt muss angegeben sein" + +#: build/views.py:296 msgid "Build output deleted" msgstr "Endprodukt gelöscht" -#: build/views.py:408 +#: build/views.py:394 msgid "Complete Build Order" msgstr "Bauauftrag fertigstellen" -#: build/views.py:414 -msgid "Build order cannot be completed" +#: build/views.py:400 +#, fuzzy +#| msgid "Build order cannot be completed" +msgid "Build order cannot be completed - incomplete outputs remain" msgstr "Bauauftrag kann nicht fertiggestellt werden" -#: build/views.py:425 +#: build/views.py:411 msgid "Completed build order" msgstr "Bauauftrag fertiggestellt" -#: build/views.py:441 +#: build/views.py:427 msgid "Complete Build Output" msgstr "Endprodukt fertigstellen" +#: build/views.py:469 +#, fuzzy +#| msgid "Invalid location selected" +msgid "Invalid stock status value selected" +msgstr "Ungültige Ortsauswahl" + #: build/views.py:476 msgid "Quantity to complete cannot exceed build output quantity" msgstr "" @@ -1259,81 +1365,81 @@ msgstr "" msgid "Confirm completion of incomplete build" msgstr "Endprodukt-Fertigstellung bestätigen" -#: build/views.py:573 +#: build/views.py:581 msgid "Build output completed" msgstr "Endprodukt fertiggestellt" -#: build/views.py:711 +#: build/views.py:721 msgid "Created new build" msgstr "Neuen Bauauftrag angelegt" -#: build/views.py:732 +#: build/views.py:742 msgid "Edit Build Order Details" msgstr "Bauauftragdetails bearbeiten" -#: build/views.py:765 +#: build/views.py:775 msgid "Edited build" msgstr "Bauauftrag bearbeitet" -#: build/views.py:774 +#: build/views.py:784 msgid "Delete Build Order" msgstr "Bauauftrag löschen" -#: build/views.py:789 +#: build/views.py:799 msgid "Removed parts from build allocation" msgstr "Teile von Bauzuordnung entfernt" -#: build/views.py:801 +#: build/views.py:811 msgid "Allocate stock to build output" msgstr "Bestand dem Endprodukt zuweisen" -#: build/views.py:844 +#: build/views.py:854 msgid "Item must be currently in stock" msgstr "Teil muss aktuell im Bestand sein" -#: build/views.py:850 +#: build/views.py:860 msgid "Stock item is over-allocated" msgstr "BestandObjekt ist zu oft zugewiesen" -#: build/views.py:851 templates/js/bom.js:230 templates/js/build.js:519 -#: templates/js/build.js:778 templates/js/build.js:961 +#: build/views.py:861 templates/js/bom.js:230 templates/js/build.js:575 +#: templates/js/build.js:838 templates/js/build.js:1021 msgid "Available" msgstr "verfügbar" -#: build/views.py:853 +#: build/views.py:863 msgid "Stock item must be selected" msgstr "BestandsObjekt muss ausgewählt sein" -#: build/views.py:1016 +#: build/views.py:1026 msgid "Edit Stock Allocation" msgstr "Bestandszuordnung bearbeiten" -#: build/views.py:1020 +#: build/views.py:1030 msgid "Updated Build Item" msgstr "Bauobjekt aktualisiert" -#: build/views.py:1049 +#: build/views.py:1059 msgid "Add Build Order Attachment" msgstr "Bauauftrags-Anhang hinzufügen" -#: build/views.py:1062 order/views.py:110 order/views.py:162 part/views.py:172 +#: build/views.py:1072 order/views.py:110 order/views.py:162 part/views.py:172 #: stock/views.py:277 msgid "Added attachment" msgstr "Anhang hinzugefügt" -#: build/views.py:1098 order/views.py:189 order/views.py:210 +#: build/views.py:1108 order/views.py:189 order/views.py:210 msgid "Edit Attachment" msgstr "Anhang bearbeiten" -#: build/views.py:1108 order/views.py:193 order/views.py:214 +#: build/views.py:1118 order/views.py:193 order/views.py:214 msgid "Attachment updated" msgstr "Anhang aktualisiert" -#: build/views.py:1118 order/views.py:229 order/views.py:243 +#: build/views.py:1128 order/views.py:229 order/views.py:243 msgid "Delete Attachment" msgstr "Anhang löschen" -#: build/views.py:1123 order/views.py:235 order/views.py:249 stock/views.py:333 +#: build/views.py:1133 order/views.py:235 order/views.py:249 stock/views.py:333 msgid "Deleted attachment" msgstr "Anhang gelöscht" @@ -1947,7 +2053,7 @@ msgstr "Mehrere bestellen" #: company/templates/company/assigned_stock.html:10 #: company/templates/company/navbar.html:62 -#: company/templates/company/navbar.html:65 templates/js/build.js:411 +#: company/templates/company/navbar.html:65 templates/js/build.js:467 msgid "Assigned Stock" msgstr "Zugeordneter Bestand" @@ -3016,26 +3122,18 @@ msgstr "Warnung" msgid "Sales Order Items" msgstr "Auftrags-Positionen" -#: order/templates/order/sales_order_detail.html:75 -#: order/templates/order/sales_order_detail.html:157 -#: report/templates/report/inventree_test_report_base.html:75 -#: stock/models.py:420 stock/templates/stock/item_base.html:238 -#: templates/js/build.js:418 -msgid "Serial Number" -msgstr "Seriennummer" - #: order/templates/order/sales_order_detail.html:92 templates/js/bom.js:342 -#: templates/js/build.js:571 templates/js/build.js:984 +#: templates/js/build.js:627 templates/js/build.js:1044 msgid "Actions" msgstr "Aktionen" -#: order/templates/order/sales_order_detail.html:99 templates/js/build.js:459 -#: templates/js/build.js:789 +#: order/templates/order/sales_order_detail.html:99 templates/js/build.js:515 +#: templates/js/build.js:849 msgid "Edit stock allocation" msgstr "Bestands-Zuordnung bearbeiten" -#: order/templates/order/sales_order_detail.html:100 templates/js/build.js:461 -#: templates/js/build.js:790 +#: order/templates/order/sales_order_detail.html:100 templates/js/build.js:517 +#: templates/js/build.js:850 msgid "Delete stock allocation" msgstr "Bestands-Zuordnung löschen" @@ -3047,8 +3145,8 @@ msgstr "Keine passenden Positionen gefunden" msgid "ID" msgstr "ID" -#: order/templates/order/sales_order_detail.html:229 templates/js/build.js:523 -#: templates/js/build.js:785 +#: order/templates/order/sales_order_detail.html:229 templates/js/build.js:579 +#: templates/js/build.js:845 msgid "Allocated" msgstr "Zugeordnet" @@ -3060,7 +3158,7 @@ msgstr "Erledigt" msgid "Allocate serial numbers" msgstr "Seriennummern zuweisen" -#: order/templates/order/sales_order_detail.html:282 templates/js/build.js:585 +#: order/templates/order/sales_order_detail.html:282 templates/js/build.js:641 msgid "Allocate stock" msgstr "Lagerbestand zuweisen" @@ -3068,8 +3166,8 @@ msgstr "Lagerbestand zuweisen" msgid "Purchase stock" msgstr "Einkaufs-Bestand" -#: order/templates/order/sales_order_detail.html:289 templates/js/build.js:578 -#: templates/js/build.js:992 +#: order/templates/order/sales_order_detail.html:289 templates/js/build.js:634 +#: templates/js/build.js:1052 msgid "Build stock" msgstr "Baue Bestand" @@ -5431,7 +5529,7 @@ msgstr "BestandsObjekt löschen" msgid "Stock Item Details" msgstr "BestandsObjekt-Details" -#: stock/templates/stock/item_base.html:278 templates/js/build.js:442 +#: stock/templates/stock/item_base.html:278 templates/js/build.js:498 msgid "No location set" msgstr "Kein Lagerort gesetzt" @@ -5833,7 +5931,7 @@ msgstr "BestandsObjekt bearbeiten" msgid "Serialize Stock" msgstr "Lagerbestand erfassen" -#: stock/views.py:1543 templates/js/build.js:210 +#: stock/views.py:1543 templates/js/build.js:244 msgid "Create new Stock Item" msgstr "Neues BestandsObjekt hinzufügen" @@ -6284,7 +6382,7 @@ msgstr "In Lagerorten buchen" msgid "Barcode does not match a valid location" msgstr "Barcode entspricht keinem Lagerort" -#: templates/js/bom.js:175 templates/js/build.js:934 +#: templates/js/bom.js:175 templates/js/build.js:994 msgid "Open subassembly" msgstr "Unterbaugruppe öffnen" @@ -6322,58 +6420,58 @@ msgstr "Stücklisten-Position bearbeiten" msgid "Delete BOM Item" msgstr "Stücklisten-Position löschen" -#: templates/js/bom.js:447 templates/js/build.js:305 templates/js/build.js:1032 +#: templates/js/bom.js:447 templates/js/build.js:340 templates/js/build.js:1092 msgid "No BOM items found" msgstr "Keine Stücklisten-Position(en) gefunden" -#: templates/js/build.js:56 +#: templates/js/build.js:62 msgid "Auto-allocate stock items to this output" msgstr "BestandsObjekte automatisch Endprodukt zuordnen" -#: templates/js/build.js:62 -msgid "Complete build output" -msgstr "Endprodukt fertigstellen" - -#: templates/js/build.js:71 +#: templates/js/build.js:70 msgid "Unallocate stock from build output" msgstr "Bestand von Endpordukt zurücknehmen" -#: templates/js/build.js:77 +#: templates/js/build.js:80 +msgid "Complete build output" +msgstr "Endprodukt fertigstellen" + +#: templates/js/build.js:89 msgid "Delete build output" msgstr "Endprodukt entfernen" -#: templates/js/build.js:209 templates/stock_table.html:20 +#: templates/js/build.js:243 templates/stock_table.html:20 msgid "New Stock Item" msgstr "Neues BestandsObjekt" -#: templates/js/build.js:493 +#: templates/js/build.js:549 msgid "Required Part" msgstr "benötigtes Teil" -#: templates/js/build.js:514 +#: templates/js/build.js:570 msgid "Quantity Per" msgstr "Anzahl pro" -#: templates/js/build.js:582 templates/js/build.js:996 +#: templates/js/build.js:638 templates/js/build.js:1056 #: templates/stock_table.html:58 msgid "Order stock" msgstr "Bestand bestellen" -#: templates/js/build.js:632 +#: templates/js/build.js:691 msgid "No builds matching query" msgstr "Keine Bauaufträge passen zur Anfrage" -#: templates/js/build.js:649 templates/js/part.js:324 templates/js/part.js:546 +#: templates/js/build.js:708 templates/js/part.js:324 templates/js/part.js:546 #: templates/js/stock.js:511 templates/js/stock.js:938 #: templates/js/stock.js:1331 msgid "Select" msgstr "Auswählen" -#: templates/js/build.js:669 +#: templates/js/build.js:728 msgid "Build order is overdue" msgstr "Bauauftrag ist überfällig" -#: templates/js/build.js:767 +#: templates/js/build.js:827 msgid "No parts allocated for" msgstr "Keine Teile zugeordnet zu" @@ -7335,6 +7433,18 @@ msgstr "Berechtigungen Einträge zu ändern" msgid "Permission to delete items" msgstr "Berechtigung Einträge zu löschen" +#~ msgid "Build can be completed" +#~ msgstr "Bauauftrag kann fertiggstellt werden" + +#~ msgid "Build cannot be completed" +#~ msgstr "Bauauftrag kann nicht fertiggestellt werden" + +#~ msgid "Required Parts" +#~ msgstr "Benötigte Teile" + +#~ msgid "In Progress" +#~ msgstr "In Bearbeitung" + #~ msgid "Child Categories" #~ msgstr "Unter-Kategorien" @@ -7667,9 +7777,6 @@ msgstr "Berechtigung Einträge zu löschen" #~ msgid "Automatically allocate stock" #~ msgstr "Lagerbestand automatisch zuweisen" -#~ msgid "Auto Allocate" -#~ msgstr "Automatisches Zuweisen" - #~ msgid "Unallocate" #~ msgstr "Zuweisung aufheben" @@ -7694,11 +7801,6 @@ msgstr "Berechtigung Einträge zu löschen" #~ msgid "Only single stock items exists" #~ msgstr "In BestandsObjekt installiert" -#, fuzzy -#~| msgid "This stock item is allocated to Build" -#~ msgid "The stock item is not already allocated to this build" -#~ msgstr "Dieses BestandsObjekt ist dem Bau zugewiesen" - #~ msgid "Warning: Build order allocation is not complete" #~ msgstr "Warnung: Bau-Zuweisung ist unvollständig" @@ -7727,9 +7829,6 @@ msgstr "Berechtigung Einträge zu löschen" #~ msgid "Check the confirmation box at the bottom of the list" #~ msgstr "Bestätigunsbox am Ende der Liste bestätigen" -#~ msgid "Invalid location selected" -#~ msgstr "Ungültige Ortsauswahl" - #~ msgid "The following serial numbers already exist: ({sn})" #~ msgstr "Die folgende Seriennummer existiert bereits: ({sn})" diff --git a/InvenTree/locale/en/LC_MESSAGES/django.po b/InvenTree/locale/en/LC_MESSAGES/django.po index 9e300a0372..a99521bf12 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-04-21 12:28+1000\n" +"POT-Creation-Date: 2021-04-21 17:15+1000\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: FULL NAME \n" "Language-Team: LANGUAGE \n" @@ -34,8 +34,8 @@ msgstr "" msgid "Enter date" msgstr "" -#: InvenTree/forms.py:110 build/forms.py:99 build/forms.py:120 -#: build/forms.py:142 build/forms.py:166 build/forms.py:188 build/forms.py:223 +#: InvenTree/forms.py:110 build/forms.py:101 build/forms.py:122 +#: build/forms.py:144 build/forms.py:168 build/forms.py:184 build/forms.py:226 #: order/forms.py:27 order/forms.py:38 order/forms.py:49 order/forms.py:60 #: order/forms.py:71 part/forms.py:134 msgid "Confirm" @@ -154,7 +154,7 @@ msgstr "" #: templates/InvenTree/search.html:144 templates/InvenTree/search.html:224 #: templates/InvenTree/search.html:296 #: templates/InvenTree/settings/header.html:9 templates/js/bom.js:190 -#: templates/js/build.js:677 templates/js/build.js:944 +#: templates/js/build.js:736 templates/js/build.js:1004 #: templates/js/company.js:56 templates/js/order.js:183 #: templates/js/order.js:280 templates/js/part.js:169 templates/js/part.js:252 #: templates/js/part.js:371 templates/js/part.js:565 templates/js/part.js:643 @@ -203,60 +203,60 @@ msgstr "" msgid "InvenTree system health checks failed" msgstr "" -#: InvenTree/status_codes.py:94 InvenTree/status_codes.py:135 -#: InvenTree/status_codes.py:228 +#: InvenTree/status_codes.py:102 InvenTree/status_codes.py:143 +#: InvenTree/status_codes.py:236 msgid "Pending" msgstr "" -#: InvenTree/status_codes.py:95 +#: InvenTree/status_codes.py:103 msgid "Placed" msgstr "" -#: InvenTree/status_codes.py:96 InvenTree/status_codes.py:231 +#: InvenTree/status_codes.py:104 InvenTree/status_codes.py:239 msgid "Complete" msgstr "" -#: InvenTree/status_codes.py:97 InvenTree/status_codes.py:137 -#: InvenTree/status_codes.py:230 +#: InvenTree/status_codes.py:105 InvenTree/status_codes.py:145 +#: InvenTree/status_codes.py:238 msgid "Cancelled" msgstr "" -#: InvenTree/status_codes.py:98 InvenTree/status_codes.py:138 -#: InvenTree/status_codes.py:180 +#: InvenTree/status_codes.py:106 InvenTree/status_codes.py:146 +#: InvenTree/status_codes.py:188 msgid "Lost" msgstr "" -#: InvenTree/status_codes.py:99 InvenTree/status_codes.py:139 -#: InvenTree/status_codes.py:182 +#: InvenTree/status_codes.py:107 InvenTree/status_codes.py:147 +#: InvenTree/status_codes.py:190 msgid "Returned" msgstr "" -#: InvenTree/status_codes.py:136 +#: InvenTree/status_codes.py:144 #: order/templates/order/sales_order_base.html:124 msgid "Shipped" msgstr "" -#: InvenTree/status_codes.py:176 +#: InvenTree/status_codes.py:184 msgid "OK" msgstr "" -#: InvenTree/status_codes.py:177 +#: InvenTree/status_codes.py:185 msgid "Attention needed" msgstr "" -#: InvenTree/status_codes.py:178 +#: InvenTree/status_codes.py:186 msgid "Damaged" msgstr "" -#: InvenTree/status_codes.py:179 +#: InvenTree/status_codes.py:187 msgid "Destroyed" msgstr "" -#: InvenTree/status_codes.py:181 +#: InvenTree/status_codes.py:189 msgid "Rejected" msgstr "" -#: InvenTree/status_codes.py:229 +#: InvenTree/status_codes.py:237 msgid "Production" msgstr "" @@ -359,32 +359,33 @@ msgstr "" msgid "Barcode associated with StockItem" msgstr "" -#: build/forms.py:34 +#: build/forms.py:36 msgid "Build Order reference" msgstr "" -#: build/forms.py:35 +#: build/forms.py:37 msgid "Order target date" msgstr "" -#: build/forms.py:39 build/templates/build/build_base.html:107 +#: build/forms.py:41 build/templates/build/build_base.html:136 #: build/templates/build/detail.html:121 order/forms.py:109 order/forms.py:144 #: order/templates/order/order_base.html:124 #: order/templates/order/sales_order_base.html:117 #: report/templates/report/inventree_build_order_base.html:126 -#: templates/js/build.js:723 templates/js/order.js:200 +#: templates/js/build.js:783 templates/js/order.js:200 #: templates/js/order.js:298 msgid "Target Date" msgstr "" -#: build/forms.py:40 build/models.py:224 +#: build/forms.py:42 build/models.py:224 msgid "" "Target date for build completion. Build will be overdue after this date." msgstr "" -#: build/forms.py:45 build/forms.py:87 build/forms.py:257 build/models.py:1109 +#: build/forms.py:47 build/forms.py:89 build/forms.py:265 build/models.py:1227 +#: build/templates/build/allocation_card.html:23 #: build/templates/build/auto_allocate.html:17 -#: build/templates/build/build_base.html:94 +#: build/templates/build/build_base.html:123 #: build/templates/build/detail.html:31 common/models.py:703 #: company/forms.py:176 company/templates/company/supplier_part_pricing.html:77 #: order/forms.py:188 order/forms.py:205 order/forms.py:239 order/forms.py:261 @@ -408,87 +409,101 @@ msgstr "" #: stock/forms.py:175 stock/forms.py:308 stock/models.py:1566 #: stock/templates/stock/item_base.html:244 #: stock/templates/stock/stock_adjust.html:18 templates/js/barcode.js:364 -#: templates/js/bom.js:205 templates/js/build.js:420 templates/js/build.js:954 +#: templates/js/bom.js:205 templates/js/build.js:476 templates/js/build.js:1014 #: templates/js/stock.js:1033 templates/js/stock.js:1271 msgid "Quantity" msgstr "" -#: build/forms.py:46 +#: build/forms.py:48 msgid "Number of items to build" msgstr "" -#: build/forms.py:88 +#: build/forms.py:90 msgid "Enter quantity for build output" msgstr "" -#: build/forms.py:92 order/forms.py:233 stock/forms.py:118 +#: build/forms.py:94 order/forms.py:233 stock/forms.py:118 msgid "Serial Numbers" msgstr "" -#: build/forms.py:94 +#: build/forms.py:96 msgid "Enter serial numbers for build outputs" msgstr "" -#: build/forms.py:100 +#: build/forms.py:102 msgid "Confirm creation of build output" msgstr "" -#: build/forms.py:121 +#: build/forms.py:123 msgid "Confirm deletion of build output" msgstr "" -#: build/forms.py:142 +#: build/forms.py:144 msgid "Confirm unallocation of stock" msgstr "" -#: build/forms.py:166 +#: build/forms.py:168 msgid "Confirm stock allocation" msgstr "" -#: build/forms.py:189 +#: build/forms.py:185 msgid "Mark build as complete" msgstr "" -#: build/forms.py:213 build/templates/build/auto_allocate.html:18 +#: build/forms.py:209 build/templates/build/auto_allocate.html:18 #: order/forms.py:82 stock/forms.py:347 #: stock/templates/stock/item_base.html:274 #: 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:434 +#: templates/js/barcode.js:531 templates/js/build.js:490 #: templates/js/stock.js:641 msgid "Location" msgstr "" -#: build/forms.py:214 +#: build/forms.py:210 msgid "Location of completed parts" msgstr "" -#: build/forms.py:219 +#: build/forms.py:214 build/templates/build/build_base.html:128 +#: build/templates/build/detail.html:59 order/models.py:445 +#: order/templates/order/receive_parts.html:24 +#: stock/templates/stock/item_base.html:392 templates/InvenTree/search.html:252 +#: templates/js/barcode.js:119 templates/js/build.js:770 +#: templates/js/order.js:187 templates/js/order.js:285 +#: templates/js/stock.js:628 templates/js/stock.js:1279 +msgid "Status" +msgstr "" + +#: build/forms.py:215 +msgid "Build output stock status" +msgstr "" + +#: build/forms.py:222 msgid "Confirm incomplete" msgstr "" -#: build/forms.py:220 +#: build/forms.py:223 msgid "Confirm completion with incomplete stock allocation" msgstr "" -#: build/forms.py:223 +#: build/forms.py:226 msgid "Confirm build completion" msgstr "" -#: build/forms.py:243 +#: build/forms.py:251 msgid "Confirm cancel" msgstr "" -#: build/forms.py:243 build/views.py:66 +#: build/forms.py:251 build/views.py:66 msgid "Confirm build cancellation" msgstr "" -#: build/forms.py:257 +#: build/forms.py:265 msgid "Select quantity of stock to allocate" msgstr "" #: build/models.py:65 build/templates/build/build_base.html:9 -#: build/templates/build/build_base.html:38 +#: build/templates/build/build_base.html:63 #: part/templates/part/allocation.html:23 #: report/templates/report/inventree_build_order_base.html:106 msgid "Build Order" @@ -513,7 +528,7 @@ msgstr "" #: order/templates/order/sales_order_detail.html:219 part/models.py:2187 #: report/templates/report/inventree_po_report.html:92 #: report/templates/report/inventree_so_report.html:92 templates/js/bom.js:197 -#: templates/js/build.js:509 templates/js/build.js:948 +#: templates/js/build.js:565 templates/js/build.js:1008 msgid "Reference" msgstr "" @@ -521,7 +536,7 @@ msgstr "" msgid "Brief description of the build" msgstr "" -#: build/models.py:146 build/templates/build/build_base.html:124 +#: build/models.py:146 build/templates/build/build_base.html:153 #: build/templates/build/detail.html:77 msgid "Parent Build" msgstr "" @@ -531,7 +546,7 @@ msgid "BuildOrder to which this build is allocated" msgstr "" #: build/models.py:152 build/templates/build/auto_allocate.html:16 -#: build/templates/build/build_base.html:89 +#: build/templates/build/build_base.html:118 #: build/templates/build/detail.html:26 company/models.py:669 #: order/models.py:637 order/models.py:669 #: order/templates/order/order_wizard/select_parts.html:30 @@ -548,7 +563,7 @@ msgstr "" #: report/templates/report/inventree_so_report.html:90 #: templates/InvenTree/search.html:112 templates/InvenTree/search.html:210 #: templates/js/barcode.js:362 templates/js/bom.js:163 -#: templates/js/build.js:681 templates/js/build.js:921 +#: templates/js/build.js:741 templates/js/build.js:981 #: templates/js/company.js:140 templates/js/company.js:238 #: templates/js/part.js:233 templates/js/part.js:338 templates/js/stock.js:523 #: templates/js/stock.js:1343 @@ -626,7 +641,7 @@ msgstr "" msgid "Target completion date" msgstr "" -#: build/models.py:227 order/models.py:218 +#: build/models.py:227 order/models.py:218 templates/js/build.js:788 msgid "Completion Date" msgstr "" @@ -642,7 +657,7 @@ msgstr "" msgid "User who issued this build order" msgstr "" -#: build/models.py:250 build/templates/build/build_base.html:145 +#: build/models.py:250 build/templates/build/build_base.html:174 #: build/templates/build/detail.html:105 order/models.py:119 #: order/templates/order/order_base.html:138 #: order/templates/order/sales_order_base.html:138 part/models.py:886 @@ -668,7 +683,7 @@ msgstr "" msgid "Link to external URL" msgstr "" -#: build/models.py:261 build/templates/build/navbar.html:59 +#: build/models.py:261 build/templates/build/navbar.html:53 #: company/models.py:135 company/models.py:501 #: company/templates/company/navbar.html:70 #: company/templates/company/navbar.html:73 order/models.py:123 @@ -691,87 +706,88 @@ msgstr "" msgid "Extra build notes" msgstr "" -#: build/models.py:673 +#: build/models.py:739 msgid "No build output specified" msgstr "" -#: build/models.py:676 +#: build/models.py:742 msgid "Build output is already completed" msgstr "" -#: build/models.py:679 +#: build/models.py:745 msgid "Build output does not match Build Order" msgstr "" -#: build/models.py:754 +#: build/models.py:838 msgid "Completed build output" msgstr "" -#: build/models.py:1002 +#: build/models.py:1118 msgid "BuildItem must be unique for build, stock_item and install_into" msgstr "" -#: build/models.py:1024 -msgid "Build item must specify a build output" +#: build/models.py:1143 +msgid "" +"Build item must specify a build output, as master part is marked as trackable" msgstr "" -#: build/models.py:1029 +#: build/models.py:1147 #, python-brace-format msgid "Selected stock item not found in BOM for part '{p}'" msgstr "" -#: build/models.py:1033 +#: build/models.py:1151 #, python-brace-format msgid "Allocated quantity ({n}) must not exceed available quantity ({q})" msgstr "" -#: build/models.py:1040 order/models.py:758 +#: build/models.py:1158 order/models.py:758 msgid "StockItem is over-allocated" msgstr "" -#: build/models.py:1044 order/models.py:761 +#: build/models.py:1162 order/models.py:761 msgid "Allocation quantity must be greater than zero" msgstr "" -#: build/models.py:1048 +#: build/models.py:1166 msgid "Quantity must be 1 for serialized stock" msgstr "" -#: build/models.py:1088 stock/templates/stock/item_base.html:306 -#: templates/InvenTree/search.html:183 templates/js/build.js:655 +#: build/models.py:1206 stock/templates/stock/item_base.html:306 +#: templates/InvenTree/search.html:183 templates/js/build.js:714 #: templates/navbar.html:29 msgid "Build" msgstr "" -#: build/models.py:1089 +#: build/models.py:1207 msgid "Build to allocate parts" msgstr "" -#: build/models.py:1096 part/templates/part/allocation.html:18 +#: build/models.py:1214 part/templates/part/allocation.html:18 #: part/templates/part/allocation.html:24 #: part/templates/part/allocation.html:31 #: part/templates/part/allocation.html:49 #: stock/templates/stock/item_base.html:8 #: stock/templates/stock/item_base.html:93 #: stock/templates/stock/item_base.html:328 -#: stock/templates/stock/stock_adjust.html:16 templates/js/build.js:771 +#: stock/templates/stock/stock_adjust.html:16 templates/js/build.js:831 #: templates/js/stock.js:1004 templates/js/stock.js:1262 msgid "Stock Item" msgstr "" -#: build/models.py:1097 +#: build/models.py:1215 msgid "Source stock item" msgstr "" -#: build/models.py:1110 +#: build/models.py:1228 msgid "Stock quantity to allocate to build" msgstr "" -#: build/models.py:1118 +#: build/models.py:1236 msgid "Install into" msgstr "" -#: build/models.py:1119 +#: build/models.py:1237 msgid "Destination stock item" msgstr "" @@ -780,54 +796,60 @@ msgid "Allocate Parts" msgstr "" #: build/templates/build/allocate.html:15 -msgid "Incomplete Build Ouputs" +msgid "Allocate Stock to Build" msgstr "" -#: build/templates/build/allocate.html:21 -msgid "Build order has been completed" +#: build/templates/build/allocate.html:22 +msgid "Allocate stock to build" msgstr "" -#: build/templates/build/allocate.html:26 -msgid "Create new build output" +#: build/templates/build/allocate.html:23 +msgid "Auto Allocate" msgstr "" -#: build/templates/build/allocate.html:27 -msgid "Create New Output" +#: build/templates/build/allocate.html:25 templates/js/build.js:646 +msgid "Unallocate stock" msgstr "" -#: build/templates/build/allocate.html:30 +#: build/templates/build/allocate.html:26 build/views.py:308 build/views.py:794 +msgid "Unallocate Stock" +msgstr "" + +#: build/templates/build/allocate.html:29 msgid "Order required parts" msgstr "" -#: build/templates/build/allocate.html:31 +#: build/templates/build/allocate.html:30 #: company/templates/company/detail_manufacturer_part.html:33 #: company/templates/company/detail_supplier_part.html:32 order/views.py:794 #: part/templates/part/category.html:127 msgid "Order Parts" msgstr "" -#: build/templates/build/allocate.html:34 templates/js/build.js:590 -msgid "Unallocate stock" +#: build/templates/build/allocate.html:36 +msgid "Untracked stock has been fully allocated for this Build Order" msgstr "" -#: build/templates/build/allocate.html:35 build/views.py:338 build/views.py:784 -msgid "Unallocate Stock" +#: build/templates/build/allocate.html:40 +msgid "Untracked stock has not been fully allocated for this Build Order" msgstr "" -#: build/templates/build/allocate.html:49 -msgid "Create a new build output" +#: build/templates/build/allocate.html:47 +msgid "This Build Order does not have any associated untracked BOM items" msgstr "" -#: build/templates/build/allocate.html:50 -msgid "No incomplete build outputs remain." -msgstr "" - -#: build/templates/build/allocate.html:51 -msgid "Create a new build output using the button above" +#: build/templates/build/allocation_card.html:21 +#: build/templates/build/complete_output.html:46 +#: order/templates/order/sales_order_detail.html:75 +#: order/templates/order/sales_order_detail.html:157 +#: report/templates/report/inventree_test_report_base.html:75 +#: stock/models.py:420 stock/templates/stock/item_base.html:238 +#: templates/js/build.js:474 +msgid "Serial Number" msgstr "" #: build/templates/build/attachments.html:12 -#: build/templates/build/navbar.html:49 build/templates/build/navbar.html:52 +#: build/templates/build/navbar.html:43 build/templates/build/navbar.html:46 #: order/templates/order/po_navbar.html:26 #: order/templates/order/so_navbar.html:29 part/templates/part/navbar.html:119 #: part/templates/part/navbar.html:122 stock/templates/stock/navbar.html:47 @@ -862,7 +884,23 @@ msgstr "" msgid "This Build Order is a child of Build Order %(link)s" msgstr "" -#: build/templates/build/build_base.html:40 +#: build/templates/build/build_base.html:31 +msgid "Build Order is ready to mark as completed" +msgstr "" + +#: build/templates/build/build_base.html:36 +msgid "Build Order cannot be completed as outstanding outputs remain" +msgstr "" + +#: build/templates/build/build_base.html:41 +msgid "Required build quantity has not yet been completed" +msgstr "" + +#: build/templates/build/build_base.html:46 +msgid "Stock has not been fully allocated to this Build Order" +msgstr "" + +#: build/templates/build/build_base.html:65 #: company/templates/company/company_base.html:40 #: company/templates/company/manufacturer_part_base.html:25 #: company/templates/company/supplier_part_base.html:26 @@ -874,8 +912,8 @@ msgstr "" msgid "Admin view" msgstr "" -#: build/templates/build/build_base.html:46 -#: build/templates/build/build_base.html:111 +#: build/templates/build/build_base.html:71 +#: build/templates/build/build_base.html:140 #: order/templates/order/order_base.html:32 #: order/templates/order/order_base.html:86 #: order/templates/order/sales_order_base.html:41 @@ -885,58 +923,48 @@ msgstr "" msgid "Overdue" msgstr "" -#: build/templates/build/build_base.html:55 +#: build/templates/build/build_base.html:80 msgid "Print actions" msgstr "" -#: build/templates/build/build_base.html:59 +#: build/templates/build/build_base.html:84 msgid "Print Build Order" msgstr "" -#: build/templates/build/build_base.html:65 -msgid "Build actions" -msgstr "" - -#: build/templates/build/build_base.html:69 -msgid "Edit Build" -msgstr "" - -#: build/templates/build/build_base.html:71 -#: build/templates/build/build_base.html:179 +#: build/templates/build/build_base.html:90 +#: build/templates/build/build_base.html:215 msgid "Complete Build" msgstr "" -#: build/templates/build/build_base.html:72 -#: build/templates/build/build_base.html:170 build/views.py:57 +#: build/templates/build/build_base.html:95 +msgid "Build actions" +msgstr "" + +#: build/templates/build/build_base.html:99 +msgid "Edit Build" +msgstr "" + +#: build/templates/build/build_base.html:101 +#: build/templates/build/build_base.html:199 build/views.py:57 msgid "Cancel Build" msgstr "" -#: build/templates/build/build_base.html:85 +#: build/templates/build/build_base.html:114 #: build/templates/build/detail.html:11 msgid "Build Details" msgstr "" -#: build/templates/build/build_base.html:99 -#: build/templates/build/detail.html:59 order/models.py:445 -#: order/templates/order/receive_parts.html:24 -#: stock/templates/stock/item_base.html:392 templates/InvenTree/search.html:252 -#: templates/js/barcode.js:119 templates/js/build.js:710 -#: templates/js/order.js:187 templates/js/order.js:285 -#: templates/js/stock.js:628 templates/js/stock.js:1279 -msgid "Status" -msgstr "" - -#: build/templates/build/build_base.html:111 +#: build/templates/build/build_base.html:140 #, python-format msgid "This build was due on %(target)s" msgstr "" -#: build/templates/build/build_base.html:118 +#: build/templates/build/build_base.html:147 #: build/templates/build/detail.html:64 msgid "Progress" msgstr "" -#: build/templates/build/build_base.html:131 +#: build/templates/build/build_base.html:160 #: build/templates/build/detail.html:84 order/models.py:667 #: order/templates/order/sales_order_base.html:9 #: order/templates/order/sales_order_base.html:33 @@ -948,20 +976,51 @@ msgstr "" msgid "Sales Order" msgstr "" -#: build/templates/build/build_base.html:138 +#: build/templates/build/build_base.html:167 #: build/templates/build/detail.html:98 #: report/templates/report/inventree_build_order_base.html:153 msgid "Issued By" msgstr "" +#: build/templates/build/build_base.html:207 +msgid "Incomplete Outputs" +msgstr "" + +#: build/templates/build/build_base.html:208 +msgid "Build Order cannot be completed as incomplete build outputs remain" +msgstr "" + #: build/templates/build/build_children.html:10 -#: build/templates/build/navbar.html:42 +#: build/templates/build/navbar.html:36 msgid "Child Build Orders" msgstr "" -#: build/templates/build/build_output.html:10 -#: build/templates/build/navbar.html:35 build/templates/build/navbar.html:38 -msgid "Build Outputs" +#: build/templates/build/build_output.html:15 +msgid "Incomplete Build Outputs" +msgstr "" + +#: build/templates/build/build_output.html:22 +msgid "Create new build output" +msgstr "" + +#: build/templates/build/build_output.html:23 +msgid "Create New Output" +msgstr "" + +#: build/templates/build/build_output.html:36 +msgid "Create a new build output" +msgstr "" + +#: build/templates/build/build_output.html:37 +msgid "No incomplete build outputs remain." +msgstr "" + +#: build/templates/build/build_output.html:38 +msgid "Create a new build output using the button above" +msgstr "" + +#: build/templates/build/build_output.html:49 +msgid "Completed Build Outputs" msgstr "" #: build/templates/build/build_output_create.html:7 @@ -989,11 +1048,11 @@ msgid "Are you sure you wish to cancel this build?" msgstr "" #: build/templates/build/complete.html:8 -msgid "Build can be completed" +msgid "Build Order is complete" msgstr "" #: build/templates/build/complete.html:12 -msgid "Build cannot be completed" +msgid "Build Order is incomplete" msgstr "" #: build/templates/build/complete.html:15 @@ -1004,19 +1063,23 @@ msgstr "" msgid "Required build quantity has not been completed" msgstr "" -#: build/templates/build/complete_output.html:9 -msgid "Stock allocation is complete" +#: build/templates/build/complete.html:21 +msgid "Required stock has not been fully allocated" msgstr "" -#: build/templates/build/complete_output.html:13 +#: build/templates/build/complete_output.html:10 +msgid "Stock allocation is complete for this output" +msgstr "" + +#: build/templates/build/complete_output.html:14 msgid "Stock allocation is incomplete" msgstr "" -#: build/templates/build/complete_output.html:19 -msgid "parts have not been fully allocated" +#: build/templates/build/complete_output.html:20 +msgid "tracked parts have not been fully allocated" msgstr "" -#: build/templates/build/complete_output.html:40 +#: build/templates/build/complete_output.html:41 msgid "The following items will be created" msgstr "" @@ -1069,7 +1132,7 @@ msgstr "" #: build/templates/build/detail.html:116 #: order/templates/order/order_base.html:111 -#: order/templates/order/sales_order_base.html:111 templates/js/build.js:718 +#: order/templates/order/sales_order_base.html:111 templates/js/build.js:778 msgid "Created" msgstr "" @@ -1077,8 +1140,7 @@ msgstr "" msgid "No target date set" msgstr "" -#: build/templates/build/detail.html:132 templates/js/build.js:696 -#: templates/js/build.js:728 +#: build/templates/build/detail.html:132 templates/js/build.js:756 msgid "Completed" msgstr "" @@ -1090,7 +1152,7 @@ msgstr "" msgid "Alter the quantity of stock allocated to the build output" msgstr "" -#: build/templates/build/index.html:28 build/views.py:657 +#: build/templates/build/index.html:28 build/views.py:667 msgid "New Build Order" msgstr "" @@ -1121,20 +1183,20 @@ msgstr "" msgid "Details" msgstr "" -#: build/templates/build/navbar.html:20 build/templates/build/navbar.html:23 -#: build/templates/build/parts.html:11 -msgid "Required Parts" +#: build/templates/build/navbar.html:21 build/templates/build/navbar.html:24 +#: build/views.py:91 +msgid "Allocate Stock" msgstr "" -#: build/templates/build/navbar.html:27 build/templates/build/navbar.html:30 -msgid "In Progress" +#: build/templates/build/navbar.html:29 build/templates/build/navbar.html:32 +msgid "Build Outputs" msgstr "" -#: build/templates/build/navbar.html:45 +#: build/templates/build/navbar.html:39 msgid "Child Builds" msgstr "" -#: build/templates/build/navbar.html:56 +#: build/templates/build/navbar.html:50 msgid "Build Order Notes" msgstr "" @@ -1169,66 +1231,66 @@ msgstr "" msgid "Build was cancelled" msgstr "" -#: build/views.py:91 -msgid "Allocate Stock" -msgstr "" - -#: build/views.py:154 build/views.py:314 build/views.py:485 -msgid "Build output must be specified" -msgstr "" - -#: build/views.py:168 +#: build/views.py:138 msgid "Allocated stock to build output" msgstr "" -#: build/views.py:180 +#: build/views.py:150 msgid "Create Build Output" msgstr "" -#: build/views.py:203 stock/models.py:969 stock/views.py:1789 +#: build/views.py:173 stock/models.py:969 stock/views.py:1789 msgid "Serial numbers already exist" msgstr "" -#: build/views.py:212 +#: build/views.py:182 msgid "Serial numbers required for trackable build output" msgstr "" -#: build/views.py:278 +#: build/views.py:248 msgid "Delete Build Output" msgstr "" -#: build/views.py:299 build/views.py:383 +#: build/views.py:269 build/views.py:359 msgid "Confirm unallocation of build stock" msgstr "" -#: build/views.py:300 build/views.py:384 stock/views.py:425 +#: build/views.py:270 build/views.py:360 stock/views.py:425 msgid "Check the confirmation box" msgstr "" -#: build/views.py:312 +#: build/views.py:282 msgid "Build output does not match build" msgstr "" -#: build/views.py:326 +#: build/views.py:284 build/views.py:485 +msgid "Build output must be specified" +msgstr "" + +#: build/views.py:296 msgid "Build output deleted" msgstr "" -#: build/views.py:408 +#: build/views.py:394 msgid "Complete Build Order" msgstr "" -#: build/views.py:414 -msgid "Build order cannot be completed" +#: build/views.py:400 +msgid "Build order cannot be completed - incomplete outputs remain" msgstr "" -#: build/views.py:425 +#: build/views.py:411 msgid "Completed build order" msgstr "" -#: build/views.py:441 +#: build/views.py:427 msgid "Complete Build Output" msgstr "" +#: build/views.py:469 +msgid "Invalid stock status value selected" +msgstr "" + #: build/views.py:476 msgid "Quantity to complete cannot exceed build output quantity" msgstr "" @@ -1237,81 +1299,81 @@ msgstr "" msgid "Confirm completion of incomplete build" msgstr "" -#: build/views.py:573 +#: build/views.py:581 msgid "Build output completed" msgstr "" -#: build/views.py:711 +#: build/views.py:721 msgid "Created new build" msgstr "" -#: build/views.py:732 +#: build/views.py:742 msgid "Edit Build Order Details" msgstr "" -#: build/views.py:765 +#: build/views.py:775 msgid "Edited build" msgstr "" -#: build/views.py:774 +#: build/views.py:784 msgid "Delete Build Order" msgstr "" -#: build/views.py:789 +#: build/views.py:799 msgid "Removed parts from build allocation" msgstr "" -#: build/views.py:801 +#: build/views.py:811 msgid "Allocate stock to build output" msgstr "" -#: build/views.py:844 +#: build/views.py:854 msgid "Item must be currently in stock" msgstr "" -#: build/views.py:850 +#: build/views.py:860 msgid "Stock item is over-allocated" msgstr "" -#: build/views.py:851 templates/js/bom.js:230 templates/js/build.js:519 -#: templates/js/build.js:778 templates/js/build.js:961 +#: build/views.py:861 templates/js/bom.js:230 templates/js/build.js:575 +#: templates/js/build.js:838 templates/js/build.js:1021 msgid "Available" msgstr "" -#: build/views.py:853 +#: build/views.py:863 msgid "Stock item must be selected" msgstr "" -#: build/views.py:1016 +#: build/views.py:1026 msgid "Edit Stock Allocation" msgstr "" -#: build/views.py:1020 +#: build/views.py:1030 msgid "Updated Build Item" msgstr "" -#: build/views.py:1049 +#: build/views.py:1059 msgid "Add Build Order Attachment" msgstr "" -#: build/views.py:1062 order/views.py:110 order/views.py:162 part/views.py:172 +#: build/views.py:1072 order/views.py:110 order/views.py:162 part/views.py:172 #: stock/views.py:277 msgid "Added attachment" msgstr "" -#: build/views.py:1098 order/views.py:189 order/views.py:210 +#: build/views.py:1108 order/views.py:189 order/views.py:210 msgid "Edit Attachment" msgstr "" -#: build/views.py:1108 order/views.py:193 order/views.py:214 +#: build/views.py:1118 order/views.py:193 order/views.py:214 msgid "Attachment updated" msgstr "" -#: build/views.py:1118 order/views.py:229 order/views.py:243 +#: build/views.py:1128 order/views.py:229 order/views.py:243 msgid "Delete Attachment" msgstr "" -#: build/views.py:1123 order/views.py:235 order/views.py:249 stock/views.py:333 +#: build/views.py:1133 order/views.py:235 order/views.py:249 stock/views.py:333 msgid "Deleted attachment" msgstr "" @@ -1919,7 +1981,7 @@ msgstr "" #: company/templates/company/assigned_stock.html:10 #: company/templates/company/navbar.html:62 -#: company/templates/company/navbar.html:65 templates/js/build.js:411 +#: company/templates/company/navbar.html:65 templates/js/build.js:467 msgid "Assigned Stock" msgstr "" @@ -2983,26 +3045,18 @@ msgstr "" msgid "Sales Order Items" msgstr "" -#: order/templates/order/sales_order_detail.html:75 -#: order/templates/order/sales_order_detail.html:157 -#: report/templates/report/inventree_test_report_base.html:75 -#: stock/models.py:420 stock/templates/stock/item_base.html:238 -#: templates/js/build.js:418 -msgid "Serial Number" -msgstr "" - #: order/templates/order/sales_order_detail.html:92 templates/js/bom.js:342 -#: templates/js/build.js:571 templates/js/build.js:984 +#: templates/js/build.js:627 templates/js/build.js:1044 msgid "Actions" msgstr "" -#: order/templates/order/sales_order_detail.html:99 templates/js/build.js:459 -#: templates/js/build.js:789 +#: order/templates/order/sales_order_detail.html:99 templates/js/build.js:515 +#: templates/js/build.js:849 msgid "Edit stock allocation" msgstr "" -#: order/templates/order/sales_order_detail.html:100 templates/js/build.js:461 -#: templates/js/build.js:790 +#: order/templates/order/sales_order_detail.html:100 templates/js/build.js:517 +#: templates/js/build.js:850 msgid "Delete stock allocation" msgstr "" @@ -3014,8 +3068,8 @@ msgstr "" msgid "ID" msgstr "" -#: order/templates/order/sales_order_detail.html:229 templates/js/build.js:523 -#: templates/js/build.js:785 +#: order/templates/order/sales_order_detail.html:229 templates/js/build.js:579 +#: templates/js/build.js:845 msgid "Allocated" msgstr "" @@ -3027,7 +3081,7 @@ msgstr "" msgid "Allocate serial numbers" msgstr "" -#: order/templates/order/sales_order_detail.html:282 templates/js/build.js:585 +#: order/templates/order/sales_order_detail.html:282 templates/js/build.js:641 msgid "Allocate stock" msgstr "" @@ -3035,8 +3089,8 @@ msgstr "" msgid "Purchase stock" msgstr "" -#: order/templates/order/sales_order_detail.html:289 templates/js/build.js:578 -#: templates/js/build.js:992 +#: order/templates/order/sales_order_detail.html:289 templates/js/build.js:634 +#: templates/js/build.js:1052 msgid "Build stock" msgstr "" @@ -5361,7 +5415,7 @@ msgstr "" msgid "Stock Item Details" msgstr "" -#: stock/templates/stock/item_base.html:278 templates/js/build.js:442 +#: stock/templates/stock/item_base.html:278 templates/js/build.js:498 msgid "No location set" msgstr "" @@ -5753,7 +5807,7 @@ msgstr "" msgid "Serialize Stock" msgstr "" -#: stock/views.py:1543 templates/js/build.js:210 +#: stock/views.py:1543 templates/js/build.js:244 msgid "Create new Stock Item" msgstr "" @@ -6197,7 +6251,7 @@ msgstr "" msgid "Barcode does not match a valid location" msgstr "" -#: templates/js/bom.js:175 templates/js/build.js:934 +#: templates/js/bom.js:175 templates/js/build.js:994 msgid "Open subassembly" msgstr "" @@ -6235,58 +6289,58 @@ msgstr "" msgid "Delete BOM Item" msgstr "" -#: templates/js/bom.js:447 templates/js/build.js:305 templates/js/build.js:1032 +#: templates/js/bom.js:447 templates/js/build.js:340 templates/js/build.js:1092 msgid "No BOM items found" msgstr "" -#: templates/js/build.js:56 +#: templates/js/build.js:62 msgid "Auto-allocate stock items to this output" msgstr "" -#: templates/js/build.js:62 -msgid "Complete build output" -msgstr "" - -#: templates/js/build.js:71 +#: templates/js/build.js:70 msgid "Unallocate stock from build output" msgstr "" -#: templates/js/build.js:77 +#: templates/js/build.js:80 +msgid "Complete build output" +msgstr "" + +#: templates/js/build.js:89 msgid "Delete build output" msgstr "" -#: templates/js/build.js:209 templates/stock_table.html:20 +#: templates/js/build.js:243 templates/stock_table.html:20 msgid "New Stock Item" msgstr "" -#: templates/js/build.js:493 +#: templates/js/build.js:549 msgid "Required Part" msgstr "" -#: templates/js/build.js:514 +#: templates/js/build.js:570 msgid "Quantity Per" msgstr "" -#: templates/js/build.js:582 templates/js/build.js:996 +#: templates/js/build.js:638 templates/js/build.js:1056 #: templates/stock_table.html:58 msgid "Order stock" msgstr "" -#: templates/js/build.js:632 +#: templates/js/build.js:691 msgid "No builds matching query" msgstr "" -#: templates/js/build.js:649 templates/js/part.js:324 templates/js/part.js:546 +#: templates/js/build.js:708 templates/js/part.js:324 templates/js/part.js:546 #: templates/js/stock.js:511 templates/js/stock.js:938 #: templates/js/stock.js:1331 msgid "Select" msgstr "" -#: templates/js/build.js:669 +#: templates/js/build.js:728 msgid "Build order is overdue" msgstr "" -#: templates/js/build.js:767 +#: templates/js/build.js:827 msgid "No parts allocated for" msgstr "" diff --git a/InvenTree/locale/es/LC_MESSAGES/django.po b/InvenTree/locale/es/LC_MESSAGES/django.po index 9e300a0372..a99521bf12 100644 --- a/InvenTree/locale/es/LC_MESSAGES/django.po +++ b/InvenTree/locale/es/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-04-21 12:28+1000\n" +"POT-Creation-Date: 2021-04-21 17:15+1000\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: FULL NAME \n" "Language-Team: LANGUAGE \n" @@ -34,8 +34,8 @@ msgstr "" msgid "Enter date" msgstr "" -#: InvenTree/forms.py:110 build/forms.py:99 build/forms.py:120 -#: build/forms.py:142 build/forms.py:166 build/forms.py:188 build/forms.py:223 +#: InvenTree/forms.py:110 build/forms.py:101 build/forms.py:122 +#: build/forms.py:144 build/forms.py:168 build/forms.py:184 build/forms.py:226 #: order/forms.py:27 order/forms.py:38 order/forms.py:49 order/forms.py:60 #: order/forms.py:71 part/forms.py:134 msgid "Confirm" @@ -154,7 +154,7 @@ msgstr "" #: templates/InvenTree/search.html:144 templates/InvenTree/search.html:224 #: templates/InvenTree/search.html:296 #: templates/InvenTree/settings/header.html:9 templates/js/bom.js:190 -#: templates/js/build.js:677 templates/js/build.js:944 +#: templates/js/build.js:736 templates/js/build.js:1004 #: templates/js/company.js:56 templates/js/order.js:183 #: templates/js/order.js:280 templates/js/part.js:169 templates/js/part.js:252 #: templates/js/part.js:371 templates/js/part.js:565 templates/js/part.js:643 @@ -203,60 +203,60 @@ msgstr "" msgid "InvenTree system health checks failed" msgstr "" -#: InvenTree/status_codes.py:94 InvenTree/status_codes.py:135 -#: InvenTree/status_codes.py:228 +#: InvenTree/status_codes.py:102 InvenTree/status_codes.py:143 +#: InvenTree/status_codes.py:236 msgid "Pending" msgstr "" -#: InvenTree/status_codes.py:95 +#: InvenTree/status_codes.py:103 msgid "Placed" msgstr "" -#: InvenTree/status_codes.py:96 InvenTree/status_codes.py:231 +#: InvenTree/status_codes.py:104 InvenTree/status_codes.py:239 msgid "Complete" msgstr "" -#: InvenTree/status_codes.py:97 InvenTree/status_codes.py:137 -#: InvenTree/status_codes.py:230 +#: InvenTree/status_codes.py:105 InvenTree/status_codes.py:145 +#: InvenTree/status_codes.py:238 msgid "Cancelled" msgstr "" -#: InvenTree/status_codes.py:98 InvenTree/status_codes.py:138 -#: InvenTree/status_codes.py:180 +#: InvenTree/status_codes.py:106 InvenTree/status_codes.py:146 +#: InvenTree/status_codes.py:188 msgid "Lost" msgstr "" -#: InvenTree/status_codes.py:99 InvenTree/status_codes.py:139 -#: InvenTree/status_codes.py:182 +#: InvenTree/status_codes.py:107 InvenTree/status_codes.py:147 +#: InvenTree/status_codes.py:190 msgid "Returned" msgstr "" -#: InvenTree/status_codes.py:136 +#: InvenTree/status_codes.py:144 #: order/templates/order/sales_order_base.html:124 msgid "Shipped" msgstr "" -#: InvenTree/status_codes.py:176 +#: InvenTree/status_codes.py:184 msgid "OK" msgstr "" -#: InvenTree/status_codes.py:177 +#: InvenTree/status_codes.py:185 msgid "Attention needed" msgstr "" -#: InvenTree/status_codes.py:178 +#: InvenTree/status_codes.py:186 msgid "Damaged" msgstr "" -#: InvenTree/status_codes.py:179 +#: InvenTree/status_codes.py:187 msgid "Destroyed" msgstr "" -#: InvenTree/status_codes.py:181 +#: InvenTree/status_codes.py:189 msgid "Rejected" msgstr "" -#: InvenTree/status_codes.py:229 +#: InvenTree/status_codes.py:237 msgid "Production" msgstr "" @@ -359,32 +359,33 @@ msgstr "" msgid "Barcode associated with StockItem" msgstr "" -#: build/forms.py:34 +#: build/forms.py:36 msgid "Build Order reference" msgstr "" -#: build/forms.py:35 +#: build/forms.py:37 msgid "Order target date" msgstr "" -#: build/forms.py:39 build/templates/build/build_base.html:107 +#: build/forms.py:41 build/templates/build/build_base.html:136 #: build/templates/build/detail.html:121 order/forms.py:109 order/forms.py:144 #: order/templates/order/order_base.html:124 #: order/templates/order/sales_order_base.html:117 #: report/templates/report/inventree_build_order_base.html:126 -#: templates/js/build.js:723 templates/js/order.js:200 +#: templates/js/build.js:783 templates/js/order.js:200 #: templates/js/order.js:298 msgid "Target Date" msgstr "" -#: build/forms.py:40 build/models.py:224 +#: build/forms.py:42 build/models.py:224 msgid "" "Target date for build completion. Build will be overdue after this date." msgstr "" -#: build/forms.py:45 build/forms.py:87 build/forms.py:257 build/models.py:1109 +#: build/forms.py:47 build/forms.py:89 build/forms.py:265 build/models.py:1227 +#: build/templates/build/allocation_card.html:23 #: build/templates/build/auto_allocate.html:17 -#: build/templates/build/build_base.html:94 +#: build/templates/build/build_base.html:123 #: build/templates/build/detail.html:31 common/models.py:703 #: company/forms.py:176 company/templates/company/supplier_part_pricing.html:77 #: order/forms.py:188 order/forms.py:205 order/forms.py:239 order/forms.py:261 @@ -408,87 +409,101 @@ msgstr "" #: stock/forms.py:175 stock/forms.py:308 stock/models.py:1566 #: stock/templates/stock/item_base.html:244 #: stock/templates/stock/stock_adjust.html:18 templates/js/barcode.js:364 -#: templates/js/bom.js:205 templates/js/build.js:420 templates/js/build.js:954 +#: templates/js/bom.js:205 templates/js/build.js:476 templates/js/build.js:1014 #: templates/js/stock.js:1033 templates/js/stock.js:1271 msgid "Quantity" msgstr "" -#: build/forms.py:46 +#: build/forms.py:48 msgid "Number of items to build" msgstr "" -#: build/forms.py:88 +#: build/forms.py:90 msgid "Enter quantity for build output" msgstr "" -#: build/forms.py:92 order/forms.py:233 stock/forms.py:118 +#: build/forms.py:94 order/forms.py:233 stock/forms.py:118 msgid "Serial Numbers" msgstr "" -#: build/forms.py:94 +#: build/forms.py:96 msgid "Enter serial numbers for build outputs" msgstr "" -#: build/forms.py:100 +#: build/forms.py:102 msgid "Confirm creation of build output" msgstr "" -#: build/forms.py:121 +#: build/forms.py:123 msgid "Confirm deletion of build output" msgstr "" -#: build/forms.py:142 +#: build/forms.py:144 msgid "Confirm unallocation of stock" msgstr "" -#: build/forms.py:166 +#: build/forms.py:168 msgid "Confirm stock allocation" msgstr "" -#: build/forms.py:189 +#: build/forms.py:185 msgid "Mark build as complete" msgstr "" -#: build/forms.py:213 build/templates/build/auto_allocate.html:18 +#: build/forms.py:209 build/templates/build/auto_allocate.html:18 #: order/forms.py:82 stock/forms.py:347 #: stock/templates/stock/item_base.html:274 #: 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:434 +#: templates/js/barcode.js:531 templates/js/build.js:490 #: templates/js/stock.js:641 msgid "Location" msgstr "" -#: build/forms.py:214 +#: build/forms.py:210 msgid "Location of completed parts" msgstr "" -#: build/forms.py:219 +#: build/forms.py:214 build/templates/build/build_base.html:128 +#: build/templates/build/detail.html:59 order/models.py:445 +#: order/templates/order/receive_parts.html:24 +#: stock/templates/stock/item_base.html:392 templates/InvenTree/search.html:252 +#: templates/js/barcode.js:119 templates/js/build.js:770 +#: templates/js/order.js:187 templates/js/order.js:285 +#: templates/js/stock.js:628 templates/js/stock.js:1279 +msgid "Status" +msgstr "" + +#: build/forms.py:215 +msgid "Build output stock status" +msgstr "" + +#: build/forms.py:222 msgid "Confirm incomplete" msgstr "" -#: build/forms.py:220 +#: build/forms.py:223 msgid "Confirm completion with incomplete stock allocation" msgstr "" -#: build/forms.py:223 +#: build/forms.py:226 msgid "Confirm build completion" msgstr "" -#: build/forms.py:243 +#: build/forms.py:251 msgid "Confirm cancel" msgstr "" -#: build/forms.py:243 build/views.py:66 +#: build/forms.py:251 build/views.py:66 msgid "Confirm build cancellation" msgstr "" -#: build/forms.py:257 +#: build/forms.py:265 msgid "Select quantity of stock to allocate" msgstr "" #: build/models.py:65 build/templates/build/build_base.html:9 -#: build/templates/build/build_base.html:38 +#: build/templates/build/build_base.html:63 #: part/templates/part/allocation.html:23 #: report/templates/report/inventree_build_order_base.html:106 msgid "Build Order" @@ -513,7 +528,7 @@ msgstr "" #: order/templates/order/sales_order_detail.html:219 part/models.py:2187 #: report/templates/report/inventree_po_report.html:92 #: report/templates/report/inventree_so_report.html:92 templates/js/bom.js:197 -#: templates/js/build.js:509 templates/js/build.js:948 +#: templates/js/build.js:565 templates/js/build.js:1008 msgid "Reference" msgstr "" @@ -521,7 +536,7 @@ msgstr "" msgid "Brief description of the build" msgstr "" -#: build/models.py:146 build/templates/build/build_base.html:124 +#: build/models.py:146 build/templates/build/build_base.html:153 #: build/templates/build/detail.html:77 msgid "Parent Build" msgstr "" @@ -531,7 +546,7 @@ msgid "BuildOrder to which this build is allocated" msgstr "" #: build/models.py:152 build/templates/build/auto_allocate.html:16 -#: build/templates/build/build_base.html:89 +#: build/templates/build/build_base.html:118 #: build/templates/build/detail.html:26 company/models.py:669 #: order/models.py:637 order/models.py:669 #: order/templates/order/order_wizard/select_parts.html:30 @@ -548,7 +563,7 @@ msgstr "" #: report/templates/report/inventree_so_report.html:90 #: templates/InvenTree/search.html:112 templates/InvenTree/search.html:210 #: templates/js/barcode.js:362 templates/js/bom.js:163 -#: templates/js/build.js:681 templates/js/build.js:921 +#: templates/js/build.js:741 templates/js/build.js:981 #: templates/js/company.js:140 templates/js/company.js:238 #: templates/js/part.js:233 templates/js/part.js:338 templates/js/stock.js:523 #: templates/js/stock.js:1343 @@ -626,7 +641,7 @@ msgstr "" msgid "Target completion date" msgstr "" -#: build/models.py:227 order/models.py:218 +#: build/models.py:227 order/models.py:218 templates/js/build.js:788 msgid "Completion Date" msgstr "" @@ -642,7 +657,7 @@ msgstr "" msgid "User who issued this build order" msgstr "" -#: build/models.py:250 build/templates/build/build_base.html:145 +#: build/models.py:250 build/templates/build/build_base.html:174 #: build/templates/build/detail.html:105 order/models.py:119 #: order/templates/order/order_base.html:138 #: order/templates/order/sales_order_base.html:138 part/models.py:886 @@ -668,7 +683,7 @@ msgstr "" msgid "Link to external URL" msgstr "" -#: build/models.py:261 build/templates/build/navbar.html:59 +#: build/models.py:261 build/templates/build/navbar.html:53 #: company/models.py:135 company/models.py:501 #: company/templates/company/navbar.html:70 #: company/templates/company/navbar.html:73 order/models.py:123 @@ -691,87 +706,88 @@ msgstr "" msgid "Extra build notes" msgstr "" -#: build/models.py:673 +#: build/models.py:739 msgid "No build output specified" msgstr "" -#: build/models.py:676 +#: build/models.py:742 msgid "Build output is already completed" msgstr "" -#: build/models.py:679 +#: build/models.py:745 msgid "Build output does not match Build Order" msgstr "" -#: build/models.py:754 +#: build/models.py:838 msgid "Completed build output" msgstr "" -#: build/models.py:1002 +#: build/models.py:1118 msgid "BuildItem must be unique for build, stock_item and install_into" msgstr "" -#: build/models.py:1024 -msgid "Build item must specify a build output" +#: build/models.py:1143 +msgid "" +"Build item must specify a build output, as master part is marked as trackable" msgstr "" -#: build/models.py:1029 +#: build/models.py:1147 #, python-brace-format msgid "Selected stock item not found in BOM for part '{p}'" msgstr "" -#: build/models.py:1033 +#: build/models.py:1151 #, python-brace-format msgid "Allocated quantity ({n}) must not exceed available quantity ({q})" msgstr "" -#: build/models.py:1040 order/models.py:758 +#: build/models.py:1158 order/models.py:758 msgid "StockItem is over-allocated" msgstr "" -#: build/models.py:1044 order/models.py:761 +#: build/models.py:1162 order/models.py:761 msgid "Allocation quantity must be greater than zero" msgstr "" -#: build/models.py:1048 +#: build/models.py:1166 msgid "Quantity must be 1 for serialized stock" msgstr "" -#: build/models.py:1088 stock/templates/stock/item_base.html:306 -#: templates/InvenTree/search.html:183 templates/js/build.js:655 +#: build/models.py:1206 stock/templates/stock/item_base.html:306 +#: templates/InvenTree/search.html:183 templates/js/build.js:714 #: templates/navbar.html:29 msgid "Build" msgstr "" -#: build/models.py:1089 +#: build/models.py:1207 msgid "Build to allocate parts" msgstr "" -#: build/models.py:1096 part/templates/part/allocation.html:18 +#: build/models.py:1214 part/templates/part/allocation.html:18 #: part/templates/part/allocation.html:24 #: part/templates/part/allocation.html:31 #: part/templates/part/allocation.html:49 #: stock/templates/stock/item_base.html:8 #: stock/templates/stock/item_base.html:93 #: stock/templates/stock/item_base.html:328 -#: stock/templates/stock/stock_adjust.html:16 templates/js/build.js:771 +#: stock/templates/stock/stock_adjust.html:16 templates/js/build.js:831 #: templates/js/stock.js:1004 templates/js/stock.js:1262 msgid "Stock Item" msgstr "" -#: build/models.py:1097 +#: build/models.py:1215 msgid "Source stock item" msgstr "" -#: build/models.py:1110 +#: build/models.py:1228 msgid "Stock quantity to allocate to build" msgstr "" -#: build/models.py:1118 +#: build/models.py:1236 msgid "Install into" msgstr "" -#: build/models.py:1119 +#: build/models.py:1237 msgid "Destination stock item" msgstr "" @@ -780,54 +796,60 @@ msgid "Allocate Parts" msgstr "" #: build/templates/build/allocate.html:15 -msgid "Incomplete Build Ouputs" +msgid "Allocate Stock to Build" msgstr "" -#: build/templates/build/allocate.html:21 -msgid "Build order has been completed" +#: build/templates/build/allocate.html:22 +msgid "Allocate stock to build" msgstr "" -#: build/templates/build/allocate.html:26 -msgid "Create new build output" +#: build/templates/build/allocate.html:23 +msgid "Auto Allocate" msgstr "" -#: build/templates/build/allocate.html:27 -msgid "Create New Output" +#: build/templates/build/allocate.html:25 templates/js/build.js:646 +msgid "Unallocate stock" msgstr "" -#: build/templates/build/allocate.html:30 +#: build/templates/build/allocate.html:26 build/views.py:308 build/views.py:794 +msgid "Unallocate Stock" +msgstr "" + +#: build/templates/build/allocate.html:29 msgid "Order required parts" msgstr "" -#: build/templates/build/allocate.html:31 +#: build/templates/build/allocate.html:30 #: company/templates/company/detail_manufacturer_part.html:33 #: company/templates/company/detail_supplier_part.html:32 order/views.py:794 #: part/templates/part/category.html:127 msgid "Order Parts" msgstr "" -#: build/templates/build/allocate.html:34 templates/js/build.js:590 -msgid "Unallocate stock" +#: build/templates/build/allocate.html:36 +msgid "Untracked stock has been fully allocated for this Build Order" msgstr "" -#: build/templates/build/allocate.html:35 build/views.py:338 build/views.py:784 -msgid "Unallocate Stock" +#: build/templates/build/allocate.html:40 +msgid "Untracked stock has not been fully allocated for this Build Order" msgstr "" -#: build/templates/build/allocate.html:49 -msgid "Create a new build output" +#: build/templates/build/allocate.html:47 +msgid "This Build Order does not have any associated untracked BOM items" msgstr "" -#: build/templates/build/allocate.html:50 -msgid "No incomplete build outputs remain." -msgstr "" - -#: build/templates/build/allocate.html:51 -msgid "Create a new build output using the button above" +#: build/templates/build/allocation_card.html:21 +#: build/templates/build/complete_output.html:46 +#: order/templates/order/sales_order_detail.html:75 +#: order/templates/order/sales_order_detail.html:157 +#: report/templates/report/inventree_test_report_base.html:75 +#: stock/models.py:420 stock/templates/stock/item_base.html:238 +#: templates/js/build.js:474 +msgid "Serial Number" msgstr "" #: build/templates/build/attachments.html:12 -#: build/templates/build/navbar.html:49 build/templates/build/navbar.html:52 +#: build/templates/build/navbar.html:43 build/templates/build/navbar.html:46 #: order/templates/order/po_navbar.html:26 #: order/templates/order/so_navbar.html:29 part/templates/part/navbar.html:119 #: part/templates/part/navbar.html:122 stock/templates/stock/navbar.html:47 @@ -862,7 +884,23 @@ msgstr "" msgid "This Build Order is a child of Build Order %(link)s" msgstr "" -#: build/templates/build/build_base.html:40 +#: build/templates/build/build_base.html:31 +msgid "Build Order is ready to mark as completed" +msgstr "" + +#: build/templates/build/build_base.html:36 +msgid "Build Order cannot be completed as outstanding outputs remain" +msgstr "" + +#: build/templates/build/build_base.html:41 +msgid "Required build quantity has not yet been completed" +msgstr "" + +#: build/templates/build/build_base.html:46 +msgid "Stock has not been fully allocated to this Build Order" +msgstr "" + +#: build/templates/build/build_base.html:65 #: company/templates/company/company_base.html:40 #: company/templates/company/manufacturer_part_base.html:25 #: company/templates/company/supplier_part_base.html:26 @@ -874,8 +912,8 @@ msgstr "" msgid "Admin view" msgstr "" -#: build/templates/build/build_base.html:46 -#: build/templates/build/build_base.html:111 +#: build/templates/build/build_base.html:71 +#: build/templates/build/build_base.html:140 #: order/templates/order/order_base.html:32 #: order/templates/order/order_base.html:86 #: order/templates/order/sales_order_base.html:41 @@ -885,58 +923,48 @@ msgstr "" msgid "Overdue" msgstr "" -#: build/templates/build/build_base.html:55 +#: build/templates/build/build_base.html:80 msgid "Print actions" msgstr "" -#: build/templates/build/build_base.html:59 +#: build/templates/build/build_base.html:84 msgid "Print Build Order" msgstr "" -#: build/templates/build/build_base.html:65 -msgid "Build actions" -msgstr "" - -#: build/templates/build/build_base.html:69 -msgid "Edit Build" -msgstr "" - -#: build/templates/build/build_base.html:71 -#: build/templates/build/build_base.html:179 +#: build/templates/build/build_base.html:90 +#: build/templates/build/build_base.html:215 msgid "Complete Build" msgstr "" -#: build/templates/build/build_base.html:72 -#: build/templates/build/build_base.html:170 build/views.py:57 +#: build/templates/build/build_base.html:95 +msgid "Build actions" +msgstr "" + +#: build/templates/build/build_base.html:99 +msgid "Edit Build" +msgstr "" + +#: build/templates/build/build_base.html:101 +#: build/templates/build/build_base.html:199 build/views.py:57 msgid "Cancel Build" msgstr "" -#: build/templates/build/build_base.html:85 +#: build/templates/build/build_base.html:114 #: build/templates/build/detail.html:11 msgid "Build Details" msgstr "" -#: build/templates/build/build_base.html:99 -#: build/templates/build/detail.html:59 order/models.py:445 -#: order/templates/order/receive_parts.html:24 -#: stock/templates/stock/item_base.html:392 templates/InvenTree/search.html:252 -#: templates/js/barcode.js:119 templates/js/build.js:710 -#: templates/js/order.js:187 templates/js/order.js:285 -#: templates/js/stock.js:628 templates/js/stock.js:1279 -msgid "Status" -msgstr "" - -#: build/templates/build/build_base.html:111 +#: build/templates/build/build_base.html:140 #, python-format msgid "This build was due on %(target)s" msgstr "" -#: build/templates/build/build_base.html:118 +#: build/templates/build/build_base.html:147 #: build/templates/build/detail.html:64 msgid "Progress" msgstr "" -#: build/templates/build/build_base.html:131 +#: build/templates/build/build_base.html:160 #: build/templates/build/detail.html:84 order/models.py:667 #: order/templates/order/sales_order_base.html:9 #: order/templates/order/sales_order_base.html:33 @@ -948,20 +976,51 @@ msgstr "" msgid "Sales Order" msgstr "" -#: build/templates/build/build_base.html:138 +#: build/templates/build/build_base.html:167 #: build/templates/build/detail.html:98 #: report/templates/report/inventree_build_order_base.html:153 msgid "Issued By" msgstr "" +#: build/templates/build/build_base.html:207 +msgid "Incomplete Outputs" +msgstr "" + +#: build/templates/build/build_base.html:208 +msgid "Build Order cannot be completed as incomplete build outputs remain" +msgstr "" + #: build/templates/build/build_children.html:10 -#: build/templates/build/navbar.html:42 +#: build/templates/build/navbar.html:36 msgid "Child Build Orders" msgstr "" -#: build/templates/build/build_output.html:10 -#: build/templates/build/navbar.html:35 build/templates/build/navbar.html:38 -msgid "Build Outputs" +#: build/templates/build/build_output.html:15 +msgid "Incomplete Build Outputs" +msgstr "" + +#: build/templates/build/build_output.html:22 +msgid "Create new build output" +msgstr "" + +#: build/templates/build/build_output.html:23 +msgid "Create New Output" +msgstr "" + +#: build/templates/build/build_output.html:36 +msgid "Create a new build output" +msgstr "" + +#: build/templates/build/build_output.html:37 +msgid "No incomplete build outputs remain." +msgstr "" + +#: build/templates/build/build_output.html:38 +msgid "Create a new build output using the button above" +msgstr "" + +#: build/templates/build/build_output.html:49 +msgid "Completed Build Outputs" msgstr "" #: build/templates/build/build_output_create.html:7 @@ -989,11 +1048,11 @@ msgid "Are you sure you wish to cancel this build?" msgstr "" #: build/templates/build/complete.html:8 -msgid "Build can be completed" +msgid "Build Order is complete" msgstr "" #: build/templates/build/complete.html:12 -msgid "Build cannot be completed" +msgid "Build Order is incomplete" msgstr "" #: build/templates/build/complete.html:15 @@ -1004,19 +1063,23 @@ msgstr "" msgid "Required build quantity has not been completed" msgstr "" -#: build/templates/build/complete_output.html:9 -msgid "Stock allocation is complete" +#: build/templates/build/complete.html:21 +msgid "Required stock has not been fully allocated" msgstr "" -#: build/templates/build/complete_output.html:13 +#: build/templates/build/complete_output.html:10 +msgid "Stock allocation is complete for this output" +msgstr "" + +#: build/templates/build/complete_output.html:14 msgid "Stock allocation is incomplete" msgstr "" -#: build/templates/build/complete_output.html:19 -msgid "parts have not been fully allocated" +#: build/templates/build/complete_output.html:20 +msgid "tracked parts have not been fully allocated" msgstr "" -#: build/templates/build/complete_output.html:40 +#: build/templates/build/complete_output.html:41 msgid "The following items will be created" msgstr "" @@ -1069,7 +1132,7 @@ msgstr "" #: build/templates/build/detail.html:116 #: order/templates/order/order_base.html:111 -#: order/templates/order/sales_order_base.html:111 templates/js/build.js:718 +#: order/templates/order/sales_order_base.html:111 templates/js/build.js:778 msgid "Created" msgstr "" @@ -1077,8 +1140,7 @@ msgstr "" msgid "No target date set" msgstr "" -#: build/templates/build/detail.html:132 templates/js/build.js:696 -#: templates/js/build.js:728 +#: build/templates/build/detail.html:132 templates/js/build.js:756 msgid "Completed" msgstr "" @@ -1090,7 +1152,7 @@ msgstr "" msgid "Alter the quantity of stock allocated to the build output" msgstr "" -#: build/templates/build/index.html:28 build/views.py:657 +#: build/templates/build/index.html:28 build/views.py:667 msgid "New Build Order" msgstr "" @@ -1121,20 +1183,20 @@ msgstr "" msgid "Details" msgstr "" -#: build/templates/build/navbar.html:20 build/templates/build/navbar.html:23 -#: build/templates/build/parts.html:11 -msgid "Required Parts" +#: build/templates/build/navbar.html:21 build/templates/build/navbar.html:24 +#: build/views.py:91 +msgid "Allocate Stock" msgstr "" -#: build/templates/build/navbar.html:27 build/templates/build/navbar.html:30 -msgid "In Progress" +#: build/templates/build/navbar.html:29 build/templates/build/navbar.html:32 +msgid "Build Outputs" msgstr "" -#: build/templates/build/navbar.html:45 +#: build/templates/build/navbar.html:39 msgid "Child Builds" msgstr "" -#: build/templates/build/navbar.html:56 +#: build/templates/build/navbar.html:50 msgid "Build Order Notes" msgstr "" @@ -1169,66 +1231,66 @@ msgstr "" msgid "Build was cancelled" msgstr "" -#: build/views.py:91 -msgid "Allocate Stock" -msgstr "" - -#: build/views.py:154 build/views.py:314 build/views.py:485 -msgid "Build output must be specified" -msgstr "" - -#: build/views.py:168 +#: build/views.py:138 msgid "Allocated stock to build output" msgstr "" -#: build/views.py:180 +#: build/views.py:150 msgid "Create Build Output" msgstr "" -#: build/views.py:203 stock/models.py:969 stock/views.py:1789 +#: build/views.py:173 stock/models.py:969 stock/views.py:1789 msgid "Serial numbers already exist" msgstr "" -#: build/views.py:212 +#: build/views.py:182 msgid "Serial numbers required for trackable build output" msgstr "" -#: build/views.py:278 +#: build/views.py:248 msgid "Delete Build Output" msgstr "" -#: build/views.py:299 build/views.py:383 +#: build/views.py:269 build/views.py:359 msgid "Confirm unallocation of build stock" msgstr "" -#: build/views.py:300 build/views.py:384 stock/views.py:425 +#: build/views.py:270 build/views.py:360 stock/views.py:425 msgid "Check the confirmation box" msgstr "" -#: build/views.py:312 +#: build/views.py:282 msgid "Build output does not match build" msgstr "" -#: build/views.py:326 +#: build/views.py:284 build/views.py:485 +msgid "Build output must be specified" +msgstr "" + +#: build/views.py:296 msgid "Build output deleted" msgstr "" -#: build/views.py:408 +#: build/views.py:394 msgid "Complete Build Order" msgstr "" -#: build/views.py:414 -msgid "Build order cannot be completed" +#: build/views.py:400 +msgid "Build order cannot be completed - incomplete outputs remain" msgstr "" -#: build/views.py:425 +#: build/views.py:411 msgid "Completed build order" msgstr "" -#: build/views.py:441 +#: build/views.py:427 msgid "Complete Build Output" msgstr "" +#: build/views.py:469 +msgid "Invalid stock status value selected" +msgstr "" + #: build/views.py:476 msgid "Quantity to complete cannot exceed build output quantity" msgstr "" @@ -1237,81 +1299,81 @@ msgstr "" msgid "Confirm completion of incomplete build" msgstr "" -#: build/views.py:573 +#: build/views.py:581 msgid "Build output completed" msgstr "" -#: build/views.py:711 +#: build/views.py:721 msgid "Created new build" msgstr "" -#: build/views.py:732 +#: build/views.py:742 msgid "Edit Build Order Details" msgstr "" -#: build/views.py:765 +#: build/views.py:775 msgid "Edited build" msgstr "" -#: build/views.py:774 +#: build/views.py:784 msgid "Delete Build Order" msgstr "" -#: build/views.py:789 +#: build/views.py:799 msgid "Removed parts from build allocation" msgstr "" -#: build/views.py:801 +#: build/views.py:811 msgid "Allocate stock to build output" msgstr "" -#: build/views.py:844 +#: build/views.py:854 msgid "Item must be currently in stock" msgstr "" -#: build/views.py:850 +#: build/views.py:860 msgid "Stock item is over-allocated" msgstr "" -#: build/views.py:851 templates/js/bom.js:230 templates/js/build.js:519 -#: templates/js/build.js:778 templates/js/build.js:961 +#: build/views.py:861 templates/js/bom.js:230 templates/js/build.js:575 +#: templates/js/build.js:838 templates/js/build.js:1021 msgid "Available" msgstr "" -#: build/views.py:853 +#: build/views.py:863 msgid "Stock item must be selected" msgstr "" -#: build/views.py:1016 +#: build/views.py:1026 msgid "Edit Stock Allocation" msgstr "" -#: build/views.py:1020 +#: build/views.py:1030 msgid "Updated Build Item" msgstr "" -#: build/views.py:1049 +#: build/views.py:1059 msgid "Add Build Order Attachment" msgstr "" -#: build/views.py:1062 order/views.py:110 order/views.py:162 part/views.py:172 +#: build/views.py:1072 order/views.py:110 order/views.py:162 part/views.py:172 #: stock/views.py:277 msgid "Added attachment" msgstr "" -#: build/views.py:1098 order/views.py:189 order/views.py:210 +#: build/views.py:1108 order/views.py:189 order/views.py:210 msgid "Edit Attachment" msgstr "" -#: build/views.py:1108 order/views.py:193 order/views.py:214 +#: build/views.py:1118 order/views.py:193 order/views.py:214 msgid "Attachment updated" msgstr "" -#: build/views.py:1118 order/views.py:229 order/views.py:243 +#: build/views.py:1128 order/views.py:229 order/views.py:243 msgid "Delete Attachment" msgstr "" -#: build/views.py:1123 order/views.py:235 order/views.py:249 stock/views.py:333 +#: build/views.py:1133 order/views.py:235 order/views.py:249 stock/views.py:333 msgid "Deleted attachment" msgstr "" @@ -1919,7 +1981,7 @@ msgstr "" #: company/templates/company/assigned_stock.html:10 #: company/templates/company/navbar.html:62 -#: company/templates/company/navbar.html:65 templates/js/build.js:411 +#: company/templates/company/navbar.html:65 templates/js/build.js:467 msgid "Assigned Stock" msgstr "" @@ -2983,26 +3045,18 @@ msgstr "" msgid "Sales Order Items" msgstr "" -#: order/templates/order/sales_order_detail.html:75 -#: order/templates/order/sales_order_detail.html:157 -#: report/templates/report/inventree_test_report_base.html:75 -#: stock/models.py:420 stock/templates/stock/item_base.html:238 -#: templates/js/build.js:418 -msgid "Serial Number" -msgstr "" - #: order/templates/order/sales_order_detail.html:92 templates/js/bom.js:342 -#: templates/js/build.js:571 templates/js/build.js:984 +#: templates/js/build.js:627 templates/js/build.js:1044 msgid "Actions" msgstr "" -#: order/templates/order/sales_order_detail.html:99 templates/js/build.js:459 -#: templates/js/build.js:789 +#: order/templates/order/sales_order_detail.html:99 templates/js/build.js:515 +#: templates/js/build.js:849 msgid "Edit stock allocation" msgstr "" -#: order/templates/order/sales_order_detail.html:100 templates/js/build.js:461 -#: templates/js/build.js:790 +#: order/templates/order/sales_order_detail.html:100 templates/js/build.js:517 +#: templates/js/build.js:850 msgid "Delete stock allocation" msgstr "" @@ -3014,8 +3068,8 @@ msgstr "" msgid "ID" msgstr "" -#: order/templates/order/sales_order_detail.html:229 templates/js/build.js:523 -#: templates/js/build.js:785 +#: order/templates/order/sales_order_detail.html:229 templates/js/build.js:579 +#: templates/js/build.js:845 msgid "Allocated" msgstr "" @@ -3027,7 +3081,7 @@ msgstr "" msgid "Allocate serial numbers" msgstr "" -#: order/templates/order/sales_order_detail.html:282 templates/js/build.js:585 +#: order/templates/order/sales_order_detail.html:282 templates/js/build.js:641 msgid "Allocate stock" msgstr "" @@ -3035,8 +3089,8 @@ msgstr "" msgid "Purchase stock" msgstr "" -#: order/templates/order/sales_order_detail.html:289 templates/js/build.js:578 -#: templates/js/build.js:992 +#: order/templates/order/sales_order_detail.html:289 templates/js/build.js:634 +#: templates/js/build.js:1052 msgid "Build stock" msgstr "" @@ -5361,7 +5415,7 @@ msgstr "" msgid "Stock Item Details" msgstr "" -#: stock/templates/stock/item_base.html:278 templates/js/build.js:442 +#: stock/templates/stock/item_base.html:278 templates/js/build.js:498 msgid "No location set" msgstr "" @@ -5753,7 +5807,7 @@ msgstr "" msgid "Serialize Stock" msgstr "" -#: stock/views.py:1543 templates/js/build.js:210 +#: stock/views.py:1543 templates/js/build.js:244 msgid "Create new Stock Item" msgstr "" @@ -6197,7 +6251,7 @@ msgstr "" msgid "Barcode does not match a valid location" msgstr "" -#: templates/js/bom.js:175 templates/js/build.js:934 +#: templates/js/bom.js:175 templates/js/build.js:994 msgid "Open subassembly" msgstr "" @@ -6235,58 +6289,58 @@ msgstr "" msgid "Delete BOM Item" msgstr "" -#: templates/js/bom.js:447 templates/js/build.js:305 templates/js/build.js:1032 +#: templates/js/bom.js:447 templates/js/build.js:340 templates/js/build.js:1092 msgid "No BOM items found" msgstr "" -#: templates/js/build.js:56 +#: templates/js/build.js:62 msgid "Auto-allocate stock items to this output" msgstr "" -#: templates/js/build.js:62 -msgid "Complete build output" -msgstr "" - -#: templates/js/build.js:71 +#: templates/js/build.js:70 msgid "Unallocate stock from build output" msgstr "" -#: templates/js/build.js:77 +#: templates/js/build.js:80 +msgid "Complete build output" +msgstr "" + +#: templates/js/build.js:89 msgid "Delete build output" msgstr "" -#: templates/js/build.js:209 templates/stock_table.html:20 +#: templates/js/build.js:243 templates/stock_table.html:20 msgid "New Stock Item" msgstr "" -#: templates/js/build.js:493 +#: templates/js/build.js:549 msgid "Required Part" msgstr "" -#: templates/js/build.js:514 +#: templates/js/build.js:570 msgid "Quantity Per" msgstr "" -#: templates/js/build.js:582 templates/js/build.js:996 +#: templates/js/build.js:638 templates/js/build.js:1056 #: templates/stock_table.html:58 msgid "Order stock" msgstr "" -#: templates/js/build.js:632 +#: templates/js/build.js:691 msgid "No builds matching query" msgstr "" -#: templates/js/build.js:649 templates/js/part.js:324 templates/js/part.js:546 +#: templates/js/build.js:708 templates/js/part.js:324 templates/js/part.js:546 #: templates/js/stock.js:511 templates/js/stock.js:938 #: templates/js/stock.js:1331 msgid "Select" msgstr "" -#: templates/js/build.js:669 +#: templates/js/build.js:728 msgid "Build order is overdue" msgstr "" -#: templates/js/build.js:767 +#: templates/js/build.js:827 msgid "No parts allocated for" msgstr "" diff --git a/InvenTree/locale/fr/LC_MESSAGES/django.mo b/InvenTree/locale/fr/LC_MESSAGES/django.mo new file mode 100644 index 0000000000000000000000000000000000000000..2c90dd0c81aca562856271a6885816b565885734 GIT binary patch literal 379 zcmYL@y-ve06h@0+%E-)c2L=$hP^RMksHSmCgq=ibS_wAOnqZXLk?kUQ5MGaG!2yYW z(vk0#Kg;L)_~@$>au7HPoCXd9mw`6@01213;cPqq$*p;lYmbr*T1o4a(HL?veIRoR zD_Sg)ER71;80!&tmD-@YUFA?|FhqHV3i+e|LVdy_A hALaGViW<#~-8u}q`CZ-UW&nTV=uE>Hdgp_v^8-$QX_^24 literal 0 HcmV?d00001 diff --git a/InvenTree/locale/fr/LC_MESSAGES/django.po b/InvenTree/locale/fr/LC_MESSAGES/django.po index 65eebf0e77..89923de02b 100644 --- a/InvenTree/locale/fr/LC_MESSAGES/django.po +++ b/InvenTree/locale/fr/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-04-21 12:28+1000\n" +"POT-Creation-Date: 2021-04-21 17:15+1000\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: FULL NAME \n" "Language-Team: LANGUAGE \n" @@ -34,8 +34,8 @@ msgstr "" msgid "Enter date" msgstr "" -#: InvenTree/forms.py:110 build/forms.py:99 build/forms.py:120 -#: build/forms.py:142 build/forms.py:166 build/forms.py:188 build/forms.py:223 +#: InvenTree/forms.py:110 build/forms.py:101 build/forms.py:122 +#: build/forms.py:144 build/forms.py:168 build/forms.py:184 build/forms.py:226 #: order/forms.py:27 order/forms.py:38 order/forms.py:49 order/forms.py:60 #: order/forms.py:71 part/forms.py:134 msgid "Confirm" @@ -154,7 +154,7 @@ msgstr "" #: templates/InvenTree/search.html:144 templates/InvenTree/search.html:224 #: templates/InvenTree/search.html:296 #: templates/InvenTree/settings/header.html:9 templates/js/bom.js:190 -#: templates/js/build.js:677 templates/js/build.js:944 +#: templates/js/build.js:736 templates/js/build.js:1004 #: templates/js/company.js:56 templates/js/order.js:183 #: templates/js/order.js:280 templates/js/part.js:169 templates/js/part.js:252 #: templates/js/part.js:371 templates/js/part.js:565 templates/js/part.js:643 @@ -203,60 +203,60 @@ msgstr "" msgid "InvenTree system health checks failed" msgstr "" -#: InvenTree/status_codes.py:94 InvenTree/status_codes.py:135 -#: InvenTree/status_codes.py:228 +#: InvenTree/status_codes.py:102 InvenTree/status_codes.py:143 +#: InvenTree/status_codes.py:236 msgid "Pending" msgstr "" -#: InvenTree/status_codes.py:95 +#: InvenTree/status_codes.py:103 msgid "Placed" msgstr "" -#: InvenTree/status_codes.py:96 InvenTree/status_codes.py:231 +#: InvenTree/status_codes.py:104 InvenTree/status_codes.py:239 msgid "Complete" msgstr "" -#: InvenTree/status_codes.py:97 InvenTree/status_codes.py:137 -#: InvenTree/status_codes.py:230 +#: InvenTree/status_codes.py:105 InvenTree/status_codes.py:145 +#: InvenTree/status_codes.py:238 msgid "Cancelled" msgstr "" -#: InvenTree/status_codes.py:98 InvenTree/status_codes.py:138 -#: InvenTree/status_codes.py:180 +#: InvenTree/status_codes.py:106 InvenTree/status_codes.py:146 +#: InvenTree/status_codes.py:188 msgid "Lost" msgstr "" -#: InvenTree/status_codes.py:99 InvenTree/status_codes.py:139 -#: InvenTree/status_codes.py:182 +#: InvenTree/status_codes.py:107 InvenTree/status_codes.py:147 +#: InvenTree/status_codes.py:190 msgid "Returned" msgstr "" -#: InvenTree/status_codes.py:136 +#: InvenTree/status_codes.py:144 #: order/templates/order/sales_order_base.html:124 msgid "Shipped" msgstr "" -#: InvenTree/status_codes.py:176 +#: InvenTree/status_codes.py:184 msgid "OK" msgstr "" -#: InvenTree/status_codes.py:177 +#: InvenTree/status_codes.py:185 msgid "Attention needed" msgstr "" -#: InvenTree/status_codes.py:178 +#: InvenTree/status_codes.py:186 msgid "Damaged" msgstr "" -#: InvenTree/status_codes.py:179 +#: InvenTree/status_codes.py:187 msgid "Destroyed" msgstr "" -#: InvenTree/status_codes.py:181 +#: InvenTree/status_codes.py:189 msgid "Rejected" msgstr "" -#: InvenTree/status_codes.py:229 +#: InvenTree/status_codes.py:237 msgid "Production" msgstr "" @@ -359,32 +359,33 @@ msgstr "" msgid "Barcode associated with StockItem" msgstr "" -#: build/forms.py:34 +#: build/forms.py:36 msgid "Build Order reference" msgstr "" -#: build/forms.py:35 +#: build/forms.py:37 msgid "Order target date" msgstr "" -#: build/forms.py:39 build/templates/build/build_base.html:107 +#: build/forms.py:41 build/templates/build/build_base.html:136 #: build/templates/build/detail.html:121 order/forms.py:109 order/forms.py:144 #: order/templates/order/order_base.html:124 #: order/templates/order/sales_order_base.html:117 #: report/templates/report/inventree_build_order_base.html:126 -#: templates/js/build.js:723 templates/js/order.js:200 +#: templates/js/build.js:783 templates/js/order.js:200 #: templates/js/order.js:298 msgid "Target Date" msgstr "" -#: build/forms.py:40 build/models.py:224 +#: build/forms.py:42 build/models.py:224 msgid "" "Target date for build completion. Build will be overdue after this date." msgstr "" -#: build/forms.py:45 build/forms.py:87 build/forms.py:257 build/models.py:1109 +#: build/forms.py:47 build/forms.py:89 build/forms.py:265 build/models.py:1227 +#: build/templates/build/allocation_card.html:23 #: build/templates/build/auto_allocate.html:17 -#: build/templates/build/build_base.html:94 +#: build/templates/build/build_base.html:123 #: build/templates/build/detail.html:31 common/models.py:703 #: company/forms.py:176 company/templates/company/supplier_part_pricing.html:77 #: order/forms.py:188 order/forms.py:205 order/forms.py:239 order/forms.py:261 @@ -408,87 +409,101 @@ msgstr "" #: stock/forms.py:175 stock/forms.py:308 stock/models.py:1566 #: stock/templates/stock/item_base.html:244 #: stock/templates/stock/stock_adjust.html:18 templates/js/barcode.js:364 -#: templates/js/bom.js:205 templates/js/build.js:420 templates/js/build.js:954 +#: templates/js/bom.js:205 templates/js/build.js:476 templates/js/build.js:1014 #: templates/js/stock.js:1033 templates/js/stock.js:1271 msgid "Quantity" msgstr "" -#: build/forms.py:46 +#: build/forms.py:48 msgid "Number of items to build" msgstr "" -#: build/forms.py:88 +#: build/forms.py:90 msgid "Enter quantity for build output" msgstr "" -#: build/forms.py:92 order/forms.py:233 stock/forms.py:118 +#: build/forms.py:94 order/forms.py:233 stock/forms.py:118 msgid "Serial Numbers" msgstr "" -#: build/forms.py:94 +#: build/forms.py:96 msgid "Enter serial numbers for build outputs" msgstr "" -#: build/forms.py:100 +#: build/forms.py:102 msgid "Confirm creation of build output" msgstr "" -#: build/forms.py:121 +#: build/forms.py:123 msgid "Confirm deletion of build output" msgstr "" -#: build/forms.py:142 +#: build/forms.py:144 msgid "Confirm unallocation of stock" msgstr "" -#: build/forms.py:166 +#: build/forms.py:168 msgid "Confirm stock allocation" msgstr "" -#: build/forms.py:189 +#: build/forms.py:185 msgid "Mark build as complete" msgstr "" -#: build/forms.py:213 build/templates/build/auto_allocate.html:18 +#: build/forms.py:209 build/templates/build/auto_allocate.html:18 #: order/forms.py:82 stock/forms.py:347 #: stock/templates/stock/item_base.html:274 #: 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:434 +#: templates/js/barcode.js:531 templates/js/build.js:490 #: templates/js/stock.js:641 msgid "Location" msgstr "" -#: build/forms.py:214 +#: build/forms.py:210 msgid "Location of completed parts" msgstr "" -#: build/forms.py:219 +#: build/forms.py:214 build/templates/build/build_base.html:128 +#: build/templates/build/detail.html:59 order/models.py:445 +#: order/templates/order/receive_parts.html:24 +#: stock/templates/stock/item_base.html:392 templates/InvenTree/search.html:252 +#: templates/js/barcode.js:119 templates/js/build.js:770 +#: templates/js/order.js:187 templates/js/order.js:285 +#: templates/js/stock.js:628 templates/js/stock.js:1279 +msgid "Status" +msgstr "" + +#: build/forms.py:215 +msgid "Build output stock status" +msgstr "" + +#: build/forms.py:222 msgid "Confirm incomplete" msgstr "" -#: build/forms.py:220 +#: build/forms.py:223 msgid "Confirm completion with incomplete stock allocation" msgstr "" -#: build/forms.py:223 +#: build/forms.py:226 msgid "Confirm build completion" msgstr "" -#: build/forms.py:243 +#: build/forms.py:251 msgid "Confirm cancel" msgstr "" -#: build/forms.py:243 build/views.py:66 +#: build/forms.py:251 build/views.py:66 msgid "Confirm build cancellation" msgstr "" -#: build/forms.py:257 +#: build/forms.py:265 msgid "Select quantity of stock to allocate" msgstr "" #: build/models.py:65 build/templates/build/build_base.html:9 -#: build/templates/build/build_base.html:38 +#: build/templates/build/build_base.html:63 #: part/templates/part/allocation.html:23 #: report/templates/report/inventree_build_order_base.html:106 msgid "Build Order" @@ -513,7 +528,7 @@ msgstr "" #: order/templates/order/sales_order_detail.html:219 part/models.py:2187 #: report/templates/report/inventree_po_report.html:92 #: report/templates/report/inventree_so_report.html:92 templates/js/bom.js:197 -#: templates/js/build.js:509 templates/js/build.js:948 +#: templates/js/build.js:565 templates/js/build.js:1008 msgid "Reference" msgstr "" @@ -521,7 +536,7 @@ msgstr "" msgid "Brief description of the build" msgstr "" -#: build/models.py:146 build/templates/build/build_base.html:124 +#: build/models.py:146 build/templates/build/build_base.html:153 #: build/templates/build/detail.html:77 msgid "Parent Build" msgstr "" @@ -531,7 +546,7 @@ msgid "BuildOrder to which this build is allocated" msgstr "" #: build/models.py:152 build/templates/build/auto_allocate.html:16 -#: build/templates/build/build_base.html:89 +#: build/templates/build/build_base.html:118 #: build/templates/build/detail.html:26 company/models.py:669 #: order/models.py:637 order/models.py:669 #: order/templates/order/order_wizard/select_parts.html:30 @@ -548,7 +563,7 @@ msgstr "" #: report/templates/report/inventree_so_report.html:90 #: templates/InvenTree/search.html:112 templates/InvenTree/search.html:210 #: templates/js/barcode.js:362 templates/js/bom.js:163 -#: templates/js/build.js:681 templates/js/build.js:921 +#: templates/js/build.js:741 templates/js/build.js:981 #: templates/js/company.js:140 templates/js/company.js:238 #: templates/js/part.js:233 templates/js/part.js:338 templates/js/stock.js:523 #: templates/js/stock.js:1343 @@ -626,7 +641,7 @@ msgstr "" msgid "Target completion date" msgstr "" -#: build/models.py:227 order/models.py:218 +#: build/models.py:227 order/models.py:218 templates/js/build.js:788 msgid "Completion Date" msgstr "" @@ -642,7 +657,7 @@ msgstr "" msgid "User who issued this build order" msgstr "" -#: build/models.py:250 build/templates/build/build_base.html:145 +#: build/models.py:250 build/templates/build/build_base.html:174 #: build/templates/build/detail.html:105 order/models.py:119 #: order/templates/order/order_base.html:138 #: order/templates/order/sales_order_base.html:138 part/models.py:886 @@ -668,7 +683,7 @@ msgstr "" msgid "Link to external URL" msgstr "" -#: build/models.py:261 build/templates/build/navbar.html:59 +#: build/models.py:261 build/templates/build/navbar.html:53 #: company/models.py:135 company/models.py:501 #: company/templates/company/navbar.html:70 #: company/templates/company/navbar.html:73 order/models.py:123 @@ -691,87 +706,88 @@ msgstr "" msgid "Extra build notes" msgstr "" -#: build/models.py:673 +#: build/models.py:739 msgid "No build output specified" msgstr "" -#: build/models.py:676 +#: build/models.py:742 msgid "Build output is already completed" msgstr "" -#: build/models.py:679 +#: build/models.py:745 msgid "Build output does not match Build Order" msgstr "" -#: build/models.py:754 +#: build/models.py:838 msgid "Completed build output" msgstr "" -#: build/models.py:1002 +#: build/models.py:1118 msgid "BuildItem must be unique for build, stock_item and install_into" msgstr "" -#: build/models.py:1024 -msgid "Build item must specify a build output" +#: build/models.py:1143 +msgid "" +"Build item must specify a build output, as master part is marked as trackable" msgstr "" -#: build/models.py:1029 +#: build/models.py:1147 #, python-brace-format msgid "Selected stock item not found in BOM for part '{p}'" msgstr "" -#: build/models.py:1033 +#: build/models.py:1151 #, python-brace-format msgid "Allocated quantity ({n}) must not exceed available quantity ({q})" msgstr "" -#: build/models.py:1040 order/models.py:758 +#: build/models.py:1158 order/models.py:758 msgid "StockItem is over-allocated" msgstr "" -#: build/models.py:1044 order/models.py:761 +#: build/models.py:1162 order/models.py:761 msgid "Allocation quantity must be greater than zero" msgstr "" -#: build/models.py:1048 +#: build/models.py:1166 msgid "Quantity must be 1 for serialized stock" msgstr "" -#: build/models.py:1088 stock/templates/stock/item_base.html:306 -#: templates/InvenTree/search.html:183 templates/js/build.js:655 +#: build/models.py:1206 stock/templates/stock/item_base.html:306 +#: templates/InvenTree/search.html:183 templates/js/build.js:714 #: templates/navbar.html:29 msgid "Build" msgstr "" -#: build/models.py:1089 +#: build/models.py:1207 msgid "Build to allocate parts" msgstr "" -#: build/models.py:1096 part/templates/part/allocation.html:18 +#: build/models.py:1214 part/templates/part/allocation.html:18 #: part/templates/part/allocation.html:24 #: part/templates/part/allocation.html:31 #: part/templates/part/allocation.html:49 #: stock/templates/stock/item_base.html:8 #: stock/templates/stock/item_base.html:93 #: stock/templates/stock/item_base.html:328 -#: stock/templates/stock/stock_adjust.html:16 templates/js/build.js:771 +#: stock/templates/stock/stock_adjust.html:16 templates/js/build.js:831 #: templates/js/stock.js:1004 templates/js/stock.js:1262 msgid "Stock Item" msgstr "" -#: build/models.py:1097 +#: build/models.py:1215 msgid "Source stock item" msgstr "" -#: build/models.py:1110 +#: build/models.py:1228 msgid "Stock quantity to allocate to build" msgstr "" -#: build/models.py:1118 +#: build/models.py:1236 msgid "Install into" msgstr "" -#: build/models.py:1119 +#: build/models.py:1237 msgid "Destination stock item" msgstr "" @@ -780,54 +796,60 @@ msgid "Allocate Parts" msgstr "" #: build/templates/build/allocate.html:15 -msgid "Incomplete Build Ouputs" +msgid "Allocate Stock to Build" msgstr "" -#: build/templates/build/allocate.html:21 -msgid "Build order has been completed" +#: build/templates/build/allocate.html:22 +msgid "Allocate stock to build" msgstr "" -#: build/templates/build/allocate.html:26 -msgid "Create new build output" +#: build/templates/build/allocate.html:23 +msgid "Auto Allocate" msgstr "" -#: build/templates/build/allocate.html:27 -msgid "Create New Output" +#: build/templates/build/allocate.html:25 templates/js/build.js:646 +msgid "Unallocate stock" msgstr "" -#: build/templates/build/allocate.html:30 +#: build/templates/build/allocate.html:26 build/views.py:308 build/views.py:794 +msgid "Unallocate Stock" +msgstr "" + +#: build/templates/build/allocate.html:29 msgid "Order required parts" msgstr "" -#: build/templates/build/allocate.html:31 +#: build/templates/build/allocate.html:30 #: company/templates/company/detail_manufacturer_part.html:33 #: company/templates/company/detail_supplier_part.html:32 order/views.py:794 #: part/templates/part/category.html:127 msgid "Order Parts" msgstr "" -#: build/templates/build/allocate.html:34 templates/js/build.js:590 -msgid "Unallocate stock" +#: build/templates/build/allocate.html:36 +msgid "Untracked stock has been fully allocated for this Build Order" msgstr "" -#: build/templates/build/allocate.html:35 build/views.py:338 build/views.py:784 -msgid "Unallocate Stock" +#: build/templates/build/allocate.html:40 +msgid "Untracked stock has not been fully allocated for this Build Order" msgstr "" -#: build/templates/build/allocate.html:49 -msgid "Create a new build output" +#: build/templates/build/allocate.html:47 +msgid "This Build Order does not have any associated untracked BOM items" msgstr "" -#: build/templates/build/allocate.html:50 -msgid "No incomplete build outputs remain." -msgstr "" - -#: build/templates/build/allocate.html:51 -msgid "Create a new build output using the button above" +#: build/templates/build/allocation_card.html:21 +#: build/templates/build/complete_output.html:46 +#: order/templates/order/sales_order_detail.html:75 +#: order/templates/order/sales_order_detail.html:157 +#: report/templates/report/inventree_test_report_base.html:75 +#: stock/models.py:420 stock/templates/stock/item_base.html:238 +#: templates/js/build.js:474 +msgid "Serial Number" msgstr "" #: build/templates/build/attachments.html:12 -#: build/templates/build/navbar.html:49 build/templates/build/navbar.html:52 +#: build/templates/build/navbar.html:43 build/templates/build/navbar.html:46 #: order/templates/order/po_navbar.html:26 #: order/templates/order/so_navbar.html:29 part/templates/part/navbar.html:119 #: part/templates/part/navbar.html:122 stock/templates/stock/navbar.html:47 @@ -862,7 +884,23 @@ msgstr "" msgid "This Build Order is a child of Build Order %(link)s" msgstr "" -#: build/templates/build/build_base.html:40 +#: build/templates/build/build_base.html:31 +msgid "Build Order is ready to mark as completed" +msgstr "" + +#: build/templates/build/build_base.html:36 +msgid "Build Order cannot be completed as outstanding outputs remain" +msgstr "" + +#: build/templates/build/build_base.html:41 +msgid "Required build quantity has not yet been completed" +msgstr "" + +#: build/templates/build/build_base.html:46 +msgid "Stock has not been fully allocated to this Build Order" +msgstr "" + +#: build/templates/build/build_base.html:65 #: company/templates/company/company_base.html:40 #: company/templates/company/manufacturer_part_base.html:25 #: company/templates/company/supplier_part_base.html:26 @@ -874,8 +912,8 @@ msgstr "" msgid "Admin view" msgstr "" -#: build/templates/build/build_base.html:46 -#: build/templates/build/build_base.html:111 +#: build/templates/build/build_base.html:71 +#: build/templates/build/build_base.html:140 #: order/templates/order/order_base.html:32 #: order/templates/order/order_base.html:86 #: order/templates/order/sales_order_base.html:41 @@ -885,58 +923,48 @@ msgstr "" msgid "Overdue" msgstr "" -#: build/templates/build/build_base.html:55 +#: build/templates/build/build_base.html:80 msgid "Print actions" msgstr "" -#: build/templates/build/build_base.html:59 +#: build/templates/build/build_base.html:84 msgid "Print Build Order" msgstr "" -#: build/templates/build/build_base.html:65 -msgid "Build actions" -msgstr "" - -#: build/templates/build/build_base.html:69 -msgid "Edit Build" -msgstr "" - -#: build/templates/build/build_base.html:71 -#: build/templates/build/build_base.html:179 +#: build/templates/build/build_base.html:90 +#: build/templates/build/build_base.html:215 msgid "Complete Build" msgstr "" -#: build/templates/build/build_base.html:72 -#: build/templates/build/build_base.html:170 build/views.py:57 +#: build/templates/build/build_base.html:95 +msgid "Build actions" +msgstr "" + +#: build/templates/build/build_base.html:99 +msgid "Edit Build" +msgstr "" + +#: build/templates/build/build_base.html:101 +#: build/templates/build/build_base.html:199 build/views.py:57 msgid "Cancel Build" msgstr "" -#: build/templates/build/build_base.html:85 +#: build/templates/build/build_base.html:114 #: build/templates/build/detail.html:11 msgid "Build Details" msgstr "" -#: build/templates/build/build_base.html:99 -#: build/templates/build/detail.html:59 order/models.py:445 -#: order/templates/order/receive_parts.html:24 -#: stock/templates/stock/item_base.html:392 templates/InvenTree/search.html:252 -#: templates/js/barcode.js:119 templates/js/build.js:710 -#: templates/js/order.js:187 templates/js/order.js:285 -#: templates/js/stock.js:628 templates/js/stock.js:1279 -msgid "Status" -msgstr "" - -#: build/templates/build/build_base.html:111 +#: build/templates/build/build_base.html:140 #, python-format msgid "This build was due on %(target)s" msgstr "" -#: build/templates/build/build_base.html:118 +#: build/templates/build/build_base.html:147 #: build/templates/build/detail.html:64 msgid "Progress" msgstr "" -#: build/templates/build/build_base.html:131 +#: build/templates/build/build_base.html:160 #: build/templates/build/detail.html:84 order/models.py:667 #: order/templates/order/sales_order_base.html:9 #: order/templates/order/sales_order_base.html:33 @@ -948,20 +976,51 @@ msgstr "" msgid "Sales Order" msgstr "" -#: build/templates/build/build_base.html:138 +#: build/templates/build/build_base.html:167 #: build/templates/build/detail.html:98 #: report/templates/report/inventree_build_order_base.html:153 msgid "Issued By" msgstr "" +#: build/templates/build/build_base.html:207 +msgid "Incomplete Outputs" +msgstr "" + +#: build/templates/build/build_base.html:208 +msgid "Build Order cannot be completed as incomplete build outputs remain" +msgstr "" + #: build/templates/build/build_children.html:10 -#: build/templates/build/navbar.html:42 +#: build/templates/build/navbar.html:36 msgid "Child Build Orders" msgstr "" -#: build/templates/build/build_output.html:10 -#: build/templates/build/navbar.html:35 build/templates/build/navbar.html:38 -msgid "Build Outputs" +#: build/templates/build/build_output.html:15 +msgid "Incomplete Build Outputs" +msgstr "" + +#: build/templates/build/build_output.html:22 +msgid "Create new build output" +msgstr "" + +#: build/templates/build/build_output.html:23 +msgid "Create New Output" +msgstr "" + +#: build/templates/build/build_output.html:36 +msgid "Create a new build output" +msgstr "" + +#: build/templates/build/build_output.html:37 +msgid "No incomplete build outputs remain." +msgstr "" + +#: build/templates/build/build_output.html:38 +msgid "Create a new build output using the button above" +msgstr "" + +#: build/templates/build/build_output.html:49 +msgid "Completed Build Outputs" msgstr "" #: build/templates/build/build_output_create.html:7 @@ -989,11 +1048,11 @@ msgid "Are you sure you wish to cancel this build?" msgstr "" #: build/templates/build/complete.html:8 -msgid "Build can be completed" +msgid "Build Order is complete" msgstr "" #: build/templates/build/complete.html:12 -msgid "Build cannot be completed" +msgid "Build Order is incomplete" msgstr "" #: build/templates/build/complete.html:15 @@ -1004,19 +1063,23 @@ msgstr "" msgid "Required build quantity has not been completed" msgstr "" -#: build/templates/build/complete_output.html:9 -msgid "Stock allocation is complete" +#: build/templates/build/complete.html:21 +msgid "Required stock has not been fully allocated" msgstr "" -#: build/templates/build/complete_output.html:13 +#: build/templates/build/complete_output.html:10 +msgid "Stock allocation is complete for this output" +msgstr "" + +#: build/templates/build/complete_output.html:14 msgid "Stock allocation is incomplete" msgstr "" -#: build/templates/build/complete_output.html:19 -msgid "parts have not been fully allocated" +#: build/templates/build/complete_output.html:20 +msgid "tracked parts have not been fully allocated" msgstr "" -#: build/templates/build/complete_output.html:40 +#: build/templates/build/complete_output.html:41 msgid "The following items will be created" msgstr "" @@ -1069,7 +1132,7 @@ msgstr "" #: build/templates/build/detail.html:116 #: order/templates/order/order_base.html:111 -#: order/templates/order/sales_order_base.html:111 templates/js/build.js:718 +#: order/templates/order/sales_order_base.html:111 templates/js/build.js:778 msgid "Created" msgstr "" @@ -1077,8 +1140,7 @@ msgstr "" msgid "No target date set" msgstr "" -#: build/templates/build/detail.html:132 templates/js/build.js:696 -#: templates/js/build.js:728 +#: build/templates/build/detail.html:132 templates/js/build.js:756 msgid "Completed" msgstr "" @@ -1090,7 +1152,7 @@ msgstr "" msgid "Alter the quantity of stock allocated to the build output" msgstr "" -#: build/templates/build/index.html:28 build/views.py:657 +#: build/templates/build/index.html:28 build/views.py:667 msgid "New Build Order" msgstr "" @@ -1121,20 +1183,20 @@ msgstr "" msgid "Details" msgstr "" -#: build/templates/build/navbar.html:20 build/templates/build/navbar.html:23 -#: build/templates/build/parts.html:11 -msgid "Required Parts" +#: build/templates/build/navbar.html:21 build/templates/build/navbar.html:24 +#: build/views.py:91 +msgid "Allocate Stock" msgstr "" -#: build/templates/build/navbar.html:27 build/templates/build/navbar.html:30 -msgid "In Progress" +#: build/templates/build/navbar.html:29 build/templates/build/navbar.html:32 +msgid "Build Outputs" msgstr "" -#: build/templates/build/navbar.html:45 +#: build/templates/build/navbar.html:39 msgid "Child Builds" msgstr "" -#: build/templates/build/navbar.html:56 +#: build/templates/build/navbar.html:50 msgid "Build Order Notes" msgstr "" @@ -1169,66 +1231,66 @@ msgstr "" msgid "Build was cancelled" msgstr "" -#: build/views.py:91 -msgid "Allocate Stock" -msgstr "" - -#: build/views.py:154 build/views.py:314 build/views.py:485 -msgid "Build output must be specified" -msgstr "" - -#: build/views.py:168 +#: build/views.py:138 msgid "Allocated stock to build output" msgstr "" -#: build/views.py:180 +#: build/views.py:150 msgid "Create Build Output" msgstr "" -#: build/views.py:203 stock/models.py:969 stock/views.py:1789 +#: build/views.py:173 stock/models.py:969 stock/views.py:1789 msgid "Serial numbers already exist" msgstr "" -#: build/views.py:212 +#: build/views.py:182 msgid "Serial numbers required for trackable build output" msgstr "" -#: build/views.py:278 +#: build/views.py:248 msgid "Delete Build Output" msgstr "" -#: build/views.py:299 build/views.py:383 +#: build/views.py:269 build/views.py:359 msgid "Confirm unallocation of build stock" msgstr "" -#: build/views.py:300 build/views.py:384 stock/views.py:425 +#: build/views.py:270 build/views.py:360 stock/views.py:425 msgid "Check the confirmation box" msgstr "" -#: build/views.py:312 +#: build/views.py:282 msgid "Build output does not match build" msgstr "" -#: build/views.py:326 +#: build/views.py:284 build/views.py:485 +msgid "Build output must be specified" +msgstr "" + +#: build/views.py:296 msgid "Build output deleted" msgstr "" -#: build/views.py:408 +#: build/views.py:394 msgid "Complete Build Order" msgstr "" -#: build/views.py:414 -msgid "Build order cannot be completed" +#: build/views.py:400 +msgid "Build order cannot be completed - incomplete outputs remain" msgstr "" -#: build/views.py:425 +#: build/views.py:411 msgid "Completed build order" msgstr "" -#: build/views.py:441 +#: build/views.py:427 msgid "Complete Build Output" msgstr "" +#: build/views.py:469 +msgid "Invalid stock status value selected" +msgstr "" + #: build/views.py:476 msgid "Quantity to complete cannot exceed build output quantity" msgstr "" @@ -1237,81 +1299,81 @@ msgstr "" msgid "Confirm completion of incomplete build" msgstr "" -#: build/views.py:573 +#: build/views.py:581 msgid "Build output completed" msgstr "" -#: build/views.py:711 +#: build/views.py:721 msgid "Created new build" msgstr "" -#: build/views.py:732 +#: build/views.py:742 msgid "Edit Build Order Details" msgstr "" -#: build/views.py:765 +#: build/views.py:775 msgid "Edited build" msgstr "" -#: build/views.py:774 +#: build/views.py:784 msgid "Delete Build Order" msgstr "" -#: build/views.py:789 +#: build/views.py:799 msgid "Removed parts from build allocation" msgstr "" -#: build/views.py:801 +#: build/views.py:811 msgid "Allocate stock to build output" msgstr "" -#: build/views.py:844 +#: build/views.py:854 msgid "Item must be currently in stock" msgstr "" -#: build/views.py:850 +#: build/views.py:860 msgid "Stock item is over-allocated" msgstr "" -#: build/views.py:851 templates/js/bom.js:230 templates/js/build.js:519 -#: templates/js/build.js:778 templates/js/build.js:961 +#: build/views.py:861 templates/js/bom.js:230 templates/js/build.js:575 +#: templates/js/build.js:838 templates/js/build.js:1021 msgid "Available" msgstr "" -#: build/views.py:853 +#: build/views.py:863 msgid "Stock item must be selected" msgstr "" -#: build/views.py:1016 +#: build/views.py:1026 msgid "Edit Stock Allocation" msgstr "" -#: build/views.py:1020 +#: build/views.py:1030 msgid "Updated Build Item" msgstr "" -#: build/views.py:1049 +#: build/views.py:1059 msgid "Add Build Order Attachment" msgstr "" -#: build/views.py:1062 order/views.py:110 order/views.py:162 part/views.py:172 +#: build/views.py:1072 order/views.py:110 order/views.py:162 part/views.py:172 #: stock/views.py:277 msgid "Added attachment" msgstr "" -#: build/views.py:1098 order/views.py:189 order/views.py:210 +#: build/views.py:1108 order/views.py:189 order/views.py:210 msgid "Edit Attachment" msgstr "" -#: build/views.py:1108 order/views.py:193 order/views.py:214 +#: build/views.py:1118 order/views.py:193 order/views.py:214 msgid "Attachment updated" msgstr "" -#: build/views.py:1118 order/views.py:229 order/views.py:243 +#: build/views.py:1128 order/views.py:229 order/views.py:243 msgid "Delete Attachment" msgstr "" -#: build/views.py:1123 order/views.py:235 order/views.py:249 stock/views.py:333 +#: build/views.py:1133 order/views.py:235 order/views.py:249 stock/views.py:333 msgid "Deleted attachment" msgstr "" @@ -1919,7 +1981,7 @@ msgstr "" #: company/templates/company/assigned_stock.html:10 #: company/templates/company/navbar.html:62 -#: company/templates/company/navbar.html:65 templates/js/build.js:411 +#: company/templates/company/navbar.html:65 templates/js/build.js:467 msgid "Assigned Stock" msgstr "" @@ -2983,26 +3045,18 @@ msgstr "" msgid "Sales Order Items" msgstr "" -#: order/templates/order/sales_order_detail.html:75 -#: order/templates/order/sales_order_detail.html:157 -#: report/templates/report/inventree_test_report_base.html:75 -#: stock/models.py:420 stock/templates/stock/item_base.html:238 -#: templates/js/build.js:418 -msgid "Serial Number" -msgstr "" - #: order/templates/order/sales_order_detail.html:92 templates/js/bom.js:342 -#: templates/js/build.js:571 templates/js/build.js:984 +#: templates/js/build.js:627 templates/js/build.js:1044 msgid "Actions" msgstr "" -#: order/templates/order/sales_order_detail.html:99 templates/js/build.js:459 -#: templates/js/build.js:789 +#: order/templates/order/sales_order_detail.html:99 templates/js/build.js:515 +#: templates/js/build.js:849 msgid "Edit stock allocation" msgstr "" -#: order/templates/order/sales_order_detail.html:100 templates/js/build.js:461 -#: templates/js/build.js:790 +#: order/templates/order/sales_order_detail.html:100 templates/js/build.js:517 +#: templates/js/build.js:850 msgid "Delete stock allocation" msgstr "" @@ -3014,8 +3068,8 @@ msgstr "" msgid "ID" msgstr "" -#: order/templates/order/sales_order_detail.html:229 templates/js/build.js:523 -#: templates/js/build.js:785 +#: order/templates/order/sales_order_detail.html:229 templates/js/build.js:579 +#: templates/js/build.js:845 msgid "Allocated" msgstr "" @@ -3027,7 +3081,7 @@ msgstr "" msgid "Allocate serial numbers" msgstr "" -#: order/templates/order/sales_order_detail.html:282 templates/js/build.js:585 +#: order/templates/order/sales_order_detail.html:282 templates/js/build.js:641 msgid "Allocate stock" msgstr "" @@ -3035,8 +3089,8 @@ msgstr "" msgid "Purchase stock" msgstr "" -#: order/templates/order/sales_order_detail.html:289 templates/js/build.js:578 -#: templates/js/build.js:992 +#: order/templates/order/sales_order_detail.html:289 templates/js/build.js:634 +#: templates/js/build.js:1052 msgid "Build stock" msgstr "" @@ -5361,7 +5415,7 @@ msgstr "" msgid "Stock Item Details" msgstr "" -#: stock/templates/stock/item_base.html:278 templates/js/build.js:442 +#: stock/templates/stock/item_base.html:278 templates/js/build.js:498 msgid "No location set" msgstr "" @@ -5753,7 +5807,7 @@ msgstr "" msgid "Serialize Stock" msgstr "" -#: stock/views.py:1543 templates/js/build.js:210 +#: stock/views.py:1543 templates/js/build.js:244 msgid "Create new Stock Item" msgstr "" @@ -6197,7 +6251,7 @@ msgstr "" msgid "Barcode does not match a valid location" msgstr "" -#: templates/js/bom.js:175 templates/js/build.js:934 +#: templates/js/bom.js:175 templates/js/build.js:994 msgid "Open subassembly" msgstr "" @@ -6235,58 +6289,58 @@ msgstr "" msgid "Delete BOM Item" msgstr "" -#: templates/js/bom.js:447 templates/js/build.js:305 templates/js/build.js:1032 +#: templates/js/bom.js:447 templates/js/build.js:340 templates/js/build.js:1092 msgid "No BOM items found" msgstr "" -#: templates/js/build.js:56 +#: templates/js/build.js:62 msgid "Auto-allocate stock items to this output" msgstr "" -#: templates/js/build.js:62 -msgid "Complete build output" -msgstr "" - -#: templates/js/build.js:71 +#: templates/js/build.js:70 msgid "Unallocate stock from build output" msgstr "" -#: templates/js/build.js:77 +#: templates/js/build.js:80 +msgid "Complete build output" +msgstr "" + +#: templates/js/build.js:89 msgid "Delete build output" msgstr "" -#: templates/js/build.js:209 templates/stock_table.html:20 +#: templates/js/build.js:243 templates/stock_table.html:20 msgid "New Stock Item" msgstr "" -#: templates/js/build.js:493 +#: templates/js/build.js:549 msgid "Required Part" msgstr "" -#: templates/js/build.js:514 +#: templates/js/build.js:570 msgid "Quantity Per" msgstr "" -#: templates/js/build.js:582 templates/js/build.js:996 +#: templates/js/build.js:638 templates/js/build.js:1056 #: templates/stock_table.html:58 msgid "Order stock" msgstr "" -#: templates/js/build.js:632 +#: templates/js/build.js:691 msgid "No builds matching query" msgstr "" -#: templates/js/build.js:649 templates/js/part.js:324 templates/js/part.js:546 +#: templates/js/build.js:708 templates/js/part.js:324 templates/js/part.js:546 #: templates/js/stock.js:511 templates/js/stock.js:938 #: templates/js/stock.js:1331 msgid "Select" msgstr "" -#: templates/js/build.js:669 +#: templates/js/build.js:728 msgid "Build order is overdue" msgstr "" -#: templates/js/build.js:767 +#: templates/js/build.js:827 msgid "No parts allocated for" msgstr "" diff --git a/InvenTree/locale/it/LC_MESSAGES/django.mo b/InvenTree/locale/it/LC_MESSAGES/django.mo new file mode 100644 index 0000000000000000000000000000000000000000..71cbdf3e9d8d54be31066ec4ad8628bc2c1f2845 GIT binary patch literal 380 zcmYL@K~KUk7=|%=+R?Lz&%}d9i{c3jGZa>EvE7z2Nc2{r&Y96JZ6W$Y{CoZuJ5A(G zp7i_Dx9RhJeDu}vIq;l#&OC>nD^HugXY4QU{MmN?lNtRkR}RH%w3NnHT4Bh@vF%H^(V-=Ii1iQ$Qo9Pt!I1Rhe%oml#`f^NEGFCKEL->Rc=KoQ6a?!10%_7(V7ey8`V`;n{war z20Z3;uifk31QV^CRQ|iq#``$=;jWunRB8aLH({)F;i8zL{=V00y-I_qTIqGAN(}v% i$^}`yHKImSZ8jEzYJOK6-VWez49^vuhS0kh1f3tbb!oc* literal 0 HcmV?d00001 diff --git a/InvenTree/locale/it/LC_MESSAGES/django.po b/InvenTree/locale/it/LC_MESSAGES/django.po index 9e300a0372..a99521bf12 100644 --- a/InvenTree/locale/it/LC_MESSAGES/django.po +++ b/InvenTree/locale/it/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-04-21 12:28+1000\n" +"POT-Creation-Date: 2021-04-21 17:15+1000\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: FULL NAME \n" "Language-Team: LANGUAGE \n" @@ -34,8 +34,8 @@ msgstr "" msgid "Enter date" msgstr "" -#: InvenTree/forms.py:110 build/forms.py:99 build/forms.py:120 -#: build/forms.py:142 build/forms.py:166 build/forms.py:188 build/forms.py:223 +#: InvenTree/forms.py:110 build/forms.py:101 build/forms.py:122 +#: build/forms.py:144 build/forms.py:168 build/forms.py:184 build/forms.py:226 #: order/forms.py:27 order/forms.py:38 order/forms.py:49 order/forms.py:60 #: order/forms.py:71 part/forms.py:134 msgid "Confirm" @@ -154,7 +154,7 @@ msgstr "" #: templates/InvenTree/search.html:144 templates/InvenTree/search.html:224 #: templates/InvenTree/search.html:296 #: templates/InvenTree/settings/header.html:9 templates/js/bom.js:190 -#: templates/js/build.js:677 templates/js/build.js:944 +#: templates/js/build.js:736 templates/js/build.js:1004 #: templates/js/company.js:56 templates/js/order.js:183 #: templates/js/order.js:280 templates/js/part.js:169 templates/js/part.js:252 #: templates/js/part.js:371 templates/js/part.js:565 templates/js/part.js:643 @@ -203,60 +203,60 @@ msgstr "" msgid "InvenTree system health checks failed" msgstr "" -#: InvenTree/status_codes.py:94 InvenTree/status_codes.py:135 -#: InvenTree/status_codes.py:228 +#: InvenTree/status_codes.py:102 InvenTree/status_codes.py:143 +#: InvenTree/status_codes.py:236 msgid "Pending" msgstr "" -#: InvenTree/status_codes.py:95 +#: InvenTree/status_codes.py:103 msgid "Placed" msgstr "" -#: InvenTree/status_codes.py:96 InvenTree/status_codes.py:231 +#: InvenTree/status_codes.py:104 InvenTree/status_codes.py:239 msgid "Complete" msgstr "" -#: InvenTree/status_codes.py:97 InvenTree/status_codes.py:137 -#: InvenTree/status_codes.py:230 +#: InvenTree/status_codes.py:105 InvenTree/status_codes.py:145 +#: InvenTree/status_codes.py:238 msgid "Cancelled" msgstr "" -#: InvenTree/status_codes.py:98 InvenTree/status_codes.py:138 -#: InvenTree/status_codes.py:180 +#: InvenTree/status_codes.py:106 InvenTree/status_codes.py:146 +#: InvenTree/status_codes.py:188 msgid "Lost" msgstr "" -#: InvenTree/status_codes.py:99 InvenTree/status_codes.py:139 -#: InvenTree/status_codes.py:182 +#: InvenTree/status_codes.py:107 InvenTree/status_codes.py:147 +#: InvenTree/status_codes.py:190 msgid "Returned" msgstr "" -#: InvenTree/status_codes.py:136 +#: InvenTree/status_codes.py:144 #: order/templates/order/sales_order_base.html:124 msgid "Shipped" msgstr "" -#: InvenTree/status_codes.py:176 +#: InvenTree/status_codes.py:184 msgid "OK" msgstr "" -#: InvenTree/status_codes.py:177 +#: InvenTree/status_codes.py:185 msgid "Attention needed" msgstr "" -#: InvenTree/status_codes.py:178 +#: InvenTree/status_codes.py:186 msgid "Damaged" msgstr "" -#: InvenTree/status_codes.py:179 +#: InvenTree/status_codes.py:187 msgid "Destroyed" msgstr "" -#: InvenTree/status_codes.py:181 +#: InvenTree/status_codes.py:189 msgid "Rejected" msgstr "" -#: InvenTree/status_codes.py:229 +#: InvenTree/status_codes.py:237 msgid "Production" msgstr "" @@ -359,32 +359,33 @@ msgstr "" msgid "Barcode associated with StockItem" msgstr "" -#: build/forms.py:34 +#: build/forms.py:36 msgid "Build Order reference" msgstr "" -#: build/forms.py:35 +#: build/forms.py:37 msgid "Order target date" msgstr "" -#: build/forms.py:39 build/templates/build/build_base.html:107 +#: build/forms.py:41 build/templates/build/build_base.html:136 #: build/templates/build/detail.html:121 order/forms.py:109 order/forms.py:144 #: order/templates/order/order_base.html:124 #: order/templates/order/sales_order_base.html:117 #: report/templates/report/inventree_build_order_base.html:126 -#: templates/js/build.js:723 templates/js/order.js:200 +#: templates/js/build.js:783 templates/js/order.js:200 #: templates/js/order.js:298 msgid "Target Date" msgstr "" -#: build/forms.py:40 build/models.py:224 +#: build/forms.py:42 build/models.py:224 msgid "" "Target date for build completion. Build will be overdue after this date." msgstr "" -#: build/forms.py:45 build/forms.py:87 build/forms.py:257 build/models.py:1109 +#: build/forms.py:47 build/forms.py:89 build/forms.py:265 build/models.py:1227 +#: build/templates/build/allocation_card.html:23 #: build/templates/build/auto_allocate.html:17 -#: build/templates/build/build_base.html:94 +#: build/templates/build/build_base.html:123 #: build/templates/build/detail.html:31 common/models.py:703 #: company/forms.py:176 company/templates/company/supplier_part_pricing.html:77 #: order/forms.py:188 order/forms.py:205 order/forms.py:239 order/forms.py:261 @@ -408,87 +409,101 @@ msgstr "" #: stock/forms.py:175 stock/forms.py:308 stock/models.py:1566 #: stock/templates/stock/item_base.html:244 #: stock/templates/stock/stock_adjust.html:18 templates/js/barcode.js:364 -#: templates/js/bom.js:205 templates/js/build.js:420 templates/js/build.js:954 +#: templates/js/bom.js:205 templates/js/build.js:476 templates/js/build.js:1014 #: templates/js/stock.js:1033 templates/js/stock.js:1271 msgid "Quantity" msgstr "" -#: build/forms.py:46 +#: build/forms.py:48 msgid "Number of items to build" msgstr "" -#: build/forms.py:88 +#: build/forms.py:90 msgid "Enter quantity for build output" msgstr "" -#: build/forms.py:92 order/forms.py:233 stock/forms.py:118 +#: build/forms.py:94 order/forms.py:233 stock/forms.py:118 msgid "Serial Numbers" msgstr "" -#: build/forms.py:94 +#: build/forms.py:96 msgid "Enter serial numbers for build outputs" msgstr "" -#: build/forms.py:100 +#: build/forms.py:102 msgid "Confirm creation of build output" msgstr "" -#: build/forms.py:121 +#: build/forms.py:123 msgid "Confirm deletion of build output" msgstr "" -#: build/forms.py:142 +#: build/forms.py:144 msgid "Confirm unallocation of stock" msgstr "" -#: build/forms.py:166 +#: build/forms.py:168 msgid "Confirm stock allocation" msgstr "" -#: build/forms.py:189 +#: build/forms.py:185 msgid "Mark build as complete" msgstr "" -#: build/forms.py:213 build/templates/build/auto_allocate.html:18 +#: build/forms.py:209 build/templates/build/auto_allocate.html:18 #: order/forms.py:82 stock/forms.py:347 #: stock/templates/stock/item_base.html:274 #: 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:434 +#: templates/js/barcode.js:531 templates/js/build.js:490 #: templates/js/stock.js:641 msgid "Location" msgstr "" -#: build/forms.py:214 +#: build/forms.py:210 msgid "Location of completed parts" msgstr "" -#: build/forms.py:219 +#: build/forms.py:214 build/templates/build/build_base.html:128 +#: build/templates/build/detail.html:59 order/models.py:445 +#: order/templates/order/receive_parts.html:24 +#: stock/templates/stock/item_base.html:392 templates/InvenTree/search.html:252 +#: templates/js/barcode.js:119 templates/js/build.js:770 +#: templates/js/order.js:187 templates/js/order.js:285 +#: templates/js/stock.js:628 templates/js/stock.js:1279 +msgid "Status" +msgstr "" + +#: build/forms.py:215 +msgid "Build output stock status" +msgstr "" + +#: build/forms.py:222 msgid "Confirm incomplete" msgstr "" -#: build/forms.py:220 +#: build/forms.py:223 msgid "Confirm completion with incomplete stock allocation" msgstr "" -#: build/forms.py:223 +#: build/forms.py:226 msgid "Confirm build completion" msgstr "" -#: build/forms.py:243 +#: build/forms.py:251 msgid "Confirm cancel" msgstr "" -#: build/forms.py:243 build/views.py:66 +#: build/forms.py:251 build/views.py:66 msgid "Confirm build cancellation" msgstr "" -#: build/forms.py:257 +#: build/forms.py:265 msgid "Select quantity of stock to allocate" msgstr "" #: build/models.py:65 build/templates/build/build_base.html:9 -#: build/templates/build/build_base.html:38 +#: build/templates/build/build_base.html:63 #: part/templates/part/allocation.html:23 #: report/templates/report/inventree_build_order_base.html:106 msgid "Build Order" @@ -513,7 +528,7 @@ msgstr "" #: order/templates/order/sales_order_detail.html:219 part/models.py:2187 #: report/templates/report/inventree_po_report.html:92 #: report/templates/report/inventree_so_report.html:92 templates/js/bom.js:197 -#: templates/js/build.js:509 templates/js/build.js:948 +#: templates/js/build.js:565 templates/js/build.js:1008 msgid "Reference" msgstr "" @@ -521,7 +536,7 @@ msgstr "" msgid "Brief description of the build" msgstr "" -#: build/models.py:146 build/templates/build/build_base.html:124 +#: build/models.py:146 build/templates/build/build_base.html:153 #: build/templates/build/detail.html:77 msgid "Parent Build" msgstr "" @@ -531,7 +546,7 @@ msgid "BuildOrder to which this build is allocated" msgstr "" #: build/models.py:152 build/templates/build/auto_allocate.html:16 -#: build/templates/build/build_base.html:89 +#: build/templates/build/build_base.html:118 #: build/templates/build/detail.html:26 company/models.py:669 #: order/models.py:637 order/models.py:669 #: order/templates/order/order_wizard/select_parts.html:30 @@ -548,7 +563,7 @@ msgstr "" #: report/templates/report/inventree_so_report.html:90 #: templates/InvenTree/search.html:112 templates/InvenTree/search.html:210 #: templates/js/barcode.js:362 templates/js/bom.js:163 -#: templates/js/build.js:681 templates/js/build.js:921 +#: templates/js/build.js:741 templates/js/build.js:981 #: templates/js/company.js:140 templates/js/company.js:238 #: templates/js/part.js:233 templates/js/part.js:338 templates/js/stock.js:523 #: templates/js/stock.js:1343 @@ -626,7 +641,7 @@ msgstr "" msgid "Target completion date" msgstr "" -#: build/models.py:227 order/models.py:218 +#: build/models.py:227 order/models.py:218 templates/js/build.js:788 msgid "Completion Date" msgstr "" @@ -642,7 +657,7 @@ msgstr "" msgid "User who issued this build order" msgstr "" -#: build/models.py:250 build/templates/build/build_base.html:145 +#: build/models.py:250 build/templates/build/build_base.html:174 #: build/templates/build/detail.html:105 order/models.py:119 #: order/templates/order/order_base.html:138 #: order/templates/order/sales_order_base.html:138 part/models.py:886 @@ -668,7 +683,7 @@ msgstr "" msgid "Link to external URL" msgstr "" -#: build/models.py:261 build/templates/build/navbar.html:59 +#: build/models.py:261 build/templates/build/navbar.html:53 #: company/models.py:135 company/models.py:501 #: company/templates/company/navbar.html:70 #: company/templates/company/navbar.html:73 order/models.py:123 @@ -691,87 +706,88 @@ msgstr "" msgid "Extra build notes" msgstr "" -#: build/models.py:673 +#: build/models.py:739 msgid "No build output specified" msgstr "" -#: build/models.py:676 +#: build/models.py:742 msgid "Build output is already completed" msgstr "" -#: build/models.py:679 +#: build/models.py:745 msgid "Build output does not match Build Order" msgstr "" -#: build/models.py:754 +#: build/models.py:838 msgid "Completed build output" msgstr "" -#: build/models.py:1002 +#: build/models.py:1118 msgid "BuildItem must be unique for build, stock_item and install_into" msgstr "" -#: build/models.py:1024 -msgid "Build item must specify a build output" +#: build/models.py:1143 +msgid "" +"Build item must specify a build output, as master part is marked as trackable" msgstr "" -#: build/models.py:1029 +#: build/models.py:1147 #, python-brace-format msgid "Selected stock item not found in BOM for part '{p}'" msgstr "" -#: build/models.py:1033 +#: build/models.py:1151 #, python-brace-format msgid "Allocated quantity ({n}) must not exceed available quantity ({q})" msgstr "" -#: build/models.py:1040 order/models.py:758 +#: build/models.py:1158 order/models.py:758 msgid "StockItem is over-allocated" msgstr "" -#: build/models.py:1044 order/models.py:761 +#: build/models.py:1162 order/models.py:761 msgid "Allocation quantity must be greater than zero" msgstr "" -#: build/models.py:1048 +#: build/models.py:1166 msgid "Quantity must be 1 for serialized stock" msgstr "" -#: build/models.py:1088 stock/templates/stock/item_base.html:306 -#: templates/InvenTree/search.html:183 templates/js/build.js:655 +#: build/models.py:1206 stock/templates/stock/item_base.html:306 +#: templates/InvenTree/search.html:183 templates/js/build.js:714 #: templates/navbar.html:29 msgid "Build" msgstr "" -#: build/models.py:1089 +#: build/models.py:1207 msgid "Build to allocate parts" msgstr "" -#: build/models.py:1096 part/templates/part/allocation.html:18 +#: build/models.py:1214 part/templates/part/allocation.html:18 #: part/templates/part/allocation.html:24 #: part/templates/part/allocation.html:31 #: part/templates/part/allocation.html:49 #: stock/templates/stock/item_base.html:8 #: stock/templates/stock/item_base.html:93 #: stock/templates/stock/item_base.html:328 -#: stock/templates/stock/stock_adjust.html:16 templates/js/build.js:771 +#: stock/templates/stock/stock_adjust.html:16 templates/js/build.js:831 #: templates/js/stock.js:1004 templates/js/stock.js:1262 msgid "Stock Item" msgstr "" -#: build/models.py:1097 +#: build/models.py:1215 msgid "Source stock item" msgstr "" -#: build/models.py:1110 +#: build/models.py:1228 msgid "Stock quantity to allocate to build" msgstr "" -#: build/models.py:1118 +#: build/models.py:1236 msgid "Install into" msgstr "" -#: build/models.py:1119 +#: build/models.py:1237 msgid "Destination stock item" msgstr "" @@ -780,54 +796,60 @@ msgid "Allocate Parts" msgstr "" #: build/templates/build/allocate.html:15 -msgid "Incomplete Build Ouputs" +msgid "Allocate Stock to Build" msgstr "" -#: build/templates/build/allocate.html:21 -msgid "Build order has been completed" +#: build/templates/build/allocate.html:22 +msgid "Allocate stock to build" msgstr "" -#: build/templates/build/allocate.html:26 -msgid "Create new build output" +#: build/templates/build/allocate.html:23 +msgid "Auto Allocate" msgstr "" -#: build/templates/build/allocate.html:27 -msgid "Create New Output" +#: build/templates/build/allocate.html:25 templates/js/build.js:646 +msgid "Unallocate stock" msgstr "" -#: build/templates/build/allocate.html:30 +#: build/templates/build/allocate.html:26 build/views.py:308 build/views.py:794 +msgid "Unallocate Stock" +msgstr "" + +#: build/templates/build/allocate.html:29 msgid "Order required parts" msgstr "" -#: build/templates/build/allocate.html:31 +#: build/templates/build/allocate.html:30 #: company/templates/company/detail_manufacturer_part.html:33 #: company/templates/company/detail_supplier_part.html:32 order/views.py:794 #: part/templates/part/category.html:127 msgid "Order Parts" msgstr "" -#: build/templates/build/allocate.html:34 templates/js/build.js:590 -msgid "Unallocate stock" +#: build/templates/build/allocate.html:36 +msgid "Untracked stock has been fully allocated for this Build Order" msgstr "" -#: build/templates/build/allocate.html:35 build/views.py:338 build/views.py:784 -msgid "Unallocate Stock" +#: build/templates/build/allocate.html:40 +msgid "Untracked stock has not been fully allocated for this Build Order" msgstr "" -#: build/templates/build/allocate.html:49 -msgid "Create a new build output" +#: build/templates/build/allocate.html:47 +msgid "This Build Order does not have any associated untracked BOM items" msgstr "" -#: build/templates/build/allocate.html:50 -msgid "No incomplete build outputs remain." -msgstr "" - -#: build/templates/build/allocate.html:51 -msgid "Create a new build output using the button above" +#: build/templates/build/allocation_card.html:21 +#: build/templates/build/complete_output.html:46 +#: order/templates/order/sales_order_detail.html:75 +#: order/templates/order/sales_order_detail.html:157 +#: report/templates/report/inventree_test_report_base.html:75 +#: stock/models.py:420 stock/templates/stock/item_base.html:238 +#: templates/js/build.js:474 +msgid "Serial Number" msgstr "" #: build/templates/build/attachments.html:12 -#: build/templates/build/navbar.html:49 build/templates/build/navbar.html:52 +#: build/templates/build/navbar.html:43 build/templates/build/navbar.html:46 #: order/templates/order/po_navbar.html:26 #: order/templates/order/so_navbar.html:29 part/templates/part/navbar.html:119 #: part/templates/part/navbar.html:122 stock/templates/stock/navbar.html:47 @@ -862,7 +884,23 @@ msgstr "" msgid "This Build Order is a child of Build Order %(link)s" msgstr "" -#: build/templates/build/build_base.html:40 +#: build/templates/build/build_base.html:31 +msgid "Build Order is ready to mark as completed" +msgstr "" + +#: build/templates/build/build_base.html:36 +msgid "Build Order cannot be completed as outstanding outputs remain" +msgstr "" + +#: build/templates/build/build_base.html:41 +msgid "Required build quantity has not yet been completed" +msgstr "" + +#: build/templates/build/build_base.html:46 +msgid "Stock has not been fully allocated to this Build Order" +msgstr "" + +#: build/templates/build/build_base.html:65 #: company/templates/company/company_base.html:40 #: company/templates/company/manufacturer_part_base.html:25 #: company/templates/company/supplier_part_base.html:26 @@ -874,8 +912,8 @@ msgstr "" msgid "Admin view" msgstr "" -#: build/templates/build/build_base.html:46 -#: build/templates/build/build_base.html:111 +#: build/templates/build/build_base.html:71 +#: build/templates/build/build_base.html:140 #: order/templates/order/order_base.html:32 #: order/templates/order/order_base.html:86 #: order/templates/order/sales_order_base.html:41 @@ -885,58 +923,48 @@ msgstr "" msgid "Overdue" msgstr "" -#: build/templates/build/build_base.html:55 +#: build/templates/build/build_base.html:80 msgid "Print actions" msgstr "" -#: build/templates/build/build_base.html:59 +#: build/templates/build/build_base.html:84 msgid "Print Build Order" msgstr "" -#: build/templates/build/build_base.html:65 -msgid "Build actions" -msgstr "" - -#: build/templates/build/build_base.html:69 -msgid "Edit Build" -msgstr "" - -#: build/templates/build/build_base.html:71 -#: build/templates/build/build_base.html:179 +#: build/templates/build/build_base.html:90 +#: build/templates/build/build_base.html:215 msgid "Complete Build" msgstr "" -#: build/templates/build/build_base.html:72 -#: build/templates/build/build_base.html:170 build/views.py:57 +#: build/templates/build/build_base.html:95 +msgid "Build actions" +msgstr "" + +#: build/templates/build/build_base.html:99 +msgid "Edit Build" +msgstr "" + +#: build/templates/build/build_base.html:101 +#: build/templates/build/build_base.html:199 build/views.py:57 msgid "Cancel Build" msgstr "" -#: build/templates/build/build_base.html:85 +#: build/templates/build/build_base.html:114 #: build/templates/build/detail.html:11 msgid "Build Details" msgstr "" -#: build/templates/build/build_base.html:99 -#: build/templates/build/detail.html:59 order/models.py:445 -#: order/templates/order/receive_parts.html:24 -#: stock/templates/stock/item_base.html:392 templates/InvenTree/search.html:252 -#: templates/js/barcode.js:119 templates/js/build.js:710 -#: templates/js/order.js:187 templates/js/order.js:285 -#: templates/js/stock.js:628 templates/js/stock.js:1279 -msgid "Status" -msgstr "" - -#: build/templates/build/build_base.html:111 +#: build/templates/build/build_base.html:140 #, python-format msgid "This build was due on %(target)s" msgstr "" -#: build/templates/build/build_base.html:118 +#: build/templates/build/build_base.html:147 #: build/templates/build/detail.html:64 msgid "Progress" msgstr "" -#: build/templates/build/build_base.html:131 +#: build/templates/build/build_base.html:160 #: build/templates/build/detail.html:84 order/models.py:667 #: order/templates/order/sales_order_base.html:9 #: order/templates/order/sales_order_base.html:33 @@ -948,20 +976,51 @@ msgstr "" msgid "Sales Order" msgstr "" -#: build/templates/build/build_base.html:138 +#: build/templates/build/build_base.html:167 #: build/templates/build/detail.html:98 #: report/templates/report/inventree_build_order_base.html:153 msgid "Issued By" msgstr "" +#: build/templates/build/build_base.html:207 +msgid "Incomplete Outputs" +msgstr "" + +#: build/templates/build/build_base.html:208 +msgid "Build Order cannot be completed as incomplete build outputs remain" +msgstr "" + #: build/templates/build/build_children.html:10 -#: build/templates/build/navbar.html:42 +#: build/templates/build/navbar.html:36 msgid "Child Build Orders" msgstr "" -#: build/templates/build/build_output.html:10 -#: build/templates/build/navbar.html:35 build/templates/build/navbar.html:38 -msgid "Build Outputs" +#: build/templates/build/build_output.html:15 +msgid "Incomplete Build Outputs" +msgstr "" + +#: build/templates/build/build_output.html:22 +msgid "Create new build output" +msgstr "" + +#: build/templates/build/build_output.html:23 +msgid "Create New Output" +msgstr "" + +#: build/templates/build/build_output.html:36 +msgid "Create a new build output" +msgstr "" + +#: build/templates/build/build_output.html:37 +msgid "No incomplete build outputs remain." +msgstr "" + +#: build/templates/build/build_output.html:38 +msgid "Create a new build output using the button above" +msgstr "" + +#: build/templates/build/build_output.html:49 +msgid "Completed Build Outputs" msgstr "" #: build/templates/build/build_output_create.html:7 @@ -989,11 +1048,11 @@ msgid "Are you sure you wish to cancel this build?" msgstr "" #: build/templates/build/complete.html:8 -msgid "Build can be completed" +msgid "Build Order is complete" msgstr "" #: build/templates/build/complete.html:12 -msgid "Build cannot be completed" +msgid "Build Order is incomplete" msgstr "" #: build/templates/build/complete.html:15 @@ -1004,19 +1063,23 @@ msgstr "" msgid "Required build quantity has not been completed" msgstr "" -#: build/templates/build/complete_output.html:9 -msgid "Stock allocation is complete" +#: build/templates/build/complete.html:21 +msgid "Required stock has not been fully allocated" msgstr "" -#: build/templates/build/complete_output.html:13 +#: build/templates/build/complete_output.html:10 +msgid "Stock allocation is complete for this output" +msgstr "" + +#: build/templates/build/complete_output.html:14 msgid "Stock allocation is incomplete" msgstr "" -#: build/templates/build/complete_output.html:19 -msgid "parts have not been fully allocated" +#: build/templates/build/complete_output.html:20 +msgid "tracked parts have not been fully allocated" msgstr "" -#: build/templates/build/complete_output.html:40 +#: build/templates/build/complete_output.html:41 msgid "The following items will be created" msgstr "" @@ -1069,7 +1132,7 @@ msgstr "" #: build/templates/build/detail.html:116 #: order/templates/order/order_base.html:111 -#: order/templates/order/sales_order_base.html:111 templates/js/build.js:718 +#: order/templates/order/sales_order_base.html:111 templates/js/build.js:778 msgid "Created" msgstr "" @@ -1077,8 +1140,7 @@ msgstr "" msgid "No target date set" msgstr "" -#: build/templates/build/detail.html:132 templates/js/build.js:696 -#: templates/js/build.js:728 +#: build/templates/build/detail.html:132 templates/js/build.js:756 msgid "Completed" msgstr "" @@ -1090,7 +1152,7 @@ msgstr "" msgid "Alter the quantity of stock allocated to the build output" msgstr "" -#: build/templates/build/index.html:28 build/views.py:657 +#: build/templates/build/index.html:28 build/views.py:667 msgid "New Build Order" msgstr "" @@ -1121,20 +1183,20 @@ msgstr "" msgid "Details" msgstr "" -#: build/templates/build/navbar.html:20 build/templates/build/navbar.html:23 -#: build/templates/build/parts.html:11 -msgid "Required Parts" +#: build/templates/build/navbar.html:21 build/templates/build/navbar.html:24 +#: build/views.py:91 +msgid "Allocate Stock" msgstr "" -#: build/templates/build/navbar.html:27 build/templates/build/navbar.html:30 -msgid "In Progress" +#: build/templates/build/navbar.html:29 build/templates/build/navbar.html:32 +msgid "Build Outputs" msgstr "" -#: build/templates/build/navbar.html:45 +#: build/templates/build/navbar.html:39 msgid "Child Builds" msgstr "" -#: build/templates/build/navbar.html:56 +#: build/templates/build/navbar.html:50 msgid "Build Order Notes" msgstr "" @@ -1169,66 +1231,66 @@ msgstr "" msgid "Build was cancelled" msgstr "" -#: build/views.py:91 -msgid "Allocate Stock" -msgstr "" - -#: build/views.py:154 build/views.py:314 build/views.py:485 -msgid "Build output must be specified" -msgstr "" - -#: build/views.py:168 +#: build/views.py:138 msgid "Allocated stock to build output" msgstr "" -#: build/views.py:180 +#: build/views.py:150 msgid "Create Build Output" msgstr "" -#: build/views.py:203 stock/models.py:969 stock/views.py:1789 +#: build/views.py:173 stock/models.py:969 stock/views.py:1789 msgid "Serial numbers already exist" msgstr "" -#: build/views.py:212 +#: build/views.py:182 msgid "Serial numbers required for trackable build output" msgstr "" -#: build/views.py:278 +#: build/views.py:248 msgid "Delete Build Output" msgstr "" -#: build/views.py:299 build/views.py:383 +#: build/views.py:269 build/views.py:359 msgid "Confirm unallocation of build stock" msgstr "" -#: build/views.py:300 build/views.py:384 stock/views.py:425 +#: build/views.py:270 build/views.py:360 stock/views.py:425 msgid "Check the confirmation box" msgstr "" -#: build/views.py:312 +#: build/views.py:282 msgid "Build output does not match build" msgstr "" -#: build/views.py:326 +#: build/views.py:284 build/views.py:485 +msgid "Build output must be specified" +msgstr "" + +#: build/views.py:296 msgid "Build output deleted" msgstr "" -#: build/views.py:408 +#: build/views.py:394 msgid "Complete Build Order" msgstr "" -#: build/views.py:414 -msgid "Build order cannot be completed" +#: build/views.py:400 +msgid "Build order cannot be completed - incomplete outputs remain" msgstr "" -#: build/views.py:425 +#: build/views.py:411 msgid "Completed build order" msgstr "" -#: build/views.py:441 +#: build/views.py:427 msgid "Complete Build Output" msgstr "" +#: build/views.py:469 +msgid "Invalid stock status value selected" +msgstr "" + #: build/views.py:476 msgid "Quantity to complete cannot exceed build output quantity" msgstr "" @@ -1237,81 +1299,81 @@ msgstr "" msgid "Confirm completion of incomplete build" msgstr "" -#: build/views.py:573 +#: build/views.py:581 msgid "Build output completed" msgstr "" -#: build/views.py:711 +#: build/views.py:721 msgid "Created new build" msgstr "" -#: build/views.py:732 +#: build/views.py:742 msgid "Edit Build Order Details" msgstr "" -#: build/views.py:765 +#: build/views.py:775 msgid "Edited build" msgstr "" -#: build/views.py:774 +#: build/views.py:784 msgid "Delete Build Order" msgstr "" -#: build/views.py:789 +#: build/views.py:799 msgid "Removed parts from build allocation" msgstr "" -#: build/views.py:801 +#: build/views.py:811 msgid "Allocate stock to build output" msgstr "" -#: build/views.py:844 +#: build/views.py:854 msgid "Item must be currently in stock" msgstr "" -#: build/views.py:850 +#: build/views.py:860 msgid "Stock item is over-allocated" msgstr "" -#: build/views.py:851 templates/js/bom.js:230 templates/js/build.js:519 -#: templates/js/build.js:778 templates/js/build.js:961 +#: build/views.py:861 templates/js/bom.js:230 templates/js/build.js:575 +#: templates/js/build.js:838 templates/js/build.js:1021 msgid "Available" msgstr "" -#: build/views.py:853 +#: build/views.py:863 msgid "Stock item must be selected" msgstr "" -#: build/views.py:1016 +#: build/views.py:1026 msgid "Edit Stock Allocation" msgstr "" -#: build/views.py:1020 +#: build/views.py:1030 msgid "Updated Build Item" msgstr "" -#: build/views.py:1049 +#: build/views.py:1059 msgid "Add Build Order Attachment" msgstr "" -#: build/views.py:1062 order/views.py:110 order/views.py:162 part/views.py:172 +#: build/views.py:1072 order/views.py:110 order/views.py:162 part/views.py:172 #: stock/views.py:277 msgid "Added attachment" msgstr "" -#: build/views.py:1098 order/views.py:189 order/views.py:210 +#: build/views.py:1108 order/views.py:189 order/views.py:210 msgid "Edit Attachment" msgstr "" -#: build/views.py:1108 order/views.py:193 order/views.py:214 +#: build/views.py:1118 order/views.py:193 order/views.py:214 msgid "Attachment updated" msgstr "" -#: build/views.py:1118 order/views.py:229 order/views.py:243 +#: build/views.py:1128 order/views.py:229 order/views.py:243 msgid "Delete Attachment" msgstr "" -#: build/views.py:1123 order/views.py:235 order/views.py:249 stock/views.py:333 +#: build/views.py:1133 order/views.py:235 order/views.py:249 stock/views.py:333 msgid "Deleted attachment" msgstr "" @@ -1919,7 +1981,7 @@ msgstr "" #: company/templates/company/assigned_stock.html:10 #: company/templates/company/navbar.html:62 -#: company/templates/company/navbar.html:65 templates/js/build.js:411 +#: company/templates/company/navbar.html:65 templates/js/build.js:467 msgid "Assigned Stock" msgstr "" @@ -2983,26 +3045,18 @@ msgstr "" msgid "Sales Order Items" msgstr "" -#: order/templates/order/sales_order_detail.html:75 -#: order/templates/order/sales_order_detail.html:157 -#: report/templates/report/inventree_test_report_base.html:75 -#: stock/models.py:420 stock/templates/stock/item_base.html:238 -#: templates/js/build.js:418 -msgid "Serial Number" -msgstr "" - #: order/templates/order/sales_order_detail.html:92 templates/js/bom.js:342 -#: templates/js/build.js:571 templates/js/build.js:984 +#: templates/js/build.js:627 templates/js/build.js:1044 msgid "Actions" msgstr "" -#: order/templates/order/sales_order_detail.html:99 templates/js/build.js:459 -#: templates/js/build.js:789 +#: order/templates/order/sales_order_detail.html:99 templates/js/build.js:515 +#: templates/js/build.js:849 msgid "Edit stock allocation" msgstr "" -#: order/templates/order/sales_order_detail.html:100 templates/js/build.js:461 -#: templates/js/build.js:790 +#: order/templates/order/sales_order_detail.html:100 templates/js/build.js:517 +#: templates/js/build.js:850 msgid "Delete stock allocation" msgstr "" @@ -3014,8 +3068,8 @@ msgstr "" msgid "ID" msgstr "" -#: order/templates/order/sales_order_detail.html:229 templates/js/build.js:523 -#: templates/js/build.js:785 +#: order/templates/order/sales_order_detail.html:229 templates/js/build.js:579 +#: templates/js/build.js:845 msgid "Allocated" msgstr "" @@ -3027,7 +3081,7 @@ msgstr "" msgid "Allocate serial numbers" msgstr "" -#: order/templates/order/sales_order_detail.html:282 templates/js/build.js:585 +#: order/templates/order/sales_order_detail.html:282 templates/js/build.js:641 msgid "Allocate stock" msgstr "" @@ -3035,8 +3089,8 @@ msgstr "" msgid "Purchase stock" msgstr "" -#: order/templates/order/sales_order_detail.html:289 templates/js/build.js:578 -#: templates/js/build.js:992 +#: order/templates/order/sales_order_detail.html:289 templates/js/build.js:634 +#: templates/js/build.js:1052 msgid "Build stock" msgstr "" @@ -5361,7 +5415,7 @@ msgstr "" msgid "Stock Item Details" msgstr "" -#: stock/templates/stock/item_base.html:278 templates/js/build.js:442 +#: stock/templates/stock/item_base.html:278 templates/js/build.js:498 msgid "No location set" msgstr "" @@ -5753,7 +5807,7 @@ msgstr "" msgid "Serialize Stock" msgstr "" -#: stock/views.py:1543 templates/js/build.js:210 +#: stock/views.py:1543 templates/js/build.js:244 msgid "Create new Stock Item" msgstr "" @@ -6197,7 +6251,7 @@ msgstr "" msgid "Barcode does not match a valid location" msgstr "" -#: templates/js/bom.js:175 templates/js/build.js:934 +#: templates/js/bom.js:175 templates/js/build.js:994 msgid "Open subassembly" msgstr "" @@ -6235,58 +6289,58 @@ msgstr "" msgid "Delete BOM Item" msgstr "" -#: templates/js/bom.js:447 templates/js/build.js:305 templates/js/build.js:1032 +#: templates/js/bom.js:447 templates/js/build.js:340 templates/js/build.js:1092 msgid "No BOM items found" msgstr "" -#: templates/js/build.js:56 +#: templates/js/build.js:62 msgid "Auto-allocate stock items to this output" msgstr "" -#: templates/js/build.js:62 -msgid "Complete build output" -msgstr "" - -#: templates/js/build.js:71 +#: templates/js/build.js:70 msgid "Unallocate stock from build output" msgstr "" -#: templates/js/build.js:77 +#: templates/js/build.js:80 +msgid "Complete build output" +msgstr "" + +#: templates/js/build.js:89 msgid "Delete build output" msgstr "" -#: templates/js/build.js:209 templates/stock_table.html:20 +#: templates/js/build.js:243 templates/stock_table.html:20 msgid "New Stock Item" msgstr "" -#: templates/js/build.js:493 +#: templates/js/build.js:549 msgid "Required Part" msgstr "" -#: templates/js/build.js:514 +#: templates/js/build.js:570 msgid "Quantity Per" msgstr "" -#: templates/js/build.js:582 templates/js/build.js:996 +#: templates/js/build.js:638 templates/js/build.js:1056 #: templates/stock_table.html:58 msgid "Order stock" msgstr "" -#: templates/js/build.js:632 +#: templates/js/build.js:691 msgid "No builds matching query" msgstr "" -#: templates/js/build.js:649 templates/js/part.js:324 templates/js/part.js:546 +#: templates/js/build.js:708 templates/js/part.js:324 templates/js/part.js:546 #: templates/js/stock.js:511 templates/js/stock.js:938 #: templates/js/stock.js:1331 msgid "Select" msgstr "" -#: templates/js/build.js:669 +#: templates/js/build.js:728 msgid "Build order is overdue" msgstr "" -#: templates/js/build.js:767 +#: templates/js/build.js:827 msgid "No parts allocated for" msgstr "" diff --git a/InvenTree/locale/ja/LC_MESSAGES/django.mo b/InvenTree/locale/ja/LC_MESSAGES/django.mo new file mode 100644 index 0000000000000000000000000000000000000000..314bedb17d5caa2d590b5786ba725a4f8d4dab37 GIT binary patch literal 373 zcmYL@K~KUk7=|%=+R?Lz9=z#?aKjD^l@(ZQw`B|xy;Z2QX0%INjQ$Y+p1;LT6M2&- z{l4^V`h1_Cef2_40vCbHz-iz*&}9^e!{u!_yUu?KYu@D6L%M^Fv`!g~Q9))8WI@q} zma8<+qEfcTdf={BJGej84l09DROC>~ch$XtM0knOBPAv991?<-Ip*orQ=ZX?3Fo1* zLc2zIV=<^-u(O&BC-Dewoy!`MtZ6lP9(e_nXC;eny&0%!xby_dd0@YiyQ@X}z^sIbT aGzTjhm>auy80q$Rb(3L?{>I55j(R`MJ7`q^ literal 0 HcmV?d00001 diff --git a/InvenTree/locale/ja/LC_MESSAGES/django.po b/InvenTree/locale/ja/LC_MESSAGES/django.po index 1df1660be4..ac326cd303 100644 --- a/InvenTree/locale/ja/LC_MESSAGES/django.po +++ b/InvenTree/locale/ja/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-04-21 12:28+1000\n" +"POT-Creation-Date: 2021-04-21 17:15+1000\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: FULL NAME \n" "Language-Team: LANGUAGE \n" @@ -34,8 +34,8 @@ msgstr "" msgid "Enter date" msgstr "" -#: InvenTree/forms.py:110 build/forms.py:99 build/forms.py:120 -#: build/forms.py:142 build/forms.py:166 build/forms.py:188 build/forms.py:223 +#: InvenTree/forms.py:110 build/forms.py:101 build/forms.py:122 +#: build/forms.py:144 build/forms.py:168 build/forms.py:184 build/forms.py:226 #: order/forms.py:27 order/forms.py:38 order/forms.py:49 order/forms.py:60 #: order/forms.py:71 part/forms.py:134 msgid "Confirm" @@ -154,7 +154,7 @@ msgstr "" #: templates/InvenTree/search.html:144 templates/InvenTree/search.html:224 #: templates/InvenTree/search.html:296 #: templates/InvenTree/settings/header.html:9 templates/js/bom.js:190 -#: templates/js/build.js:677 templates/js/build.js:944 +#: templates/js/build.js:736 templates/js/build.js:1004 #: templates/js/company.js:56 templates/js/order.js:183 #: templates/js/order.js:280 templates/js/part.js:169 templates/js/part.js:252 #: templates/js/part.js:371 templates/js/part.js:565 templates/js/part.js:643 @@ -203,60 +203,60 @@ msgstr "" msgid "InvenTree system health checks failed" msgstr "" -#: InvenTree/status_codes.py:94 InvenTree/status_codes.py:135 -#: InvenTree/status_codes.py:228 +#: InvenTree/status_codes.py:102 InvenTree/status_codes.py:143 +#: InvenTree/status_codes.py:236 msgid "Pending" msgstr "" -#: InvenTree/status_codes.py:95 +#: InvenTree/status_codes.py:103 msgid "Placed" msgstr "" -#: InvenTree/status_codes.py:96 InvenTree/status_codes.py:231 +#: InvenTree/status_codes.py:104 InvenTree/status_codes.py:239 msgid "Complete" msgstr "" -#: InvenTree/status_codes.py:97 InvenTree/status_codes.py:137 -#: InvenTree/status_codes.py:230 +#: InvenTree/status_codes.py:105 InvenTree/status_codes.py:145 +#: InvenTree/status_codes.py:238 msgid "Cancelled" msgstr "" -#: InvenTree/status_codes.py:98 InvenTree/status_codes.py:138 -#: InvenTree/status_codes.py:180 +#: InvenTree/status_codes.py:106 InvenTree/status_codes.py:146 +#: InvenTree/status_codes.py:188 msgid "Lost" msgstr "" -#: InvenTree/status_codes.py:99 InvenTree/status_codes.py:139 -#: InvenTree/status_codes.py:182 +#: InvenTree/status_codes.py:107 InvenTree/status_codes.py:147 +#: InvenTree/status_codes.py:190 msgid "Returned" msgstr "" -#: InvenTree/status_codes.py:136 +#: InvenTree/status_codes.py:144 #: order/templates/order/sales_order_base.html:124 msgid "Shipped" msgstr "" -#: InvenTree/status_codes.py:176 +#: InvenTree/status_codes.py:184 msgid "OK" msgstr "" -#: InvenTree/status_codes.py:177 +#: InvenTree/status_codes.py:185 msgid "Attention needed" msgstr "" -#: InvenTree/status_codes.py:178 +#: InvenTree/status_codes.py:186 msgid "Damaged" msgstr "" -#: InvenTree/status_codes.py:179 +#: InvenTree/status_codes.py:187 msgid "Destroyed" msgstr "" -#: InvenTree/status_codes.py:181 +#: InvenTree/status_codes.py:189 msgid "Rejected" msgstr "" -#: InvenTree/status_codes.py:229 +#: InvenTree/status_codes.py:237 msgid "Production" msgstr "" @@ -359,32 +359,33 @@ msgstr "" msgid "Barcode associated with StockItem" msgstr "" -#: build/forms.py:34 +#: build/forms.py:36 msgid "Build Order reference" msgstr "" -#: build/forms.py:35 +#: build/forms.py:37 msgid "Order target date" msgstr "" -#: build/forms.py:39 build/templates/build/build_base.html:107 +#: build/forms.py:41 build/templates/build/build_base.html:136 #: build/templates/build/detail.html:121 order/forms.py:109 order/forms.py:144 #: order/templates/order/order_base.html:124 #: order/templates/order/sales_order_base.html:117 #: report/templates/report/inventree_build_order_base.html:126 -#: templates/js/build.js:723 templates/js/order.js:200 +#: templates/js/build.js:783 templates/js/order.js:200 #: templates/js/order.js:298 msgid "Target Date" msgstr "" -#: build/forms.py:40 build/models.py:224 +#: build/forms.py:42 build/models.py:224 msgid "" "Target date for build completion. Build will be overdue after this date." msgstr "" -#: build/forms.py:45 build/forms.py:87 build/forms.py:257 build/models.py:1109 +#: build/forms.py:47 build/forms.py:89 build/forms.py:265 build/models.py:1227 +#: build/templates/build/allocation_card.html:23 #: build/templates/build/auto_allocate.html:17 -#: build/templates/build/build_base.html:94 +#: build/templates/build/build_base.html:123 #: build/templates/build/detail.html:31 common/models.py:703 #: company/forms.py:176 company/templates/company/supplier_part_pricing.html:77 #: order/forms.py:188 order/forms.py:205 order/forms.py:239 order/forms.py:261 @@ -408,87 +409,101 @@ msgstr "" #: stock/forms.py:175 stock/forms.py:308 stock/models.py:1566 #: stock/templates/stock/item_base.html:244 #: stock/templates/stock/stock_adjust.html:18 templates/js/barcode.js:364 -#: templates/js/bom.js:205 templates/js/build.js:420 templates/js/build.js:954 +#: templates/js/bom.js:205 templates/js/build.js:476 templates/js/build.js:1014 #: templates/js/stock.js:1033 templates/js/stock.js:1271 msgid "Quantity" msgstr "" -#: build/forms.py:46 +#: build/forms.py:48 msgid "Number of items to build" msgstr "" -#: build/forms.py:88 +#: build/forms.py:90 msgid "Enter quantity for build output" msgstr "" -#: build/forms.py:92 order/forms.py:233 stock/forms.py:118 +#: build/forms.py:94 order/forms.py:233 stock/forms.py:118 msgid "Serial Numbers" msgstr "" -#: build/forms.py:94 +#: build/forms.py:96 msgid "Enter serial numbers for build outputs" msgstr "" -#: build/forms.py:100 +#: build/forms.py:102 msgid "Confirm creation of build output" msgstr "" -#: build/forms.py:121 +#: build/forms.py:123 msgid "Confirm deletion of build output" msgstr "" -#: build/forms.py:142 +#: build/forms.py:144 msgid "Confirm unallocation of stock" msgstr "" -#: build/forms.py:166 +#: build/forms.py:168 msgid "Confirm stock allocation" msgstr "" -#: build/forms.py:189 +#: build/forms.py:185 msgid "Mark build as complete" msgstr "" -#: build/forms.py:213 build/templates/build/auto_allocate.html:18 +#: build/forms.py:209 build/templates/build/auto_allocate.html:18 #: order/forms.py:82 stock/forms.py:347 #: stock/templates/stock/item_base.html:274 #: 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:434 +#: templates/js/barcode.js:531 templates/js/build.js:490 #: templates/js/stock.js:641 msgid "Location" msgstr "" -#: build/forms.py:214 +#: build/forms.py:210 msgid "Location of completed parts" msgstr "" -#: build/forms.py:219 +#: build/forms.py:214 build/templates/build/build_base.html:128 +#: build/templates/build/detail.html:59 order/models.py:445 +#: order/templates/order/receive_parts.html:24 +#: stock/templates/stock/item_base.html:392 templates/InvenTree/search.html:252 +#: templates/js/barcode.js:119 templates/js/build.js:770 +#: templates/js/order.js:187 templates/js/order.js:285 +#: templates/js/stock.js:628 templates/js/stock.js:1279 +msgid "Status" +msgstr "" + +#: build/forms.py:215 +msgid "Build output stock status" +msgstr "" + +#: build/forms.py:222 msgid "Confirm incomplete" msgstr "" -#: build/forms.py:220 +#: build/forms.py:223 msgid "Confirm completion with incomplete stock allocation" msgstr "" -#: build/forms.py:223 +#: build/forms.py:226 msgid "Confirm build completion" msgstr "" -#: build/forms.py:243 +#: build/forms.py:251 msgid "Confirm cancel" msgstr "" -#: build/forms.py:243 build/views.py:66 +#: build/forms.py:251 build/views.py:66 msgid "Confirm build cancellation" msgstr "" -#: build/forms.py:257 +#: build/forms.py:265 msgid "Select quantity of stock to allocate" msgstr "" #: build/models.py:65 build/templates/build/build_base.html:9 -#: build/templates/build/build_base.html:38 +#: build/templates/build/build_base.html:63 #: part/templates/part/allocation.html:23 #: report/templates/report/inventree_build_order_base.html:106 msgid "Build Order" @@ -513,7 +528,7 @@ msgstr "" #: order/templates/order/sales_order_detail.html:219 part/models.py:2187 #: report/templates/report/inventree_po_report.html:92 #: report/templates/report/inventree_so_report.html:92 templates/js/bom.js:197 -#: templates/js/build.js:509 templates/js/build.js:948 +#: templates/js/build.js:565 templates/js/build.js:1008 msgid "Reference" msgstr "" @@ -521,7 +536,7 @@ msgstr "" msgid "Brief description of the build" msgstr "" -#: build/models.py:146 build/templates/build/build_base.html:124 +#: build/models.py:146 build/templates/build/build_base.html:153 #: build/templates/build/detail.html:77 msgid "Parent Build" msgstr "" @@ -531,7 +546,7 @@ msgid "BuildOrder to which this build is allocated" msgstr "" #: build/models.py:152 build/templates/build/auto_allocate.html:16 -#: build/templates/build/build_base.html:89 +#: build/templates/build/build_base.html:118 #: build/templates/build/detail.html:26 company/models.py:669 #: order/models.py:637 order/models.py:669 #: order/templates/order/order_wizard/select_parts.html:30 @@ -548,7 +563,7 @@ msgstr "" #: report/templates/report/inventree_so_report.html:90 #: templates/InvenTree/search.html:112 templates/InvenTree/search.html:210 #: templates/js/barcode.js:362 templates/js/bom.js:163 -#: templates/js/build.js:681 templates/js/build.js:921 +#: templates/js/build.js:741 templates/js/build.js:981 #: templates/js/company.js:140 templates/js/company.js:238 #: templates/js/part.js:233 templates/js/part.js:338 templates/js/stock.js:523 #: templates/js/stock.js:1343 @@ -626,7 +641,7 @@ msgstr "" msgid "Target completion date" msgstr "" -#: build/models.py:227 order/models.py:218 +#: build/models.py:227 order/models.py:218 templates/js/build.js:788 msgid "Completion Date" msgstr "" @@ -642,7 +657,7 @@ msgstr "" msgid "User who issued this build order" msgstr "" -#: build/models.py:250 build/templates/build/build_base.html:145 +#: build/models.py:250 build/templates/build/build_base.html:174 #: build/templates/build/detail.html:105 order/models.py:119 #: order/templates/order/order_base.html:138 #: order/templates/order/sales_order_base.html:138 part/models.py:886 @@ -668,7 +683,7 @@ msgstr "" msgid "Link to external URL" msgstr "" -#: build/models.py:261 build/templates/build/navbar.html:59 +#: build/models.py:261 build/templates/build/navbar.html:53 #: company/models.py:135 company/models.py:501 #: company/templates/company/navbar.html:70 #: company/templates/company/navbar.html:73 order/models.py:123 @@ -691,87 +706,88 @@ msgstr "" msgid "Extra build notes" msgstr "" -#: build/models.py:673 +#: build/models.py:739 msgid "No build output specified" msgstr "" -#: build/models.py:676 +#: build/models.py:742 msgid "Build output is already completed" msgstr "" -#: build/models.py:679 +#: build/models.py:745 msgid "Build output does not match Build Order" msgstr "" -#: build/models.py:754 +#: build/models.py:838 msgid "Completed build output" msgstr "" -#: build/models.py:1002 +#: build/models.py:1118 msgid "BuildItem must be unique for build, stock_item and install_into" msgstr "" -#: build/models.py:1024 -msgid "Build item must specify a build output" +#: build/models.py:1143 +msgid "" +"Build item must specify a build output, as master part is marked as trackable" msgstr "" -#: build/models.py:1029 +#: build/models.py:1147 #, python-brace-format msgid "Selected stock item not found in BOM for part '{p}'" msgstr "" -#: build/models.py:1033 +#: build/models.py:1151 #, python-brace-format msgid "Allocated quantity ({n}) must not exceed available quantity ({q})" msgstr "" -#: build/models.py:1040 order/models.py:758 +#: build/models.py:1158 order/models.py:758 msgid "StockItem is over-allocated" msgstr "" -#: build/models.py:1044 order/models.py:761 +#: build/models.py:1162 order/models.py:761 msgid "Allocation quantity must be greater than zero" msgstr "" -#: build/models.py:1048 +#: build/models.py:1166 msgid "Quantity must be 1 for serialized stock" msgstr "" -#: build/models.py:1088 stock/templates/stock/item_base.html:306 -#: templates/InvenTree/search.html:183 templates/js/build.js:655 +#: build/models.py:1206 stock/templates/stock/item_base.html:306 +#: templates/InvenTree/search.html:183 templates/js/build.js:714 #: templates/navbar.html:29 msgid "Build" msgstr "" -#: build/models.py:1089 +#: build/models.py:1207 msgid "Build to allocate parts" msgstr "" -#: build/models.py:1096 part/templates/part/allocation.html:18 +#: build/models.py:1214 part/templates/part/allocation.html:18 #: part/templates/part/allocation.html:24 #: part/templates/part/allocation.html:31 #: part/templates/part/allocation.html:49 #: stock/templates/stock/item_base.html:8 #: stock/templates/stock/item_base.html:93 #: stock/templates/stock/item_base.html:328 -#: stock/templates/stock/stock_adjust.html:16 templates/js/build.js:771 +#: stock/templates/stock/stock_adjust.html:16 templates/js/build.js:831 #: templates/js/stock.js:1004 templates/js/stock.js:1262 msgid "Stock Item" msgstr "" -#: build/models.py:1097 +#: build/models.py:1215 msgid "Source stock item" msgstr "" -#: build/models.py:1110 +#: build/models.py:1228 msgid "Stock quantity to allocate to build" msgstr "" -#: build/models.py:1118 +#: build/models.py:1236 msgid "Install into" msgstr "" -#: build/models.py:1119 +#: build/models.py:1237 msgid "Destination stock item" msgstr "" @@ -780,54 +796,60 @@ msgid "Allocate Parts" msgstr "" #: build/templates/build/allocate.html:15 -msgid "Incomplete Build Ouputs" +msgid "Allocate Stock to Build" msgstr "" -#: build/templates/build/allocate.html:21 -msgid "Build order has been completed" +#: build/templates/build/allocate.html:22 +msgid "Allocate stock to build" msgstr "" -#: build/templates/build/allocate.html:26 -msgid "Create new build output" +#: build/templates/build/allocate.html:23 +msgid "Auto Allocate" msgstr "" -#: build/templates/build/allocate.html:27 -msgid "Create New Output" +#: build/templates/build/allocate.html:25 templates/js/build.js:646 +msgid "Unallocate stock" msgstr "" -#: build/templates/build/allocate.html:30 +#: build/templates/build/allocate.html:26 build/views.py:308 build/views.py:794 +msgid "Unallocate Stock" +msgstr "" + +#: build/templates/build/allocate.html:29 msgid "Order required parts" msgstr "" -#: build/templates/build/allocate.html:31 +#: build/templates/build/allocate.html:30 #: company/templates/company/detail_manufacturer_part.html:33 #: company/templates/company/detail_supplier_part.html:32 order/views.py:794 #: part/templates/part/category.html:127 msgid "Order Parts" msgstr "" -#: build/templates/build/allocate.html:34 templates/js/build.js:590 -msgid "Unallocate stock" +#: build/templates/build/allocate.html:36 +msgid "Untracked stock has been fully allocated for this Build Order" msgstr "" -#: build/templates/build/allocate.html:35 build/views.py:338 build/views.py:784 -msgid "Unallocate Stock" +#: build/templates/build/allocate.html:40 +msgid "Untracked stock has not been fully allocated for this Build Order" msgstr "" -#: build/templates/build/allocate.html:49 -msgid "Create a new build output" +#: build/templates/build/allocate.html:47 +msgid "This Build Order does not have any associated untracked BOM items" msgstr "" -#: build/templates/build/allocate.html:50 -msgid "No incomplete build outputs remain." -msgstr "" - -#: build/templates/build/allocate.html:51 -msgid "Create a new build output using the button above" +#: build/templates/build/allocation_card.html:21 +#: build/templates/build/complete_output.html:46 +#: order/templates/order/sales_order_detail.html:75 +#: order/templates/order/sales_order_detail.html:157 +#: report/templates/report/inventree_test_report_base.html:75 +#: stock/models.py:420 stock/templates/stock/item_base.html:238 +#: templates/js/build.js:474 +msgid "Serial Number" msgstr "" #: build/templates/build/attachments.html:12 -#: build/templates/build/navbar.html:49 build/templates/build/navbar.html:52 +#: build/templates/build/navbar.html:43 build/templates/build/navbar.html:46 #: order/templates/order/po_navbar.html:26 #: order/templates/order/so_navbar.html:29 part/templates/part/navbar.html:119 #: part/templates/part/navbar.html:122 stock/templates/stock/navbar.html:47 @@ -862,7 +884,23 @@ msgstr "" msgid "This Build Order is a child of Build Order %(link)s" msgstr "" -#: build/templates/build/build_base.html:40 +#: build/templates/build/build_base.html:31 +msgid "Build Order is ready to mark as completed" +msgstr "" + +#: build/templates/build/build_base.html:36 +msgid "Build Order cannot be completed as outstanding outputs remain" +msgstr "" + +#: build/templates/build/build_base.html:41 +msgid "Required build quantity has not yet been completed" +msgstr "" + +#: build/templates/build/build_base.html:46 +msgid "Stock has not been fully allocated to this Build Order" +msgstr "" + +#: build/templates/build/build_base.html:65 #: company/templates/company/company_base.html:40 #: company/templates/company/manufacturer_part_base.html:25 #: company/templates/company/supplier_part_base.html:26 @@ -874,8 +912,8 @@ msgstr "" msgid "Admin view" msgstr "" -#: build/templates/build/build_base.html:46 -#: build/templates/build/build_base.html:111 +#: build/templates/build/build_base.html:71 +#: build/templates/build/build_base.html:140 #: order/templates/order/order_base.html:32 #: order/templates/order/order_base.html:86 #: order/templates/order/sales_order_base.html:41 @@ -885,58 +923,48 @@ msgstr "" msgid "Overdue" msgstr "" -#: build/templates/build/build_base.html:55 +#: build/templates/build/build_base.html:80 msgid "Print actions" msgstr "" -#: build/templates/build/build_base.html:59 +#: build/templates/build/build_base.html:84 msgid "Print Build Order" msgstr "" -#: build/templates/build/build_base.html:65 -msgid "Build actions" -msgstr "" - -#: build/templates/build/build_base.html:69 -msgid "Edit Build" -msgstr "" - -#: build/templates/build/build_base.html:71 -#: build/templates/build/build_base.html:179 +#: build/templates/build/build_base.html:90 +#: build/templates/build/build_base.html:215 msgid "Complete Build" msgstr "" -#: build/templates/build/build_base.html:72 -#: build/templates/build/build_base.html:170 build/views.py:57 +#: build/templates/build/build_base.html:95 +msgid "Build actions" +msgstr "" + +#: build/templates/build/build_base.html:99 +msgid "Edit Build" +msgstr "" + +#: build/templates/build/build_base.html:101 +#: build/templates/build/build_base.html:199 build/views.py:57 msgid "Cancel Build" msgstr "" -#: build/templates/build/build_base.html:85 +#: build/templates/build/build_base.html:114 #: build/templates/build/detail.html:11 msgid "Build Details" msgstr "" -#: build/templates/build/build_base.html:99 -#: build/templates/build/detail.html:59 order/models.py:445 -#: order/templates/order/receive_parts.html:24 -#: stock/templates/stock/item_base.html:392 templates/InvenTree/search.html:252 -#: templates/js/barcode.js:119 templates/js/build.js:710 -#: templates/js/order.js:187 templates/js/order.js:285 -#: templates/js/stock.js:628 templates/js/stock.js:1279 -msgid "Status" -msgstr "" - -#: build/templates/build/build_base.html:111 +#: build/templates/build/build_base.html:140 #, python-format msgid "This build was due on %(target)s" msgstr "" -#: build/templates/build/build_base.html:118 +#: build/templates/build/build_base.html:147 #: build/templates/build/detail.html:64 msgid "Progress" msgstr "" -#: build/templates/build/build_base.html:131 +#: build/templates/build/build_base.html:160 #: build/templates/build/detail.html:84 order/models.py:667 #: order/templates/order/sales_order_base.html:9 #: order/templates/order/sales_order_base.html:33 @@ -948,20 +976,51 @@ msgstr "" msgid "Sales Order" msgstr "" -#: build/templates/build/build_base.html:138 +#: build/templates/build/build_base.html:167 #: build/templates/build/detail.html:98 #: report/templates/report/inventree_build_order_base.html:153 msgid "Issued By" msgstr "" +#: build/templates/build/build_base.html:207 +msgid "Incomplete Outputs" +msgstr "" + +#: build/templates/build/build_base.html:208 +msgid "Build Order cannot be completed as incomplete build outputs remain" +msgstr "" + #: build/templates/build/build_children.html:10 -#: build/templates/build/navbar.html:42 +#: build/templates/build/navbar.html:36 msgid "Child Build Orders" msgstr "" -#: build/templates/build/build_output.html:10 -#: build/templates/build/navbar.html:35 build/templates/build/navbar.html:38 -msgid "Build Outputs" +#: build/templates/build/build_output.html:15 +msgid "Incomplete Build Outputs" +msgstr "" + +#: build/templates/build/build_output.html:22 +msgid "Create new build output" +msgstr "" + +#: build/templates/build/build_output.html:23 +msgid "Create New Output" +msgstr "" + +#: build/templates/build/build_output.html:36 +msgid "Create a new build output" +msgstr "" + +#: build/templates/build/build_output.html:37 +msgid "No incomplete build outputs remain." +msgstr "" + +#: build/templates/build/build_output.html:38 +msgid "Create a new build output using the button above" +msgstr "" + +#: build/templates/build/build_output.html:49 +msgid "Completed Build Outputs" msgstr "" #: build/templates/build/build_output_create.html:7 @@ -989,11 +1048,11 @@ msgid "Are you sure you wish to cancel this build?" msgstr "" #: build/templates/build/complete.html:8 -msgid "Build can be completed" +msgid "Build Order is complete" msgstr "" #: build/templates/build/complete.html:12 -msgid "Build cannot be completed" +msgid "Build Order is incomplete" msgstr "" #: build/templates/build/complete.html:15 @@ -1004,19 +1063,23 @@ msgstr "" msgid "Required build quantity has not been completed" msgstr "" -#: build/templates/build/complete_output.html:9 -msgid "Stock allocation is complete" +#: build/templates/build/complete.html:21 +msgid "Required stock has not been fully allocated" msgstr "" -#: build/templates/build/complete_output.html:13 +#: build/templates/build/complete_output.html:10 +msgid "Stock allocation is complete for this output" +msgstr "" + +#: build/templates/build/complete_output.html:14 msgid "Stock allocation is incomplete" msgstr "" -#: build/templates/build/complete_output.html:19 -msgid "parts have not been fully allocated" +#: build/templates/build/complete_output.html:20 +msgid "tracked parts have not been fully allocated" msgstr "" -#: build/templates/build/complete_output.html:40 +#: build/templates/build/complete_output.html:41 msgid "The following items will be created" msgstr "" @@ -1069,7 +1132,7 @@ msgstr "" #: build/templates/build/detail.html:116 #: order/templates/order/order_base.html:111 -#: order/templates/order/sales_order_base.html:111 templates/js/build.js:718 +#: order/templates/order/sales_order_base.html:111 templates/js/build.js:778 msgid "Created" msgstr "" @@ -1077,8 +1140,7 @@ msgstr "" msgid "No target date set" msgstr "" -#: build/templates/build/detail.html:132 templates/js/build.js:696 -#: templates/js/build.js:728 +#: build/templates/build/detail.html:132 templates/js/build.js:756 msgid "Completed" msgstr "" @@ -1090,7 +1152,7 @@ msgstr "" msgid "Alter the quantity of stock allocated to the build output" msgstr "" -#: build/templates/build/index.html:28 build/views.py:657 +#: build/templates/build/index.html:28 build/views.py:667 msgid "New Build Order" msgstr "" @@ -1121,20 +1183,20 @@ msgstr "" msgid "Details" msgstr "" -#: build/templates/build/navbar.html:20 build/templates/build/navbar.html:23 -#: build/templates/build/parts.html:11 -msgid "Required Parts" +#: build/templates/build/navbar.html:21 build/templates/build/navbar.html:24 +#: build/views.py:91 +msgid "Allocate Stock" msgstr "" -#: build/templates/build/navbar.html:27 build/templates/build/navbar.html:30 -msgid "In Progress" +#: build/templates/build/navbar.html:29 build/templates/build/navbar.html:32 +msgid "Build Outputs" msgstr "" -#: build/templates/build/navbar.html:45 +#: build/templates/build/navbar.html:39 msgid "Child Builds" msgstr "" -#: build/templates/build/navbar.html:56 +#: build/templates/build/navbar.html:50 msgid "Build Order Notes" msgstr "" @@ -1169,66 +1231,66 @@ msgstr "" msgid "Build was cancelled" msgstr "" -#: build/views.py:91 -msgid "Allocate Stock" -msgstr "" - -#: build/views.py:154 build/views.py:314 build/views.py:485 -msgid "Build output must be specified" -msgstr "" - -#: build/views.py:168 +#: build/views.py:138 msgid "Allocated stock to build output" msgstr "" -#: build/views.py:180 +#: build/views.py:150 msgid "Create Build Output" msgstr "" -#: build/views.py:203 stock/models.py:969 stock/views.py:1789 +#: build/views.py:173 stock/models.py:969 stock/views.py:1789 msgid "Serial numbers already exist" msgstr "" -#: build/views.py:212 +#: build/views.py:182 msgid "Serial numbers required for trackable build output" msgstr "" -#: build/views.py:278 +#: build/views.py:248 msgid "Delete Build Output" msgstr "" -#: build/views.py:299 build/views.py:383 +#: build/views.py:269 build/views.py:359 msgid "Confirm unallocation of build stock" msgstr "" -#: build/views.py:300 build/views.py:384 stock/views.py:425 +#: build/views.py:270 build/views.py:360 stock/views.py:425 msgid "Check the confirmation box" msgstr "" -#: build/views.py:312 +#: build/views.py:282 msgid "Build output does not match build" msgstr "" -#: build/views.py:326 +#: build/views.py:284 build/views.py:485 +msgid "Build output must be specified" +msgstr "" + +#: build/views.py:296 msgid "Build output deleted" msgstr "" -#: build/views.py:408 +#: build/views.py:394 msgid "Complete Build Order" msgstr "" -#: build/views.py:414 -msgid "Build order cannot be completed" +#: build/views.py:400 +msgid "Build order cannot be completed - incomplete outputs remain" msgstr "" -#: build/views.py:425 +#: build/views.py:411 msgid "Completed build order" msgstr "" -#: build/views.py:441 +#: build/views.py:427 msgid "Complete Build Output" msgstr "" +#: build/views.py:469 +msgid "Invalid stock status value selected" +msgstr "" + #: build/views.py:476 msgid "Quantity to complete cannot exceed build output quantity" msgstr "" @@ -1237,81 +1299,81 @@ msgstr "" msgid "Confirm completion of incomplete build" msgstr "" -#: build/views.py:573 +#: build/views.py:581 msgid "Build output completed" msgstr "" -#: build/views.py:711 +#: build/views.py:721 msgid "Created new build" msgstr "" -#: build/views.py:732 +#: build/views.py:742 msgid "Edit Build Order Details" msgstr "" -#: build/views.py:765 +#: build/views.py:775 msgid "Edited build" msgstr "" -#: build/views.py:774 +#: build/views.py:784 msgid "Delete Build Order" msgstr "" -#: build/views.py:789 +#: build/views.py:799 msgid "Removed parts from build allocation" msgstr "" -#: build/views.py:801 +#: build/views.py:811 msgid "Allocate stock to build output" msgstr "" -#: build/views.py:844 +#: build/views.py:854 msgid "Item must be currently in stock" msgstr "" -#: build/views.py:850 +#: build/views.py:860 msgid "Stock item is over-allocated" msgstr "" -#: build/views.py:851 templates/js/bom.js:230 templates/js/build.js:519 -#: templates/js/build.js:778 templates/js/build.js:961 +#: build/views.py:861 templates/js/bom.js:230 templates/js/build.js:575 +#: templates/js/build.js:838 templates/js/build.js:1021 msgid "Available" msgstr "" -#: build/views.py:853 +#: build/views.py:863 msgid "Stock item must be selected" msgstr "" -#: build/views.py:1016 +#: build/views.py:1026 msgid "Edit Stock Allocation" msgstr "" -#: build/views.py:1020 +#: build/views.py:1030 msgid "Updated Build Item" msgstr "" -#: build/views.py:1049 +#: build/views.py:1059 msgid "Add Build Order Attachment" msgstr "" -#: build/views.py:1062 order/views.py:110 order/views.py:162 part/views.py:172 +#: build/views.py:1072 order/views.py:110 order/views.py:162 part/views.py:172 #: stock/views.py:277 msgid "Added attachment" msgstr "" -#: build/views.py:1098 order/views.py:189 order/views.py:210 +#: build/views.py:1108 order/views.py:189 order/views.py:210 msgid "Edit Attachment" msgstr "" -#: build/views.py:1108 order/views.py:193 order/views.py:214 +#: build/views.py:1118 order/views.py:193 order/views.py:214 msgid "Attachment updated" msgstr "" -#: build/views.py:1118 order/views.py:229 order/views.py:243 +#: build/views.py:1128 order/views.py:229 order/views.py:243 msgid "Delete Attachment" msgstr "" -#: build/views.py:1123 order/views.py:235 order/views.py:249 stock/views.py:333 +#: build/views.py:1133 order/views.py:235 order/views.py:249 stock/views.py:333 msgid "Deleted attachment" msgstr "" @@ -1919,7 +1981,7 @@ msgstr "" #: company/templates/company/assigned_stock.html:10 #: company/templates/company/navbar.html:62 -#: company/templates/company/navbar.html:65 templates/js/build.js:411 +#: company/templates/company/navbar.html:65 templates/js/build.js:467 msgid "Assigned Stock" msgstr "" @@ -2983,26 +3045,18 @@ msgstr "" msgid "Sales Order Items" msgstr "" -#: order/templates/order/sales_order_detail.html:75 -#: order/templates/order/sales_order_detail.html:157 -#: report/templates/report/inventree_test_report_base.html:75 -#: stock/models.py:420 stock/templates/stock/item_base.html:238 -#: templates/js/build.js:418 -msgid "Serial Number" -msgstr "" - #: order/templates/order/sales_order_detail.html:92 templates/js/bom.js:342 -#: templates/js/build.js:571 templates/js/build.js:984 +#: templates/js/build.js:627 templates/js/build.js:1044 msgid "Actions" msgstr "" -#: order/templates/order/sales_order_detail.html:99 templates/js/build.js:459 -#: templates/js/build.js:789 +#: order/templates/order/sales_order_detail.html:99 templates/js/build.js:515 +#: templates/js/build.js:849 msgid "Edit stock allocation" msgstr "" -#: order/templates/order/sales_order_detail.html:100 templates/js/build.js:461 -#: templates/js/build.js:790 +#: order/templates/order/sales_order_detail.html:100 templates/js/build.js:517 +#: templates/js/build.js:850 msgid "Delete stock allocation" msgstr "" @@ -3014,8 +3068,8 @@ msgstr "" msgid "ID" msgstr "" -#: order/templates/order/sales_order_detail.html:229 templates/js/build.js:523 -#: templates/js/build.js:785 +#: order/templates/order/sales_order_detail.html:229 templates/js/build.js:579 +#: templates/js/build.js:845 msgid "Allocated" msgstr "" @@ -3027,7 +3081,7 @@ msgstr "" msgid "Allocate serial numbers" msgstr "" -#: order/templates/order/sales_order_detail.html:282 templates/js/build.js:585 +#: order/templates/order/sales_order_detail.html:282 templates/js/build.js:641 msgid "Allocate stock" msgstr "" @@ -3035,8 +3089,8 @@ msgstr "" msgid "Purchase stock" msgstr "" -#: order/templates/order/sales_order_detail.html:289 templates/js/build.js:578 -#: templates/js/build.js:992 +#: order/templates/order/sales_order_detail.html:289 templates/js/build.js:634 +#: templates/js/build.js:1052 msgid "Build stock" msgstr "" @@ -5361,7 +5415,7 @@ msgstr "" msgid "Stock Item Details" msgstr "" -#: stock/templates/stock/item_base.html:278 templates/js/build.js:442 +#: stock/templates/stock/item_base.html:278 templates/js/build.js:498 msgid "No location set" msgstr "" @@ -5753,7 +5807,7 @@ msgstr "" msgid "Serialize Stock" msgstr "" -#: stock/views.py:1543 templates/js/build.js:210 +#: stock/views.py:1543 templates/js/build.js:244 msgid "Create new Stock Item" msgstr "" @@ -6197,7 +6251,7 @@ msgstr "" msgid "Barcode does not match a valid location" msgstr "" -#: templates/js/bom.js:175 templates/js/build.js:934 +#: templates/js/bom.js:175 templates/js/build.js:994 msgid "Open subassembly" msgstr "" @@ -6235,58 +6289,58 @@ msgstr "" msgid "Delete BOM Item" msgstr "" -#: templates/js/bom.js:447 templates/js/build.js:305 templates/js/build.js:1032 +#: templates/js/bom.js:447 templates/js/build.js:340 templates/js/build.js:1092 msgid "No BOM items found" msgstr "" -#: templates/js/build.js:56 +#: templates/js/build.js:62 msgid "Auto-allocate stock items to this output" msgstr "" -#: templates/js/build.js:62 -msgid "Complete build output" -msgstr "" - -#: templates/js/build.js:71 +#: templates/js/build.js:70 msgid "Unallocate stock from build output" msgstr "" -#: templates/js/build.js:77 +#: templates/js/build.js:80 +msgid "Complete build output" +msgstr "" + +#: templates/js/build.js:89 msgid "Delete build output" msgstr "" -#: templates/js/build.js:209 templates/stock_table.html:20 +#: templates/js/build.js:243 templates/stock_table.html:20 msgid "New Stock Item" msgstr "" -#: templates/js/build.js:493 +#: templates/js/build.js:549 msgid "Required Part" msgstr "" -#: templates/js/build.js:514 +#: templates/js/build.js:570 msgid "Quantity Per" msgstr "" -#: templates/js/build.js:582 templates/js/build.js:996 +#: templates/js/build.js:638 templates/js/build.js:1056 #: templates/stock_table.html:58 msgid "Order stock" msgstr "" -#: templates/js/build.js:632 +#: templates/js/build.js:691 msgid "No builds matching query" msgstr "" -#: templates/js/build.js:649 templates/js/part.js:324 templates/js/part.js:546 +#: templates/js/build.js:708 templates/js/part.js:324 templates/js/part.js:546 #: templates/js/stock.js:511 templates/js/stock.js:938 #: templates/js/stock.js:1331 msgid "Select" msgstr "" -#: templates/js/build.js:669 +#: templates/js/build.js:728 msgid "Build order is overdue" msgstr "" -#: templates/js/build.js:767 +#: templates/js/build.js:827 msgid "No parts allocated for" msgstr "" diff --git a/InvenTree/locale/pl/LC_MESSAGES/django.mo b/InvenTree/locale/pl/LC_MESSAGES/django.mo new file mode 100644 index 0000000000000000000000000000000000000000..16fcd00009b4b2229c050ee6bcb41074b1b3e6a5 GIT binary patch literal 526 zcmYLD!A`id0yzv8AMdiQZONYfarH+r?>~CNTZj`xQFX)@E-&#dIR7=&>P1Wq@n_^t=sZ=D!qDs7 zdVL0WEFSsMz>39OX+y$1NoVAGk>q5oC|JXY#NsV2G^ERopm5K;n1m7OdTY^Q2l9VLyBX!kM4JVv~m(|N{I*?{RY*SRq6WZWb5l2^of5}GhM zRkKtk6zY$uv4+_~^NjSAe$6S!`Rbdy=M7l5?vZp|2d=;d3PC|AkTrKRDgPSXGP$c(I|3_-Mb}4o$1^@TxMLEAL=jeu4f9=q3eYS>Y&ngXT F;|CsCh_wI! literal 0 HcmV?d00001 diff --git a/InvenTree/locale/pl/LC_MESSAGES/django.po b/InvenTree/locale/pl/LC_MESSAGES/django.po index 78d68fc969..49817cc3e3 100644 --- a/InvenTree/locale/pl/LC_MESSAGES/django.po +++ b/InvenTree/locale/pl/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-04-21 12:28+1000\n" +"POT-Creation-Date: 2021-04-21 17:15+1000\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: FULL NAME \n" "Language-Team: LANGUAGE \n" @@ -36,8 +36,8 @@ msgstr "" msgid "Enter date" msgstr "" -#: InvenTree/forms.py:110 build/forms.py:99 build/forms.py:120 -#: build/forms.py:142 build/forms.py:166 build/forms.py:188 build/forms.py:223 +#: InvenTree/forms.py:110 build/forms.py:101 build/forms.py:122 +#: build/forms.py:144 build/forms.py:168 build/forms.py:184 build/forms.py:226 #: order/forms.py:27 order/forms.py:38 order/forms.py:49 order/forms.py:60 #: order/forms.py:71 part/forms.py:134 msgid "Confirm" @@ -156,7 +156,7 @@ msgstr "" #: templates/InvenTree/search.html:144 templates/InvenTree/search.html:224 #: templates/InvenTree/search.html:296 #: templates/InvenTree/settings/header.html:9 templates/js/bom.js:190 -#: templates/js/build.js:677 templates/js/build.js:944 +#: templates/js/build.js:736 templates/js/build.js:1004 #: templates/js/company.js:56 templates/js/order.js:183 #: templates/js/order.js:280 templates/js/part.js:169 templates/js/part.js:252 #: templates/js/part.js:371 templates/js/part.js:565 templates/js/part.js:643 @@ -205,60 +205,60 @@ msgstr "" msgid "InvenTree system health checks failed" msgstr "" -#: InvenTree/status_codes.py:94 InvenTree/status_codes.py:135 -#: InvenTree/status_codes.py:228 +#: InvenTree/status_codes.py:102 InvenTree/status_codes.py:143 +#: InvenTree/status_codes.py:236 msgid "Pending" msgstr "" -#: InvenTree/status_codes.py:95 +#: InvenTree/status_codes.py:103 msgid "Placed" msgstr "" -#: InvenTree/status_codes.py:96 InvenTree/status_codes.py:231 +#: InvenTree/status_codes.py:104 InvenTree/status_codes.py:239 msgid "Complete" msgstr "" -#: InvenTree/status_codes.py:97 InvenTree/status_codes.py:137 -#: InvenTree/status_codes.py:230 +#: InvenTree/status_codes.py:105 InvenTree/status_codes.py:145 +#: InvenTree/status_codes.py:238 msgid "Cancelled" msgstr "" -#: InvenTree/status_codes.py:98 InvenTree/status_codes.py:138 -#: InvenTree/status_codes.py:180 +#: InvenTree/status_codes.py:106 InvenTree/status_codes.py:146 +#: InvenTree/status_codes.py:188 msgid "Lost" msgstr "" -#: InvenTree/status_codes.py:99 InvenTree/status_codes.py:139 -#: InvenTree/status_codes.py:182 +#: InvenTree/status_codes.py:107 InvenTree/status_codes.py:147 +#: InvenTree/status_codes.py:190 msgid "Returned" msgstr "" -#: InvenTree/status_codes.py:136 +#: InvenTree/status_codes.py:144 #: order/templates/order/sales_order_base.html:124 msgid "Shipped" msgstr "" -#: InvenTree/status_codes.py:176 +#: InvenTree/status_codes.py:184 msgid "OK" msgstr "" -#: InvenTree/status_codes.py:177 +#: InvenTree/status_codes.py:185 msgid "Attention needed" msgstr "" -#: InvenTree/status_codes.py:178 +#: InvenTree/status_codes.py:186 msgid "Damaged" msgstr "" -#: InvenTree/status_codes.py:179 +#: InvenTree/status_codes.py:187 msgid "Destroyed" msgstr "" -#: InvenTree/status_codes.py:181 +#: InvenTree/status_codes.py:189 msgid "Rejected" msgstr "" -#: InvenTree/status_codes.py:229 +#: InvenTree/status_codes.py:237 msgid "Production" msgstr "" @@ -361,32 +361,33 @@ msgstr "" msgid "Barcode associated with StockItem" msgstr "" -#: build/forms.py:34 +#: build/forms.py:36 msgid "Build Order reference" msgstr "" -#: build/forms.py:35 +#: build/forms.py:37 msgid "Order target date" msgstr "" -#: build/forms.py:39 build/templates/build/build_base.html:107 +#: build/forms.py:41 build/templates/build/build_base.html:136 #: build/templates/build/detail.html:121 order/forms.py:109 order/forms.py:144 #: order/templates/order/order_base.html:124 #: order/templates/order/sales_order_base.html:117 #: report/templates/report/inventree_build_order_base.html:126 -#: templates/js/build.js:723 templates/js/order.js:200 +#: templates/js/build.js:783 templates/js/order.js:200 #: templates/js/order.js:298 msgid "Target Date" msgstr "" -#: build/forms.py:40 build/models.py:224 +#: build/forms.py:42 build/models.py:224 msgid "" "Target date for build completion. Build will be overdue after this date." msgstr "" -#: build/forms.py:45 build/forms.py:87 build/forms.py:257 build/models.py:1109 +#: build/forms.py:47 build/forms.py:89 build/forms.py:265 build/models.py:1227 +#: build/templates/build/allocation_card.html:23 #: build/templates/build/auto_allocate.html:17 -#: build/templates/build/build_base.html:94 +#: build/templates/build/build_base.html:123 #: build/templates/build/detail.html:31 common/models.py:703 #: company/forms.py:176 company/templates/company/supplier_part_pricing.html:77 #: order/forms.py:188 order/forms.py:205 order/forms.py:239 order/forms.py:261 @@ -410,87 +411,101 @@ msgstr "" #: stock/forms.py:175 stock/forms.py:308 stock/models.py:1566 #: stock/templates/stock/item_base.html:244 #: stock/templates/stock/stock_adjust.html:18 templates/js/barcode.js:364 -#: templates/js/bom.js:205 templates/js/build.js:420 templates/js/build.js:954 +#: templates/js/bom.js:205 templates/js/build.js:476 templates/js/build.js:1014 #: templates/js/stock.js:1033 templates/js/stock.js:1271 msgid "Quantity" msgstr "" -#: build/forms.py:46 +#: build/forms.py:48 msgid "Number of items to build" msgstr "" -#: build/forms.py:88 +#: build/forms.py:90 msgid "Enter quantity for build output" msgstr "" -#: build/forms.py:92 order/forms.py:233 stock/forms.py:118 +#: build/forms.py:94 order/forms.py:233 stock/forms.py:118 msgid "Serial Numbers" msgstr "" -#: build/forms.py:94 +#: build/forms.py:96 msgid "Enter serial numbers for build outputs" msgstr "" -#: build/forms.py:100 +#: build/forms.py:102 msgid "Confirm creation of build output" msgstr "" -#: build/forms.py:121 +#: build/forms.py:123 msgid "Confirm deletion of build output" msgstr "" -#: build/forms.py:142 +#: build/forms.py:144 msgid "Confirm unallocation of stock" msgstr "" -#: build/forms.py:166 +#: build/forms.py:168 msgid "Confirm stock allocation" msgstr "" -#: build/forms.py:189 +#: build/forms.py:185 msgid "Mark build as complete" msgstr "" -#: build/forms.py:213 build/templates/build/auto_allocate.html:18 +#: build/forms.py:209 build/templates/build/auto_allocate.html:18 #: order/forms.py:82 stock/forms.py:347 #: stock/templates/stock/item_base.html:274 #: 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:434 +#: templates/js/barcode.js:531 templates/js/build.js:490 #: templates/js/stock.js:641 msgid "Location" msgstr "" -#: build/forms.py:214 +#: build/forms.py:210 msgid "Location of completed parts" msgstr "" -#: build/forms.py:219 +#: build/forms.py:214 build/templates/build/build_base.html:128 +#: build/templates/build/detail.html:59 order/models.py:445 +#: order/templates/order/receive_parts.html:24 +#: stock/templates/stock/item_base.html:392 templates/InvenTree/search.html:252 +#: templates/js/barcode.js:119 templates/js/build.js:770 +#: templates/js/order.js:187 templates/js/order.js:285 +#: templates/js/stock.js:628 templates/js/stock.js:1279 +msgid "Status" +msgstr "" + +#: build/forms.py:215 +msgid "Build output stock status" +msgstr "" + +#: build/forms.py:222 msgid "Confirm incomplete" msgstr "" -#: build/forms.py:220 +#: build/forms.py:223 msgid "Confirm completion with incomplete stock allocation" msgstr "" -#: build/forms.py:223 +#: build/forms.py:226 msgid "Confirm build completion" msgstr "" -#: build/forms.py:243 +#: build/forms.py:251 msgid "Confirm cancel" msgstr "" -#: build/forms.py:243 build/views.py:66 +#: build/forms.py:251 build/views.py:66 msgid "Confirm build cancellation" msgstr "" -#: build/forms.py:257 +#: build/forms.py:265 msgid "Select quantity of stock to allocate" msgstr "" #: build/models.py:65 build/templates/build/build_base.html:9 -#: build/templates/build/build_base.html:38 +#: build/templates/build/build_base.html:63 #: part/templates/part/allocation.html:23 #: report/templates/report/inventree_build_order_base.html:106 msgid "Build Order" @@ -515,7 +530,7 @@ msgstr "" #: order/templates/order/sales_order_detail.html:219 part/models.py:2187 #: report/templates/report/inventree_po_report.html:92 #: report/templates/report/inventree_so_report.html:92 templates/js/bom.js:197 -#: templates/js/build.js:509 templates/js/build.js:948 +#: templates/js/build.js:565 templates/js/build.js:1008 msgid "Reference" msgstr "" @@ -523,7 +538,7 @@ msgstr "" msgid "Brief description of the build" msgstr "" -#: build/models.py:146 build/templates/build/build_base.html:124 +#: build/models.py:146 build/templates/build/build_base.html:153 #: build/templates/build/detail.html:77 msgid "Parent Build" msgstr "" @@ -533,7 +548,7 @@ msgid "BuildOrder to which this build is allocated" msgstr "" #: build/models.py:152 build/templates/build/auto_allocate.html:16 -#: build/templates/build/build_base.html:89 +#: build/templates/build/build_base.html:118 #: build/templates/build/detail.html:26 company/models.py:669 #: order/models.py:637 order/models.py:669 #: order/templates/order/order_wizard/select_parts.html:30 @@ -550,7 +565,7 @@ msgstr "" #: report/templates/report/inventree_so_report.html:90 #: templates/InvenTree/search.html:112 templates/InvenTree/search.html:210 #: templates/js/barcode.js:362 templates/js/bom.js:163 -#: templates/js/build.js:681 templates/js/build.js:921 +#: templates/js/build.js:741 templates/js/build.js:981 #: templates/js/company.js:140 templates/js/company.js:238 #: templates/js/part.js:233 templates/js/part.js:338 templates/js/stock.js:523 #: templates/js/stock.js:1343 @@ -628,7 +643,7 @@ msgstr "" msgid "Target completion date" msgstr "" -#: build/models.py:227 order/models.py:218 +#: build/models.py:227 order/models.py:218 templates/js/build.js:788 msgid "Completion Date" msgstr "" @@ -644,7 +659,7 @@ msgstr "" msgid "User who issued this build order" msgstr "" -#: build/models.py:250 build/templates/build/build_base.html:145 +#: build/models.py:250 build/templates/build/build_base.html:174 #: build/templates/build/detail.html:105 order/models.py:119 #: order/templates/order/order_base.html:138 #: order/templates/order/sales_order_base.html:138 part/models.py:886 @@ -670,7 +685,7 @@ msgstr "" msgid "Link to external URL" msgstr "" -#: build/models.py:261 build/templates/build/navbar.html:59 +#: build/models.py:261 build/templates/build/navbar.html:53 #: company/models.py:135 company/models.py:501 #: company/templates/company/navbar.html:70 #: company/templates/company/navbar.html:73 order/models.py:123 @@ -693,87 +708,88 @@ msgstr "" msgid "Extra build notes" msgstr "" -#: build/models.py:673 +#: build/models.py:739 msgid "No build output specified" msgstr "" -#: build/models.py:676 +#: build/models.py:742 msgid "Build output is already completed" msgstr "" -#: build/models.py:679 +#: build/models.py:745 msgid "Build output does not match Build Order" msgstr "" -#: build/models.py:754 +#: build/models.py:838 msgid "Completed build output" msgstr "" -#: build/models.py:1002 +#: build/models.py:1118 msgid "BuildItem must be unique for build, stock_item and install_into" msgstr "" -#: build/models.py:1024 -msgid "Build item must specify a build output" +#: build/models.py:1143 +msgid "" +"Build item must specify a build output, as master part is marked as trackable" msgstr "" -#: build/models.py:1029 +#: build/models.py:1147 #, python-brace-format msgid "Selected stock item not found in BOM for part '{p}'" msgstr "" -#: build/models.py:1033 +#: build/models.py:1151 #, python-brace-format msgid "Allocated quantity ({n}) must not exceed available quantity ({q})" msgstr "" -#: build/models.py:1040 order/models.py:758 +#: build/models.py:1158 order/models.py:758 msgid "StockItem is over-allocated" msgstr "" -#: build/models.py:1044 order/models.py:761 +#: build/models.py:1162 order/models.py:761 msgid "Allocation quantity must be greater than zero" msgstr "" -#: build/models.py:1048 +#: build/models.py:1166 msgid "Quantity must be 1 for serialized stock" msgstr "" -#: build/models.py:1088 stock/templates/stock/item_base.html:306 -#: templates/InvenTree/search.html:183 templates/js/build.js:655 +#: build/models.py:1206 stock/templates/stock/item_base.html:306 +#: templates/InvenTree/search.html:183 templates/js/build.js:714 #: templates/navbar.html:29 msgid "Build" msgstr "" -#: build/models.py:1089 +#: build/models.py:1207 msgid "Build to allocate parts" msgstr "" -#: build/models.py:1096 part/templates/part/allocation.html:18 +#: build/models.py:1214 part/templates/part/allocation.html:18 #: part/templates/part/allocation.html:24 #: part/templates/part/allocation.html:31 #: part/templates/part/allocation.html:49 #: stock/templates/stock/item_base.html:8 #: stock/templates/stock/item_base.html:93 #: stock/templates/stock/item_base.html:328 -#: stock/templates/stock/stock_adjust.html:16 templates/js/build.js:771 +#: stock/templates/stock/stock_adjust.html:16 templates/js/build.js:831 #: templates/js/stock.js:1004 templates/js/stock.js:1262 msgid "Stock Item" msgstr "" -#: build/models.py:1097 +#: build/models.py:1215 msgid "Source stock item" msgstr "" -#: build/models.py:1110 +#: build/models.py:1228 msgid "Stock quantity to allocate to build" msgstr "" -#: build/models.py:1118 +#: build/models.py:1236 msgid "Install into" msgstr "" -#: build/models.py:1119 +#: build/models.py:1237 msgid "Destination stock item" msgstr "" @@ -782,54 +798,60 @@ msgid "Allocate Parts" msgstr "" #: build/templates/build/allocate.html:15 -msgid "Incomplete Build Ouputs" +msgid "Allocate Stock to Build" msgstr "" -#: build/templates/build/allocate.html:21 -msgid "Build order has been completed" +#: build/templates/build/allocate.html:22 +msgid "Allocate stock to build" msgstr "" -#: build/templates/build/allocate.html:26 -msgid "Create new build output" +#: build/templates/build/allocate.html:23 +msgid "Auto Allocate" msgstr "" -#: build/templates/build/allocate.html:27 -msgid "Create New Output" +#: build/templates/build/allocate.html:25 templates/js/build.js:646 +msgid "Unallocate stock" msgstr "" -#: build/templates/build/allocate.html:30 +#: build/templates/build/allocate.html:26 build/views.py:308 build/views.py:794 +msgid "Unallocate Stock" +msgstr "" + +#: build/templates/build/allocate.html:29 msgid "Order required parts" msgstr "" -#: build/templates/build/allocate.html:31 +#: build/templates/build/allocate.html:30 #: company/templates/company/detail_manufacturer_part.html:33 #: company/templates/company/detail_supplier_part.html:32 order/views.py:794 #: part/templates/part/category.html:127 msgid "Order Parts" msgstr "" -#: build/templates/build/allocate.html:34 templates/js/build.js:590 -msgid "Unallocate stock" +#: build/templates/build/allocate.html:36 +msgid "Untracked stock has been fully allocated for this Build Order" msgstr "" -#: build/templates/build/allocate.html:35 build/views.py:338 build/views.py:784 -msgid "Unallocate Stock" +#: build/templates/build/allocate.html:40 +msgid "Untracked stock has not been fully allocated for this Build Order" msgstr "" -#: build/templates/build/allocate.html:49 -msgid "Create a new build output" +#: build/templates/build/allocate.html:47 +msgid "This Build Order does not have any associated untracked BOM items" msgstr "" -#: build/templates/build/allocate.html:50 -msgid "No incomplete build outputs remain." -msgstr "" - -#: build/templates/build/allocate.html:51 -msgid "Create a new build output using the button above" +#: build/templates/build/allocation_card.html:21 +#: build/templates/build/complete_output.html:46 +#: order/templates/order/sales_order_detail.html:75 +#: order/templates/order/sales_order_detail.html:157 +#: report/templates/report/inventree_test_report_base.html:75 +#: stock/models.py:420 stock/templates/stock/item_base.html:238 +#: templates/js/build.js:474 +msgid "Serial Number" msgstr "" #: build/templates/build/attachments.html:12 -#: build/templates/build/navbar.html:49 build/templates/build/navbar.html:52 +#: build/templates/build/navbar.html:43 build/templates/build/navbar.html:46 #: order/templates/order/po_navbar.html:26 #: order/templates/order/so_navbar.html:29 part/templates/part/navbar.html:119 #: part/templates/part/navbar.html:122 stock/templates/stock/navbar.html:47 @@ -864,7 +886,23 @@ msgstr "" msgid "This Build Order is a child of Build Order %(link)s" msgstr "" -#: build/templates/build/build_base.html:40 +#: build/templates/build/build_base.html:31 +msgid "Build Order is ready to mark as completed" +msgstr "" + +#: build/templates/build/build_base.html:36 +msgid "Build Order cannot be completed as outstanding outputs remain" +msgstr "" + +#: build/templates/build/build_base.html:41 +msgid "Required build quantity has not yet been completed" +msgstr "" + +#: build/templates/build/build_base.html:46 +msgid "Stock has not been fully allocated to this Build Order" +msgstr "" + +#: build/templates/build/build_base.html:65 #: company/templates/company/company_base.html:40 #: company/templates/company/manufacturer_part_base.html:25 #: company/templates/company/supplier_part_base.html:26 @@ -876,8 +914,8 @@ msgstr "" msgid "Admin view" msgstr "" -#: build/templates/build/build_base.html:46 -#: build/templates/build/build_base.html:111 +#: build/templates/build/build_base.html:71 +#: build/templates/build/build_base.html:140 #: order/templates/order/order_base.html:32 #: order/templates/order/order_base.html:86 #: order/templates/order/sales_order_base.html:41 @@ -887,58 +925,48 @@ msgstr "" msgid "Overdue" msgstr "" -#: build/templates/build/build_base.html:55 +#: build/templates/build/build_base.html:80 msgid "Print actions" msgstr "" -#: build/templates/build/build_base.html:59 +#: build/templates/build/build_base.html:84 msgid "Print Build Order" msgstr "" -#: build/templates/build/build_base.html:65 -msgid "Build actions" -msgstr "" - -#: build/templates/build/build_base.html:69 -msgid "Edit Build" -msgstr "" - -#: build/templates/build/build_base.html:71 -#: build/templates/build/build_base.html:179 +#: build/templates/build/build_base.html:90 +#: build/templates/build/build_base.html:215 msgid "Complete Build" msgstr "" -#: build/templates/build/build_base.html:72 -#: build/templates/build/build_base.html:170 build/views.py:57 +#: build/templates/build/build_base.html:95 +msgid "Build actions" +msgstr "" + +#: build/templates/build/build_base.html:99 +msgid "Edit Build" +msgstr "" + +#: build/templates/build/build_base.html:101 +#: build/templates/build/build_base.html:199 build/views.py:57 msgid "Cancel Build" msgstr "" -#: build/templates/build/build_base.html:85 +#: build/templates/build/build_base.html:114 #: build/templates/build/detail.html:11 msgid "Build Details" msgstr "" -#: build/templates/build/build_base.html:99 -#: build/templates/build/detail.html:59 order/models.py:445 -#: order/templates/order/receive_parts.html:24 -#: stock/templates/stock/item_base.html:392 templates/InvenTree/search.html:252 -#: templates/js/barcode.js:119 templates/js/build.js:710 -#: templates/js/order.js:187 templates/js/order.js:285 -#: templates/js/stock.js:628 templates/js/stock.js:1279 -msgid "Status" -msgstr "" - -#: build/templates/build/build_base.html:111 +#: build/templates/build/build_base.html:140 #, python-format msgid "This build was due on %(target)s" msgstr "" -#: build/templates/build/build_base.html:118 +#: build/templates/build/build_base.html:147 #: build/templates/build/detail.html:64 msgid "Progress" msgstr "" -#: build/templates/build/build_base.html:131 +#: build/templates/build/build_base.html:160 #: build/templates/build/detail.html:84 order/models.py:667 #: order/templates/order/sales_order_base.html:9 #: order/templates/order/sales_order_base.html:33 @@ -950,20 +978,51 @@ msgstr "" msgid "Sales Order" msgstr "" -#: build/templates/build/build_base.html:138 +#: build/templates/build/build_base.html:167 #: build/templates/build/detail.html:98 #: report/templates/report/inventree_build_order_base.html:153 msgid "Issued By" msgstr "" +#: build/templates/build/build_base.html:207 +msgid "Incomplete Outputs" +msgstr "" + +#: build/templates/build/build_base.html:208 +msgid "Build Order cannot be completed as incomplete build outputs remain" +msgstr "" + #: build/templates/build/build_children.html:10 -#: build/templates/build/navbar.html:42 +#: build/templates/build/navbar.html:36 msgid "Child Build Orders" msgstr "" -#: build/templates/build/build_output.html:10 -#: build/templates/build/navbar.html:35 build/templates/build/navbar.html:38 -msgid "Build Outputs" +#: build/templates/build/build_output.html:15 +msgid "Incomplete Build Outputs" +msgstr "" + +#: build/templates/build/build_output.html:22 +msgid "Create new build output" +msgstr "" + +#: build/templates/build/build_output.html:23 +msgid "Create New Output" +msgstr "" + +#: build/templates/build/build_output.html:36 +msgid "Create a new build output" +msgstr "" + +#: build/templates/build/build_output.html:37 +msgid "No incomplete build outputs remain." +msgstr "" + +#: build/templates/build/build_output.html:38 +msgid "Create a new build output using the button above" +msgstr "" + +#: build/templates/build/build_output.html:49 +msgid "Completed Build Outputs" msgstr "" #: build/templates/build/build_output_create.html:7 @@ -991,11 +1050,11 @@ msgid "Are you sure you wish to cancel this build?" msgstr "" #: build/templates/build/complete.html:8 -msgid "Build can be completed" +msgid "Build Order is complete" msgstr "" #: build/templates/build/complete.html:12 -msgid "Build cannot be completed" +msgid "Build Order is incomplete" msgstr "" #: build/templates/build/complete.html:15 @@ -1006,19 +1065,23 @@ msgstr "" msgid "Required build quantity has not been completed" msgstr "" -#: build/templates/build/complete_output.html:9 -msgid "Stock allocation is complete" +#: build/templates/build/complete.html:21 +msgid "Required stock has not been fully allocated" msgstr "" -#: build/templates/build/complete_output.html:13 +#: build/templates/build/complete_output.html:10 +msgid "Stock allocation is complete for this output" +msgstr "" + +#: build/templates/build/complete_output.html:14 msgid "Stock allocation is incomplete" msgstr "" -#: build/templates/build/complete_output.html:19 -msgid "parts have not been fully allocated" +#: build/templates/build/complete_output.html:20 +msgid "tracked parts have not been fully allocated" msgstr "" -#: build/templates/build/complete_output.html:40 +#: build/templates/build/complete_output.html:41 msgid "The following items will be created" msgstr "" @@ -1071,7 +1134,7 @@ msgstr "" #: build/templates/build/detail.html:116 #: order/templates/order/order_base.html:111 -#: order/templates/order/sales_order_base.html:111 templates/js/build.js:718 +#: order/templates/order/sales_order_base.html:111 templates/js/build.js:778 msgid "Created" msgstr "" @@ -1079,8 +1142,7 @@ msgstr "" msgid "No target date set" msgstr "" -#: build/templates/build/detail.html:132 templates/js/build.js:696 -#: templates/js/build.js:728 +#: build/templates/build/detail.html:132 templates/js/build.js:756 msgid "Completed" msgstr "" @@ -1092,7 +1154,7 @@ msgstr "" msgid "Alter the quantity of stock allocated to the build output" msgstr "" -#: build/templates/build/index.html:28 build/views.py:657 +#: build/templates/build/index.html:28 build/views.py:667 msgid "New Build Order" msgstr "" @@ -1123,20 +1185,20 @@ msgstr "" msgid "Details" msgstr "" -#: build/templates/build/navbar.html:20 build/templates/build/navbar.html:23 -#: build/templates/build/parts.html:11 -msgid "Required Parts" +#: build/templates/build/navbar.html:21 build/templates/build/navbar.html:24 +#: build/views.py:91 +msgid "Allocate Stock" msgstr "" -#: build/templates/build/navbar.html:27 build/templates/build/navbar.html:30 -msgid "In Progress" +#: build/templates/build/navbar.html:29 build/templates/build/navbar.html:32 +msgid "Build Outputs" msgstr "" -#: build/templates/build/navbar.html:45 +#: build/templates/build/navbar.html:39 msgid "Child Builds" msgstr "" -#: build/templates/build/navbar.html:56 +#: build/templates/build/navbar.html:50 msgid "Build Order Notes" msgstr "" @@ -1171,66 +1233,66 @@ msgstr "" msgid "Build was cancelled" msgstr "" -#: build/views.py:91 -msgid "Allocate Stock" -msgstr "" - -#: build/views.py:154 build/views.py:314 build/views.py:485 -msgid "Build output must be specified" -msgstr "" - -#: build/views.py:168 +#: build/views.py:138 msgid "Allocated stock to build output" msgstr "" -#: build/views.py:180 +#: build/views.py:150 msgid "Create Build Output" msgstr "" -#: build/views.py:203 stock/models.py:969 stock/views.py:1789 +#: build/views.py:173 stock/models.py:969 stock/views.py:1789 msgid "Serial numbers already exist" msgstr "" -#: build/views.py:212 +#: build/views.py:182 msgid "Serial numbers required for trackable build output" msgstr "" -#: build/views.py:278 +#: build/views.py:248 msgid "Delete Build Output" msgstr "" -#: build/views.py:299 build/views.py:383 +#: build/views.py:269 build/views.py:359 msgid "Confirm unallocation of build stock" msgstr "" -#: build/views.py:300 build/views.py:384 stock/views.py:425 +#: build/views.py:270 build/views.py:360 stock/views.py:425 msgid "Check the confirmation box" msgstr "" -#: build/views.py:312 +#: build/views.py:282 msgid "Build output does not match build" msgstr "" -#: build/views.py:326 +#: build/views.py:284 build/views.py:485 +msgid "Build output must be specified" +msgstr "" + +#: build/views.py:296 msgid "Build output deleted" msgstr "" -#: build/views.py:408 +#: build/views.py:394 msgid "Complete Build Order" msgstr "" -#: build/views.py:414 -msgid "Build order cannot be completed" +#: build/views.py:400 +msgid "Build order cannot be completed - incomplete outputs remain" msgstr "" -#: build/views.py:425 +#: build/views.py:411 msgid "Completed build order" msgstr "" -#: build/views.py:441 +#: build/views.py:427 msgid "Complete Build Output" msgstr "" +#: build/views.py:469 +msgid "Invalid stock status value selected" +msgstr "" + #: build/views.py:476 msgid "Quantity to complete cannot exceed build output quantity" msgstr "" @@ -1239,81 +1301,81 @@ msgstr "" msgid "Confirm completion of incomplete build" msgstr "" -#: build/views.py:573 +#: build/views.py:581 msgid "Build output completed" msgstr "" -#: build/views.py:711 +#: build/views.py:721 msgid "Created new build" msgstr "" -#: build/views.py:732 +#: build/views.py:742 msgid "Edit Build Order Details" msgstr "" -#: build/views.py:765 +#: build/views.py:775 msgid "Edited build" msgstr "" -#: build/views.py:774 +#: build/views.py:784 msgid "Delete Build Order" msgstr "" -#: build/views.py:789 +#: build/views.py:799 msgid "Removed parts from build allocation" msgstr "" -#: build/views.py:801 +#: build/views.py:811 msgid "Allocate stock to build output" msgstr "" -#: build/views.py:844 +#: build/views.py:854 msgid "Item must be currently in stock" msgstr "" -#: build/views.py:850 +#: build/views.py:860 msgid "Stock item is over-allocated" msgstr "" -#: build/views.py:851 templates/js/bom.js:230 templates/js/build.js:519 -#: templates/js/build.js:778 templates/js/build.js:961 +#: build/views.py:861 templates/js/bom.js:230 templates/js/build.js:575 +#: templates/js/build.js:838 templates/js/build.js:1021 msgid "Available" msgstr "" -#: build/views.py:853 +#: build/views.py:863 msgid "Stock item must be selected" msgstr "" -#: build/views.py:1016 +#: build/views.py:1026 msgid "Edit Stock Allocation" msgstr "" -#: build/views.py:1020 +#: build/views.py:1030 msgid "Updated Build Item" msgstr "" -#: build/views.py:1049 +#: build/views.py:1059 msgid "Add Build Order Attachment" msgstr "" -#: build/views.py:1062 order/views.py:110 order/views.py:162 part/views.py:172 +#: build/views.py:1072 order/views.py:110 order/views.py:162 part/views.py:172 #: stock/views.py:277 msgid "Added attachment" msgstr "" -#: build/views.py:1098 order/views.py:189 order/views.py:210 +#: build/views.py:1108 order/views.py:189 order/views.py:210 msgid "Edit Attachment" msgstr "" -#: build/views.py:1108 order/views.py:193 order/views.py:214 +#: build/views.py:1118 order/views.py:193 order/views.py:214 msgid "Attachment updated" msgstr "" -#: build/views.py:1118 order/views.py:229 order/views.py:243 +#: build/views.py:1128 order/views.py:229 order/views.py:243 msgid "Delete Attachment" msgstr "" -#: build/views.py:1123 order/views.py:235 order/views.py:249 stock/views.py:333 +#: build/views.py:1133 order/views.py:235 order/views.py:249 stock/views.py:333 msgid "Deleted attachment" msgstr "" @@ -1921,7 +1983,7 @@ msgstr "" #: company/templates/company/assigned_stock.html:10 #: company/templates/company/navbar.html:62 -#: company/templates/company/navbar.html:65 templates/js/build.js:411 +#: company/templates/company/navbar.html:65 templates/js/build.js:467 msgid "Assigned Stock" msgstr "" @@ -2985,26 +3047,18 @@ msgstr "" msgid "Sales Order Items" msgstr "" -#: order/templates/order/sales_order_detail.html:75 -#: order/templates/order/sales_order_detail.html:157 -#: report/templates/report/inventree_test_report_base.html:75 -#: stock/models.py:420 stock/templates/stock/item_base.html:238 -#: templates/js/build.js:418 -msgid "Serial Number" -msgstr "" - #: order/templates/order/sales_order_detail.html:92 templates/js/bom.js:342 -#: templates/js/build.js:571 templates/js/build.js:984 +#: templates/js/build.js:627 templates/js/build.js:1044 msgid "Actions" msgstr "" -#: order/templates/order/sales_order_detail.html:99 templates/js/build.js:459 -#: templates/js/build.js:789 +#: order/templates/order/sales_order_detail.html:99 templates/js/build.js:515 +#: templates/js/build.js:849 msgid "Edit stock allocation" msgstr "" -#: order/templates/order/sales_order_detail.html:100 templates/js/build.js:461 -#: templates/js/build.js:790 +#: order/templates/order/sales_order_detail.html:100 templates/js/build.js:517 +#: templates/js/build.js:850 msgid "Delete stock allocation" msgstr "" @@ -3016,8 +3070,8 @@ msgstr "" msgid "ID" msgstr "" -#: order/templates/order/sales_order_detail.html:229 templates/js/build.js:523 -#: templates/js/build.js:785 +#: order/templates/order/sales_order_detail.html:229 templates/js/build.js:579 +#: templates/js/build.js:845 msgid "Allocated" msgstr "" @@ -3029,7 +3083,7 @@ msgstr "" msgid "Allocate serial numbers" msgstr "" -#: order/templates/order/sales_order_detail.html:282 templates/js/build.js:585 +#: order/templates/order/sales_order_detail.html:282 templates/js/build.js:641 msgid "Allocate stock" msgstr "" @@ -3037,8 +3091,8 @@ msgstr "" msgid "Purchase stock" msgstr "" -#: order/templates/order/sales_order_detail.html:289 templates/js/build.js:578 -#: templates/js/build.js:992 +#: order/templates/order/sales_order_detail.html:289 templates/js/build.js:634 +#: templates/js/build.js:1052 msgid "Build stock" msgstr "" @@ -5363,7 +5417,7 @@ msgstr "" msgid "Stock Item Details" msgstr "" -#: stock/templates/stock/item_base.html:278 templates/js/build.js:442 +#: stock/templates/stock/item_base.html:278 templates/js/build.js:498 msgid "No location set" msgstr "" @@ -5755,7 +5809,7 @@ msgstr "" msgid "Serialize Stock" msgstr "" -#: stock/views.py:1543 templates/js/build.js:210 +#: stock/views.py:1543 templates/js/build.js:244 msgid "Create new Stock Item" msgstr "" @@ -6199,7 +6253,7 @@ msgstr "" msgid "Barcode does not match a valid location" msgstr "" -#: templates/js/bom.js:175 templates/js/build.js:934 +#: templates/js/bom.js:175 templates/js/build.js:994 msgid "Open subassembly" msgstr "" @@ -6237,58 +6291,58 @@ msgstr "" msgid "Delete BOM Item" msgstr "" -#: templates/js/bom.js:447 templates/js/build.js:305 templates/js/build.js:1032 +#: templates/js/bom.js:447 templates/js/build.js:340 templates/js/build.js:1092 msgid "No BOM items found" msgstr "" -#: templates/js/build.js:56 +#: templates/js/build.js:62 msgid "Auto-allocate stock items to this output" msgstr "" -#: templates/js/build.js:62 -msgid "Complete build output" -msgstr "" - -#: templates/js/build.js:71 +#: templates/js/build.js:70 msgid "Unallocate stock from build output" msgstr "" -#: templates/js/build.js:77 +#: templates/js/build.js:80 +msgid "Complete build output" +msgstr "" + +#: templates/js/build.js:89 msgid "Delete build output" msgstr "" -#: templates/js/build.js:209 templates/stock_table.html:20 +#: templates/js/build.js:243 templates/stock_table.html:20 msgid "New Stock Item" msgstr "" -#: templates/js/build.js:493 +#: templates/js/build.js:549 msgid "Required Part" msgstr "" -#: templates/js/build.js:514 +#: templates/js/build.js:570 msgid "Quantity Per" msgstr "" -#: templates/js/build.js:582 templates/js/build.js:996 +#: templates/js/build.js:638 templates/js/build.js:1056 #: templates/stock_table.html:58 msgid "Order stock" msgstr "" -#: templates/js/build.js:632 +#: templates/js/build.js:691 msgid "No builds matching query" msgstr "" -#: templates/js/build.js:649 templates/js/part.js:324 templates/js/part.js:546 +#: templates/js/build.js:708 templates/js/part.js:324 templates/js/part.js:546 #: templates/js/stock.js:511 templates/js/stock.js:938 #: templates/js/stock.js:1331 msgid "Select" msgstr "" -#: templates/js/build.js:669 +#: templates/js/build.js:728 msgid "Build order is overdue" msgstr "" -#: templates/js/build.js:767 +#: templates/js/build.js:827 msgid "No parts allocated for" msgstr "" diff --git a/InvenTree/locale/ru/LC_MESSAGES/django.mo b/InvenTree/locale/ru/LC_MESSAGES/django.mo new file mode 100644 index 0000000000000000000000000000000000000000..7007a3d4e50ddf1c5e7d2870e6247ecea1df5a7b GIT binary patch literal 518 zcmYLD!A`4K+%j0Bc>V=ahb#m z!%m)^DxI!1m>>!wwvO$b+SZklMo2vOKF2&pyqU9k&NJDB$url5FmycXk@{L!#(EN( zFga1vOr|c>A2VYO@`dI(=_x%cT#)l+ThLk)eknbY2aZjt1BZuDQhSd&4z$4rlw;qb z)z!$OwURC!w&zsg\n" "Language-Team: LANGUAGE \n" @@ -36,8 +36,8 @@ msgstr "" msgid "Enter date" msgstr "" -#: InvenTree/forms.py:110 build/forms.py:99 build/forms.py:120 -#: build/forms.py:142 build/forms.py:166 build/forms.py:188 build/forms.py:223 +#: InvenTree/forms.py:110 build/forms.py:101 build/forms.py:122 +#: build/forms.py:144 build/forms.py:168 build/forms.py:184 build/forms.py:226 #: order/forms.py:27 order/forms.py:38 order/forms.py:49 order/forms.py:60 #: order/forms.py:71 part/forms.py:134 msgid "Confirm" @@ -156,7 +156,7 @@ msgstr "" #: templates/InvenTree/search.html:144 templates/InvenTree/search.html:224 #: templates/InvenTree/search.html:296 #: templates/InvenTree/settings/header.html:9 templates/js/bom.js:190 -#: templates/js/build.js:677 templates/js/build.js:944 +#: templates/js/build.js:736 templates/js/build.js:1004 #: templates/js/company.js:56 templates/js/order.js:183 #: templates/js/order.js:280 templates/js/part.js:169 templates/js/part.js:252 #: templates/js/part.js:371 templates/js/part.js:565 templates/js/part.js:643 @@ -205,60 +205,60 @@ msgstr "" msgid "InvenTree system health checks failed" msgstr "" -#: InvenTree/status_codes.py:94 InvenTree/status_codes.py:135 -#: InvenTree/status_codes.py:228 +#: InvenTree/status_codes.py:102 InvenTree/status_codes.py:143 +#: InvenTree/status_codes.py:236 msgid "Pending" msgstr "" -#: InvenTree/status_codes.py:95 +#: InvenTree/status_codes.py:103 msgid "Placed" msgstr "" -#: InvenTree/status_codes.py:96 InvenTree/status_codes.py:231 +#: InvenTree/status_codes.py:104 InvenTree/status_codes.py:239 msgid "Complete" msgstr "" -#: InvenTree/status_codes.py:97 InvenTree/status_codes.py:137 -#: InvenTree/status_codes.py:230 +#: InvenTree/status_codes.py:105 InvenTree/status_codes.py:145 +#: InvenTree/status_codes.py:238 msgid "Cancelled" msgstr "" -#: InvenTree/status_codes.py:98 InvenTree/status_codes.py:138 -#: InvenTree/status_codes.py:180 +#: InvenTree/status_codes.py:106 InvenTree/status_codes.py:146 +#: InvenTree/status_codes.py:188 msgid "Lost" msgstr "" -#: InvenTree/status_codes.py:99 InvenTree/status_codes.py:139 -#: InvenTree/status_codes.py:182 +#: InvenTree/status_codes.py:107 InvenTree/status_codes.py:147 +#: InvenTree/status_codes.py:190 msgid "Returned" msgstr "" -#: InvenTree/status_codes.py:136 +#: InvenTree/status_codes.py:144 #: order/templates/order/sales_order_base.html:124 msgid "Shipped" msgstr "" -#: InvenTree/status_codes.py:176 +#: InvenTree/status_codes.py:184 msgid "OK" msgstr "" -#: InvenTree/status_codes.py:177 +#: InvenTree/status_codes.py:185 msgid "Attention needed" msgstr "" -#: InvenTree/status_codes.py:178 +#: InvenTree/status_codes.py:186 msgid "Damaged" msgstr "" -#: InvenTree/status_codes.py:179 +#: InvenTree/status_codes.py:187 msgid "Destroyed" msgstr "" -#: InvenTree/status_codes.py:181 +#: InvenTree/status_codes.py:189 msgid "Rejected" msgstr "" -#: InvenTree/status_codes.py:229 +#: InvenTree/status_codes.py:237 msgid "Production" msgstr "" @@ -361,32 +361,33 @@ msgstr "" msgid "Barcode associated with StockItem" msgstr "" -#: build/forms.py:34 +#: build/forms.py:36 msgid "Build Order reference" msgstr "" -#: build/forms.py:35 +#: build/forms.py:37 msgid "Order target date" msgstr "" -#: build/forms.py:39 build/templates/build/build_base.html:107 +#: build/forms.py:41 build/templates/build/build_base.html:136 #: build/templates/build/detail.html:121 order/forms.py:109 order/forms.py:144 #: order/templates/order/order_base.html:124 #: order/templates/order/sales_order_base.html:117 #: report/templates/report/inventree_build_order_base.html:126 -#: templates/js/build.js:723 templates/js/order.js:200 +#: templates/js/build.js:783 templates/js/order.js:200 #: templates/js/order.js:298 msgid "Target Date" msgstr "" -#: build/forms.py:40 build/models.py:224 +#: build/forms.py:42 build/models.py:224 msgid "" "Target date for build completion. Build will be overdue after this date." msgstr "" -#: build/forms.py:45 build/forms.py:87 build/forms.py:257 build/models.py:1109 +#: build/forms.py:47 build/forms.py:89 build/forms.py:265 build/models.py:1227 +#: build/templates/build/allocation_card.html:23 #: build/templates/build/auto_allocate.html:17 -#: build/templates/build/build_base.html:94 +#: build/templates/build/build_base.html:123 #: build/templates/build/detail.html:31 common/models.py:703 #: company/forms.py:176 company/templates/company/supplier_part_pricing.html:77 #: order/forms.py:188 order/forms.py:205 order/forms.py:239 order/forms.py:261 @@ -410,87 +411,101 @@ msgstr "" #: stock/forms.py:175 stock/forms.py:308 stock/models.py:1566 #: stock/templates/stock/item_base.html:244 #: stock/templates/stock/stock_adjust.html:18 templates/js/barcode.js:364 -#: templates/js/bom.js:205 templates/js/build.js:420 templates/js/build.js:954 +#: templates/js/bom.js:205 templates/js/build.js:476 templates/js/build.js:1014 #: templates/js/stock.js:1033 templates/js/stock.js:1271 msgid "Quantity" msgstr "" -#: build/forms.py:46 +#: build/forms.py:48 msgid "Number of items to build" msgstr "" -#: build/forms.py:88 +#: build/forms.py:90 msgid "Enter quantity for build output" msgstr "" -#: build/forms.py:92 order/forms.py:233 stock/forms.py:118 +#: build/forms.py:94 order/forms.py:233 stock/forms.py:118 msgid "Serial Numbers" msgstr "" -#: build/forms.py:94 +#: build/forms.py:96 msgid "Enter serial numbers for build outputs" msgstr "" -#: build/forms.py:100 +#: build/forms.py:102 msgid "Confirm creation of build output" msgstr "" -#: build/forms.py:121 +#: build/forms.py:123 msgid "Confirm deletion of build output" msgstr "" -#: build/forms.py:142 +#: build/forms.py:144 msgid "Confirm unallocation of stock" msgstr "" -#: build/forms.py:166 +#: build/forms.py:168 msgid "Confirm stock allocation" msgstr "" -#: build/forms.py:189 +#: build/forms.py:185 msgid "Mark build as complete" msgstr "" -#: build/forms.py:213 build/templates/build/auto_allocate.html:18 +#: build/forms.py:209 build/templates/build/auto_allocate.html:18 #: order/forms.py:82 stock/forms.py:347 #: stock/templates/stock/item_base.html:274 #: 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:434 +#: templates/js/barcode.js:531 templates/js/build.js:490 #: templates/js/stock.js:641 msgid "Location" msgstr "" -#: build/forms.py:214 +#: build/forms.py:210 msgid "Location of completed parts" msgstr "" -#: build/forms.py:219 +#: build/forms.py:214 build/templates/build/build_base.html:128 +#: build/templates/build/detail.html:59 order/models.py:445 +#: order/templates/order/receive_parts.html:24 +#: stock/templates/stock/item_base.html:392 templates/InvenTree/search.html:252 +#: templates/js/barcode.js:119 templates/js/build.js:770 +#: templates/js/order.js:187 templates/js/order.js:285 +#: templates/js/stock.js:628 templates/js/stock.js:1279 +msgid "Status" +msgstr "" + +#: build/forms.py:215 +msgid "Build output stock status" +msgstr "" + +#: build/forms.py:222 msgid "Confirm incomplete" msgstr "" -#: build/forms.py:220 +#: build/forms.py:223 msgid "Confirm completion with incomplete stock allocation" msgstr "" -#: build/forms.py:223 +#: build/forms.py:226 msgid "Confirm build completion" msgstr "" -#: build/forms.py:243 +#: build/forms.py:251 msgid "Confirm cancel" msgstr "" -#: build/forms.py:243 build/views.py:66 +#: build/forms.py:251 build/views.py:66 msgid "Confirm build cancellation" msgstr "" -#: build/forms.py:257 +#: build/forms.py:265 msgid "Select quantity of stock to allocate" msgstr "" #: build/models.py:65 build/templates/build/build_base.html:9 -#: build/templates/build/build_base.html:38 +#: build/templates/build/build_base.html:63 #: part/templates/part/allocation.html:23 #: report/templates/report/inventree_build_order_base.html:106 msgid "Build Order" @@ -515,7 +530,7 @@ msgstr "" #: order/templates/order/sales_order_detail.html:219 part/models.py:2187 #: report/templates/report/inventree_po_report.html:92 #: report/templates/report/inventree_so_report.html:92 templates/js/bom.js:197 -#: templates/js/build.js:509 templates/js/build.js:948 +#: templates/js/build.js:565 templates/js/build.js:1008 msgid "Reference" msgstr "" @@ -523,7 +538,7 @@ msgstr "" msgid "Brief description of the build" msgstr "" -#: build/models.py:146 build/templates/build/build_base.html:124 +#: build/models.py:146 build/templates/build/build_base.html:153 #: build/templates/build/detail.html:77 msgid "Parent Build" msgstr "" @@ -533,7 +548,7 @@ msgid "BuildOrder to which this build is allocated" msgstr "" #: build/models.py:152 build/templates/build/auto_allocate.html:16 -#: build/templates/build/build_base.html:89 +#: build/templates/build/build_base.html:118 #: build/templates/build/detail.html:26 company/models.py:669 #: order/models.py:637 order/models.py:669 #: order/templates/order/order_wizard/select_parts.html:30 @@ -550,7 +565,7 @@ msgstr "" #: report/templates/report/inventree_so_report.html:90 #: templates/InvenTree/search.html:112 templates/InvenTree/search.html:210 #: templates/js/barcode.js:362 templates/js/bom.js:163 -#: templates/js/build.js:681 templates/js/build.js:921 +#: templates/js/build.js:741 templates/js/build.js:981 #: templates/js/company.js:140 templates/js/company.js:238 #: templates/js/part.js:233 templates/js/part.js:338 templates/js/stock.js:523 #: templates/js/stock.js:1343 @@ -628,7 +643,7 @@ msgstr "" msgid "Target completion date" msgstr "" -#: build/models.py:227 order/models.py:218 +#: build/models.py:227 order/models.py:218 templates/js/build.js:788 msgid "Completion Date" msgstr "" @@ -644,7 +659,7 @@ msgstr "" msgid "User who issued this build order" msgstr "" -#: build/models.py:250 build/templates/build/build_base.html:145 +#: build/models.py:250 build/templates/build/build_base.html:174 #: build/templates/build/detail.html:105 order/models.py:119 #: order/templates/order/order_base.html:138 #: order/templates/order/sales_order_base.html:138 part/models.py:886 @@ -670,7 +685,7 @@ msgstr "" msgid "Link to external URL" msgstr "" -#: build/models.py:261 build/templates/build/navbar.html:59 +#: build/models.py:261 build/templates/build/navbar.html:53 #: company/models.py:135 company/models.py:501 #: company/templates/company/navbar.html:70 #: company/templates/company/navbar.html:73 order/models.py:123 @@ -693,87 +708,88 @@ msgstr "" msgid "Extra build notes" msgstr "" -#: build/models.py:673 +#: build/models.py:739 msgid "No build output specified" msgstr "" -#: build/models.py:676 +#: build/models.py:742 msgid "Build output is already completed" msgstr "" -#: build/models.py:679 +#: build/models.py:745 msgid "Build output does not match Build Order" msgstr "" -#: build/models.py:754 +#: build/models.py:838 msgid "Completed build output" msgstr "" -#: build/models.py:1002 +#: build/models.py:1118 msgid "BuildItem must be unique for build, stock_item and install_into" msgstr "" -#: build/models.py:1024 -msgid "Build item must specify a build output" +#: build/models.py:1143 +msgid "" +"Build item must specify a build output, as master part is marked as trackable" msgstr "" -#: build/models.py:1029 +#: build/models.py:1147 #, python-brace-format msgid "Selected stock item not found in BOM for part '{p}'" msgstr "" -#: build/models.py:1033 +#: build/models.py:1151 #, python-brace-format msgid "Allocated quantity ({n}) must not exceed available quantity ({q})" msgstr "" -#: build/models.py:1040 order/models.py:758 +#: build/models.py:1158 order/models.py:758 msgid "StockItem is over-allocated" msgstr "" -#: build/models.py:1044 order/models.py:761 +#: build/models.py:1162 order/models.py:761 msgid "Allocation quantity must be greater than zero" msgstr "" -#: build/models.py:1048 +#: build/models.py:1166 msgid "Quantity must be 1 for serialized stock" msgstr "" -#: build/models.py:1088 stock/templates/stock/item_base.html:306 -#: templates/InvenTree/search.html:183 templates/js/build.js:655 +#: build/models.py:1206 stock/templates/stock/item_base.html:306 +#: templates/InvenTree/search.html:183 templates/js/build.js:714 #: templates/navbar.html:29 msgid "Build" msgstr "" -#: build/models.py:1089 +#: build/models.py:1207 msgid "Build to allocate parts" msgstr "" -#: build/models.py:1096 part/templates/part/allocation.html:18 +#: build/models.py:1214 part/templates/part/allocation.html:18 #: part/templates/part/allocation.html:24 #: part/templates/part/allocation.html:31 #: part/templates/part/allocation.html:49 #: stock/templates/stock/item_base.html:8 #: stock/templates/stock/item_base.html:93 #: stock/templates/stock/item_base.html:328 -#: stock/templates/stock/stock_adjust.html:16 templates/js/build.js:771 +#: stock/templates/stock/stock_adjust.html:16 templates/js/build.js:831 #: templates/js/stock.js:1004 templates/js/stock.js:1262 msgid "Stock Item" msgstr "" -#: build/models.py:1097 +#: build/models.py:1215 msgid "Source stock item" msgstr "" -#: build/models.py:1110 +#: build/models.py:1228 msgid "Stock quantity to allocate to build" msgstr "" -#: build/models.py:1118 +#: build/models.py:1236 msgid "Install into" msgstr "" -#: build/models.py:1119 +#: build/models.py:1237 msgid "Destination stock item" msgstr "" @@ -782,54 +798,60 @@ msgid "Allocate Parts" msgstr "" #: build/templates/build/allocate.html:15 -msgid "Incomplete Build Ouputs" +msgid "Allocate Stock to Build" msgstr "" -#: build/templates/build/allocate.html:21 -msgid "Build order has been completed" +#: build/templates/build/allocate.html:22 +msgid "Allocate stock to build" msgstr "" -#: build/templates/build/allocate.html:26 -msgid "Create new build output" +#: build/templates/build/allocate.html:23 +msgid "Auto Allocate" msgstr "" -#: build/templates/build/allocate.html:27 -msgid "Create New Output" +#: build/templates/build/allocate.html:25 templates/js/build.js:646 +msgid "Unallocate stock" msgstr "" -#: build/templates/build/allocate.html:30 +#: build/templates/build/allocate.html:26 build/views.py:308 build/views.py:794 +msgid "Unallocate Stock" +msgstr "" + +#: build/templates/build/allocate.html:29 msgid "Order required parts" msgstr "" -#: build/templates/build/allocate.html:31 +#: build/templates/build/allocate.html:30 #: company/templates/company/detail_manufacturer_part.html:33 #: company/templates/company/detail_supplier_part.html:32 order/views.py:794 #: part/templates/part/category.html:127 msgid "Order Parts" msgstr "" -#: build/templates/build/allocate.html:34 templates/js/build.js:590 -msgid "Unallocate stock" +#: build/templates/build/allocate.html:36 +msgid "Untracked stock has been fully allocated for this Build Order" msgstr "" -#: build/templates/build/allocate.html:35 build/views.py:338 build/views.py:784 -msgid "Unallocate Stock" +#: build/templates/build/allocate.html:40 +msgid "Untracked stock has not been fully allocated for this Build Order" msgstr "" -#: build/templates/build/allocate.html:49 -msgid "Create a new build output" +#: build/templates/build/allocate.html:47 +msgid "This Build Order does not have any associated untracked BOM items" msgstr "" -#: build/templates/build/allocate.html:50 -msgid "No incomplete build outputs remain." -msgstr "" - -#: build/templates/build/allocate.html:51 -msgid "Create a new build output using the button above" +#: build/templates/build/allocation_card.html:21 +#: build/templates/build/complete_output.html:46 +#: order/templates/order/sales_order_detail.html:75 +#: order/templates/order/sales_order_detail.html:157 +#: report/templates/report/inventree_test_report_base.html:75 +#: stock/models.py:420 stock/templates/stock/item_base.html:238 +#: templates/js/build.js:474 +msgid "Serial Number" msgstr "" #: build/templates/build/attachments.html:12 -#: build/templates/build/navbar.html:49 build/templates/build/navbar.html:52 +#: build/templates/build/navbar.html:43 build/templates/build/navbar.html:46 #: order/templates/order/po_navbar.html:26 #: order/templates/order/so_navbar.html:29 part/templates/part/navbar.html:119 #: part/templates/part/navbar.html:122 stock/templates/stock/navbar.html:47 @@ -864,7 +886,23 @@ msgstr "" msgid "This Build Order is a child of Build Order %(link)s" msgstr "" -#: build/templates/build/build_base.html:40 +#: build/templates/build/build_base.html:31 +msgid "Build Order is ready to mark as completed" +msgstr "" + +#: build/templates/build/build_base.html:36 +msgid "Build Order cannot be completed as outstanding outputs remain" +msgstr "" + +#: build/templates/build/build_base.html:41 +msgid "Required build quantity has not yet been completed" +msgstr "" + +#: build/templates/build/build_base.html:46 +msgid "Stock has not been fully allocated to this Build Order" +msgstr "" + +#: build/templates/build/build_base.html:65 #: company/templates/company/company_base.html:40 #: company/templates/company/manufacturer_part_base.html:25 #: company/templates/company/supplier_part_base.html:26 @@ -876,8 +914,8 @@ msgstr "" msgid "Admin view" msgstr "" -#: build/templates/build/build_base.html:46 -#: build/templates/build/build_base.html:111 +#: build/templates/build/build_base.html:71 +#: build/templates/build/build_base.html:140 #: order/templates/order/order_base.html:32 #: order/templates/order/order_base.html:86 #: order/templates/order/sales_order_base.html:41 @@ -887,58 +925,48 @@ msgstr "" msgid "Overdue" msgstr "" -#: build/templates/build/build_base.html:55 +#: build/templates/build/build_base.html:80 msgid "Print actions" msgstr "" -#: build/templates/build/build_base.html:59 +#: build/templates/build/build_base.html:84 msgid "Print Build Order" msgstr "" -#: build/templates/build/build_base.html:65 -msgid "Build actions" -msgstr "" - -#: build/templates/build/build_base.html:69 -msgid "Edit Build" -msgstr "" - -#: build/templates/build/build_base.html:71 -#: build/templates/build/build_base.html:179 +#: build/templates/build/build_base.html:90 +#: build/templates/build/build_base.html:215 msgid "Complete Build" msgstr "" -#: build/templates/build/build_base.html:72 -#: build/templates/build/build_base.html:170 build/views.py:57 +#: build/templates/build/build_base.html:95 +msgid "Build actions" +msgstr "" + +#: build/templates/build/build_base.html:99 +msgid "Edit Build" +msgstr "" + +#: build/templates/build/build_base.html:101 +#: build/templates/build/build_base.html:199 build/views.py:57 msgid "Cancel Build" msgstr "" -#: build/templates/build/build_base.html:85 +#: build/templates/build/build_base.html:114 #: build/templates/build/detail.html:11 msgid "Build Details" msgstr "" -#: build/templates/build/build_base.html:99 -#: build/templates/build/detail.html:59 order/models.py:445 -#: order/templates/order/receive_parts.html:24 -#: stock/templates/stock/item_base.html:392 templates/InvenTree/search.html:252 -#: templates/js/barcode.js:119 templates/js/build.js:710 -#: templates/js/order.js:187 templates/js/order.js:285 -#: templates/js/stock.js:628 templates/js/stock.js:1279 -msgid "Status" -msgstr "" - -#: build/templates/build/build_base.html:111 +#: build/templates/build/build_base.html:140 #, python-format msgid "This build was due on %(target)s" msgstr "" -#: build/templates/build/build_base.html:118 +#: build/templates/build/build_base.html:147 #: build/templates/build/detail.html:64 msgid "Progress" msgstr "" -#: build/templates/build/build_base.html:131 +#: build/templates/build/build_base.html:160 #: build/templates/build/detail.html:84 order/models.py:667 #: order/templates/order/sales_order_base.html:9 #: order/templates/order/sales_order_base.html:33 @@ -950,20 +978,51 @@ msgstr "" msgid "Sales Order" msgstr "" -#: build/templates/build/build_base.html:138 +#: build/templates/build/build_base.html:167 #: build/templates/build/detail.html:98 #: report/templates/report/inventree_build_order_base.html:153 msgid "Issued By" msgstr "" +#: build/templates/build/build_base.html:207 +msgid "Incomplete Outputs" +msgstr "" + +#: build/templates/build/build_base.html:208 +msgid "Build Order cannot be completed as incomplete build outputs remain" +msgstr "" + #: build/templates/build/build_children.html:10 -#: build/templates/build/navbar.html:42 +#: build/templates/build/navbar.html:36 msgid "Child Build Orders" msgstr "" -#: build/templates/build/build_output.html:10 -#: build/templates/build/navbar.html:35 build/templates/build/navbar.html:38 -msgid "Build Outputs" +#: build/templates/build/build_output.html:15 +msgid "Incomplete Build Outputs" +msgstr "" + +#: build/templates/build/build_output.html:22 +msgid "Create new build output" +msgstr "" + +#: build/templates/build/build_output.html:23 +msgid "Create New Output" +msgstr "" + +#: build/templates/build/build_output.html:36 +msgid "Create a new build output" +msgstr "" + +#: build/templates/build/build_output.html:37 +msgid "No incomplete build outputs remain." +msgstr "" + +#: build/templates/build/build_output.html:38 +msgid "Create a new build output using the button above" +msgstr "" + +#: build/templates/build/build_output.html:49 +msgid "Completed Build Outputs" msgstr "" #: build/templates/build/build_output_create.html:7 @@ -991,11 +1050,11 @@ msgid "Are you sure you wish to cancel this build?" msgstr "" #: build/templates/build/complete.html:8 -msgid "Build can be completed" +msgid "Build Order is complete" msgstr "" #: build/templates/build/complete.html:12 -msgid "Build cannot be completed" +msgid "Build Order is incomplete" msgstr "" #: build/templates/build/complete.html:15 @@ -1006,19 +1065,23 @@ msgstr "" msgid "Required build quantity has not been completed" msgstr "" -#: build/templates/build/complete_output.html:9 -msgid "Stock allocation is complete" +#: build/templates/build/complete.html:21 +msgid "Required stock has not been fully allocated" msgstr "" -#: build/templates/build/complete_output.html:13 +#: build/templates/build/complete_output.html:10 +msgid "Stock allocation is complete for this output" +msgstr "" + +#: build/templates/build/complete_output.html:14 msgid "Stock allocation is incomplete" msgstr "" -#: build/templates/build/complete_output.html:19 -msgid "parts have not been fully allocated" +#: build/templates/build/complete_output.html:20 +msgid "tracked parts have not been fully allocated" msgstr "" -#: build/templates/build/complete_output.html:40 +#: build/templates/build/complete_output.html:41 msgid "The following items will be created" msgstr "" @@ -1071,7 +1134,7 @@ msgstr "" #: build/templates/build/detail.html:116 #: order/templates/order/order_base.html:111 -#: order/templates/order/sales_order_base.html:111 templates/js/build.js:718 +#: order/templates/order/sales_order_base.html:111 templates/js/build.js:778 msgid "Created" msgstr "" @@ -1079,8 +1142,7 @@ msgstr "" msgid "No target date set" msgstr "" -#: build/templates/build/detail.html:132 templates/js/build.js:696 -#: templates/js/build.js:728 +#: build/templates/build/detail.html:132 templates/js/build.js:756 msgid "Completed" msgstr "" @@ -1092,7 +1154,7 @@ msgstr "" msgid "Alter the quantity of stock allocated to the build output" msgstr "" -#: build/templates/build/index.html:28 build/views.py:657 +#: build/templates/build/index.html:28 build/views.py:667 msgid "New Build Order" msgstr "" @@ -1123,20 +1185,20 @@ msgstr "" msgid "Details" msgstr "" -#: build/templates/build/navbar.html:20 build/templates/build/navbar.html:23 -#: build/templates/build/parts.html:11 -msgid "Required Parts" +#: build/templates/build/navbar.html:21 build/templates/build/navbar.html:24 +#: build/views.py:91 +msgid "Allocate Stock" msgstr "" -#: build/templates/build/navbar.html:27 build/templates/build/navbar.html:30 -msgid "In Progress" +#: build/templates/build/navbar.html:29 build/templates/build/navbar.html:32 +msgid "Build Outputs" msgstr "" -#: build/templates/build/navbar.html:45 +#: build/templates/build/navbar.html:39 msgid "Child Builds" msgstr "" -#: build/templates/build/navbar.html:56 +#: build/templates/build/navbar.html:50 msgid "Build Order Notes" msgstr "" @@ -1171,66 +1233,66 @@ msgstr "" msgid "Build was cancelled" msgstr "" -#: build/views.py:91 -msgid "Allocate Stock" -msgstr "" - -#: build/views.py:154 build/views.py:314 build/views.py:485 -msgid "Build output must be specified" -msgstr "" - -#: build/views.py:168 +#: build/views.py:138 msgid "Allocated stock to build output" msgstr "" -#: build/views.py:180 +#: build/views.py:150 msgid "Create Build Output" msgstr "" -#: build/views.py:203 stock/models.py:969 stock/views.py:1789 +#: build/views.py:173 stock/models.py:969 stock/views.py:1789 msgid "Serial numbers already exist" msgstr "" -#: build/views.py:212 +#: build/views.py:182 msgid "Serial numbers required for trackable build output" msgstr "" -#: build/views.py:278 +#: build/views.py:248 msgid "Delete Build Output" msgstr "" -#: build/views.py:299 build/views.py:383 +#: build/views.py:269 build/views.py:359 msgid "Confirm unallocation of build stock" msgstr "" -#: build/views.py:300 build/views.py:384 stock/views.py:425 +#: build/views.py:270 build/views.py:360 stock/views.py:425 msgid "Check the confirmation box" msgstr "" -#: build/views.py:312 +#: build/views.py:282 msgid "Build output does not match build" msgstr "" -#: build/views.py:326 +#: build/views.py:284 build/views.py:485 +msgid "Build output must be specified" +msgstr "" + +#: build/views.py:296 msgid "Build output deleted" msgstr "" -#: build/views.py:408 +#: build/views.py:394 msgid "Complete Build Order" msgstr "" -#: build/views.py:414 -msgid "Build order cannot be completed" +#: build/views.py:400 +msgid "Build order cannot be completed - incomplete outputs remain" msgstr "" -#: build/views.py:425 +#: build/views.py:411 msgid "Completed build order" msgstr "" -#: build/views.py:441 +#: build/views.py:427 msgid "Complete Build Output" msgstr "" +#: build/views.py:469 +msgid "Invalid stock status value selected" +msgstr "" + #: build/views.py:476 msgid "Quantity to complete cannot exceed build output quantity" msgstr "" @@ -1239,81 +1301,81 @@ msgstr "" msgid "Confirm completion of incomplete build" msgstr "" -#: build/views.py:573 +#: build/views.py:581 msgid "Build output completed" msgstr "" -#: build/views.py:711 +#: build/views.py:721 msgid "Created new build" msgstr "" -#: build/views.py:732 +#: build/views.py:742 msgid "Edit Build Order Details" msgstr "" -#: build/views.py:765 +#: build/views.py:775 msgid "Edited build" msgstr "" -#: build/views.py:774 +#: build/views.py:784 msgid "Delete Build Order" msgstr "" -#: build/views.py:789 +#: build/views.py:799 msgid "Removed parts from build allocation" msgstr "" -#: build/views.py:801 +#: build/views.py:811 msgid "Allocate stock to build output" msgstr "" -#: build/views.py:844 +#: build/views.py:854 msgid "Item must be currently in stock" msgstr "" -#: build/views.py:850 +#: build/views.py:860 msgid "Stock item is over-allocated" msgstr "" -#: build/views.py:851 templates/js/bom.js:230 templates/js/build.js:519 -#: templates/js/build.js:778 templates/js/build.js:961 +#: build/views.py:861 templates/js/bom.js:230 templates/js/build.js:575 +#: templates/js/build.js:838 templates/js/build.js:1021 msgid "Available" msgstr "" -#: build/views.py:853 +#: build/views.py:863 msgid "Stock item must be selected" msgstr "" -#: build/views.py:1016 +#: build/views.py:1026 msgid "Edit Stock Allocation" msgstr "" -#: build/views.py:1020 +#: build/views.py:1030 msgid "Updated Build Item" msgstr "" -#: build/views.py:1049 +#: build/views.py:1059 msgid "Add Build Order Attachment" msgstr "" -#: build/views.py:1062 order/views.py:110 order/views.py:162 part/views.py:172 +#: build/views.py:1072 order/views.py:110 order/views.py:162 part/views.py:172 #: stock/views.py:277 msgid "Added attachment" msgstr "" -#: build/views.py:1098 order/views.py:189 order/views.py:210 +#: build/views.py:1108 order/views.py:189 order/views.py:210 msgid "Edit Attachment" msgstr "" -#: build/views.py:1108 order/views.py:193 order/views.py:214 +#: build/views.py:1118 order/views.py:193 order/views.py:214 msgid "Attachment updated" msgstr "" -#: build/views.py:1118 order/views.py:229 order/views.py:243 +#: build/views.py:1128 order/views.py:229 order/views.py:243 msgid "Delete Attachment" msgstr "" -#: build/views.py:1123 order/views.py:235 order/views.py:249 stock/views.py:333 +#: build/views.py:1133 order/views.py:235 order/views.py:249 stock/views.py:333 msgid "Deleted attachment" msgstr "" @@ -1921,7 +1983,7 @@ msgstr "" #: company/templates/company/assigned_stock.html:10 #: company/templates/company/navbar.html:62 -#: company/templates/company/navbar.html:65 templates/js/build.js:411 +#: company/templates/company/navbar.html:65 templates/js/build.js:467 msgid "Assigned Stock" msgstr "" @@ -2985,26 +3047,18 @@ msgstr "" msgid "Sales Order Items" msgstr "" -#: order/templates/order/sales_order_detail.html:75 -#: order/templates/order/sales_order_detail.html:157 -#: report/templates/report/inventree_test_report_base.html:75 -#: stock/models.py:420 stock/templates/stock/item_base.html:238 -#: templates/js/build.js:418 -msgid "Serial Number" -msgstr "" - #: order/templates/order/sales_order_detail.html:92 templates/js/bom.js:342 -#: templates/js/build.js:571 templates/js/build.js:984 +#: templates/js/build.js:627 templates/js/build.js:1044 msgid "Actions" msgstr "" -#: order/templates/order/sales_order_detail.html:99 templates/js/build.js:459 -#: templates/js/build.js:789 +#: order/templates/order/sales_order_detail.html:99 templates/js/build.js:515 +#: templates/js/build.js:849 msgid "Edit stock allocation" msgstr "" -#: order/templates/order/sales_order_detail.html:100 templates/js/build.js:461 -#: templates/js/build.js:790 +#: order/templates/order/sales_order_detail.html:100 templates/js/build.js:517 +#: templates/js/build.js:850 msgid "Delete stock allocation" msgstr "" @@ -3016,8 +3070,8 @@ msgstr "" msgid "ID" msgstr "" -#: order/templates/order/sales_order_detail.html:229 templates/js/build.js:523 -#: templates/js/build.js:785 +#: order/templates/order/sales_order_detail.html:229 templates/js/build.js:579 +#: templates/js/build.js:845 msgid "Allocated" msgstr "" @@ -3029,7 +3083,7 @@ msgstr "" msgid "Allocate serial numbers" msgstr "" -#: order/templates/order/sales_order_detail.html:282 templates/js/build.js:585 +#: order/templates/order/sales_order_detail.html:282 templates/js/build.js:641 msgid "Allocate stock" msgstr "" @@ -3037,8 +3091,8 @@ msgstr "" msgid "Purchase stock" msgstr "" -#: order/templates/order/sales_order_detail.html:289 templates/js/build.js:578 -#: templates/js/build.js:992 +#: order/templates/order/sales_order_detail.html:289 templates/js/build.js:634 +#: templates/js/build.js:1052 msgid "Build stock" msgstr "" @@ -5363,7 +5417,7 @@ msgstr "" msgid "Stock Item Details" msgstr "" -#: stock/templates/stock/item_base.html:278 templates/js/build.js:442 +#: stock/templates/stock/item_base.html:278 templates/js/build.js:498 msgid "No location set" msgstr "" @@ -5755,7 +5809,7 @@ msgstr "" msgid "Serialize Stock" msgstr "" -#: stock/views.py:1543 templates/js/build.js:210 +#: stock/views.py:1543 templates/js/build.js:244 msgid "Create new Stock Item" msgstr "" @@ -6199,7 +6253,7 @@ msgstr "" msgid "Barcode does not match a valid location" msgstr "" -#: templates/js/bom.js:175 templates/js/build.js:934 +#: templates/js/bom.js:175 templates/js/build.js:994 msgid "Open subassembly" msgstr "" @@ -6237,58 +6291,58 @@ msgstr "" msgid "Delete BOM Item" msgstr "" -#: templates/js/bom.js:447 templates/js/build.js:305 templates/js/build.js:1032 +#: templates/js/bom.js:447 templates/js/build.js:340 templates/js/build.js:1092 msgid "No BOM items found" msgstr "" -#: templates/js/build.js:56 +#: templates/js/build.js:62 msgid "Auto-allocate stock items to this output" msgstr "" -#: templates/js/build.js:62 -msgid "Complete build output" -msgstr "" - -#: templates/js/build.js:71 +#: templates/js/build.js:70 msgid "Unallocate stock from build output" msgstr "" -#: templates/js/build.js:77 +#: templates/js/build.js:80 +msgid "Complete build output" +msgstr "" + +#: templates/js/build.js:89 msgid "Delete build output" msgstr "" -#: templates/js/build.js:209 templates/stock_table.html:20 +#: templates/js/build.js:243 templates/stock_table.html:20 msgid "New Stock Item" msgstr "" -#: templates/js/build.js:493 +#: templates/js/build.js:549 msgid "Required Part" msgstr "" -#: templates/js/build.js:514 +#: templates/js/build.js:570 msgid "Quantity Per" msgstr "" -#: templates/js/build.js:582 templates/js/build.js:996 +#: templates/js/build.js:638 templates/js/build.js:1056 #: templates/stock_table.html:58 msgid "Order stock" msgstr "" -#: templates/js/build.js:632 +#: templates/js/build.js:691 msgid "No builds matching query" msgstr "" -#: templates/js/build.js:649 templates/js/part.js:324 templates/js/part.js:546 +#: templates/js/build.js:708 templates/js/part.js:324 templates/js/part.js:546 #: templates/js/stock.js:511 templates/js/stock.js:938 #: templates/js/stock.js:1331 msgid "Select" msgstr "" -#: templates/js/build.js:669 +#: templates/js/build.js:728 msgid "Build order is overdue" msgstr "" -#: templates/js/build.js:767 +#: templates/js/build.js:827 msgid "No parts allocated for" msgstr "" diff --git a/InvenTree/locale/zh/LC_MESSAGES/django.mo b/InvenTree/locale/zh/LC_MESSAGES/django.mo new file mode 100644 index 0000000000000000000000000000000000000000..6c5906d1cd061dff54de8b533942893de34efc9e GIT binary patch literal 337 zcmYL@Jx{|h5Qd9j%E-dP;DHUUz!pqFHI3Uw*h!U-O0b#M1fyU_j*H-j@b~yFTo(FD zk8Zg4bkFbc(a#8TfSe*{$RTop42h8wT;AXuI{#UD_pUbq(k-mD?~SvRtk~?4EjU^8 zqD=EFDs<<30NFQY3lF=dhsseBt#T;zrx|V_Q9)Dk#909{hlG)3PGx%joM$`|st-_k zW&2hI=P8-jLXeC}P9|KkR7_ct6ud0&v1*&0YBW?@eNZA;wx|b_i4fD)jGb@x9W;=s z\n" "Language-Team: LANGUAGE \n" @@ -33,8 +33,8 @@ msgstr "" msgid "Enter date" msgstr "" -#: InvenTree/forms.py:110 build/forms.py:99 build/forms.py:120 -#: build/forms.py:142 build/forms.py:166 build/forms.py:188 build/forms.py:223 +#: InvenTree/forms.py:110 build/forms.py:101 build/forms.py:122 +#: build/forms.py:144 build/forms.py:168 build/forms.py:184 build/forms.py:226 #: order/forms.py:27 order/forms.py:38 order/forms.py:49 order/forms.py:60 #: order/forms.py:71 part/forms.py:134 msgid "Confirm" @@ -153,7 +153,7 @@ msgstr "" #: templates/InvenTree/search.html:144 templates/InvenTree/search.html:224 #: templates/InvenTree/search.html:296 #: templates/InvenTree/settings/header.html:9 templates/js/bom.js:190 -#: templates/js/build.js:677 templates/js/build.js:944 +#: templates/js/build.js:736 templates/js/build.js:1004 #: templates/js/company.js:56 templates/js/order.js:183 #: templates/js/order.js:280 templates/js/part.js:169 templates/js/part.js:252 #: templates/js/part.js:371 templates/js/part.js:565 templates/js/part.js:643 @@ -202,60 +202,60 @@ msgstr "" msgid "InvenTree system health checks failed" msgstr "" -#: InvenTree/status_codes.py:94 InvenTree/status_codes.py:135 -#: InvenTree/status_codes.py:228 +#: InvenTree/status_codes.py:102 InvenTree/status_codes.py:143 +#: InvenTree/status_codes.py:236 msgid "Pending" msgstr "" -#: InvenTree/status_codes.py:95 +#: InvenTree/status_codes.py:103 msgid "Placed" msgstr "" -#: InvenTree/status_codes.py:96 InvenTree/status_codes.py:231 +#: InvenTree/status_codes.py:104 InvenTree/status_codes.py:239 msgid "Complete" msgstr "" -#: InvenTree/status_codes.py:97 InvenTree/status_codes.py:137 -#: InvenTree/status_codes.py:230 +#: InvenTree/status_codes.py:105 InvenTree/status_codes.py:145 +#: InvenTree/status_codes.py:238 msgid "Cancelled" msgstr "" -#: InvenTree/status_codes.py:98 InvenTree/status_codes.py:138 -#: InvenTree/status_codes.py:180 +#: InvenTree/status_codes.py:106 InvenTree/status_codes.py:146 +#: InvenTree/status_codes.py:188 msgid "Lost" msgstr "" -#: InvenTree/status_codes.py:99 InvenTree/status_codes.py:139 -#: InvenTree/status_codes.py:182 +#: InvenTree/status_codes.py:107 InvenTree/status_codes.py:147 +#: InvenTree/status_codes.py:190 msgid "Returned" msgstr "" -#: InvenTree/status_codes.py:136 +#: InvenTree/status_codes.py:144 #: order/templates/order/sales_order_base.html:124 msgid "Shipped" msgstr "" -#: InvenTree/status_codes.py:176 +#: InvenTree/status_codes.py:184 msgid "OK" msgstr "" -#: InvenTree/status_codes.py:177 +#: InvenTree/status_codes.py:185 msgid "Attention needed" msgstr "" -#: InvenTree/status_codes.py:178 +#: InvenTree/status_codes.py:186 msgid "Damaged" msgstr "" -#: InvenTree/status_codes.py:179 +#: InvenTree/status_codes.py:187 msgid "Destroyed" msgstr "" -#: InvenTree/status_codes.py:181 +#: InvenTree/status_codes.py:189 msgid "Rejected" msgstr "" -#: InvenTree/status_codes.py:229 +#: InvenTree/status_codes.py:237 msgid "Production" msgstr "" @@ -358,32 +358,33 @@ msgstr "" msgid "Barcode associated with StockItem" msgstr "" -#: build/forms.py:34 +#: build/forms.py:36 msgid "Build Order reference" msgstr "" -#: build/forms.py:35 +#: build/forms.py:37 msgid "Order target date" msgstr "" -#: build/forms.py:39 build/templates/build/build_base.html:107 +#: build/forms.py:41 build/templates/build/build_base.html:136 #: build/templates/build/detail.html:121 order/forms.py:109 order/forms.py:144 #: order/templates/order/order_base.html:124 #: order/templates/order/sales_order_base.html:117 #: report/templates/report/inventree_build_order_base.html:126 -#: templates/js/build.js:723 templates/js/order.js:200 +#: templates/js/build.js:783 templates/js/order.js:200 #: templates/js/order.js:298 msgid "Target Date" msgstr "" -#: build/forms.py:40 build/models.py:224 +#: build/forms.py:42 build/models.py:224 msgid "" "Target date for build completion. Build will be overdue after this date." msgstr "" -#: build/forms.py:45 build/forms.py:87 build/forms.py:257 build/models.py:1109 +#: build/forms.py:47 build/forms.py:89 build/forms.py:265 build/models.py:1227 +#: build/templates/build/allocation_card.html:23 #: build/templates/build/auto_allocate.html:17 -#: build/templates/build/build_base.html:94 +#: build/templates/build/build_base.html:123 #: build/templates/build/detail.html:31 common/models.py:703 #: company/forms.py:176 company/templates/company/supplier_part_pricing.html:77 #: order/forms.py:188 order/forms.py:205 order/forms.py:239 order/forms.py:261 @@ -407,87 +408,101 @@ msgstr "" #: stock/forms.py:175 stock/forms.py:308 stock/models.py:1566 #: stock/templates/stock/item_base.html:244 #: stock/templates/stock/stock_adjust.html:18 templates/js/barcode.js:364 -#: templates/js/bom.js:205 templates/js/build.js:420 templates/js/build.js:954 +#: templates/js/bom.js:205 templates/js/build.js:476 templates/js/build.js:1014 #: templates/js/stock.js:1033 templates/js/stock.js:1271 msgid "Quantity" msgstr "" -#: build/forms.py:46 +#: build/forms.py:48 msgid "Number of items to build" msgstr "" -#: build/forms.py:88 +#: build/forms.py:90 msgid "Enter quantity for build output" msgstr "" -#: build/forms.py:92 order/forms.py:233 stock/forms.py:118 +#: build/forms.py:94 order/forms.py:233 stock/forms.py:118 msgid "Serial Numbers" msgstr "" -#: build/forms.py:94 +#: build/forms.py:96 msgid "Enter serial numbers for build outputs" msgstr "" -#: build/forms.py:100 +#: build/forms.py:102 msgid "Confirm creation of build output" msgstr "" -#: build/forms.py:121 +#: build/forms.py:123 msgid "Confirm deletion of build output" msgstr "" -#: build/forms.py:142 +#: build/forms.py:144 msgid "Confirm unallocation of stock" msgstr "" -#: build/forms.py:166 +#: build/forms.py:168 msgid "Confirm stock allocation" msgstr "" -#: build/forms.py:189 +#: build/forms.py:185 msgid "Mark build as complete" msgstr "" -#: build/forms.py:213 build/templates/build/auto_allocate.html:18 +#: build/forms.py:209 build/templates/build/auto_allocate.html:18 #: order/forms.py:82 stock/forms.py:347 #: stock/templates/stock/item_base.html:274 #: 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:434 +#: templates/js/barcode.js:531 templates/js/build.js:490 #: templates/js/stock.js:641 msgid "Location" msgstr "" -#: build/forms.py:214 +#: build/forms.py:210 msgid "Location of completed parts" msgstr "" -#: build/forms.py:219 +#: build/forms.py:214 build/templates/build/build_base.html:128 +#: build/templates/build/detail.html:59 order/models.py:445 +#: order/templates/order/receive_parts.html:24 +#: stock/templates/stock/item_base.html:392 templates/InvenTree/search.html:252 +#: templates/js/barcode.js:119 templates/js/build.js:770 +#: templates/js/order.js:187 templates/js/order.js:285 +#: templates/js/stock.js:628 templates/js/stock.js:1279 +msgid "Status" +msgstr "" + +#: build/forms.py:215 +msgid "Build output stock status" +msgstr "" + +#: build/forms.py:222 msgid "Confirm incomplete" msgstr "" -#: build/forms.py:220 +#: build/forms.py:223 msgid "Confirm completion with incomplete stock allocation" msgstr "" -#: build/forms.py:223 +#: build/forms.py:226 msgid "Confirm build completion" msgstr "" -#: build/forms.py:243 +#: build/forms.py:251 msgid "Confirm cancel" msgstr "" -#: build/forms.py:243 build/views.py:66 +#: build/forms.py:251 build/views.py:66 msgid "Confirm build cancellation" msgstr "" -#: build/forms.py:257 +#: build/forms.py:265 msgid "Select quantity of stock to allocate" msgstr "" #: build/models.py:65 build/templates/build/build_base.html:9 -#: build/templates/build/build_base.html:38 +#: build/templates/build/build_base.html:63 #: part/templates/part/allocation.html:23 #: report/templates/report/inventree_build_order_base.html:106 msgid "Build Order" @@ -512,7 +527,7 @@ msgstr "" #: order/templates/order/sales_order_detail.html:219 part/models.py:2187 #: report/templates/report/inventree_po_report.html:92 #: report/templates/report/inventree_so_report.html:92 templates/js/bom.js:197 -#: templates/js/build.js:509 templates/js/build.js:948 +#: templates/js/build.js:565 templates/js/build.js:1008 msgid "Reference" msgstr "" @@ -520,7 +535,7 @@ msgstr "" msgid "Brief description of the build" msgstr "" -#: build/models.py:146 build/templates/build/build_base.html:124 +#: build/models.py:146 build/templates/build/build_base.html:153 #: build/templates/build/detail.html:77 msgid "Parent Build" msgstr "" @@ -530,7 +545,7 @@ msgid "BuildOrder to which this build is allocated" msgstr "" #: build/models.py:152 build/templates/build/auto_allocate.html:16 -#: build/templates/build/build_base.html:89 +#: build/templates/build/build_base.html:118 #: build/templates/build/detail.html:26 company/models.py:669 #: order/models.py:637 order/models.py:669 #: order/templates/order/order_wizard/select_parts.html:30 @@ -547,7 +562,7 @@ msgstr "" #: report/templates/report/inventree_so_report.html:90 #: templates/InvenTree/search.html:112 templates/InvenTree/search.html:210 #: templates/js/barcode.js:362 templates/js/bom.js:163 -#: templates/js/build.js:681 templates/js/build.js:921 +#: templates/js/build.js:741 templates/js/build.js:981 #: templates/js/company.js:140 templates/js/company.js:238 #: templates/js/part.js:233 templates/js/part.js:338 templates/js/stock.js:523 #: templates/js/stock.js:1343 @@ -625,7 +640,7 @@ msgstr "" msgid "Target completion date" msgstr "" -#: build/models.py:227 order/models.py:218 +#: build/models.py:227 order/models.py:218 templates/js/build.js:788 msgid "Completion Date" msgstr "" @@ -641,7 +656,7 @@ msgstr "" msgid "User who issued this build order" msgstr "" -#: build/models.py:250 build/templates/build/build_base.html:145 +#: build/models.py:250 build/templates/build/build_base.html:174 #: build/templates/build/detail.html:105 order/models.py:119 #: order/templates/order/order_base.html:138 #: order/templates/order/sales_order_base.html:138 part/models.py:886 @@ -667,7 +682,7 @@ msgstr "" msgid "Link to external URL" msgstr "" -#: build/models.py:261 build/templates/build/navbar.html:59 +#: build/models.py:261 build/templates/build/navbar.html:53 #: company/models.py:135 company/models.py:501 #: company/templates/company/navbar.html:70 #: company/templates/company/navbar.html:73 order/models.py:123 @@ -690,87 +705,88 @@ msgstr "" msgid "Extra build notes" msgstr "" -#: build/models.py:673 +#: build/models.py:739 msgid "No build output specified" msgstr "" -#: build/models.py:676 +#: build/models.py:742 msgid "Build output is already completed" msgstr "" -#: build/models.py:679 +#: build/models.py:745 msgid "Build output does not match Build Order" msgstr "" -#: build/models.py:754 +#: build/models.py:838 msgid "Completed build output" msgstr "" -#: build/models.py:1002 +#: build/models.py:1118 msgid "BuildItem must be unique for build, stock_item and install_into" msgstr "" -#: build/models.py:1024 -msgid "Build item must specify a build output" +#: build/models.py:1143 +msgid "" +"Build item must specify a build output, as master part is marked as trackable" msgstr "" -#: build/models.py:1029 +#: build/models.py:1147 #, python-brace-format msgid "Selected stock item not found in BOM for part '{p}'" msgstr "" -#: build/models.py:1033 +#: build/models.py:1151 #, python-brace-format msgid "Allocated quantity ({n}) must not exceed available quantity ({q})" msgstr "" -#: build/models.py:1040 order/models.py:758 +#: build/models.py:1158 order/models.py:758 msgid "StockItem is over-allocated" msgstr "" -#: build/models.py:1044 order/models.py:761 +#: build/models.py:1162 order/models.py:761 msgid "Allocation quantity must be greater than zero" msgstr "" -#: build/models.py:1048 +#: build/models.py:1166 msgid "Quantity must be 1 for serialized stock" msgstr "" -#: build/models.py:1088 stock/templates/stock/item_base.html:306 -#: templates/InvenTree/search.html:183 templates/js/build.js:655 +#: build/models.py:1206 stock/templates/stock/item_base.html:306 +#: templates/InvenTree/search.html:183 templates/js/build.js:714 #: templates/navbar.html:29 msgid "Build" msgstr "" -#: build/models.py:1089 +#: build/models.py:1207 msgid "Build to allocate parts" msgstr "" -#: build/models.py:1096 part/templates/part/allocation.html:18 +#: build/models.py:1214 part/templates/part/allocation.html:18 #: part/templates/part/allocation.html:24 #: part/templates/part/allocation.html:31 #: part/templates/part/allocation.html:49 #: stock/templates/stock/item_base.html:8 #: stock/templates/stock/item_base.html:93 #: stock/templates/stock/item_base.html:328 -#: stock/templates/stock/stock_adjust.html:16 templates/js/build.js:771 +#: stock/templates/stock/stock_adjust.html:16 templates/js/build.js:831 #: templates/js/stock.js:1004 templates/js/stock.js:1262 msgid "Stock Item" msgstr "" -#: build/models.py:1097 +#: build/models.py:1215 msgid "Source stock item" msgstr "" -#: build/models.py:1110 +#: build/models.py:1228 msgid "Stock quantity to allocate to build" msgstr "" -#: build/models.py:1118 +#: build/models.py:1236 msgid "Install into" msgstr "" -#: build/models.py:1119 +#: build/models.py:1237 msgid "Destination stock item" msgstr "" @@ -779,54 +795,60 @@ msgid "Allocate Parts" msgstr "" #: build/templates/build/allocate.html:15 -msgid "Incomplete Build Ouputs" +msgid "Allocate Stock to Build" msgstr "" -#: build/templates/build/allocate.html:21 -msgid "Build order has been completed" +#: build/templates/build/allocate.html:22 +msgid "Allocate stock to build" msgstr "" -#: build/templates/build/allocate.html:26 -msgid "Create new build output" +#: build/templates/build/allocate.html:23 +msgid "Auto Allocate" msgstr "" -#: build/templates/build/allocate.html:27 -msgid "Create New Output" +#: build/templates/build/allocate.html:25 templates/js/build.js:646 +msgid "Unallocate stock" msgstr "" -#: build/templates/build/allocate.html:30 +#: build/templates/build/allocate.html:26 build/views.py:308 build/views.py:794 +msgid "Unallocate Stock" +msgstr "" + +#: build/templates/build/allocate.html:29 msgid "Order required parts" msgstr "" -#: build/templates/build/allocate.html:31 +#: build/templates/build/allocate.html:30 #: company/templates/company/detail_manufacturer_part.html:33 #: company/templates/company/detail_supplier_part.html:32 order/views.py:794 #: part/templates/part/category.html:127 msgid "Order Parts" msgstr "" -#: build/templates/build/allocate.html:34 templates/js/build.js:590 -msgid "Unallocate stock" +#: build/templates/build/allocate.html:36 +msgid "Untracked stock has been fully allocated for this Build Order" msgstr "" -#: build/templates/build/allocate.html:35 build/views.py:338 build/views.py:784 -msgid "Unallocate Stock" +#: build/templates/build/allocate.html:40 +msgid "Untracked stock has not been fully allocated for this Build Order" msgstr "" -#: build/templates/build/allocate.html:49 -msgid "Create a new build output" +#: build/templates/build/allocate.html:47 +msgid "This Build Order does not have any associated untracked BOM items" msgstr "" -#: build/templates/build/allocate.html:50 -msgid "No incomplete build outputs remain." -msgstr "" - -#: build/templates/build/allocate.html:51 -msgid "Create a new build output using the button above" +#: build/templates/build/allocation_card.html:21 +#: build/templates/build/complete_output.html:46 +#: order/templates/order/sales_order_detail.html:75 +#: order/templates/order/sales_order_detail.html:157 +#: report/templates/report/inventree_test_report_base.html:75 +#: stock/models.py:420 stock/templates/stock/item_base.html:238 +#: templates/js/build.js:474 +msgid "Serial Number" msgstr "" #: build/templates/build/attachments.html:12 -#: build/templates/build/navbar.html:49 build/templates/build/navbar.html:52 +#: build/templates/build/navbar.html:43 build/templates/build/navbar.html:46 #: order/templates/order/po_navbar.html:26 #: order/templates/order/so_navbar.html:29 part/templates/part/navbar.html:119 #: part/templates/part/navbar.html:122 stock/templates/stock/navbar.html:47 @@ -861,7 +883,23 @@ msgstr "" msgid "This Build Order is a child of Build Order %(link)s" msgstr "" -#: build/templates/build/build_base.html:40 +#: build/templates/build/build_base.html:31 +msgid "Build Order is ready to mark as completed" +msgstr "" + +#: build/templates/build/build_base.html:36 +msgid "Build Order cannot be completed as outstanding outputs remain" +msgstr "" + +#: build/templates/build/build_base.html:41 +msgid "Required build quantity has not yet been completed" +msgstr "" + +#: build/templates/build/build_base.html:46 +msgid "Stock has not been fully allocated to this Build Order" +msgstr "" + +#: build/templates/build/build_base.html:65 #: company/templates/company/company_base.html:40 #: company/templates/company/manufacturer_part_base.html:25 #: company/templates/company/supplier_part_base.html:26 @@ -873,8 +911,8 @@ msgstr "" msgid "Admin view" msgstr "" -#: build/templates/build/build_base.html:46 -#: build/templates/build/build_base.html:111 +#: build/templates/build/build_base.html:71 +#: build/templates/build/build_base.html:140 #: order/templates/order/order_base.html:32 #: order/templates/order/order_base.html:86 #: order/templates/order/sales_order_base.html:41 @@ -884,58 +922,48 @@ msgstr "" msgid "Overdue" msgstr "" -#: build/templates/build/build_base.html:55 +#: build/templates/build/build_base.html:80 msgid "Print actions" msgstr "" -#: build/templates/build/build_base.html:59 +#: build/templates/build/build_base.html:84 msgid "Print Build Order" msgstr "" -#: build/templates/build/build_base.html:65 -msgid "Build actions" -msgstr "" - -#: build/templates/build/build_base.html:69 -msgid "Edit Build" -msgstr "" - -#: build/templates/build/build_base.html:71 -#: build/templates/build/build_base.html:179 +#: build/templates/build/build_base.html:90 +#: build/templates/build/build_base.html:215 msgid "Complete Build" msgstr "" -#: build/templates/build/build_base.html:72 -#: build/templates/build/build_base.html:170 build/views.py:57 +#: build/templates/build/build_base.html:95 +msgid "Build actions" +msgstr "" + +#: build/templates/build/build_base.html:99 +msgid "Edit Build" +msgstr "" + +#: build/templates/build/build_base.html:101 +#: build/templates/build/build_base.html:199 build/views.py:57 msgid "Cancel Build" msgstr "" -#: build/templates/build/build_base.html:85 +#: build/templates/build/build_base.html:114 #: build/templates/build/detail.html:11 msgid "Build Details" msgstr "" -#: build/templates/build/build_base.html:99 -#: build/templates/build/detail.html:59 order/models.py:445 -#: order/templates/order/receive_parts.html:24 -#: stock/templates/stock/item_base.html:392 templates/InvenTree/search.html:252 -#: templates/js/barcode.js:119 templates/js/build.js:710 -#: templates/js/order.js:187 templates/js/order.js:285 -#: templates/js/stock.js:628 templates/js/stock.js:1279 -msgid "Status" -msgstr "" - -#: build/templates/build/build_base.html:111 +#: build/templates/build/build_base.html:140 #, python-format msgid "This build was due on %(target)s" msgstr "" -#: build/templates/build/build_base.html:118 +#: build/templates/build/build_base.html:147 #: build/templates/build/detail.html:64 msgid "Progress" msgstr "" -#: build/templates/build/build_base.html:131 +#: build/templates/build/build_base.html:160 #: build/templates/build/detail.html:84 order/models.py:667 #: order/templates/order/sales_order_base.html:9 #: order/templates/order/sales_order_base.html:33 @@ -947,20 +975,51 @@ msgstr "" msgid "Sales Order" msgstr "" -#: build/templates/build/build_base.html:138 +#: build/templates/build/build_base.html:167 #: build/templates/build/detail.html:98 #: report/templates/report/inventree_build_order_base.html:153 msgid "Issued By" msgstr "" +#: build/templates/build/build_base.html:207 +msgid "Incomplete Outputs" +msgstr "" + +#: build/templates/build/build_base.html:208 +msgid "Build Order cannot be completed as incomplete build outputs remain" +msgstr "" + #: build/templates/build/build_children.html:10 -#: build/templates/build/navbar.html:42 +#: build/templates/build/navbar.html:36 msgid "Child Build Orders" msgstr "" -#: build/templates/build/build_output.html:10 -#: build/templates/build/navbar.html:35 build/templates/build/navbar.html:38 -msgid "Build Outputs" +#: build/templates/build/build_output.html:15 +msgid "Incomplete Build Outputs" +msgstr "" + +#: build/templates/build/build_output.html:22 +msgid "Create new build output" +msgstr "" + +#: build/templates/build/build_output.html:23 +msgid "Create New Output" +msgstr "" + +#: build/templates/build/build_output.html:36 +msgid "Create a new build output" +msgstr "" + +#: build/templates/build/build_output.html:37 +msgid "No incomplete build outputs remain." +msgstr "" + +#: build/templates/build/build_output.html:38 +msgid "Create a new build output using the button above" +msgstr "" + +#: build/templates/build/build_output.html:49 +msgid "Completed Build Outputs" msgstr "" #: build/templates/build/build_output_create.html:7 @@ -988,11 +1047,11 @@ msgid "Are you sure you wish to cancel this build?" msgstr "" #: build/templates/build/complete.html:8 -msgid "Build can be completed" +msgid "Build Order is complete" msgstr "" #: build/templates/build/complete.html:12 -msgid "Build cannot be completed" +msgid "Build Order is incomplete" msgstr "" #: build/templates/build/complete.html:15 @@ -1003,19 +1062,23 @@ msgstr "" msgid "Required build quantity has not been completed" msgstr "" -#: build/templates/build/complete_output.html:9 -msgid "Stock allocation is complete" +#: build/templates/build/complete.html:21 +msgid "Required stock has not been fully allocated" msgstr "" -#: build/templates/build/complete_output.html:13 +#: build/templates/build/complete_output.html:10 +msgid "Stock allocation is complete for this output" +msgstr "" + +#: build/templates/build/complete_output.html:14 msgid "Stock allocation is incomplete" msgstr "" -#: build/templates/build/complete_output.html:19 -msgid "parts have not been fully allocated" +#: build/templates/build/complete_output.html:20 +msgid "tracked parts have not been fully allocated" msgstr "" -#: build/templates/build/complete_output.html:40 +#: build/templates/build/complete_output.html:41 msgid "The following items will be created" msgstr "" @@ -1068,7 +1131,7 @@ msgstr "" #: build/templates/build/detail.html:116 #: order/templates/order/order_base.html:111 -#: order/templates/order/sales_order_base.html:111 templates/js/build.js:718 +#: order/templates/order/sales_order_base.html:111 templates/js/build.js:778 msgid "Created" msgstr "" @@ -1076,8 +1139,7 @@ msgstr "" msgid "No target date set" msgstr "" -#: build/templates/build/detail.html:132 templates/js/build.js:696 -#: templates/js/build.js:728 +#: build/templates/build/detail.html:132 templates/js/build.js:756 msgid "Completed" msgstr "" @@ -1089,7 +1151,7 @@ msgstr "" msgid "Alter the quantity of stock allocated to the build output" msgstr "" -#: build/templates/build/index.html:28 build/views.py:657 +#: build/templates/build/index.html:28 build/views.py:667 msgid "New Build Order" msgstr "" @@ -1120,20 +1182,20 @@ msgstr "" msgid "Details" msgstr "" -#: build/templates/build/navbar.html:20 build/templates/build/navbar.html:23 -#: build/templates/build/parts.html:11 -msgid "Required Parts" +#: build/templates/build/navbar.html:21 build/templates/build/navbar.html:24 +#: build/views.py:91 +msgid "Allocate Stock" msgstr "" -#: build/templates/build/navbar.html:27 build/templates/build/navbar.html:30 -msgid "In Progress" +#: build/templates/build/navbar.html:29 build/templates/build/navbar.html:32 +msgid "Build Outputs" msgstr "" -#: build/templates/build/navbar.html:45 +#: build/templates/build/navbar.html:39 msgid "Child Builds" msgstr "" -#: build/templates/build/navbar.html:56 +#: build/templates/build/navbar.html:50 msgid "Build Order Notes" msgstr "" @@ -1168,66 +1230,66 @@ msgstr "" msgid "Build was cancelled" msgstr "" -#: build/views.py:91 -msgid "Allocate Stock" -msgstr "" - -#: build/views.py:154 build/views.py:314 build/views.py:485 -msgid "Build output must be specified" -msgstr "" - -#: build/views.py:168 +#: build/views.py:138 msgid "Allocated stock to build output" msgstr "" -#: build/views.py:180 +#: build/views.py:150 msgid "Create Build Output" msgstr "" -#: build/views.py:203 stock/models.py:969 stock/views.py:1789 +#: build/views.py:173 stock/models.py:969 stock/views.py:1789 msgid "Serial numbers already exist" msgstr "" -#: build/views.py:212 +#: build/views.py:182 msgid "Serial numbers required for trackable build output" msgstr "" -#: build/views.py:278 +#: build/views.py:248 msgid "Delete Build Output" msgstr "" -#: build/views.py:299 build/views.py:383 +#: build/views.py:269 build/views.py:359 msgid "Confirm unallocation of build stock" msgstr "" -#: build/views.py:300 build/views.py:384 stock/views.py:425 +#: build/views.py:270 build/views.py:360 stock/views.py:425 msgid "Check the confirmation box" msgstr "" -#: build/views.py:312 +#: build/views.py:282 msgid "Build output does not match build" msgstr "" -#: build/views.py:326 +#: build/views.py:284 build/views.py:485 +msgid "Build output must be specified" +msgstr "" + +#: build/views.py:296 msgid "Build output deleted" msgstr "" -#: build/views.py:408 +#: build/views.py:394 msgid "Complete Build Order" msgstr "" -#: build/views.py:414 -msgid "Build order cannot be completed" +#: build/views.py:400 +msgid "Build order cannot be completed - incomplete outputs remain" msgstr "" -#: build/views.py:425 +#: build/views.py:411 msgid "Completed build order" msgstr "" -#: build/views.py:441 +#: build/views.py:427 msgid "Complete Build Output" msgstr "" +#: build/views.py:469 +msgid "Invalid stock status value selected" +msgstr "" + #: build/views.py:476 msgid "Quantity to complete cannot exceed build output quantity" msgstr "" @@ -1236,81 +1298,81 @@ msgstr "" msgid "Confirm completion of incomplete build" msgstr "" -#: build/views.py:573 +#: build/views.py:581 msgid "Build output completed" msgstr "" -#: build/views.py:711 +#: build/views.py:721 msgid "Created new build" msgstr "" -#: build/views.py:732 +#: build/views.py:742 msgid "Edit Build Order Details" msgstr "" -#: build/views.py:765 +#: build/views.py:775 msgid "Edited build" msgstr "" -#: build/views.py:774 +#: build/views.py:784 msgid "Delete Build Order" msgstr "" -#: build/views.py:789 +#: build/views.py:799 msgid "Removed parts from build allocation" msgstr "" -#: build/views.py:801 +#: build/views.py:811 msgid "Allocate stock to build output" msgstr "" -#: build/views.py:844 +#: build/views.py:854 msgid "Item must be currently in stock" msgstr "" -#: build/views.py:850 +#: build/views.py:860 msgid "Stock item is over-allocated" msgstr "" -#: build/views.py:851 templates/js/bom.js:230 templates/js/build.js:519 -#: templates/js/build.js:778 templates/js/build.js:961 +#: build/views.py:861 templates/js/bom.js:230 templates/js/build.js:575 +#: templates/js/build.js:838 templates/js/build.js:1021 msgid "Available" msgstr "" -#: build/views.py:853 +#: build/views.py:863 msgid "Stock item must be selected" msgstr "" -#: build/views.py:1016 +#: build/views.py:1026 msgid "Edit Stock Allocation" msgstr "" -#: build/views.py:1020 +#: build/views.py:1030 msgid "Updated Build Item" msgstr "" -#: build/views.py:1049 +#: build/views.py:1059 msgid "Add Build Order Attachment" msgstr "" -#: build/views.py:1062 order/views.py:110 order/views.py:162 part/views.py:172 +#: build/views.py:1072 order/views.py:110 order/views.py:162 part/views.py:172 #: stock/views.py:277 msgid "Added attachment" msgstr "" -#: build/views.py:1098 order/views.py:189 order/views.py:210 +#: build/views.py:1108 order/views.py:189 order/views.py:210 msgid "Edit Attachment" msgstr "" -#: build/views.py:1108 order/views.py:193 order/views.py:214 +#: build/views.py:1118 order/views.py:193 order/views.py:214 msgid "Attachment updated" msgstr "" -#: build/views.py:1118 order/views.py:229 order/views.py:243 +#: build/views.py:1128 order/views.py:229 order/views.py:243 msgid "Delete Attachment" msgstr "" -#: build/views.py:1123 order/views.py:235 order/views.py:249 stock/views.py:333 +#: build/views.py:1133 order/views.py:235 order/views.py:249 stock/views.py:333 msgid "Deleted attachment" msgstr "" @@ -1918,7 +1980,7 @@ msgstr "" #: company/templates/company/assigned_stock.html:10 #: company/templates/company/navbar.html:62 -#: company/templates/company/navbar.html:65 templates/js/build.js:411 +#: company/templates/company/navbar.html:65 templates/js/build.js:467 msgid "Assigned Stock" msgstr "" @@ -2982,26 +3044,18 @@ msgstr "" msgid "Sales Order Items" msgstr "" -#: order/templates/order/sales_order_detail.html:75 -#: order/templates/order/sales_order_detail.html:157 -#: report/templates/report/inventree_test_report_base.html:75 -#: stock/models.py:420 stock/templates/stock/item_base.html:238 -#: templates/js/build.js:418 -msgid "Serial Number" -msgstr "" - #: order/templates/order/sales_order_detail.html:92 templates/js/bom.js:342 -#: templates/js/build.js:571 templates/js/build.js:984 +#: templates/js/build.js:627 templates/js/build.js:1044 msgid "Actions" msgstr "" -#: order/templates/order/sales_order_detail.html:99 templates/js/build.js:459 -#: templates/js/build.js:789 +#: order/templates/order/sales_order_detail.html:99 templates/js/build.js:515 +#: templates/js/build.js:849 msgid "Edit stock allocation" msgstr "" -#: order/templates/order/sales_order_detail.html:100 templates/js/build.js:461 -#: templates/js/build.js:790 +#: order/templates/order/sales_order_detail.html:100 templates/js/build.js:517 +#: templates/js/build.js:850 msgid "Delete stock allocation" msgstr "" @@ -3013,8 +3067,8 @@ msgstr "" msgid "ID" msgstr "" -#: order/templates/order/sales_order_detail.html:229 templates/js/build.js:523 -#: templates/js/build.js:785 +#: order/templates/order/sales_order_detail.html:229 templates/js/build.js:579 +#: templates/js/build.js:845 msgid "Allocated" msgstr "" @@ -3026,7 +3080,7 @@ msgstr "" msgid "Allocate serial numbers" msgstr "" -#: order/templates/order/sales_order_detail.html:282 templates/js/build.js:585 +#: order/templates/order/sales_order_detail.html:282 templates/js/build.js:641 msgid "Allocate stock" msgstr "" @@ -3034,8 +3088,8 @@ msgstr "" msgid "Purchase stock" msgstr "" -#: order/templates/order/sales_order_detail.html:289 templates/js/build.js:578 -#: templates/js/build.js:992 +#: order/templates/order/sales_order_detail.html:289 templates/js/build.js:634 +#: templates/js/build.js:1052 msgid "Build stock" msgstr "" @@ -5360,7 +5414,7 @@ msgstr "" msgid "Stock Item Details" msgstr "" -#: stock/templates/stock/item_base.html:278 templates/js/build.js:442 +#: stock/templates/stock/item_base.html:278 templates/js/build.js:498 msgid "No location set" msgstr "" @@ -5752,7 +5806,7 @@ msgstr "" msgid "Serialize Stock" msgstr "" -#: stock/views.py:1543 templates/js/build.js:210 +#: stock/views.py:1543 templates/js/build.js:244 msgid "Create new Stock Item" msgstr "" @@ -6196,7 +6250,7 @@ msgstr "" msgid "Barcode does not match a valid location" msgstr "" -#: templates/js/bom.js:175 templates/js/build.js:934 +#: templates/js/bom.js:175 templates/js/build.js:994 msgid "Open subassembly" msgstr "" @@ -6234,58 +6288,58 @@ msgstr "" msgid "Delete BOM Item" msgstr "" -#: templates/js/bom.js:447 templates/js/build.js:305 templates/js/build.js:1032 +#: templates/js/bom.js:447 templates/js/build.js:340 templates/js/build.js:1092 msgid "No BOM items found" msgstr "" -#: templates/js/build.js:56 +#: templates/js/build.js:62 msgid "Auto-allocate stock items to this output" msgstr "" -#: templates/js/build.js:62 -msgid "Complete build output" -msgstr "" - -#: templates/js/build.js:71 +#: templates/js/build.js:70 msgid "Unallocate stock from build output" msgstr "" -#: templates/js/build.js:77 +#: templates/js/build.js:80 +msgid "Complete build output" +msgstr "" + +#: templates/js/build.js:89 msgid "Delete build output" msgstr "" -#: templates/js/build.js:209 templates/stock_table.html:20 +#: templates/js/build.js:243 templates/stock_table.html:20 msgid "New Stock Item" msgstr "" -#: templates/js/build.js:493 +#: templates/js/build.js:549 msgid "Required Part" msgstr "" -#: templates/js/build.js:514 +#: templates/js/build.js:570 msgid "Quantity Per" msgstr "" -#: templates/js/build.js:582 templates/js/build.js:996 +#: templates/js/build.js:638 templates/js/build.js:1056 #: templates/stock_table.html:58 msgid "Order stock" msgstr "" -#: templates/js/build.js:632 +#: templates/js/build.js:691 msgid "No builds matching query" msgstr "" -#: templates/js/build.js:649 templates/js/part.js:324 templates/js/part.js:546 +#: templates/js/build.js:708 templates/js/part.js:324 templates/js/part.js:546 #: templates/js/stock.js:511 templates/js/stock.js:938 #: templates/js/stock.js:1331 msgid "Select" msgstr "" -#: templates/js/build.js:669 +#: templates/js/build.js:728 msgid "Build order is overdue" msgstr "" -#: templates/js/build.js:767 +#: templates/js/build.js:827 msgid "No parts allocated for" msgstr ""