diff --git a/InvenTree/InvenTree/views.py b/InvenTree/InvenTree/views.py index 16f77e5d9b..08d9084cfc 100644 --- a/InvenTree/InvenTree/views.py +++ b/InvenTree/InvenTree/views.py @@ -10,7 +10,6 @@ from __future__ import unicode_literals from django.utils.translation import gettext_lazy as _ from django.template.loader import render_to_string -from django.core.exceptions import ValidationError from django.http import JsonResponse, HttpResponseRedirect from django.urls import reverse_lazy diff --git a/InvenTree/build/views.py b/InvenTree/build/views.py index 6666089d11..660b17ddc5 100644 --- a/InvenTree/build/views.py +++ b/InvenTree/build/views.py @@ -513,7 +513,7 @@ class BuildCreate(AjaxCreateView): part = Part.objects.get(pk=form['part'].value()) # Part is not trackable - hide serial numbers - if not part.trackable: + if not part.trackable: form.fields['serial_numbers'].widget = HiddenInput() return form @@ -576,7 +576,7 @@ class BuildCreate(AjaxCreateView): # Check that the provided serial numbers are sensible try: - extracted = ExtractSerialNumbers(serials, quantity) + extracted = ExtractSerialNumbers(serials, quantity) except ValidationError as e: extracted = None form.add_error('serial_numbers', e.messages) diff --git a/InvenTree/locale/de/LC_MESSAGES/django.mo b/InvenTree/locale/de/LC_MESSAGES/django.mo index e21ba93797..1e93242c22 100644 Binary files a/InvenTree/locale/de/LC_MESSAGES/django.mo and b/InvenTree/locale/de/LC_MESSAGES/django.mo differ diff --git a/InvenTree/locale/de/LC_MESSAGES/django.po b/InvenTree/locale/de/LC_MESSAGES/django.po index a99811c6d0..e07947bcf4 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: 2020-10-28 11:24+0000\n" +"POT-Creation-Date: 2020-10-28 12:50+0000\n" "PO-Revision-Date: 2020-05-03 11:32+0200\n" "Last-Translator: Christian Schlüter \n" "Language-Team: C \n" @@ -214,7 +214,35 @@ msgstr "Überschuss darf 100% nicht überschreiten" msgid "Overage must be an integer value or a percentage" msgstr "Überschuss muss eine Ganzzahl oder ein Prozentwert sein" -#: InvenTree/views.py:734 +#: InvenTree/views.py:466 +#, fuzzy +#| msgid "Delete BOM Item" +msgid "Delete Item" +msgstr "BOM-Position löschen" + +#: InvenTree/views.py:515 +#, fuzzy +#| msgid "Confim BOM item deletion" +msgid "Check box to confirm item deletion" +msgstr "Löschung von BOM-Position bestätigen" + +#: InvenTree/views.py:530 +#, fuzzy +#| msgid "No user information" +msgid "Edit User Information" +msgstr "Keine Benutzerinformation" + +#: InvenTree/views.py:541 +#, fuzzy +#| msgid "Select part" +msgid "Set Password" +msgstr "Teil auswählen" + +#: InvenTree/views.py:560 +msgid "Password fields must match" +msgstr "" + +#: InvenTree/views.py:730 msgid "Database Statistics" msgstr "Datenbankstatistiken" @@ -473,7 +501,7 @@ msgstr "Chargennummer für diese Bau-Ausgabe" msgid "External Link" msgstr "Externer Link" -#: build/models.py:178 part/models.py:579 stock/models.py:391 +#: build/models.py:178 part/models.py:596 stock/models.py:391 msgid "Link to external URL" msgstr "Link zu einer externen URL" @@ -482,7 +510,7 @@ msgstr "Link zu einer externen URL" #: order/templates/order/purchase_order_detail.html:202 #: order/templates/order/so_tabs.html:23 part/templates/part/tabs.html:70 #: stock/forms.py:306 stock/forms.py:338 stock/forms.py:366 stock/models.py:461 -#: stock/models.py:1412 stock/templates/stock/tabs.html:26 +#: stock/models.py:1409 stock/templates/stock/tabs.html:26 #: templates/js/barcode.js:391 templates/js/bom.js:250 #: templates/js/stock.js:116 templates/js/stock.js:571 msgid "Notes" @@ -663,7 +691,7 @@ msgstr "Zuweisung löschen" msgid "No BOM items found" msgstr "Keine BOM-Einträge gefunden" -#: build/templates/build/allocate.html:384 part/models.py:1431 +#: build/templates/build/allocate.html:384 part/models.py:1448 #: templates/js/part.js:530 templates/js/table_filters.js:150 msgid "Required" msgstr "benötigt" @@ -764,7 +792,7 @@ msgstr "Bau fertigstellen" msgid "Cancel Build" msgstr "Bau abbrechen" -#: build/templates/build/build_base.html:59 build/views.py:625 +#: build/templates/build/build_base.html:59 build/views.py:630 msgid "Delete Build" msgstr "Bau entfernt" @@ -937,7 +965,7 @@ msgstr "Fertig" msgid "Alter the quantity of stock allocated to the build output" msgstr "Lagerobjekt-Anzahl dem Bau zuweisen" -#: build/templates/build/index.html:24 build/views.py:511 +#: build/templates/build/index.html:24 build/views.py:505 msgid "New Build Order" msgstr "Neuer Bauauftrag" @@ -1013,85 +1041,97 @@ msgstr "Zuweisungsaufhebung bestätigen" msgid "Check the confirmation box" msgstr "Bestätigungsbox bestätigen" -#: build/views.py:228 build/views.py:636 +#: build/views.py:228 build/views.py:641 msgid "Unallocate Stock" msgstr "Zuweisung aufheben" -#: build/views.py:378 +#: build/views.py:377 msgid "Confirm completion of build" msgstr "Baufertigstellung bestätigen" -#: build/views.py:385 +#: build/views.py:383 msgid "Invalid location selected" msgstr "Ungültige Ortsauswahl" -#: build/views.py:410 stock/views.py:1652 +#: build/views.py:404 #, python-brace-format msgid "The following serial numbers already exist: ({sn})" msgstr "Die folgende Seriennummer existiert bereits: ({sn})" -#: build/views.py:431 +#: build/views.py:413 +#, fuzzy +#| msgid "Build order allocation is complete" +msgid "Build could not be completed" +msgstr "Bau-Zuweisung ist vollständig" + +#: build/views.py:425 msgid "Build marked as COMPLETE" msgstr "Bau als FERTIG markiert" -#: build/views.py:560 +#: build/views.py:554 msgid "Created new build" msgstr "Neuen Bau angelegt" -#: build/views.py:578 +#: build/views.py:571 msgid "Trackable part must have serial numbers specified" msgstr "" -#: build/views.py:610 +#: build/views.py:592 stock/models.py:829 stock/views.py:1650 +#, fuzzy +#| msgid "Serial numbers already exist: " +msgid "Serial numbers already exist" +msgstr "Seriennummern existieren bereits:" + +#: build/views.py:615 msgid "Edit Build Details" msgstr "Baudetails bearbeiten" -#: build/views.py:616 +#: build/views.py:621 msgid "Edited build" msgstr "Bau bearbeitet" -#: build/views.py:642 +#: build/views.py:647 msgid "Removed parts from build allocation" msgstr "Teile von Bauzuordnung entfernt" -#: build/views.py:654 +#: build/views.py:659 #, fuzzy #| msgid "Allocate Stock to Build" msgid "Allocate stock to build output" msgstr "Lagerbestand dem Bau zuweisen" -#: build/views.py:845 +#: build/views.py:850 msgid "Edit Stock Allocation" msgstr "Teilzuordnung bearbeiten" -#: build/views.py:850 +#: build/views.py:855 msgid "Updated Build Item" msgstr "Bauobjekt aktualisiert" -#: build/views.py:877 +#: build/views.py:882 #, fuzzy #| msgid "Add Sales Order Attachment" msgid "Add Build Order Attachment" msgstr "Auftragsanhang hinzufügen" -#: build/views.py:886 order/views.py:109 order/views.py:157 part/views.py:92 +#: build/views.py:891 order/views.py:109 order/views.py:157 part/views.py:92 #: stock/views.py:175 msgid "Added attachment" msgstr "Anhang hinzugefügt" -#: build/views.py:922 order/views.py:184 order/views.py:206 +#: build/views.py:927 order/views.py:184 order/views.py:206 msgid "Edit Attachment" msgstr "Anhang bearbeiten" -#: build/views.py:933 order/views.py:189 order/views.py:211 +#: build/views.py:938 order/views.py:189 order/views.py:211 msgid "Attachment updated" msgstr "Anhang aktualisiert" -#: build/views.py:943 order/views.py:226 order/views.py:241 +#: build/views.py:948 order/views.py:226 order/views.py:241 msgid "Delete Attachment" msgstr "Anhang löschen" -#: build/views.py:949 order/views.py:233 order/views.py:248 stock/views.py:233 +#: build/views.py:954 order/views.py:233 order/views.py:248 stock/views.py:233 msgid "Deleted attachment" msgstr "Anhang gelöscht" @@ -1602,7 +1642,7 @@ msgid "Pricing Information" msgstr "Preisinformationen ansehen" #: company/templates/company/supplier_part_pricing.html:16 company/views.py:410 -#: part/templates/part/sale_prices.html:13 part/views.py:2228 +#: part/templates/part/sale_prices.html:13 part/views.py:2230 msgid "Add Price Break" msgstr "Preisstaffel hinzufügen" @@ -1735,17 +1775,17 @@ msgstr "Neues Zuliefererteil anlegen" msgid "Delete Supplier Part" msgstr "Zuliefererteil entfernen" -#: company/views.py:416 part/views.py:2234 +#: company/views.py:416 part/views.py:2236 #, fuzzy #| msgid "Add Price Break" msgid "Added new price break" msgstr "Preisstaffel hinzufügen" -#: company/views.py:453 part/views.py:2279 +#: company/views.py:453 part/views.py:2281 msgid "Edit Price Break" msgstr "Preisstaffel bearbeiten" -#: company/views.py:469 part/views.py:2295 +#: company/views.py:469 part/views.py:2297 msgid "Delete Price Break" msgstr "Preisstaffel löschen" @@ -1850,7 +1890,7 @@ msgstr "" msgid "Date order was completed" msgstr "Bestellung als vollständig markieren" -#: order/models.py:185 order/models.py:259 part/views.py:1345 +#: order/models.py:185 order/models.py:259 part/views.py:1347 #: stock/models.py:249 stock/models.py:813 msgid "Quantity must be greater than zero" msgstr "Anzahl muss größer Null sein" @@ -2465,117 +2505,117 @@ msgstr "Teile-Kategorien" msgid "Part '{p1}' is used in BOM for '{p2}' (recursive)" msgstr "Teil '{p1}' wird in Stückliste für Teil '{p2}' benutzt (rekursiv)" -#: part/models.py:435 +#: part/models.py:452 #, fuzzy #| msgid "No serial numbers found" msgid "Next available serial numbers are" msgstr "Keine Seriennummern gefunden" -#: part/models.py:439 +#: part/models.py:456 msgid "Next available serial number is" msgstr "" -#: part/models.py:444 +#: part/models.py:461 #, fuzzy #| msgid "Empty serial number string" msgid "Most recent serial number is" msgstr "Keine Seriennummer angegeben" -#: part/models.py:522 +#: part/models.py:539 msgid "Part must be unique for name, IPN and revision" msgstr "Namen, Teile- und Revisionsnummern müssen eindeutig sein" -#: part/models.py:551 part/templates/part/detail.html:19 +#: part/models.py:568 part/templates/part/detail.html:19 msgid "Part name" msgstr "Name des Teils" -#: part/models.py:555 +#: part/models.py:572 msgid "Is this part a template part?" msgstr "Ist dieses Teil eine Vorlage?" -#: part/models.py:564 +#: part/models.py:581 msgid "Is this part a variant of another part?" msgstr "Ist dieses Teil eine Variante eines anderen Teils?" -#: part/models.py:566 +#: part/models.py:583 msgid "Part description" msgstr "Beschreibung des Teils" -#: part/models.py:568 +#: part/models.py:585 msgid "Part keywords to improve visibility in search results" msgstr "Schlüsselworte um die Sichtbarkeit in Suchergebnissen zu verbessern" -#: part/models.py:573 +#: part/models.py:590 msgid "Part category" msgstr "Teile-Kategorie" -#: part/models.py:575 +#: part/models.py:592 msgid "Internal Part Number" msgstr "Interne Teilenummer" -#: part/models.py:577 +#: part/models.py:594 msgid "Part revision or version number" msgstr "Revisions- oder Versionsnummer" -#: part/models.py:591 +#: part/models.py:608 msgid "Where is this item normally stored?" msgstr "Wo wird dieses Teil normalerweise gelagert?" -#: part/models.py:635 +#: part/models.py:652 msgid "Default supplier part" msgstr "Standard-Zulieferer?" -#: part/models.py:638 +#: part/models.py:655 msgid "Minimum allowed stock level" msgstr "Minimal zulässiger Lagerbestand" -#: part/models.py:640 +#: part/models.py:657 msgid "Stock keeping units for this part" msgstr "Stock Keeping Units (SKU) für dieses Teil" -#: part/models.py:642 +#: part/models.py:659 msgid "Can this part be built from other parts?" msgstr "Kann dieses Teil aus anderen Teilen angefertigt werden?" -#: part/models.py:644 +#: part/models.py:661 msgid "Can this part be used to build other parts?" msgstr "Kann dieses Teil zum Bau von anderen genutzt werden?" -#: part/models.py:646 +#: part/models.py:663 msgid "Does this part have tracking for unique items?" msgstr "Hat dieses Teil Tracking für einzelne Objekte?" -#: part/models.py:648 +#: part/models.py:665 msgid "Can this part be purchased from external suppliers?" msgstr "Kann dieses Teil von externen Zulieferern gekauft werden?" -#: part/models.py:650 +#: part/models.py:667 msgid "Can this part be sold to customers?" msgstr "Kann dieses Teil an Kunden verkauft werden?" -#: part/models.py:652 +#: part/models.py:669 msgid "Is this part active?" msgstr "Ist dieses Teil aktiv?" -#: part/models.py:654 +#: part/models.py:671 msgid "Is this a virtual part, such as a software product or license?" msgstr "Ist dieses Teil virtuell, wie zum Beispiel eine Software oder Lizenz?" -#: part/models.py:656 +#: part/models.py:673 msgid "Part notes - supports Markdown formatting" msgstr "Bemerkungen - unterstüzt Markdown-Formatierung" -#: part/models.py:658 +#: part/models.py:675 msgid "Stored BOM checksum" msgstr "Prüfsumme der Stückliste gespeichert" -#: part/models.py:1383 +#: part/models.py:1400 #, fuzzy #| msgid "Stock item cannot be created for a template Part" msgid "Test templates can only be created for trackable parts" msgstr "Lagerobjekt kann nicht für Vorlagen-Teile angelegt werden" -#: part/models.py:1400 +#: part/models.py:1417 #, fuzzy #| msgid "" #| "A stock item with this serial number already exists for template part " @@ -2585,120 +2625,120 @@ msgstr "" "Ein Teil mit dieser Seriennummer existiert bereits für die Teilevorlage " "{part}" -#: part/models.py:1419 templates/js/part.js:521 templates/js/stock.js:92 +#: part/models.py:1436 templates/js/part.js:521 templates/js/stock.js:92 #, fuzzy #| msgid "Instance Name" msgid "Test Name" msgstr "Instanzname" -#: part/models.py:1420 +#: part/models.py:1437 #, fuzzy #| msgid "Serial number for this item" msgid "Enter a name for the test" msgstr "Seriennummer für dieses Teil" -#: part/models.py:1425 +#: part/models.py:1442 #, fuzzy #| msgid "Description" msgid "Test Description" msgstr "Beschreibung" -#: part/models.py:1426 +#: part/models.py:1443 #, fuzzy #| msgid "Brief description of the build" msgid "Enter description for this test" msgstr "Kurze Beschreibung des Baus" -#: part/models.py:1432 +#: part/models.py:1449 msgid "Is this test required to pass?" msgstr "" -#: part/models.py:1437 templates/js/part.js:538 +#: part/models.py:1454 templates/js/part.js:538 #, fuzzy #| msgid "Required Parts" msgid "Requires Value" msgstr "benötigte Teile" -#: part/models.py:1438 +#: part/models.py:1455 msgid "Does this test require a value when adding a test result?" msgstr "" -#: part/models.py:1443 templates/js/part.js:545 +#: part/models.py:1460 templates/js/part.js:545 #, fuzzy #| msgid "Delete Attachment" msgid "Requires Attachment" msgstr "Anhang löschen" -#: part/models.py:1444 +#: part/models.py:1461 msgid "Does this test require a file attachment when adding a test result?" msgstr "" -#: part/models.py:1477 +#: part/models.py:1494 msgid "Parameter template name must be unique" msgstr "Vorlagen-Name des Parameters muss eindeutig sein" -#: part/models.py:1482 +#: part/models.py:1499 msgid "Parameter Name" msgstr "Name des Parameters" -#: part/models.py:1484 +#: part/models.py:1501 msgid "Parameter Units" msgstr "Parameter Einheit" -#: part/models.py:1510 +#: part/models.py:1527 msgid "Parent Part" msgstr "Ausgangsteil" -#: part/models.py:1512 +#: part/models.py:1529 msgid "Parameter Template" msgstr "Parameter Vorlage" -#: part/models.py:1514 +#: part/models.py:1531 msgid "Parameter Value" msgstr "Parameter Wert" -#: part/models.py:1551 +#: part/models.py:1568 msgid "Select parent part" msgstr "Ausgangsteil auswählen" -#: part/models.py:1559 +#: part/models.py:1576 msgid "Select part to be used in BOM" msgstr "Teil für die Nutzung in der Stückliste auswählen" -#: part/models.py:1565 +#: part/models.py:1582 msgid "BOM quantity for this BOM item" msgstr "Stücklisten-Anzahl für dieses Stücklisten-Teil" -#: part/models.py:1567 +#: part/models.py:1584 #, fuzzy #| msgid "Confim BOM item deletion" msgid "This BOM item is optional" msgstr "Löschung von BOM-Position bestätigen" -#: part/models.py:1570 +#: part/models.py:1587 msgid "Estimated build wastage quantity (absolute or percentage)" msgstr "Geschätzter Ausschuss (absolut oder prozentual)" -#: part/models.py:1573 +#: part/models.py:1590 msgid "BOM item reference" msgstr "Referenz des Objekts auf der Stückliste" -#: part/models.py:1576 +#: part/models.py:1593 msgid "BOM item notes" msgstr "Notizen zum Stücklisten-Objekt" -#: part/models.py:1578 +#: part/models.py:1595 msgid "BOM line checksum" msgstr "Prüfsumme der Stückliste" -#: part/models.py:1645 part/views.py:1351 part/views.py:1403 +#: part/models.py:1662 part/views.py:1353 part/views.py:1405 #: stock/models.py:239 #, fuzzy #| msgid "Overage must be an integer value or a percentage" msgid "Quantity must be integer value for trackable parts" msgstr "Überschuss muss eine Ganzzahl oder ein Prozentwert sein" -#: part/models.py:1661 +#: part/models.py:1678 #, fuzzy #| msgid "New BOM Item" msgid "BOM Item" @@ -2783,7 +2823,7 @@ msgstr "Stückliste validieren" msgid "Validate" msgstr "BOM validieren" -#: part/templates/part/bom.html:61 part/views.py:1642 +#: part/templates/part/bom.html:61 part/views.py:1644 msgid "Export Bill of Materials" msgstr "Stückliste exportieren" @@ -2899,7 +2939,7 @@ msgstr "Neuen Bau beginnen" msgid "All parts" msgstr "Alle Teile" -#: part/templates/part/category.html:24 part/views.py:2045 +#: part/templates/part/category.html:24 part/views.py:2047 msgid "Create new part category" msgstr "Teilkategorie anlegen" @@ -2999,6 +3039,22 @@ msgstr "Neuen Lager-Standort erstellen" msgid "Parametric Table" msgstr "Parameter Wert" +#: part/templates/part/create_part.html:11 +#, fuzzy +#| msgid "No matching data" +msgid "Possible Matching Parts" +msgstr "Keine passenden Daten" + +#: part/templates/part/create_part.html:12 +msgid "The new part may be a duplicate of these existing parts" +msgstr "" + +#: part/templates/part/create_part.html:16 +#, fuzzy +#| msgid "Batch" +msgid "match" +msgstr "Los" + #: part/templates/part/detail.html:9 msgid "Part Details" msgstr "Teile-Details" @@ -3179,7 +3235,7 @@ msgstr "Parameter hinzufügen" msgid "New Parameter" msgstr "Neuer Parameter" -#: part/templates/part/params.html:25 stock/models.py:1399 +#: part/templates/part/params.html:25 stock/models.py:1396 #: templates/js/stock.js:112 msgid "Value" msgstr "Wert" @@ -3476,129 +3532,139 @@ msgstr "Teil duplizieren" msgid "Copied part" msgstr "Teil kopiert" -#: part/views.py:513 templates/js/stock.js:833 +#: part/views.py:449 part/views.py:579 +msgid "Possible matches exist - confirm creation of new part" +msgstr "" + +#: part/views.py:514 templates/js/stock.js:833 msgid "Create New Part" msgstr "Neues Teil anlegen" -#: part/views.py:520 +#: part/views.py:521 msgid "Created new part" msgstr "Neues Teil angelegt" -#: part/views.py:735 +#: part/views.py:737 msgid "Part QR Code" msgstr "Teil-QR-Code" -#: part/views.py:754 +#: part/views.py:756 msgid "Upload Part Image" msgstr "Teilbild hochladen" -#: part/views.py:762 part/views.py:799 +#: part/views.py:764 part/views.py:801 msgid "Updated part image" msgstr "Teilbild aktualisiert" -#: part/views.py:771 +#: part/views.py:773 msgid "Select Part Image" msgstr "Teilbild auswählen" -#: part/views.py:802 +#: part/views.py:804 msgid "Part image not found" msgstr "Teilbild nicht gefunden" -#: part/views.py:813 +#: part/views.py:815 msgid "Edit Part Properties" msgstr "Teileigenschaften bearbeiten" -#: part/views.py:837 +#: part/views.py:839 msgid "Validate BOM" msgstr "BOM validieren" -#: part/views.py:1004 +#: part/views.py:867 +#, fuzzy +#| msgid "Confirm that the BOM is correct" +msgid "Confirm that the BOM is valid" +msgstr "Bestätigen, dass die Stückliste korrekt ist" + +#: part/views.py:1006 msgid "No BOM file provided" msgstr "Keine Stückliste angegeben" -#: part/views.py:1354 +#: part/views.py:1356 msgid "Enter a valid quantity" msgstr "Bitte eine gültige Anzahl eingeben" -#: part/views.py:1379 part/views.py:1382 +#: part/views.py:1381 part/views.py:1384 msgid "Select valid part" msgstr "Bitte ein gültiges Teil auswählen" -#: part/views.py:1388 +#: part/views.py:1390 msgid "Duplicate part selected" msgstr "Teil doppelt ausgewählt" -#: part/views.py:1426 +#: part/views.py:1428 msgid "Select a part" msgstr "Teil auswählen" -#: part/views.py:1432 +#: part/views.py:1434 #, fuzzy #| msgid "Select part to be used in BOM" msgid "Selected part creates a circular BOM" msgstr "Teil für die Nutzung in der Stückliste auswählen" -#: part/views.py:1436 +#: part/views.py:1438 msgid "Specify quantity" msgstr "Anzahl angeben" -#: part/views.py:1692 +#: part/views.py:1694 msgid "Confirm Part Deletion" msgstr "Löschen des Teils bestätigen" -#: part/views.py:1701 +#: part/views.py:1703 msgid "Part was deleted" msgstr "Teil wurde gelöscht" -#: part/views.py:1710 +#: part/views.py:1712 msgid "Part Pricing" msgstr "Teilbepreisung" -#: part/views.py:1836 +#: part/views.py:1838 msgid "Create Part Parameter Template" msgstr "Teilparametervorlage anlegen" -#: part/views.py:1846 +#: part/views.py:1848 msgid "Edit Part Parameter Template" msgstr "Teilparametervorlage bearbeiten" -#: part/views.py:1855 +#: part/views.py:1857 msgid "Delete Part Parameter Template" msgstr "Teilparametervorlage löschen" -#: part/views.py:1865 +#: part/views.py:1867 msgid "Create Part Parameter" msgstr "Teilparameter anlegen" -#: part/views.py:1917 +#: part/views.py:1919 msgid "Edit Part Parameter" msgstr "Teilparameter bearbeiten" -#: part/views.py:1933 +#: part/views.py:1935 msgid "Delete Part Parameter" msgstr "Teilparameter löschen" -#: part/views.py:1992 +#: part/views.py:1994 msgid "Edit Part Category" msgstr "Teilkategorie bearbeiten" -#: part/views.py:2029 +#: part/views.py:2031 msgid "Delete Part Category" msgstr "Teilkategorie löschen" -#: part/views.py:2037 +#: part/views.py:2039 msgid "Part category was deleted" msgstr "Teilekategorie wurde gelöscht" -#: part/views.py:2100 +#: part/views.py:2102 msgid "Create BOM item" msgstr "BOM-Position anlegen" -#: part/views.py:2168 +#: part/views.py:2170 msgid "Edit BOM item" msgstr "BOM-Position beaarbeiten" -#: part/views.py:2218 +#: part/views.py:2220 msgid "Confim BOM item deletion" msgstr "Löschung von BOM-Position bestätigen" @@ -3900,82 +3966,78 @@ msgstr "Seriennummern muss eine Liste von Ganzzahlen sein" msgid "Quantity does not match serial numbers" msgstr "Anzahl stimmt nicht mit den Seriennummern überein" -#: stock/models.py:832 -msgid "Serial numbers already exist: " -msgstr "Seriennummern existieren bereits:" - -#: stock/models.py:857 +#: stock/models.py:854 msgid "Add serial number" msgstr "Seriennummer hinzufügen" -#: stock/models.py:860 +#: stock/models.py:857 #, python-brace-format msgid "Serialized {n} items" msgstr "{n} Teile serialisiert" -#: stock/models.py:971 +#: stock/models.py:968 msgid "StockItem cannot be moved as it is not in stock" msgstr "Lagerobjekt kann nicht bewegt werden, da kein Bestand vorhanden ist" -#: stock/models.py:1300 +#: stock/models.py:1297 msgid "Tracking entry title" msgstr "Name des Eintrags-Trackings" -#: stock/models.py:1302 +#: stock/models.py:1299 msgid "Entry notes" msgstr "Eintrags-Notizen" -#: stock/models.py:1304 +#: stock/models.py:1301 msgid "Link to external page for further information" msgstr "Link auf externe Seite für weitere Informationen" -#: stock/models.py:1364 +#: stock/models.py:1361 #, fuzzy #| msgid "Serial number for this item" msgid "Value must be provided for this test" msgstr "Seriennummer für dieses Teil" -#: stock/models.py:1370 +#: stock/models.py:1367 msgid "Attachment must be uploaded for this test" msgstr "" -#: stock/models.py:1387 +#: stock/models.py:1384 msgid "Test" msgstr "" -#: stock/models.py:1388 +#: stock/models.py:1385 #, fuzzy #| msgid "Part name" msgid "Test name" msgstr "Name des Teils" -#: stock/models.py:1393 +#: stock/models.py:1390 #, fuzzy #| msgid "Search Results" msgid "Result" msgstr "Suchergebnisse" -#: stock/models.py:1394 templates/js/table_filters.js:140 +#: stock/models.py:1391 templates/js/table_filters.js:140 msgid "Test result" msgstr "" -#: stock/models.py:1400 +#: stock/models.py:1397 msgid "Test output value" msgstr "" -#: stock/models.py:1406 +#: stock/models.py:1403 #, fuzzy #| msgid "Attachments" msgid "Attachment" msgstr "Anhänge" -#: stock/models.py:1407 +#: stock/models.py:1404 #, fuzzy #| msgid "Delete attachment" msgid "Test result attachment" msgstr "Anhang löschen" -#: stock/models.py:1413 +#: stock/models.py:1410 #, fuzzy #| msgid "Edit notes" msgid "Test notes" @@ -4567,32 +4629,32 @@ msgstr "Anzahl muss größer Null sein" msgid "Invalid part selection" msgstr "Ungültige Teileauswahl" -#: stock/views.py:1680 +#: stock/views.py:1679 #, python-brace-format msgid "Created {n} new stock items" msgstr "{n} neue Lagerobjekte erstellt" -#: stock/views.py:1699 stock/views.py:1715 +#: stock/views.py:1698 stock/views.py:1714 msgid "Created new stock item" msgstr "Neues Lagerobjekt erstellt" -#: stock/views.py:1734 +#: stock/views.py:1733 msgid "Delete Stock Location" msgstr "Standort löschen" -#: stock/views.py:1748 +#: stock/views.py:1747 msgid "Delete Stock Item" msgstr "Lagerobjekt löschen" -#: stock/views.py:1760 +#: stock/views.py:1759 msgid "Delete Stock Tracking Entry" msgstr "Lagerbestands-Tracking-Eintrag löschen" -#: stock/views.py:1779 +#: stock/views.py:1778 msgid "Edit Stock Tracking Entry" msgstr "Lagerbestands-Tracking-Eintrag bearbeiten" -#: stock/views.py:1789 +#: stock/views.py:1788 msgid "Add Stock Tracking Entry" msgstr "Lagerbestands-Tracking-Eintrag hinzufügen" @@ -5818,9 +5880,6 @@ msgstr "Ausgewählte Stücklistenpositionen entfernen" #~ msgid "StockItem does not exist" #~ msgstr "Lagerobjekt existiert nicht" -#~ msgid "No matching data" -#~ msgstr "Keine passenden Daten" - #, fuzzy #~| msgid "Add stock" #~ msgid "Add to stock" diff --git a/InvenTree/locale/en/LC_MESSAGES/django.po b/InvenTree/locale/en/LC_MESSAGES/django.po index eecf358fec..f55cc52b4a 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: 2020-10-28 11:24+0000\n" +"POT-Creation-Date: 2020-10-28 12:50+0000\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: FULL NAME \n" "Language-Team: LANGUAGE \n" @@ -202,7 +202,27 @@ msgstr "" msgid "Overage must be an integer value or a percentage" msgstr "" -#: InvenTree/views.py:734 +#: InvenTree/views.py:466 +msgid "Delete Item" +msgstr "" + +#: InvenTree/views.py:515 +msgid "Check box to confirm item deletion" +msgstr "" + +#: InvenTree/views.py:530 +msgid "Edit User Information" +msgstr "" + +#: InvenTree/views.py:541 +msgid "Set Password" +msgstr "" + +#: InvenTree/views.py:560 +msgid "Password fields must match" +msgstr "" + +#: InvenTree/views.py:730 msgid "Database Statistics" msgstr "" @@ -427,7 +447,7 @@ msgstr "" msgid "External Link" msgstr "" -#: build/models.py:178 part/models.py:579 stock/models.py:391 +#: build/models.py:178 part/models.py:596 stock/models.py:391 msgid "Link to external URL" msgstr "" @@ -436,7 +456,7 @@ msgstr "" #: order/templates/order/purchase_order_detail.html:202 #: order/templates/order/so_tabs.html:23 part/templates/part/tabs.html:70 #: stock/forms.py:306 stock/forms.py:338 stock/forms.py:366 stock/models.py:461 -#: stock/models.py:1412 stock/templates/stock/tabs.html:26 +#: stock/models.py:1409 stock/templates/stock/tabs.html:26 #: templates/js/barcode.js:391 templates/js/bom.js:250 #: templates/js/stock.js:116 templates/js/stock.js:571 msgid "Notes" @@ -604,7 +624,7 @@ msgstr "" msgid "No BOM items found" msgstr "" -#: build/templates/build/allocate.html:384 part/models.py:1431 +#: build/templates/build/allocate.html:384 part/models.py:1448 #: templates/js/part.js:530 templates/js/table_filters.js:150 msgid "Required" msgstr "" @@ -692,7 +712,7 @@ msgstr "" msgid "Cancel Build" msgstr "" -#: build/templates/build/build_base.html:59 build/views.py:625 +#: build/templates/build/build_base.html:59 build/views.py:630 msgid "Delete Build" msgstr "" @@ -847,7 +867,7 @@ msgstr "" msgid "Alter the quantity of stock allocated to the build output" msgstr "" -#: build/templates/build/index.html:24 build/views.py:511 +#: build/templates/build/index.html:24 build/views.py:505 msgid "New Build Order" msgstr "" @@ -918,81 +938,89 @@ msgstr "" msgid "Check the confirmation box" msgstr "" -#: build/views.py:228 build/views.py:636 +#: build/views.py:228 build/views.py:641 msgid "Unallocate Stock" msgstr "" -#: build/views.py:378 +#: build/views.py:377 msgid "Confirm completion of build" msgstr "" -#: build/views.py:385 +#: build/views.py:383 msgid "Invalid location selected" msgstr "" -#: build/views.py:410 stock/views.py:1652 +#: build/views.py:404 #, python-brace-format msgid "The following serial numbers already exist: ({sn})" msgstr "" -#: build/views.py:431 +#: build/views.py:413 +msgid "Build could not be completed" +msgstr "" + +#: build/views.py:425 msgid "Build marked as COMPLETE" msgstr "" -#: build/views.py:560 +#: build/views.py:554 msgid "Created new build" msgstr "" -#: build/views.py:578 +#: build/views.py:571 msgid "Trackable part must have serial numbers specified" msgstr "" -#: build/views.py:610 +#: build/views.py:592 stock/models.py:829 stock/views.py:1650 +msgid "Serial numbers already exist" +msgstr "" + +#: build/views.py:615 msgid "Edit Build Details" msgstr "" -#: build/views.py:616 +#: build/views.py:621 msgid "Edited build" msgstr "" -#: build/views.py:642 +#: build/views.py:647 msgid "Removed parts from build allocation" msgstr "" -#: build/views.py:654 +#: build/views.py:659 msgid "Allocate stock to build output" msgstr "" -#: build/views.py:845 +#: build/views.py:850 msgid "Edit Stock Allocation" msgstr "" -#: build/views.py:850 +#: build/views.py:855 msgid "Updated Build Item" msgstr "" -#: build/views.py:877 +#: build/views.py:882 msgid "Add Build Order Attachment" msgstr "" -#: build/views.py:886 order/views.py:109 order/views.py:157 part/views.py:92 +#: build/views.py:891 order/views.py:109 order/views.py:157 part/views.py:92 #: stock/views.py:175 msgid "Added attachment" msgstr "" -#: build/views.py:922 order/views.py:184 order/views.py:206 +#: build/views.py:927 order/views.py:184 order/views.py:206 msgid "Edit Attachment" msgstr "" -#: build/views.py:933 order/views.py:189 order/views.py:211 +#: build/views.py:938 order/views.py:189 order/views.py:211 msgid "Attachment updated" msgstr "" -#: build/views.py:943 order/views.py:226 order/views.py:241 +#: build/views.py:948 order/views.py:226 order/views.py:241 msgid "Delete Attachment" msgstr "" -#: build/views.py:949 order/views.py:233 order/views.py:248 stock/views.py:233 +#: build/views.py:954 order/views.py:233 order/views.py:248 stock/views.py:233 msgid "Deleted attachment" msgstr "" @@ -1460,7 +1488,7 @@ msgid "Pricing Information" msgstr "" #: company/templates/company/supplier_part_pricing.html:16 company/views.py:410 -#: part/templates/part/sale_prices.html:13 part/views.py:2228 +#: part/templates/part/sale_prices.html:13 part/views.py:2230 msgid "Add Price Break" msgstr "" @@ -1587,15 +1615,15 @@ msgstr "" msgid "Delete Supplier Part" msgstr "" -#: company/views.py:416 part/views.py:2234 +#: company/views.py:416 part/views.py:2236 msgid "Added new price break" msgstr "" -#: company/views.py:453 part/views.py:2279 +#: company/views.py:453 part/views.py:2281 msgid "Edit Price Break" msgstr "" -#: company/views.py:469 part/views.py:2295 +#: company/views.py:469 part/views.py:2297 msgid "Delete Price Break" msgstr "" @@ -1688,7 +1716,7 @@ msgstr "" msgid "Date order was completed" msgstr "" -#: order/models.py:185 order/models.py:259 part/views.py:1345 +#: order/models.py:185 order/models.py:259 part/views.py:1347 #: stock/models.py:249 stock/models.py:813 msgid "Quantity must be greater than zero" msgstr "" @@ -2274,212 +2302,212 @@ msgstr "" msgid "Part '{p1}' is used in BOM for '{p2}' (recursive)" msgstr "" -#: part/models.py:435 +#: part/models.py:452 msgid "Next available serial numbers are" msgstr "" -#: part/models.py:439 +#: part/models.py:456 msgid "Next available serial number is" msgstr "" -#: part/models.py:444 +#: part/models.py:461 msgid "Most recent serial number is" msgstr "" -#: part/models.py:522 +#: part/models.py:539 msgid "Part must be unique for name, IPN and revision" msgstr "" -#: part/models.py:551 part/templates/part/detail.html:19 +#: part/models.py:568 part/templates/part/detail.html:19 msgid "Part name" msgstr "" -#: part/models.py:555 +#: part/models.py:572 msgid "Is this part a template part?" msgstr "" -#: part/models.py:564 +#: part/models.py:581 msgid "Is this part a variant of another part?" msgstr "" -#: part/models.py:566 +#: part/models.py:583 msgid "Part description" msgstr "" -#: part/models.py:568 +#: part/models.py:585 msgid "Part keywords to improve visibility in search results" msgstr "" -#: part/models.py:573 +#: part/models.py:590 msgid "Part category" msgstr "" -#: part/models.py:575 +#: part/models.py:592 msgid "Internal Part Number" msgstr "" -#: part/models.py:577 +#: part/models.py:594 msgid "Part revision or version number" msgstr "" -#: part/models.py:591 +#: part/models.py:608 msgid "Where is this item normally stored?" msgstr "" -#: part/models.py:635 +#: part/models.py:652 msgid "Default supplier part" msgstr "" -#: part/models.py:638 +#: part/models.py:655 msgid "Minimum allowed stock level" msgstr "" -#: part/models.py:640 +#: part/models.py:657 msgid "Stock keeping units for this part" msgstr "" -#: part/models.py:642 +#: part/models.py:659 msgid "Can this part be built from other parts?" msgstr "" -#: part/models.py:644 +#: part/models.py:661 msgid "Can this part be used to build other parts?" msgstr "" -#: part/models.py:646 +#: part/models.py:663 msgid "Does this part have tracking for unique items?" msgstr "" -#: part/models.py:648 +#: part/models.py:665 msgid "Can this part be purchased from external suppliers?" msgstr "" -#: part/models.py:650 +#: part/models.py:667 msgid "Can this part be sold to customers?" msgstr "" -#: part/models.py:652 +#: part/models.py:669 msgid "Is this part active?" msgstr "" -#: part/models.py:654 +#: part/models.py:671 msgid "Is this a virtual part, such as a software product or license?" msgstr "" -#: part/models.py:656 +#: part/models.py:673 msgid "Part notes - supports Markdown formatting" msgstr "" -#: part/models.py:658 +#: part/models.py:675 msgid "Stored BOM checksum" msgstr "" -#: part/models.py:1383 +#: part/models.py:1400 msgid "Test templates can only be created for trackable parts" msgstr "" -#: part/models.py:1400 +#: part/models.py:1417 msgid "Test with this name already exists for this part" msgstr "" -#: part/models.py:1419 templates/js/part.js:521 templates/js/stock.js:92 +#: part/models.py:1436 templates/js/part.js:521 templates/js/stock.js:92 msgid "Test Name" msgstr "" -#: part/models.py:1420 +#: part/models.py:1437 msgid "Enter a name for the test" msgstr "" -#: part/models.py:1425 +#: part/models.py:1442 msgid "Test Description" msgstr "" -#: part/models.py:1426 +#: part/models.py:1443 msgid "Enter description for this test" msgstr "" -#: part/models.py:1432 +#: part/models.py:1449 msgid "Is this test required to pass?" msgstr "" -#: part/models.py:1437 templates/js/part.js:538 +#: part/models.py:1454 templates/js/part.js:538 msgid "Requires Value" msgstr "" -#: part/models.py:1438 +#: part/models.py:1455 msgid "Does this test require a value when adding a test result?" msgstr "" -#: part/models.py:1443 templates/js/part.js:545 +#: part/models.py:1460 templates/js/part.js:545 msgid "Requires Attachment" msgstr "" -#: part/models.py:1444 +#: part/models.py:1461 msgid "Does this test require a file attachment when adding a test result?" msgstr "" -#: part/models.py:1477 +#: part/models.py:1494 msgid "Parameter template name must be unique" msgstr "" -#: part/models.py:1482 +#: part/models.py:1499 msgid "Parameter Name" msgstr "" -#: part/models.py:1484 +#: part/models.py:1501 msgid "Parameter Units" msgstr "" -#: part/models.py:1510 +#: part/models.py:1527 msgid "Parent Part" msgstr "" -#: part/models.py:1512 +#: part/models.py:1529 msgid "Parameter Template" msgstr "" -#: part/models.py:1514 +#: part/models.py:1531 msgid "Parameter Value" msgstr "" -#: part/models.py:1551 +#: part/models.py:1568 msgid "Select parent part" msgstr "" -#: part/models.py:1559 +#: part/models.py:1576 msgid "Select part to be used in BOM" msgstr "" -#: part/models.py:1565 +#: part/models.py:1582 msgid "BOM quantity for this BOM item" msgstr "" -#: part/models.py:1567 +#: part/models.py:1584 msgid "This BOM item is optional" msgstr "" -#: part/models.py:1570 +#: part/models.py:1587 msgid "Estimated build wastage quantity (absolute or percentage)" msgstr "" -#: part/models.py:1573 +#: part/models.py:1590 msgid "BOM item reference" msgstr "" -#: part/models.py:1576 +#: part/models.py:1593 msgid "BOM item notes" msgstr "" -#: part/models.py:1578 +#: part/models.py:1595 msgid "BOM line checksum" msgstr "" -#: part/models.py:1645 part/views.py:1351 part/views.py:1403 +#: part/models.py:1662 part/views.py:1353 part/views.py:1405 #: stock/models.py:239 msgid "Quantity must be integer value for trackable parts" msgstr "" -#: part/models.py:1661 +#: part/models.py:1678 msgid "BOM Item" msgstr "" @@ -2556,7 +2584,7 @@ msgstr "" msgid "Validate" msgstr "" -#: part/templates/part/bom.html:61 part/views.py:1642 +#: part/templates/part/bom.html:61 part/views.py:1644 msgid "Export Bill of Materials" msgstr "" @@ -2648,7 +2676,7 @@ msgstr "" msgid "All parts" msgstr "" -#: part/templates/part/category.html:24 part/views.py:2045 +#: part/templates/part/category.html:24 part/views.py:2047 msgid "Create new part category" msgstr "" @@ -2728,6 +2756,18 @@ msgstr "" msgid "Parametric Table" msgstr "" +#: part/templates/part/create_part.html:11 +msgid "Possible Matching Parts" +msgstr "" + +#: part/templates/part/create_part.html:12 +msgid "The new part may be a duplicate of these existing parts" +msgstr "" + +#: part/templates/part/create_part.html:16 +msgid "match" +msgstr "" + #: part/templates/part/detail.html:9 msgid "Part Details" msgstr "" @@ -2896,7 +2936,7 @@ msgstr "" msgid "New Parameter" msgstr "" -#: part/templates/part/params.html:25 stock/models.py:1399 +#: part/templates/part/params.html:25 stock/models.py:1396 #: templates/js/stock.js:112 msgid "Value" msgstr "" @@ -3151,127 +3191,135 @@ msgstr "" msgid "Copied part" msgstr "" -#: part/views.py:513 templates/js/stock.js:833 +#: part/views.py:449 part/views.py:579 +msgid "Possible matches exist - confirm creation of new part" +msgstr "" + +#: part/views.py:514 templates/js/stock.js:833 msgid "Create New Part" msgstr "" -#: part/views.py:520 +#: part/views.py:521 msgid "Created new part" msgstr "" -#: part/views.py:735 +#: part/views.py:737 msgid "Part QR Code" msgstr "" -#: part/views.py:754 +#: part/views.py:756 msgid "Upload Part Image" msgstr "" -#: part/views.py:762 part/views.py:799 +#: part/views.py:764 part/views.py:801 msgid "Updated part image" msgstr "" -#: part/views.py:771 +#: part/views.py:773 msgid "Select Part Image" msgstr "" -#: part/views.py:802 +#: part/views.py:804 msgid "Part image not found" msgstr "" -#: part/views.py:813 +#: part/views.py:815 msgid "Edit Part Properties" msgstr "" -#: part/views.py:837 +#: part/views.py:839 msgid "Validate BOM" msgstr "" -#: part/views.py:1004 +#: part/views.py:867 +msgid "Confirm that the BOM is valid" +msgstr "" + +#: part/views.py:1006 msgid "No BOM file provided" msgstr "" -#: part/views.py:1354 +#: part/views.py:1356 msgid "Enter a valid quantity" msgstr "" -#: part/views.py:1379 part/views.py:1382 +#: part/views.py:1381 part/views.py:1384 msgid "Select valid part" msgstr "" -#: part/views.py:1388 +#: part/views.py:1390 msgid "Duplicate part selected" msgstr "" -#: part/views.py:1426 +#: part/views.py:1428 msgid "Select a part" msgstr "" -#: part/views.py:1432 +#: part/views.py:1434 msgid "Selected part creates a circular BOM" msgstr "" -#: part/views.py:1436 +#: part/views.py:1438 msgid "Specify quantity" msgstr "" -#: part/views.py:1692 +#: part/views.py:1694 msgid "Confirm Part Deletion" msgstr "" -#: part/views.py:1701 +#: part/views.py:1703 msgid "Part was deleted" msgstr "" -#: part/views.py:1710 +#: part/views.py:1712 msgid "Part Pricing" msgstr "" -#: part/views.py:1836 +#: part/views.py:1838 msgid "Create Part Parameter Template" msgstr "" -#: part/views.py:1846 +#: part/views.py:1848 msgid "Edit Part Parameter Template" msgstr "" -#: part/views.py:1855 +#: part/views.py:1857 msgid "Delete Part Parameter Template" msgstr "" -#: part/views.py:1865 +#: part/views.py:1867 msgid "Create Part Parameter" msgstr "" -#: part/views.py:1917 +#: part/views.py:1919 msgid "Edit Part Parameter" msgstr "" -#: part/views.py:1933 +#: part/views.py:1935 msgid "Delete Part Parameter" msgstr "" -#: part/views.py:1992 +#: part/views.py:1994 msgid "Edit Part Category" msgstr "" -#: part/views.py:2029 +#: part/views.py:2031 msgid "Delete Part Category" msgstr "" -#: part/views.py:2037 +#: part/views.py:2039 msgid "Part category was deleted" msgstr "" -#: part/views.py:2100 +#: part/views.py:2102 msgid "Create BOM item" msgstr "" -#: part/views.py:2168 +#: part/views.py:2170 msgid "Edit BOM item" msgstr "" -#: part/views.py:2218 +#: part/views.py:2220 msgid "Confim BOM item deletion" msgstr "" @@ -3526,72 +3574,68 @@ msgstr "" msgid "Quantity does not match serial numbers" msgstr "" -#: stock/models.py:832 -msgid "Serial numbers already exist: " -msgstr "" - -#: stock/models.py:857 +#: stock/models.py:854 msgid "Add serial number" msgstr "" -#: stock/models.py:860 +#: stock/models.py:857 #, python-brace-format msgid "Serialized {n} items" msgstr "" -#: stock/models.py:971 +#: stock/models.py:968 msgid "StockItem cannot be moved as it is not in stock" msgstr "" -#: stock/models.py:1300 +#: stock/models.py:1297 msgid "Tracking entry title" msgstr "" -#: stock/models.py:1302 +#: stock/models.py:1299 msgid "Entry notes" msgstr "" -#: stock/models.py:1304 +#: stock/models.py:1301 msgid "Link to external page for further information" msgstr "" -#: stock/models.py:1364 +#: stock/models.py:1361 msgid "Value must be provided for this test" msgstr "" -#: stock/models.py:1370 +#: stock/models.py:1367 msgid "Attachment must be uploaded for this test" msgstr "" -#: stock/models.py:1387 +#: stock/models.py:1384 msgid "Test" msgstr "" -#: stock/models.py:1388 +#: stock/models.py:1385 msgid "Test name" msgstr "" -#: stock/models.py:1393 +#: stock/models.py:1390 msgid "Result" msgstr "" -#: stock/models.py:1394 templates/js/table_filters.js:140 +#: stock/models.py:1391 templates/js/table_filters.js:140 msgid "Test result" msgstr "" -#: stock/models.py:1400 +#: stock/models.py:1397 msgid "Test output value" msgstr "" -#: stock/models.py:1406 +#: stock/models.py:1403 msgid "Attachment" msgstr "" -#: stock/models.py:1407 +#: stock/models.py:1404 msgid "Test result attachment" msgstr "" -#: stock/models.py:1413 +#: stock/models.py:1410 msgid "Test notes" msgstr "" @@ -4075,32 +4119,32 @@ msgstr "" msgid "Invalid part selection" msgstr "" -#: stock/views.py:1680 +#: stock/views.py:1679 #, python-brace-format msgid "Created {n} new stock items" msgstr "" -#: stock/views.py:1699 stock/views.py:1715 +#: stock/views.py:1698 stock/views.py:1714 msgid "Created new stock item" msgstr "" -#: stock/views.py:1734 +#: stock/views.py:1733 msgid "Delete Stock Location" msgstr "" -#: stock/views.py:1748 +#: stock/views.py:1747 msgid "Delete Stock Item" msgstr "" -#: stock/views.py:1760 +#: stock/views.py:1759 msgid "Delete Stock Tracking Entry" msgstr "" -#: stock/views.py:1779 +#: stock/views.py:1778 msgid "Edit Stock Tracking Entry" msgstr "" -#: stock/views.py:1789 +#: stock/views.py:1788 msgid "Add Stock Tracking Entry" msgstr "" diff --git a/InvenTree/locale/es/LC_MESSAGES/django.po b/InvenTree/locale/es/LC_MESSAGES/django.po index eecf358fec..f55cc52b4a 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: 2020-10-28 11:24+0000\n" +"POT-Creation-Date: 2020-10-28 12:50+0000\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: FULL NAME \n" "Language-Team: LANGUAGE \n" @@ -202,7 +202,27 @@ msgstr "" msgid "Overage must be an integer value or a percentage" msgstr "" -#: InvenTree/views.py:734 +#: InvenTree/views.py:466 +msgid "Delete Item" +msgstr "" + +#: InvenTree/views.py:515 +msgid "Check box to confirm item deletion" +msgstr "" + +#: InvenTree/views.py:530 +msgid "Edit User Information" +msgstr "" + +#: InvenTree/views.py:541 +msgid "Set Password" +msgstr "" + +#: InvenTree/views.py:560 +msgid "Password fields must match" +msgstr "" + +#: InvenTree/views.py:730 msgid "Database Statistics" msgstr "" @@ -427,7 +447,7 @@ msgstr "" msgid "External Link" msgstr "" -#: build/models.py:178 part/models.py:579 stock/models.py:391 +#: build/models.py:178 part/models.py:596 stock/models.py:391 msgid "Link to external URL" msgstr "" @@ -436,7 +456,7 @@ msgstr "" #: order/templates/order/purchase_order_detail.html:202 #: order/templates/order/so_tabs.html:23 part/templates/part/tabs.html:70 #: stock/forms.py:306 stock/forms.py:338 stock/forms.py:366 stock/models.py:461 -#: stock/models.py:1412 stock/templates/stock/tabs.html:26 +#: stock/models.py:1409 stock/templates/stock/tabs.html:26 #: templates/js/barcode.js:391 templates/js/bom.js:250 #: templates/js/stock.js:116 templates/js/stock.js:571 msgid "Notes" @@ -604,7 +624,7 @@ msgstr "" msgid "No BOM items found" msgstr "" -#: build/templates/build/allocate.html:384 part/models.py:1431 +#: build/templates/build/allocate.html:384 part/models.py:1448 #: templates/js/part.js:530 templates/js/table_filters.js:150 msgid "Required" msgstr "" @@ -692,7 +712,7 @@ msgstr "" msgid "Cancel Build" msgstr "" -#: build/templates/build/build_base.html:59 build/views.py:625 +#: build/templates/build/build_base.html:59 build/views.py:630 msgid "Delete Build" msgstr "" @@ -847,7 +867,7 @@ msgstr "" msgid "Alter the quantity of stock allocated to the build output" msgstr "" -#: build/templates/build/index.html:24 build/views.py:511 +#: build/templates/build/index.html:24 build/views.py:505 msgid "New Build Order" msgstr "" @@ -918,81 +938,89 @@ msgstr "" msgid "Check the confirmation box" msgstr "" -#: build/views.py:228 build/views.py:636 +#: build/views.py:228 build/views.py:641 msgid "Unallocate Stock" msgstr "" -#: build/views.py:378 +#: build/views.py:377 msgid "Confirm completion of build" msgstr "" -#: build/views.py:385 +#: build/views.py:383 msgid "Invalid location selected" msgstr "" -#: build/views.py:410 stock/views.py:1652 +#: build/views.py:404 #, python-brace-format msgid "The following serial numbers already exist: ({sn})" msgstr "" -#: build/views.py:431 +#: build/views.py:413 +msgid "Build could not be completed" +msgstr "" + +#: build/views.py:425 msgid "Build marked as COMPLETE" msgstr "" -#: build/views.py:560 +#: build/views.py:554 msgid "Created new build" msgstr "" -#: build/views.py:578 +#: build/views.py:571 msgid "Trackable part must have serial numbers specified" msgstr "" -#: build/views.py:610 +#: build/views.py:592 stock/models.py:829 stock/views.py:1650 +msgid "Serial numbers already exist" +msgstr "" + +#: build/views.py:615 msgid "Edit Build Details" msgstr "" -#: build/views.py:616 +#: build/views.py:621 msgid "Edited build" msgstr "" -#: build/views.py:642 +#: build/views.py:647 msgid "Removed parts from build allocation" msgstr "" -#: build/views.py:654 +#: build/views.py:659 msgid "Allocate stock to build output" msgstr "" -#: build/views.py:845 +#: build/views.py:850 msgid "Edit Stock Allocation" msgstr "" -#: build/views.py:850 +#: build/views.py:855 msgid "Updated Build Item" msgstr "" -#: build/views.py:877 +#: build/views.py:882 msgid "Add Build Order Attachment" msgstr "" -#: build/views.py:886 order/views.py:109 order/views.py:157 part/views.py:92 +#: build/views.py:891 order/views.py:109 order/views.py:157 part/views.py:92 #: stock/views.py:175 msgid "Added attachment" msgstr "" -#: build/views.py:922 order/views.py:184 order/views.py:206 +#: build/views.py:927 order/views.py:184 order/views.py:206 msgid "Edit Attachment" msgstr "" -#: build/views.py:933 order/views.py:189 order/views.py:211 +#: build/views.py:938 order/views.py:189 order/views.py:211 msgid "Attachment updated" msgstr "" -#: build/views.py:943 order/views.py:226 order/views.py:241 +#: build/views.py:948 order/views.py:226 order/views.py:241 msgid "Delete Attachment" msgstr "" -#: build/views.py:949 order/views.py:233 order/views.py:248 stock/views.py:233 +#: build/views.py:954 order/views.py:233 order/views.py:248 stock/views.py:233 msgid "Deleted attachment" msgstr "" @@ -1460,7 +1488,7 @@ msgid "Pricing Information" msgstr "" #: company/templates/company/supplier_part_pricing.html:16 company/views.py:410 -#: part/templates/part/sale_prices.html:13 part/views.py:2228 +#: part/templates/part/sale_prices.html:13 part/views.py:2230 msgid "Add Price Break" msgstr "" @@ -1587,15 +1615,15 @@ msgstr "" msgid "Delete Supplier Part" msgstr "" -#: company/views.py:416 part/views.py:2234 +#: company/views.py:416 part/views.py:2236 msgid "Added new price break" msgstr "" -#: company/views.py:453 part/views.py:2279 +#: company/views.py:453 part/views.py:2281 msgid "Edit Price Break" msgstr "" -#: company/views.py:469 part/views.py:2295 +#: company/views.py:469 part/views.py:2297 msgid "Delete Price Break" msgstr "" @@ -1688,7 +1716,7 @@ msgstr "" msgid "Date order was completed" msgstr "" -#: order/models.py:185 order/models.py:259 part/views.py:1345 +#: order/models.py:185 order/models.py:259 part/views.py:1347 #: stock/models.py:249 stock/models.py:813 msgid "Quantity must be greater than zero" msgstr "" @@ -2274,212 +2302,212 @@ msgstr "" msgid "Part '{p1}' is used in BOM for '{p2}' (recursive)" msgstr "" -#: part/models.py:435 +#: part/models.py:452 msgid "Next available serial numbers are" msgstr "" -#: part/models.py:439 +#: part/models.py:456 msgid "Next available serial number is" msgstr "" -#: part/models.py:444 +#: part/models.py:461 msgid "Most recent serial number is" msgstr "" -#: part/models.py:522 +#: part/models.py:539 msgid "Part must be unique for name, IPN and revision" msgstr "" -#: part/models.py:551 part/templates/part/detail.html:19 +#: part/models.py:568 part/templates/part/detail.html:19 msgid "Part name" msgstr "" -#: part/models.py:555 +#: part/models.py:572 msgid "Is this part a template part?" msgstr "" -#: part/models.py:564 +#: part/models.py:581 msgid "Is this part a variant of another part?" msgstr "" -#: part/models.py:566 +#: part/models.py:583 msgid "Part description" msgstr "" -#: part/models.py:568 +#: part/models.py:585 msgid "Part keywords to improve visibility in search results" msgstr "" -#: part/models.py:573 +#: part/models.py:590 msgid "Part category" msgstr "" -#: part/models.py:575 +#: part/models.py:592 msgid "Internal Part Number" msgstr "" -#: part/models.py:577 +#: part/models.py:594 msgid "Part revision or version number" msgstr "" -#: part/models.py:591 +#: part/models.py:608 msgid "Where is this item normally stored?" msgstr "" -#: part/models.py:635 +#: part/models.py:652 msgid "Default supplier part" msgstr "" -#: part/models.py:638 +#: part/models.py:655 msgid "Minimum allowed stock level" msgstr "" -#: part/models.py:640 +#: part/models.py:657 msgid "Stock keeping units for this part" msgstr "" -#: part/models.py:642 +#: part/models.py:659 msgid "Can this part be built from other parts?" msgstr "" -#: part/models.py:644 +#: part/models.py:661 msgid "Can this part be used to build other parts?" msgstr "" -#: part/models.py:646 +#: part/models.py:663 msgid "Does this part have tracking for unique items?" msgstr "" -#: part/models.py:648 +#: part/models.py:665 msgid "Can this part be purchased from external suppliers?" msgstr "" -#: part/models.py:650 +#: part/models.py:667 msgid "Can this part be sold to customers?" msgstr "" -#: part/models.py:652 +#: part/models.py:669 msgid "Is this part active?" msgstr "" -#: part/models.py:654 +#: part/models.py:671 msgid "Is this a virtual part, such as a software product or license?" msgstr "" -#: part/models.py:656 +#: part/models.py:673 msgid "Part notes - supports Markdown formatting" msgstr "" -#: part/models.py:658 +#: part/models.py:675 msgid "Stored BOM checksum" msgstr "" -#: part/models.py:1383 +#: part/models.py:1400 msgid "Test templates can only be created for trackable parts" msgstr "" -#: part/models.py:1400 +#: part/models.py:1417 msgid "Test with this name already exists for this part" msgstr "" -#: part/models.py:1419 templates/js/part.js:521 templates/js/stock.js:92 +#: part/models.py:1436 templates/js/part.js:521 templates/js/stock.js:92 msgid "Test Name" msgstr "" -#: part/models.py:1420 +#: part/models.py:1437 msgid "Enter a name for the test" msgstr "" -#: part/models.py:1425 +#: part/models.py:1442 msgid "Test Description" msgstr "" -#: part/models.py:1426 +#: part/models.py:1443 msgid "Enter description for this test" msgstr "" -#: part/models.py:1432 +#: part/models.py:1449 msgid "Is this test required to pass?" msgstr "" -#: part/models.py:1437 templates/js/part.js:538 +#: part/models.py:1454 templates/js/part.js:538 msgid "Requires Value" msgstr "" -#: part/models.py:1438 +#: part/models.py:1455 msgid "Does this test require a value when adding a test result?" msgstr "" -#: part/models.py:1443 templates/js/part.js:545 +#: part/models.py:1460 templates/js/part.js:545 msgid "Requires Attachment" msgstr "" -#: part/models.py:1444 +#: part/models.py:1461 msgid "Does this test require a file attachment when adding a test result?" msgstr "" -#: part/models.py:1477 +#: part/models.py:1494 msgid "Parameter template name must be unique" msgstr "" -#: part/models.py:1482 +#: part/models.py:1499 msgid "Parameter Name" msgstr "" -#: part/models.py:1484 +#: part/models.py:1501 msgid "Parameter Units" msgstr "" -#: part/models.py:1510 +#: part/models.py:1527 msgid "Parent Part" msgstr "" -#: part/models.py:1512 +#: part/models.py:1529 msgid "Parameter Template" msgstr "" -#: part/models.py:1514 +#: part/models.py:1531 msgid "Parameter Value" msgstr "" -#: part/models.py:1551 +#: part/models.py:1568 msgid "Select parent part" msgstr "" -#: part/models.py:1559 +#: part/models.py:1576 msgid "Select part to be used in BOM" msgstr "" -#: part/models.py:1565 +#: part/models.py:1582 msgid "BOM quantity for this BOM item" msgstr "" -#: part/models.py:1567 +#: part/models.py:1584 msgid "This BOM item is optional" msgstr "" -#: part/models.py:1570 +#: part/models.py:1587 msgid "Estimated build wastage quantity (absolute or percentage)" msgstr "" -#: part/models.py:1573 +#: part/models.py:1590 msgid "BOM item reference" msgstr "" -#: part/models.py:1576 +#: part/models.py:1593 msgid "BOM item notes" msgstr "" -#: part/models.py:1578 +#: part/models.py:1595 msgid "BOM line checksum" msgstr "" -#: part/models.py:1645 part/views.py:1351 part/views.py:1403 +#: part/models.py:1662 part/views.py:1353 part/views.py:1405 #: stock/models.py:239 msgid "Quantity must be integer value for trackable parts" msgstr "" -#: part/models.py:1661 +#: part/models.py:1678 msgid "BOM Item" msgstr "" @@ -2556,7 +2584,7 @@ msgstr "" msgid "Validate" msgstr "" -#: part/templates/part/bom.html:61 part/views.py:1642 +#: part/templates/part/bom.html:61 part/views.py:1644 msgid "Export Bill of Materials" msgstr "" @@ -2648,7 +2676,7 @@ msgstr "" msgid "All parts" msgstr "" -#: part/templates/part/category.html:24 part/views.py:2045 +#: part/templates/part/category.html:24 part/views.py:2047 msgid "Create new part category" msgstr "" @@ -2728,6 +2756,18 @@ msgstr "" msgid "Parametric Table" msgstr "" +#: part/templates/part/create_part.html:11 +msgid "Possible Matching Parts" +msgstr "" + +#: part/templates/part/create_part.html:12 +msgid "The new part may be a duplicate of these existing parts" +msgstr "" + +#: part/templates/part/create_part.html:16 +msgid "match" +msgstr "" + #: part/templates/part/detail.html:9 msgid "Part Details" msgstr "" @@ -2896,7 +2936,7 @@ msgstr "" msgid "New Parameter" msgstr "" -#: part/templates/part/params.html:25 stock/models.py:1399 +#: part/templates/part/params.html:25 stock/models.py:1396 #: templates/js/stock.js:112 msgid "Value" msgstr "" @@ -3151,127 +3191,135 @@ msgstr "" msgid "Copied part" msgstr "" -#: part/views.py:513 templates/js/stock.js:833 +#: part/views.py:449 part/views.py:579 +msgid "Possible matches exist - confirm creation of new part" +msgstr "" + +#: part/views.py:514 templates/js/stock.js:833 msgid "Create New Part" msgstr "" -#: part/views.py:520 +#: part/views.py:521 msgid "Created new part" msgstr "" -#: part/views.py:735 +#: part/views.py:737 msgid "Part QR Code" msgstr "" -#: part/views.py:754 +#: part/views.py:756 msgid "Upload Part Image" msgstr "" -#: part/views.py:762 part/views.py:799 +#: part/views.py:764 part/views.py:801 msgid "Updated part image" msgstr "" -#: part/views.py:771 +#: part/views.py:773 msgid "Select Part Image" msgstr "" -#: part/views.py:802 +#: part/views.py:804 msgid "Part image not found" msgstr "" -#: part/views.py:813 +#: part/views.py:815 msgid "Edit Part Properties" msgstr "" -#: part/views.py:837 +#: part/views.py:839 msgid "Validate BOM" msgstr "" -#: part/views.py:1004 +#: part/views.py:867 +msgid "Confirm that the BOM is valid" +msgstr "" + +#: part/views.py:1006 msgid "No BOM file provided" msgstr "" -#: part/views.py:1354 +#: part/views.py:1356 msgid "Enter a valid quantity" msgstr "" -#: part/views.py:1379 part/views.py:1382 +#: part/views.py:1381 part/views.py:1384 msgid "Select valid part" msgstr "" -#: part/views.py:1388 +#: part/views.py:1390 msgid "Duplicate part selected" msgstr "" -#: part/views.py:1426 +#: part/views.py:1428 msgid "Select a part" msgstr "" -#: part/views.py:1432 +#: part/views.py:1434 msgid "Selected part creates a circular BOM" msgstr "" -#: part/views.py:1436 +#: part/views.py:1438 msgid "Specify quantity" msgstr "" -#: part/views.py:1692 +#: part/views.py:1694 msgid "Confirm Part Deletion" msgstr "" -#: part/views.py:1701 +#: part/views.py:1703 msgid "Part was deleted" msgstr "" -#: part/views.py:1710 +#: part/views.py:1712 msgid "Part Pricing" msgstr "" -#: part/views.py:1836 +#: part/views.py:1838 msgid "Create Part Parameter Template" msgstr "" -#: part/views.py:1846 +#: part/views.py:1848 msgid "Edit Part Parameter Template" msgstr "" -#: part/views.py:1855 +#: part/views.py:1857 msgid "Delete Part Parameter Template" msgstr "" -#: part/views.py:1865 +#: part/views.py:1867 msgid "Create Part Parameter" msgstr "" -#: part/views.py:1917 +#: part/views.py:1919 msgid "Edit Part Parameter" msgstr "" -#: part/views.py:1933 +#: part/views.py:1935 msgid "Delete Part Parameter" msgstr "" -#: part/views.py:1992 +#: part/views.py:1994 msgid "Edit Part Category" msgstr "" -#: part/views.py:2029 +#: part/views.py:2031 msgid "Delete Part Category" msgstr "" -#: part/views.py:2037 +#: part/views.py:2039 msgid "Part category was deleted" msgstr "" -#: part/views.py:2100 +#: part/views.py:2102 msgid "Create BOM item" msgstr "" -#: part/views.py:2168 +#: part/views.py:2170 msgid "Edit BOM item" msgstr "" -#: part/views.py:2218 +#: part/views.py:2220 msgid "Confim BOM item deletion" msgstr "" @@ -3526,72 +3574,68 @@ msgstr "" msgid "Quantity does not match serial numbers" msgstr "" -#: stock/models.py:832 -msgid "Serial numbers already exist: " -msgstr "" - -#: stock/models.py:857 +#: stock/models.py:854 msgid "Add serial number" msgstr "" -#: stock/models.py:860 +#: stock/models.py:857 #, python-brace-format msgid "Serialized {n} items" msgstr "" -#: stock/models.py:971 +#: stock/models.py:968 msgid "StockItem cannot be moved as it is not in stock" msgstr "" -#: stock/models.py:1300 +#: stock/models.py:1297 msgid "Tracking entry title" msgstr "" -#: stock/models.py:1302 +#: stock/models.py:1299 msgid "Entry notes" msgstr "" -#: stock/models.py:1304 +#: stock/models.py:1301 msgid "Link to external page for further information" msgstr "" -#: stock/models.py:1364 +#: stock/models.py:1361 msgid "Value must be provided for this test" msgstr "" -#: stock/models.py:1370 +#: stock/models.py:1367 msgid "Attachment must be uploaded for this test" msgstr "" -#: stock/models.py:1387 +#: stock/models.py:1384 msgid "Test" msgstr "" -#: stock/models.py:1388 +#: stock/models.py:1385 msgid "Test name" msgstr "" -#: stock/models.py:1393 +#: stock/models.py:1390 msgid "Result" msgstr "" -#: stock/models.py:1394 templates/js/table_filters.js:140 +#: stock/models.py:1391 templates/js/table_filters.js:140 msgid "Test result" msgstr "" -#: stock/models.py:1400 +#: stock/models.py:1397 msgid "Test output value" msgstr "" -#: stock/models.py:1406 +#: stock/models.py:1403 msgid "Attachment" msgstr "" -#: stock/models.py:1407 +#: stock/models.py:1404 msgid "Test result attachment" msgstr "" -#: stock/models.py:1413 +#: stock/models.py:1410 msgid "Test notes" msgstr "" @@ -4075,32 +4119,32 @@ msgstr "" msgid "Invalid part selection" msgstr "" -#: stock/views.py:1680 +#: stock/views.py:1679 #, python-brace-format msgid "Created {n} new stock items" msgstr "" -#: stock/views.py:1699 stock/views.py:1715 +#: stock/views.py:1698 stock/views.py:1714 msgid "Created new stock item" msgstr "" -#: stock/views.py:1734 +#: stock/views.py:1733 msgid "Delete Stock Location" msgstr "" -#: stock/views.py:1748 +#: stock/views.py:1747 msgid "Delete Stock Item" msgstr "" -#: stock/views.py:1760 +#: stock/views.py:1759 msgid "Delete Stock Tracking Entry" msgstr "" -#: stock/views.py:1779 +#: stock/views.py:1778 msgid "Edit Stock Tracking Entry" msgstr "" -#: stock/views.py:1789 +#: stock/views.py:1788 msgid "Add Stock Tracking Entry" msgstr "" diff --git a/InvenTree/part/models.py b/InvenTree/part/models.py index d10b2a8b1b..4f0ef0e3e3 100644 --- a/InvenTree/part/models.py +++ b/InvenTree/part/models.py @@ -390,7 +390,6 @@ class Part(MPTTModel): return conflicts - def getLatestSerialNumber(self): """ Return the "latest" serial number for this Part. diff --git a/InvenTree/part/views.py b/InvenTree/part/views.py index f9be91d237..bc6f5111e9 100644 --- a/InvenTree/part/views.py +++ b/InvenTree/part/views.py @@ -447,7 +447,7 @@ class PartDuplicate(AjaxCreateView): if not confirmed: msg = _('Possible matches exist - confirm creation of new part') - form.add_error('confirm_creation', msg) + form.add_error('confirm_creation', msg) form.pre_form_warning = msg valid = False diff --git a/InvenTree/stock/views.py b/InvenTree/stock/views.py index a0128b8318..563ac582df 100644 --- a/InvenTree/stock/views.py +++ b/InvenTree/stock/views.py @@ -1641,7 +1641,7 @@ class StockItemCreate(AjaxCreateView): try: serials = ExtractSerialNumbers(sn, quantity) - existing = part.find_conflicting_serial_numbers(serial) + existing = part.find_conflicting_serial_numbers(serials) if len(existing) > 0: exists = ",".join([str(x) for x in existing])