From 8246e9c802525850a22c1bcb3add317a38464abc Mon Sep 17 00:00:00 2001 From: Oliver Walters Date: Thu, 29 Oct 2020 13:18:45 +1100 Subject: [PATCH] Add function makeIconBadge for tables - Add filters for part variants table --- .../static/script/inventree/inventree.js | 20 +- InvenTree/locale/de/LC_MESSAGES/django.mo | Bin 48907 -> 48854 bytes InvenTree/locale/de/LC_MESSAGES/django.po | 310 ++++++++++-------- InvenTree/locale/en/LC_MESSAGES/django.po | 297 +++++++++-------- InvenTree/locale/es/LC_MESSAGES/django.po | 297 +++++++++-------- InvenTree/part/api.py | 4 +- InvenTree/part/templates/part/variants.html | 15 +- InvenTree/part/views.py | 2 +- InvenTree/templates/js/company.js | 2 +- InvenTree/templates/js/part.js | 60 +++- InvenTree/templates/js/table_filters.js | 22 ++ 11 files changed, 593 insertions(+), 436 deletions(-) diff --git a/InvenTree/InvenTree/static/script/inventree/inventree.js b/InvenTree/InvenTree/static/script/inventree/inventree.js index 263e28fc01..fd9c2927ce 100644 --- a/InvenTree/InvenTree/static/script/inventree/inventree.js +++ b/InvenTree/InvenTree/static/script/inventree/inventree.js @@ -78,7 +78,15 @@ function getImageUrlFromTransfer(transfer) { return url; } -function makeIconButton(icon, cls, pk, title) { +function makeIconBadge(icon, title) { + // Construct an 'icon badge' which floats to the right of an object + + var html = ``; + + return html; +} + +function makeIconButton(icon, cls, pk, title, options={}) { // Construct an 'icon button' using the fontawesome set var classes = `btn btn-default btn-glyph ${cls}`; @@ -86,15 +94,21 @@ function makeIconButton(icon, cls, pk, title) { var id = `${cls}-${pk}`; var html = ''; + + var extraProps = ''; + + if (options.disabled) { + extraProps += "disabled='true' "; + } - html += ``; return html; } -function makeProgressBar(value, maximum, opts) { +function makeProgressBar(value, maximum, opts={}) { /* * Render a progessbar! * diff --git a/InvenTree/locale/de/LC_MESSAGES/django.mo b/InvenTree/locale/de/LC_MESSAGES/django.mo index f73513db6126fb241caf582a9c6fafdd06dac052..e496fdd86a560e6f1b24a1c9c81f9d2af42ced75 100644 GIT binary patch delta 15156 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 diff --git a/InvenTree/locale/de/LC_MESSAGES/django.po b/InvenTree/locale/de/LC_MESSAGES/django.po index afd1426fd4..a6a64bb39c 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:37+0000\n" +"POT-Creation-Date: 2020-10-29 02:17+0000\n" "PO-Revision-Date: 2020-05-03 11:32+0200\n" "Last-Translator: Christian Schlüter \n" "Language-Team: C \n" @@ -97,7 +97,7 @@ msgid "User" msgstr "Benutzer" #: InvenTree/models.py:106 part/templates/part/params.html:24 -#: templates/js/part.js:81 +#: templates/js/part.js:90 msgid "Name" msgstr "Name" @@ -124,7 +124,7 @@ msgid "Polish" msgstr "Polnisch" #: InvenTree/status_codes.py:94 InvenTree/status_codes.py:135 -#: InvenTree/status_codes.py:222 templates/js/table_filters.js:159 +#: InvenTree/status_codes.py:222 templates/js/table_filters.js:181 msgid "Pending" msgstr "Ausstehend" @@ -326,8 +326,8 @@ msgstr "Referenz" #: part/templates/part/detail.html:51 part/templates/part/set_category.html:14 #: templates/InvenTree/search.html:147 templates/js/bom.js:147 #: templates/js/bom.js:486 templates/js/build.js:56 templates/js/company.js:56 -#: templates/js/order.js:167 templates/js/order.js:249 templates/js/part.js:120 -#: templates/js/part.js:203 templates/js/part.js:345 templates/js/part.js:526 +#: templates/js/order.js:167 templates/js/order.js:249 templates/js/part.js:149 +#: templates/js/part.js:232 templates/js/part.js:383 templates/js/part.js:564 #: templates/js/stock.js:445 templates/js/stock.js:672 msgid "Description" msgstr "Beschreibung" @@ -354,8 +354,8 @@ msgstr "Eltern-Bau, dem dieser Bau zugewiesen ist" #: part/templates/part/part_app_base.html:7 #: part/templates/part/set_category.html:13 templates/InvenTree/search.html:133 #: templates/js/barcode.js:336 templates/js/bom.js:124 templates/js/bom.js:471 -#: templates/js/build.js:61 templates/js/company.js:137 -#: templates/js/part.js:184 templates/js/part.js:289 templates/js/stock.js:421 +#: templates/js/build.js:61 templates/js/company.js:138 +#: templates/js/part.js:213 templates/js/part.js:318 templates/js/stock.js:421 #: templates/js/stock.js:978 msgid "Part" msgstr "Teil" @@ -548,7 +548,7 @@ msgid "No BOM items found" msgstr "Keine BOM-Einträge gefunden" #: build/templates/build/allocate.html:347 part/models.py:1401 -#: templates/js/part.js:530 templates/js/table_filters.js:145 +#: templates/js/part.js:568 templates/js/table_filters.js:167 msgid "Required" msgstr "benötigt" @@ -735,8 +735,8 @@ msgstr "Bestand kann jedem verfügbaren Lagerort entnommen werden." #: build/templates/build/detail.html:48 #: stock/templates/stock/item_base.html:238 templates/js/stock.js:514 -#: templates/js/stock.js:921 templates/js/table_filters.js:58 -#: templates/js/table_filters.js:124 +#: templates/js/stock.js:921 templates/js/table_filters.js:80 +#: templates/js/table_filters.js:146 msgid "Batch" msgstr "Los" @@ -1187,7 +1187,7 @@ msgstr "Telefon" #: company/templates/company/detail.html:16 #: company/templates/company/supplier_part_base.html:84 #: company/templates/company/supplier_part_detail.html:30 part/bom.py:172 -#: templates/js/company.js:44 templates/js/company.js:186 +#: templates/js/company.js:44 templates/js/company.js:188 msgid "Manufacturer" msgstr "Hersteller" @@ -1197,7 +1197,7 @@ msgstr "Hersteller" #: order/templates/order/order_base.html:79 #: order/templates/order/order_wizard/select_pos.html:30 part/bom.py:170 #: stock/templates/stock/item_base.html:273 templates/js/company.js:48 -#: templates/js/company.js:162 templates/js/order.js:154 +#: templates/js/company.js:164 templates/js/order.js:154 msgid "Supplier" msgstr "Zulieferer" @@ -1246,30 +1246,30 @@ msgstr "Teile löschen" msgid "Delete Parts" msgstr "Teile löschen" -#: company/templates/company/detail_part.html:60 +#: company/templates/company/detail_part.html:63 #: part/templates/part/category.html:116 templates/js/stock.js:792 msgid "New Part" msgstr "Neues Teil" -#: company/templates/company/detail_part.html:61 +#: company/templates/company/detail_part.html:64 msgid "Create new Part" msgstr "Neues Teil hinzufügen" -#: company/templates/company/detail_part.html:66 company/views.py:53 +#: company/templates/company/detail_part.html:69 company/views.py:53 #: part/templates/part/supplier.html:47 msgid "New Supplier" msgstr "Neuer Zulieferer" -#: company/templates/company/detail_part.html:67 company/views.py:192 +#: company/templates/company/detail_part.html:70 company/views.py:192 msgid "Create new Supplier" msgstr "Neuen Zulieferer anlegen" -#: company/templates/company/detail_part.html:72 company/views.py:60 +#: company/templates/company/detail_part.html:75 company/views.py:60 #: part/templates/part/supplier.html:53 msgid "New Manufacturer" msgstr "Neuer Hersteller" -#: company/templates/company/detail_part.html:73 company/views.py:195 +#: company/templates/company/detail_part.html:76 company/views.py:195 msgid "Create new Manufacturer" msgstr "Neuen Hersteller anlegen" @@ -1341,7 +1341,7 @@ msgstr "Neuer Auftrag" #: company/templates/company/supplier_part_base.html:6 #: company/templates/company/supplier_part_base.html:19 stock/models.py:344 -#: stock/templates/stock/item_base.html:278 templates/js/company.js:178 +#: stock/templates/stock/item_base.html:278 templates/js/company.js:180 msgid "Supplier Part" msgstr "Zulieferer-Teil" @@ -1375,7 +1375,7 @@ msgstr "SKU" #: company/templates/company/supplier_part_base.html:88 #: company/templates/company/supplier_part_detail.html:31 part/bom.py:173 -#: templates/js/company.js:202 +#: templates/js/company.js:204 msgid "MPN" msgstr "MPN" @@ -1398,7 +1398,7 @@ msgid "Pricing Information" msgstr "Preisinformationen ansehen" #: company/templates/company/supplier_part_pricing.html:17 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:2229 msgid "Add Price Break" msgstr "Preisstaffel hinzufügen" @@ -1439,8 +1439,8 @@ msgstr "Bepreisung" #: company/templates/company/supplier_part_tabs.html:8 #: company/templates/company/tabs.html:12 part/templates/part/tabs.html:18 #: stock/templates/stock/location.html:17 templates/InvenTree/search.html:155 -#: templates/InvenTree/settings/tabs.html:25 templates/js/part.js:124 -#: templates/js/part.js:372 templates/js/stock.js:453 templates/navbar.html:22 +#: templates/InvenTree/settings/tabs.html:25 templates/js/part.js:153 +#: templates/js/part.js:410 templates/js/stock.js:453 templates/navbar.html:22 #: users/models.py:29 msgid "Stock" msgstr "Lagerbestand" @@ -1531,17 +1531,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:2235 #, 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:2280 msgid "Edit Price Break" msgstr "Preisstaffel bearbeiten" -#: company/views.py:469 part/views.py:2295 +#: company/views.py:469 part/views.py:2296 msgid "Delete Price Break" msgstr "Preisstaffel löschen" @@ -1646,7 +1646,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:1346 #: stock/models.py:241 stock/models.py:805 msgid "Quantity must be greater than zero" msgstr "Anzahl muss größer Null sein" @@ -1902,7 +1902,7 @@ msgid "Select parts to receive against this order" msgstr "" #: order/templates/order/receive_parts.html:21 -#: part/templates/part/part_base.html:145 templates/js/part.js:388 +#: part/templates/part/part_base.html:145 templates/js/part.js:426 msgid "On Order" msgstr "bestellt" @@ -2406,7 +2406,7 @@ msgstr "" "Ein Teil mit dieser Seriennummer existiert bereits für die Teilevorlage " "{part}" -#: part/models.py:1389 templates/js/part.js:521 templates/js/stock.js:92 +#: part/models.py:1389 templates/js/part.js:559 templates/js/stock.js:92 #, fuzzy #| msgid "Instance Name" msgid "Test Name" @@ -2434,7 +2434,7 @@ msgstr "Kurze Beschreibung des Baus" msgid "Is this test required to pass?" msgstr "" -#: part/models.py:1407 templates/js/part.js:538 +#: part/models.py:1407 templates/js/part.js:576 #, fuzzy #| msgid "Required Parts" msgid "Requires Value" @@ -2444,7 +2444,7 @@ msgstr "benötigte Teile" msgid "Does this test require a value when adding a test result?" msgstr "" -#: part/models.py:1413 templates/js/part.js:545 +#: part/models.py:1413 templates/js/part.js:583 #, fuzzy #| msgid "Delete Attachment" msgid "Requires Attachment" @@ -2512,7 +2512,7 @@ msgstr "Notizen zum Stücklisten-Objekt" msgid "BOM line checksum" msgstr "Prüfsumme der Stückliste" -#: part/models.py:1612 part/views.py:1351 part/views.py:1403 +#: part/models.py:1612 part/views.py:1352 part/views.py:1404 #: stock/models.py:231 #, fuzzy #| msgid "Overage must be an integer value or a percentage" @@ -2605,7 +2605,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:1643 msgid "Export Bill of Materials" msgstr "Stückliste exportieren" @@ -2721,7 +2721,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:2046 msgid "Create new part category" msgstr "Teilkategorie anlegen" @@ -2821,16 +2821,32 @@ 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" #: part/templates/part/detail.html:25 part/templates/part/part_base.html:95 -#: templates/js/part.js:112 +#: templates/js/part.js:141 msgid "IPN" msgstr "IPN (Interne Produktnummer)" -#: part/templates/part/detail.html:32 templates/js/part.js:116 +#: part/templates/part/detail.html:32 templates/js/part.js:145 msgid "Revision" msgstr "Revision" @@ -2851,7 +2867,7 @@ msgid "Variant Of" msgstr "Variante von" #: part/templates/part/detail.html:70 part/templates/part/set_category.html:15 -#: templates/js/part.js:359 +#: templates/js/part.js:397 msgid "Category" msgstr "Kategorie" @@ -2879,7 +2895,7 @@ msgstr "Erstellt von" msgid "Responsible User" msgstr "Verantwortlicher Benutzer" -#: part/templates/part/detail.html:136 +#: part/templates/part/detail.html:136 templates/js/table_filters.js:27 msgid "Virtual" msgstr "Virtuell" @@ -2892,7 +2908,7 @@ msgid "Part is not a virtual part" msgstr "Teil ist nicht virtuell" #: part/templates/part/detail.html:145 stock/forms.py:248 -#: templates/js/table_filters.js:212 +#: templates/js/table_filters.js:23 templates/js/table_filters.js:243 msgid "Template" msgstr "Vorlage" @@ -2908,7 +2924,7 @@ msgstr "Teil kann keine Vorlage sein wenn es Variante eines anderen Teils ist" msgid "Part is not a template part" msgstr "Teil ist nicht virtuell" -#: part/templates/part/detail.html:154 templates/js/table_filters.js:224 +#: part/templates/part/detail.html:154 templates/js/table_filters.js:255 msgid "Assembly" msgstr "Baugruppe" @@ -2920,7 +2936,7 @@ msgstr "Teil kann aus anderen Teilen angefertigt werden" msgid "Part cannot be assembled from other parts" msgstr "Teil kann nicht aus anderen Teilen angefertigt werden" -#: part/templates/part/detail.html:163 templates/js/table_filters.js:228 +#: part/templates/part/detail.html:163 templates/js/table_filters.js:259 msgid "Component" msgstr "Komponente" @@ -2932,7 +2948,8 @@ msgstr "Teil kann in Baugruppen benutzt werden" msgid "Part cannot be used in assemblies" msgstr "Teil kann nicht in Baugruppen benutzt werden" -#: part/templates/part/detail.html:172 templates/js/table_filters.js:240 +#: part/templates/part/detail.html:172 templates/js/table_filters.js:31 +#: templates/js/table_filters.js:271 msgid "Trackable" msgstr "nachverfolgbar" @@ -2952,7 +2969,7 @@ msgstr "Kaufbar" msgid "Part can be purchased from external suppliers" msgstr "Teil kann von externen Zulieferern gekauft werden" -#: part/templates/part/detail.html:190 templates/js/table_filters.js:236 +#: part/templates/part/detail.html:190 templates/js/table_filters.js:267 msgid "Salable" msgstr "Verkäuflich" @@ -2964,8 +2981,8 @@ msgstr "Teil kann an Kunden verkauft werden" msgid "Part cannot be sold to customers" msgstr "Teil kann nicht an Kunden verkauft werden" -#: part/templates/part/detail.html:199 templates/js/table_filters.js:33 -#: templates/js/table_filters.js:207 +#: part/templates/part/detail.html:199 templates/js/table_filters.js:19 +#: templates/js/table_filters.js:55 templates/js/table_filters.js:238 msgid "Active" msgstr "Aktiv" @@ -3025,8 +3042,8 @@ msgstr "Dieses Teil ist eine Vorlage." msgid "This part is a variant of" msgstr "Dieses Teil ist eine Variante von" -#: part/templates/part/part_base.html:36 templates/js/company.js:153 -#: templates/js/part.js:336 +#: part/templates/part/part_base.html:36 templates/js/company.js:155 +#: templates/js/part.js:133 templates/js/part.js:374 msgid "Inactive" msgstr "Inaktiv" @@ -3090,7 +3107,7 @@ msgstr "Vorlage bearbeiten" msgid "Delete part" msgstr "Teile löschen" -#: part/templates/part/part_base.html:124 templates/js/table_filters.js:89 +#: part/templates/part/part_base.html:124 templates/js/table_filters.js:111 msgid "In Stock" msgstr "Auf Lager" @@ -3157,7 +3174,7 @@ msgid "Part Stock" msgstr "Teilbestand" #: part/templates/part/stock_count.html:7 templates/js/bom.js:197 -#: templates/js/part.js:396 +#: templates/js/part.js:434 msgid "No Stock" msgstr "Kein Bestand" @@ -3223,13 +3240,13 @@ msgstr "Baugruppen" msgid "Part Variants" msgstr "Varianten" -#: part/templates/part/variants.html:21 +#: part/templates/part/variants.html:22 #, fuzzy #| msgid "Create new Part" msgid "Create new variant" msgstr "Neues Teil hinzufügen" -#: part/templates/part/variants.html:21 +#: part/templates/part/variants.html:23 #, fuzzy #| msgid "Variants" msgid "New Variant" @@ -3294,129 +3311,131 @@ msgstr "Teil duplizieren" msgid "Copied part" msgstr "Teil kopiert" -#: part/views.py:513 templates/js/stock.js:793 +#: part/views.py:514 templates/js/stock.js:793 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:736 msgid "Part QR Code" msgstr "Teil-QR-Code" -#: part/views.py:754 +#: part/views.py:755 msgid "Upload Part Image" msgstr "Teilbild hochladen" -#: part/views.py:762 part/views.py:799 +#: part/views.py:763 part/views.py:800 msgid "Updated part image" msgstr "Teilbild aktualisiert" -#: part/views.py:771 +#: part/views.py:772 msgid "Select Part Image" msgstr "Teilbild auswählen" -#: part/views.py:802 +#: part/views.py:803 msgid "Part image not found" msgstr "Teilbild nicht gefunden" -#: part/views.py:813 +#: part/views.py:814 msgid "Edit Part Properties" msgstr "Teileigenschaften bearbeiten" -#: part/views.py:837 +#: part/views.py:838 msgid "Validate BOM" msgstr "BOM validieren" -#: part/views.py:1004 +#: part/views.py:1005 msgid "No BOM file provided" msgstr "Keine Stückliste angegeben" -#: part/views.py:1354 +#: part/views.py:1355 msgid "Enter a valid quantity" msgstr "Bitte eine gültige Anzahl eingeben" -#: part/views.py:1379 part/views.py:1382 +#: part/views.py:1380 part/views.py:1383 msgid "Select valid part" msgstr "Bitte ein gültiges Teil auswählen" -#: part/views.py:1388 +#: part/views.py:1389 msgid "Duplicate part selected" msgstr "Teil doppelt ausgewählt" -#: part/views.py:1426 +#: part/views.py:1427 msgid "Select a part" msgstr "Teil auswählen" -#: part/views.py:1432 +#: part/views.py:1433 #, 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:1437 msgid "Specify quantity" msgstr "Anzahl angeben" -#: part/views.py:1692 +#: part/views.py:1693 msgid "Confirm Part Deletion" msgstr "Löschen des Teils bestätigen" -#: part/views.py:1701 +#: part/views.py:1702 msgid "Part was deleted" msgstr "Teil wurde gelöscht" -#: part/views.py:1710 +#: part/views.py:1711 msgid "Part Pricing" msgstr "Teilbepreisung" -#: part/views.py:1836 +#: part/views.py:1837 msgid "Create Part Parameter Template" msgstr "Teilparametervorlage anlegen" -#: part/views.py:1846 +#: part/views.py:1847 msgid "Edit Part Parameter Template" msgstr "Teilparametervorlage bearbeiten" -#: part/views.py:1855 +#: part/views.py:1856 msgid "Delete Part Parameter Template" msgstr "Teilparametervorlage löschen" -#: part/views.py:1865 +#: part/views.py:1866 msgid "Create Part Parameter" msgstr "Teilparameter anlegen" -#: part/views.py:1917 +#: part/views.py:1918 msgid "Edit Part Parameter" msgstr "Teilparameter bearbeiten" -#: part/views.py:1933 +#: part/views.py:1934 msgid "Delete Part Parameter" msgstr "Teilparameter löschen" -#: part/views.py:1992 +#: part/views.py:1993 msgid "Edit Part Category" msgstr "Teilkategorie bearbeiten" -#: part/views.py:2029 +#: part/views.py:2030 msgid "Delete Part Category" msgstr "Teilkategorie löschen" -#: part/views.py:2037 +#: part/views.py:2038 msgid "Part category was deleted" msgstr "Teilekategorie wurde gelöscht" -#: part/views.py:2100 -msgid "Create BOM item" +#: part/views.py:2101 +#, fuzzy +#| msgid "Create BOM item" +msgid "Create BOM Item" msgstr "BOM-Position anlegen" -#: part/views.py:2168 +#: part/views.py:2169 msgid "Edit BOM item" msgstr "BOM-Position beaarbeiten" -#: part/views.py:2218 +#: part/views.py:2219 msgid "Confim BOM item deletion" msgstr "Löschung von BOM-Position bestätigen" @@ -3775,7 +3794,7 @@ msgstr "Name des Teils" msgid "Result" msgstr "Suchergebnisse" -#: stock/models.py:1386 templates/js/table_filters.js:135 +#: stock/models.py:1386 templates/js/table_filters.js:157 msgid "Test result" msgstr "" @@ -4923,19 +4942,21 @@ msgstr "Hersteller" msgid "No company information found" msgstr "Keine Firmeninformation gefunden" -#: templates/js/company.js:128 +#: templates/js/company.js:129 msgid "No supplier parts found" msgstr "Keine Zuliefererteile gefunden" -#: templates/js/company.js:145 templates/js/part.js:314 +#: templates/js/company.js:147 templates/js/part.js:125 +#: templates/js/part.js:352 msgid "Template part" msgstr "Vorlagenteil" -#: templates/js/company.js:149 templates/js/part.js:318 +#: templates/js/company.js:151 templates/js/part.js:129 +#: templates/js/part.js:356 msgid "Assembled part" msgstr "Baugruppe" -#: templates/js/company.js:206 +#: templates/js/company.js:208 msgid "Link" msgstr "Link" @@ -4955,67 +4976,79 @@ msgstr "Keine Aufträge gefunden" msgid "Shipment Date" msgstr "Versanddatum" -#: templates/js/part.js:137 +#: templates/js/part.js:117 templates/js/part.js:343 +#, fuzzy +#| msgid "Trackable" +msgid "Trackable part" +msgstr "nachverfolgbar" + +#: templates/js/part.js:121 templates/js/part.js:347 +#, fuzzy +#| msgid "Virtual" +msgid "Virtual part" +msgstr "Virtuell" + +#: templates/js/part.js:166 #, fuzzy #| msgid "No parts found" msgid "No variants found" msgstr "Keine Teile gefunden" -#: templates/js/part.js:223 templates/js/part.js:411 +#: templates/js/part.js:252 templates/js/part.js:449 msgid "No parts found" msgstr "Keine Teile gefunden" -#: templates/js/part.js:275 templates/js/stock.js:409 templates/js/stock.js:966 +#: templates/js/part.js:304 templates/js/stock.js:409 templates/js/stock.js:966 msgid "Select" msgstr "Auswählen" -#: templates/js/part.js:322 +#: templates/js/part.js:360 msgid "Starred part" msgstr "Favoritenteil" -#: templates/js/part.js:326 +#: templates/js/part.js:364 msgid "Salable part" msgstr "Verkäufliches Teil" -#: templates/js/part.js:365 +#: templates/js/part.js:403 msgid "No category" msgstr "Keine Kategorie" -#: templates/js/part.js:383 templates/js/table_filters.js:220 +#: templates/js/part.js:421 templates/js/table_filters.js:251 msgid "Low stock" msgstr "Bestand niedrig" -#: templates/js/part.js:392 +#: templates/js/part.js:430 msgid "Building" msgstr "Im Bau" -#: templates/js/part.js:471 +#: templates/js/part.js:509 msgid "YES" msgstr "" -#: templates/js/part.js:473 +#: templates/js/part.js:511 msgid "NO" msgstr "" -#: templates/js/part.js:507 +#: templates/js/part.js:545 #, fuzzy #| msgid "No stock items matching query" msgid "No test templates matching query" msgstr "Keine zur Anfrage passenden Lagerobjekte" -#: templates/js/part.js:558 templates/js/stock.js:63 +#: templates/js/part.js:596 templates/js/stock.js:63 #, fuzzy #| msgid "Edit Sales Order" msgid "Edit test result" msgstr "Auftrag bearbeiten" -#: templates/js/part.js:559 templates/js/stock.js:64 +#: templates/js/part.js:597 templates/js/stock.js:64 #, fuzzy #| msgid "Delete attachment" msgid "Delete test result" msgstr "Anhang löschen" -#: templates/js/part.js:565 +#: templates/js/part.js:603 msgid "This test is defined for a parent part" msgstr "" @@ -5101,7 +5134,7 @@ msgstr "Lagerobjekt wurde zugewiesen" msgid "Stock item is lost" msgstr "Lagerobjekt verloren" -#: templates/js/stock.js:498 templates/js/table_filters.js:84 +#: templates/js/stock.js:498 templates/js/table_filters.js:106 #, fuzzy #| msgid "Delete" msgid "Depleted" @@ -5133,7 +5166,7 @@ msgstr "Neuen Standort anlegen" msgid "Serial" msgstr "Seriennummer" -#: templates/js/stock.js:997 templates/js/table_filters.js:94 +#: templates/js/stock.js:997 templates/js/table_filters.js:116 #, fuzzy #| msgid "Installed In" msgid "Installed" @@ -5145,160 +5178,160 @@ msgstr "Installiert in" msgid "Install item" msgstr "Installiert in" -#: templates/js/table_filters.js:19 +#: templates/js/table_filters.js:41 #, fuzzy #| msgid "Trackable" msgid "Trackable Part" msgstr "nachverfolgbar" -#: templates/js/table_filters.js:23 +#: templates/js/table_filters.js:45 #, fuzzy #| msgid "Validate BOM" msgid "Validated" msgstr "BOM validieren" -#: templates/js/table_filters.js:43 templates/js/table_filters.js:104 +#: templates/js/table_filters.js:65 templates/js/table_filters.js:126 #, fuzzy #| msgid "Serialize Stock" msgid "Is Serialized" msgstr "Lagerbestand erfassen" -#: templates/js/table_filters.js:46 templates/js/table_filters.js:111 +#: templates/js/table_filters.js:68 templates/js/table_filters.js:133 #, fuzzy #| msgid "Serial Number" msgid "Serial number GTE" msgstr "Seriennummer" -#: templates/js/table_filters.js:47 templates/js/table_filters.js:112 +#: templates/js/table_filters.js:69 templates/js/table_filters.js:134 #, fuzzy #| msgid "Serial number for this item" msgid "Serial number greater than or equal to" msgstr "Seriennummer für dieses Teil" -#: templates/js/table_filters.js:50 templates/js/table_filters.js:115 +#: templates/js/table_filters.js:72 templates/js/table_filters.js:137 #, fuzzy #| msgid "Serial Number" msgid "Serial number LTE" msgstr "Seriennummer" -#: templates/js/table_filters.js:51 templates/js/table_filters.js:116 +#: templates/js/table_filters.js:73 templates/js/table_filters.js:138 #, fuzzy #| msgid "Serial numbers already exist: " msgid "Serial number less than or equal to" msgstr "Seriennummern existieren bereits:" -#: templates/js/table_filters.js:54 templates/js/table_filters.js:55 -#: templates/js/table_filters.js:107 templates/js/table_filters.js:108 +#: templates/js/table_filters.js:76 templates/js/table_filters.js:77 +#: templates/js/table_filters.js:129 templates/js/table_filters.js:130 #, fuzzy #| msgid "Serial Number" msgid "Serial number" msgstr "Seriennummer" -#: templates/js/table_filters.js:59 templates/js/table_filters.js:125 +#: templates/js/table_filters.js:81 templates/js/table_filters.js:147 #, fuzzy #| msgid "Batch Code" msgid "Batch code" msgstr "Losnummer" -#: templates/js/table_filters.js:69 +#: templates/js/table_filters.js:91 templates/js/table_filters.js:218 msgid "Active parts" msgstr "Aktive Teile" -#: templates/js/table_filters.js:70 +#: templates/js/table_filters.js:92 msgid "Show stock for active parts" msgstr "Bestand aktiver Teile anzeigen" -#: templates/js/table_filters.js:74 +#: templates/js/table_filters.js:96 msgid "Is allocated" msgstr "Ist zugeordnet" -#: templates/js/table_filters.js:75 +#: templates/js/table_filters.js:97 msgid "Item has been alloacted" msgstr "Position wurde zugeordnet" -#: templates/js/table_filters.js:79 +#: templates/js/table_filters.js:101 msgid "Include sublocations" msgstr "Unterlagerorte einschließen" -#: templates/js/table_filters.js:80 +#: templates/js/table_filters.js:102 msgid "Include stock in sublocations" msgstr "Bestand in Unterlagerorten einschließen" -#: templates/js/table_filters.js:85 +#: templates/js/table_filters.js:107 #, fuzzy #| msgid "Delete this Stock Item when stock is depleted" msgid "Show stock items which are depleted" msgstr "Objekt löschen wenn Lagerbestand aufgebraucht" -#: templates/js/table_filters.js:90 +#: templates/js/table_filters.js:112 msgid "Show items which are in stock" msgstr "" -#: templates/js/table_filters.js:95 +#: templates/js/table_filters.js:117 #, fuzzy #| msgid "Is this item installed in another item?" msgid "Show stock items which are installed in another item" msgstr "Ist dieses Teil in einem anderen verbaut?" -#: templates/js/table_filters.js:99 +#: templates/js/table_filters.js:121 #, fuzzy #| msgid "Item assigned to customer?" msgid "Sent to customer" msgstr "Ist dieses Objekt einem Kunden zugeteilt?" -#: templates/js/table_filters.js:100 +#: templates/js/table_filters.js:122 msgid "Show items which have been assigned to a customer" msgstr "" -#: templates/js/table_filters.js:120 templates/js/table_filters.js:121 +#: templates/js/table_filters.js:142 templates/js/table_filters.js:143 msgid "Stock status" msgstr "Bestandsstatus" -#: templates/js/table_filters.js:154 +#: templates/js/table_filters.js:176 msgid "Build status" msgstr "Bau-Status" -#: templates/js/table_filters.js:169 templates/js/table_filters.js:182 +#: templates/js/table_filters.js:191 templates/js/table_filters.js:204 msgid "Order status" msgstr "Bestellstatus" -#: templates/js/table_filters.js:174 templates/js/table_filters.js:187 +#: templates/js/table_filters.js:196 templates/js/table_filters.js:209 #, fuzzy #| msgid "Cascading" msgid "Outstanding" msgstr "Kaskadierend" -#: templates/js/table_filters.js:197 +#: templates/js/table_filters.js:228 msgid "Include subcategories" msgstr "Unterkategorien einschließen" -#: templates/js/table_filters.js:198 +#: templates/js/table_filters.js:229 msgid "Include parts in subcategories" msgstr "Teile in Unterkategorien einschließen" -#: templates/js/table_filters.js:202 +#: templates/js/table_filters.js:233 msgid "Has IPN" msgstr "" -#: templates/js/table_filters.js:203 +#: templates/js/table_filters.js:234 #, fuzzy #| msgid "Internal Part Number" msgid "Part has internal part number" msgstr "Interne Teilenummer" -#: templates/js/table_filters.js:208 +#: templates/js/table_filters.js:239 msgid "Show active parts" msgstr "Aktive Teile anzeigen" -#: templates/js/table_filters.js:216 +#: templates/js/table_filters.js:247 msgid "Stock available" msgstr "Bestand verfügbar" -#: templates/js/table_filters.js:232 +#: templates/js/table_filters.js:263 msgid "Starred" msgstr "Favorit" -#: templates/js/table_filters.js:244 +#: templates/js/table_filters.js:275 msgid "Purchasable" msgstr "Käuflich" @@ -5550,9 +5583,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 15b1d532f6..556ed7648d 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:37+0000\n" +"POT-Creation-Date: 2020-10-29 02:17+0000\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: FULL NAME \n" "Language-Team: LANGUAGE \n" @@ -91,7 +91,7 @@ msgid "User" msgstr "" #: InvenTree/models.py:106 part/templates/part/params.html:24 -#: templates/js/part.js:81 +#: templates/js/part.js:90 msgid "Name" msgstr "" @@ -116,7 +116,7 @@ msgid "Polish" msgstr "" #: InvenTree/status_codes.py:94 InvenTree/status_codes.py:135 -#: InvenTree/status_codes.py:222 templates/js/table_filters.js:159 +#: InvenTree/status_codes.py:222 templates/js/table_filters.js:181 msgid "Pending" msgstr "" @@ -302,8 +302,8 @@ msgstr "" #: part/templates/part/detail.html:51 part/templates/part/set_category.html:14 #: templates/InvenTree/search.html:147 templates/js/bom.js:147 #: templates/js/bom.js:486 templates/js/build.js:56 templates/js/company.js:56 -#: templates/js/order.js:167 templates/js/order.js:249 templates/js/part.js:120 -#: templates/js/part.js:203 templates/js/part.js:345 templates/js/part.js:526 +#: templates/js/order.js:167 templates/js/order.js:249 templates/js/part.js:149 +#: templates/js/part.js:232 templates/js/part.js:383 templates/js/part.js:564 #: templates/js/stock.js:445 templates/js/stock.js:672 msgid "Description" msgstr "" @@ -330,8 +330,8 @@ msgstr "" #: part/templates/part/part_app_base.html:7 #: part/templates/part/set_category.html:13 templates/InvenTree/search.html:133 #: templates/js/barcode.js:336 templates/js/bom.js:124 templates/js/bom.js:471 -#: templates/js/build.js:61 templates/js/company.js:137 -#: templates/js/part.js:184 templates/js/part.js:289 templates/js/stock.js:421 +#: templates/js/build.js:61 templates/js/company.js:138 +#: templates/js/part.js:213 templates/js/part.js:318 templates/js/stock.js:421 #: templates/js/stock.js:978 msgid "Part" msgstr "" @@ -521,7 +521,7 @@ msgid "No BOM items found" msgstr "" #: build/templates/build/allocate.html:347 part/models.py:1401 -#: templates/js/part.js:530 templates/js/table_filters.js:145 +#: templates/js/part.js:568 templates/js/table_filters.js:167 msgid "Required" msgstr "" @@ -693,8 +693,8 @@ msgstr "" #: build/templates/build/detail.html:48 #: stock/templates/stock/item_base.html:238 templates/js/stock.js:514 -#: templates/js/stock.js:921 templates/js/table_filters.js:58 -#: templates/js/table_filters.js:124 +#: templates/js/stock.js:921 templates/js/table_filters.js:80 +#: templates/js/table_filters.js:146 msgid "Batch" msgstr "" @@ -1104,7 +1104,7 @@ msgstr "" #: company/templates/company/detail.html:16 #: company/templates/company/supplier_part_base.html:84 #: company/templates/company/supplier_part_detail.html:30 part/bom.py:172 -#: templates/js/company.js:44 templates/js/company.js:186 +#: templates/js/company.js:44 templates/js/company.js:188 msgid "Manufacturer" msgstr "" @@ -1114,7 +1114,7 @@ msgstr "" #: order/templates/order/order_base.html:79 #: order/templates/order/order_wizard/select_pos.html:30 part/bom.py:170 #: stock/templates/stock/item_base.html:273 templates/js/company.js:48 -#: templates/js/company.js:162 templates/js/order.js:154 +#: templates/js/company.js:164 templates/js/order.js:154 msgid "Supplier" msgstr "" @@ -1159,30 +1159,30 @@ msgstr "" msgid "Delete Parts" msgstr "" -#: company/templates/company/detail_part.html:60 +#: company/templates/company/detail_part.html:63 #: part/templates/part/category.html:116 templates/js/stock.js:792 msgid "New Part" msgstr "" -#: company/templates/company/detail_part.html:61 +#: company/templates/company/detail_part.html:64 msgid "Create new Part" msgstr "" -#: company/templates/company/detail_part.html:66 company/views.py:53 +#: company/templates/company/detail_part.html:69 company/views.py:53 #: part/templates/part/supplier.html:47 msgid "New Supplier" msgstr "" -#: company/templates/company/detail_part.html:67 company/views.py:192 +#: company/templates/company/detail_part.html:70 company/views.py:192 msgid "Create new Supplier" msgstr "" -#: company/templates/company/detail_part.html:72 company/views.py:60 +#: company/templates/company/detail_part.html:75 company/views.py:60 #: part/templates/part/supplier.html:53 msgid "New Manufacturer" msgstr "" -#: company/templates/company/detail_part.html:73 company/views.py:195 +#: company/templates/company/detail_part.html:76 company/views.py:195 msgid "Create new Manufacturer" msgstr "" @@ -1253,7 +1253,7 @@ msgstr "" #: company/templates/company/supplier_part_base.html:6 #: company/templates/company/supplier_part_base.html:19 stock/models.py:344 -#: stock/templates/stock/item_base.html:278 templates/js/company.js:178 +#: stock/templates/stock/item_base.html:278 templates/js/company.js:180 msgid "Supplier Part" msgstr "" @@ -1287,7 +1287,7 @@ msgstr "" #: company/templates/company/supplier_part_base.html:88 #: company/templates/company/supplier_part_detail.html:31 part/bom.py:173 -#: templates/js/company.js:202 +#: templates/js/company.js:204 msgid "MPN" msgstr "" @@ -1310,7 +1310,7 @@ msgid "Pricing Information" msgstr "" #: company/templates/company/supplier_part_pricing.html:17 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:2229 msgid "Add Price Break" msgstr "" @@ -1345,8 +1345,8 @@ msgstr "" #: company/templates/company/supplier_part_tabs.html:8 #: company/templates/company/tabs.html:12 part/templates/part/tabs.html:18 #: stock/templates/stock/location.html:17 templates/InvenTree/search.html:155 -#: templates/InvenTree/settings/tabs.html:25 templates/js/part.js:124 -#: templates/js/part.js:372 templates/js/stock.js:453 templates/navbar.html:22 +#: templates/InvenTree/settings/tabs.html:25 templates/js/part.js:153 +#: templates/js/part.js:410 templates/js/stock.js:453 templates/navbar.html:22 #: users/models.py:29 msgid "Stock" msgstr "" @@ -1437,15 +1437,15 @@ msgstr "" msgid "Delete Supplier Part" msgstr "" -#: company/views.py:416 part/views.py:2234 +#: company/views.py:416 part/views.py:2235 msgid "Added new price break" msgstr "" -#: company/views.py:453 part/views.py:2279 +#: company/views.py:453 part/views.py:2280 msgid "Edit Price Break" msgstr "" -#: company/views.py:469 part/views.py:2295 +#: company/views.py:469 part/views.py:2296 msgid "Delete Price Break" msgstr "" @@ -1538,7 +1538,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:1346 #: stock/models.py:241 stock/models.py:805 msgid "Quantity must be greater than zero" msgstr "" @@ -1785,7 +1785,7 @@ msgid "Select parts to receive against this order" msgstr "" #: order/templates/order/receive_parts.html:21 -#: part/templates/part/part_base.html:145 templates/js/part.js:388 +#: part/templates/part/part_base.html:145 templates/js/part.js:426 msgid "On Order" msgstr "" @@ -2257,7 +2257,7 @@ msgstr "" msgid "Test with this name already exists for this part" msgstr "" -#: part/models.py:1389 templates/js/part.js:521 templates/js/stock.js:92 +#: part/models.py:1389 templates/js/part.js:559 templates/js/stock.js:92 msgid "Test Name" msgstr "" @@ -2277,7 +2277,7 @@ msgstr "" msgid "Is this test required to pass?" msgstr "" -#: part/models.py:1407 templates/js/part.js:538 +#: part/models.py:1407 templates/js/part.js:576 msgid "Requires Value" msgstr "" @@ -2285,7 +2285,7 @@ msgstr "" msgid "Does this test require a value when adding a test result?" msgstr "" -#: part/models.py:1413 templates/js/part.js:545 +#: part/models.py:1413 templates/js/part.js:583 msgid "Requires Attachment" msgstr "" @@ -2349,7 +2349,7 @@ msgstr "" msgid "BOM line checksum" msgstr "" -#: part/models.py:1612 part/views.py:1351 part/views.py:1403 +#: part/models.py:1612 part/views.py:1352 part/views.py:1404 #: stock/models.py:231 msgid "Quantity must be integer value for trackable parts" msgstr "" @@ -2432,7 +2432,7 @@ msgstr "" msgid "Validate" msgstr "" -#: part/templates/part/bom.html:61 part/views.py:1642 +#: part/templates/part/bom.html:61 part/views.py:1643 msgid "Export Bill of Materials" msgstr "" @@ -2524,7 +2524,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:2046 msgid "Create new part category" msgstr "" @@ -2604,16 +2604,28 @@ 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 "" #: part/templates/part/detail.html:25 part/templates/part/part_base.html:95 -#: templates/js/part.js:112 +#: templates/js/part.js:141 msgid "IPN" msgstr "" -#: part/templates/part/detail.html:32 templates/js/part.js:116 +#: part/templates/part/detail.html:32 templates/js/part.js:145 msgid "Revision" msgstr "" @@ -2630,7 +2642,7 @@ msgid "Variant Of" msgstr "" #: part/templates/part/detail.html:70 part/templates/part/set_category.html:15 -#: templates/js/part.js:359 +#: templates/js/part.js:397 msgid "Category" msgstr "" @@ -2658,7 +2670,7 @@ msgstr "" msgid "Responsible User" msgstr "" -#: part/templates/part/detail.html:136 +#: part/templates/part/detail.html:136 templates/js/table_filters.js:27 msgid "Virtual" msgstr "" @@ -2671,7 +2683,7 @@ msgid "Part is not a virtual part" msgstr "" #: part/templates/part/detail.html:145 stock/forms.py:248 -#: templates/js/table_filters.js:212 +#: templates/js/table_filters.js:23 templates/js/table_filters.js:243 msgid "Template" msgstr "" @@ -2683,7 +2695,7 @@ msgstr "" msgid "Part is not a template part" msgstr "" -#: part/templates/part/detail.html:154 templates/js/table_filters.js:224 +#: part/templates/part/detail.html:154 templates/js/table_filters.js:255 msgid "Assembly" msgstr "" @@ -2695,7 +2707,7 @@ msgstr "" msgid "Part cannot be assembled from other parts" msgstr "" -#: part/templates/part/detail.html:163 templates/js/table_filters.js:228 +#: part/templates/part/detail.html:163 templates/js/table_filters.js:259 msgid "Component" msgstr "" @@ -2707,7 +2719,8 @@ msgstr "" msgid "Part cannot be used in assemblies" msgstr "" -#: part/templates/part/detail.html:172 templates/js/table_filters.js:240 +#: part/templates/part/detail.html:172 templates/js/table_filters.js:31 +#: templates/js/table_filters.js:271 msgid "Trackable" msgstr "" @@ -2727,7 +2740,7 @@ msgstr "" msgid "Part can be purchased from external suppliers" msgstr "" -#: part/templates/part/detail.html:190 templates/js/table_filters.js:236 +#: part/templates/part/detail.html:190 templates/js/table_filters.js:267 msgid "Salable" msgstr "" @@ -2739,8 +2752,8 @@ msgstr "" msgid "Part cannot be sold to customers" msgstr "" -#: part/templates/part/detail.html:199 templates/js/table_filters.js:33 -#: templates/js/table_filters.js:207 +#: part/templates/part/detail.html:199 templates/js/table_filters.js:19 +#: templates/js/table_filters.js:55 templates/js/table_filters.js:238 msgid "Active" msgstr "" @@ -2794,8 +2807,8 @@ msgstr "" msgid "This part is a variant of" msgstr "" -#: part/templates/part/part_base.html:36 templates/js/company.js:153 -#: templates/js/part.js:336 +#: part/templates/part/part_base.html:36 templates/js/company.js:155 +#: templates/js/part.js:133 templates/js/part.js:374 msgid "Inactive" msgstr "" @@ -2845,7 +2858,7 @@ msgstr "" msgid "Delete part" msgstr "" -#: part/templates/part/part_base.html:124 templates/js/table_filters.js:89 +#: part/templates/part/part_base.html:124 templates/js/table_filters.js:111 msgid "In Stock" msgstr "" @@ -2906,7 +2919,7 @@ msgid "Part Stock" msgstr "" #: part/templates/part/stock_count.html:7 templates/js/bom.js:197 -#: templates/js/part.js:396 +#: templates/js/part.js:434 msgid "No Stock" msgstr "" @@ -2962,11 +2975,11 @@ msgstr "" msgid "Part Variants" msgstr "" -#: part/templates/part/variants.html:21 +#: part/templates/part/variants.html:22 msgid "Create new variant" msgstr "" -#: part/templates/part/variants.html:21 +#: part/templates/part/variants.html:23 msgid "New Variant" msgstr "" @@ -3023,127 +3036,127 @@ msgstr "" msgid "Copied part" msgstr "" -#: part/views.py:513 templates/js/stock.js:793 +#: part/views.py:514 templates/js/stock.js:793 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:736 msgid "Part QR Code" msgstr "" -#: part/views.py:754 +#: part/views.py:755 msgid "Upload Part Image" msgstr "" -#: part/views.py:762 part/views.py:799 +#: part/views.py:763 part/views.py:800 msgid "Updated part image" msgstr "" -#: part/views.py:771 +#: part/views.py:772 msgid "Select Part Image" msgstr "" -#: part/views.py:802 +#: part/views.py:803 msgid "Part image not found" msgstr "" -#: part/views.py:813 +#: part/views.py:814 msgid "Edit Part Properties" msgstr "" -#: part/views.py:837 +#: part/views.py:838 msgid "Validate BOM" msgstr "" -#: part/views.py:1004 +#: part/views.py:1005 msgid "No BOM file provided" msgstr "" -#: part/views.py:1354 +#: part/views.py:1355 msgid "Enter a valid quantity" msgstr "" -#: part/views.py:1379 part/views.py:1382 +#: part/views.py:1380 part/views.py:1383 msgid "Select valid part" msgstr "" -#: part/views.py:1388 +#: part/views.py:1389 msgid "Duplicate part selected" msgstr "" -#: part/views.py:1426 +#: part/views.py:1427 msgid "Select a part" msgstr "" -#: part/views.py:1432 +#: part/views.py:1433 msgid "Selected part creates a circular BOM" msgstr "" -#: part/views.py:1436 +#: part/views.py:1437 msgid "Specify quantity" msgstr "" -#: part/views.py:1692 +#: part/views.py:1693 msgid "Confirm Part Deletion" msgstr "" -#: part/views.py:1701 +#: part/views.py:1702 msgid "Part was deleted" msgstr "" -#: part/views.py:1710 +#: part/views.py:1711 msgid "Part Pricing" msgstr "" -#: part/views.py:1836 +#: part/views.py:1837 msgid "Create Part Parameter Template" msgstr "" -#: part/views.py:1846 +#: part/views.py:1847 msgid "Edit Part Parameter Template" msgstr "" -#: part/views.py:1855 +#: part/views.py:1856 msgid "Delete Part Parameter Template" msgstr "" -#: part/views.py:1865 +#: part/views.py:1866 msgid "Create Part Parameter" msgstr "" -#: part/views.py:1917 +#: part/views.py:1918 msgid "Edit Part Parameter" msgstr "" -#: part/views.py:1933 +#: part/views.py:1934 msgid "Delete Part Parameter" msgstr "" -#: part/views.py:1992 +#: part/views.py:1993 msgid "Edit Part Category" msgstr "" -#: part/views.py:2029 +#: part/views.py:2030 msgid "Delete Part Category" msgstr "" -#: part/views.py:2037 +#: part/views.py:2038 msgid "Part category was deleted" msgstr "" -#: part/views.py:2100 -msgid "Create BOM item" +#: part/views.py:2101 +msgid "Create BOM Item" msgstr "" -#: part/views.py:2168 +#: part/views.py:2169 msgid "Edit BOM item" msgstr "" -#: part/views.py:2218 +#: part/views.py:2219 msgid "Confim BOM item deletion" msgstr "" @@ -3447,7 +3460,7 @@ msgstr "" msgid "Result" msgstr "" -#: stock/models.py:1386 templates/js/table_filters.js:135 +#: stock/models.py:1386 templates/js/table_filters.js:157 msgid "Test result" msgstr "" @@ -4381,19 +4394,21 @@ msgstr "" msgid "No company information found" msgstr "" -#: templates/js/company.js:128 +#: templates/js/company.js:129 msgid "No supplier parts found" msgstr "" -#: templates/js/company.js:145 templates/js/part.js:314 +#: templates/js/company.js:147 templates/js/part.js:125 +#: templates/js/part.js:352 msgid "Template part" msgstr "" -#: templates/js/company.js:149 templates/js/part.js:318 +#: templates/js/company.js:151 templates/js/part.js:129 +#: templates/js/part.js:356 msgid "Assembled part" msgstr "" -#: templates/js/company.js:206 +#: templates/js/company.js:208 msgid "Link" msgstr "" @@ -4413,59 +4428,67 @@ msgstr "" msgid "Shipment Date" msgstr "" -#: templates/js/part.js:137 +#: templates/js/part.js:117 templates/js/part.js:343 +msgid "Trackable part" +msgstr "" + +#: templates/js/part.js:121 templates/js/part.js:347 +msgid "Virtual part" +msgstr "" + +#: templates/js/part.js:166 msgid "No variants found" msgstr "" -#: templates/js/part.js:223 templates/js/part.js:411 +#: templates/js/part.js:252 templates/js/part.js:449 msgid "No parts found" msgstr "" -#: templates/js/part.js:275 templates/js/stock.js:409 templates/js/stock.js:966 +#: templates/js/part.js:304 templates/js/stock.js:409 templates/js/stock.js:966 msgid "Select" msgstr "" -#: templates/js/part.js:322 +#: templates/js/part.js:360 msgid "Starred part" msgstr "" -#: templates/js/part.js:326 +#: templates/js/part.js:364 msgid "Salable part" msgstr "" -#: templates/js/part.js:365 +#: templates/js/part.js:403 msgid "No category" msgstr "" -#: templates/js/part.js:383 templates/js/table_filters.js:220 +#: templates/js/part.js:421 templates/js/table_filters.js:251 msgid "Low stock" msgstr "" -#: templates/js/part.js:392 +#: templates/js/part.js:430 msgid "Building" msgstr "" -#: templates/js/part.js:471 +#: templates/js/part.js:509 msgid "YES" msgstr "" -#: templates/js/part.js:473 +#: templates/js/part.js:511 msgid "NO" msgstr "" -#: templates/js/part.js:507 +#: templates/js/part.js:545 msgid "No test templates matching query" msgstr "" -#: templates/js/part.js:558 templates/js/stock.js:63 +#: templates/js/part.js:596 templates/js/stock.js:63 msgid "Edit test result" msgstr "" -#: templates/js/part.js:559 templates/js/stock.js:64 +#: templates/js/part.js:597 templates/js/stock.js:64 msgid "Delete test result" msgstr "" -#: templates/js/part.js:565 +#: templates/js/part.js:603 msgid "This test is defined for a parent part" msgstr "" @@ -4529,7 +4552,7 @@ msgstr "" msgid "Stock item is lost" msgstr "" -#: templates/js/stock.js:498 templates/js/table_filters.js:84 +#: templates/js/stock.js:498 templates/js/table_filters.js:106 msgid "Depleted" msgstr "" @@ -4553,7 +4576,7 @@ msgstr "" msgid "Serial" msgstr "" -#: templates/js/stock.js:997 templates/js/table_filters.js:94 +#: templates/js/stock.js:997 templates/js/table_filters.js:116 msgid "Installed" msgstr "" @@ -4561,132 +4584,132 @@ msgstr "" msgid "Install item" msgstr "" -#: templates/js/table_filters.js:19 +#: templates/js/table_filters.js:41 msgid "Trackable Part" msgstr "" -#: templates/js/table_filters.js:23 +#: templates/js/table_filters.js:45 msgid "Validated" msgstr "" -#: templates/js/table_filters.js:43 templates/js/table_filters.js:104 +#: templates/js/table_filters.js:65 templates/js/table_filters.js:126 msgid "Is Serialized" msgstr "" -#: templates/js/table_filters.js:46 templates/js/table_filters.js:111 +#: templates/js/table_filters.js:68 templates/js/table_filters.js:133 msgid "Serial number GTE" msgstr "" -#: templates/js/table_filters.js:47 templates/js/table_filters.js:112 +#: templates/js/table_filters.js:69 templates/js/table_filters.js:134 msgid "Serial number greater than or equal to" msgstr "" -#: templates/js/table_filters.js:50 templates/js/table_filters.js:115 +#: templates/js/table_filters.js:72 templates/js/table_filters.js:137 msgid "Serial number LTE" msgstr "" -#: templates/js/table_filters.js:51 templates/js/table_filters.js:116 +#: templates/js/table_filters.js:73 templates/js/table_filters.js:138 msgid "Serial number less than or equal to" msgstr "" -#: templates/js/table_filters.js:54 templates/js/table_filters.js:55 -#: templates/js/table_filters.js:107 templates/js/table_filters.js:108 +#: templates/js/table_filters.js:76 templates/js/table_filters.js:77 +#: templates/js/table_filters.js:129 templates/js/table_filters.js:130 msgid "Serial number" msgstr "" -#: templates/js/table_filters.js:59 templates/js/table_filters.js:125 +#: templates/js/table_filters.js:81 templates/js/table_filters.js:147 msgid "Batch code" msgstr "" -#: templates/js/table_filters.js:69 +#: templates/js/table_filters.js:91 templates/js/table_filters.js:218 msgid "Active parts" msgstr "" -#: templates/js/table_filters.js:70 +#: templates/js/table_filters.js:92 msgid "Show stock for active parts" msgstr "" -#: templates/js/table_filters.js:74 +#: templates/js/table_filters.js:96 msgid "Is allocated" msgstr "" -#: templates/js/table_filters.js:75 +#: templates/js/table_filters.js:97 msgid "Item has been alloacted" msgstr "" -#: templates/js/table_filters.js:79 +#: templates/js/table_filters.js:101 msgid "Include sublocations" msgstr "" -#: templates/js/table_filters.js:80 +#: templates/js/table_filters.js:102 msgid "Include stock in sublocations" msgstr "" -#: templates/js/table_filters.js:85 +#: templates/js/table_filters.js:107 msgid "Show stock items which are depleted" msgstr "" -#: templates/js/table_filters.js:90 +#: templates/js/table_filters.js:112 msgid "Show items which are in stock" msgstr "" -#: templates/js/table_filters.js:95 +#: templates/js/table_filters.js:117 msgid "Show stock items which are installed in another item" msgstr "" -#: templates/js/table_filters.js:99 +#: templates/js/table_filters.js:121 msgid "Sent to customer" msgstr "" -#: templates/js/table_filters.js:100 +#: templates/js/table_filters.js:122 msgid "Show items which have been assigned to a customer" msgstr "" -#: templates/js/table_filters.js:120 templates/js/table_filters.js:121 +#: templates/js/table_filters.js:142 templates/js/table_filters.js:143 msgid "Stock status" msgstr "" -#: templates/js/table_filters.js:154 +#: templates/js/table_filters.js:176 msgid "Build status" msgstr "" -#: templates/js/table_filters.js:169 templates/js/table_filters.js:182 +#: templates/js/table_filters.js:191 templates/js/table_filters.js:204 msgid "Order status" msgstr "" -#: templates/js/table_filters.js:174 templates/js/table_filters.js:187 +#: templates/js/table_filters.js:196 templates/js/table_filters.js:209 msgid "Outstanding" msgstr "" -#: templates/js/table_filters.js:197 +#: templates/js/table_filters.js:228 msgid "Include subcategories" msgstr "" -#: templates/js/table_filters.js:198 +#: templates/js/table_filters.js:229 msgid "Include parts in subcategories" msgstr "" -#: templates/js/table_filters.js:202 +#: templates/js/table_filters.js:233 msgid "Has IPN" msgstr "" -#: templates/js/table_filters.js:203 +#: templates/js/table_filters.js:234 msgid "Part has internal part number" msgstr "" -#: templates/js/table_filters.js:208 +#: templates/js/table_filters.js:239 msgid "Show active parts" msgstr "" -#: templates/js/table_filters.js:216 +#: templates/js/table_filters.js:247 msgid "Stock available" msgstr "" -#: templates/js/table_filters.js:232 +#: templates/js/table_filters.js:263 msgid "Starred" msgstr "" -#: templates/js/table_filters.js:244 +#: templates/js/table_filters.js:275 msgid "Purchasable" msgstr "" diff --git a/InvenTree/locale/es/LC_MESSAGES/django.po b/InvenTree/locale/es/LC_MESSAGES/django.po index 15b1d532f6..556ed7648d 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:37+0000\n" +"POT-Creation-Date: 2020-10-29 02:17+0000\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: FULL NAME \n" "Language-Team: LANGUAGE \n" @@ -91,7 +91,7 @@ msgid "User" msgstr "" #: InvenTree/models.py:106 part/templates/part/params.html:24 -#: templates/js/part.js:81 +#: templates/js/part.js:90 msgid "Name" msgstr "" @@ -116,7 +116,7 @@ msgid "Polish" msgstr "" #: InvenTree/status_codes.py:94 InvenTree/status_codes.py:135 -#: InvenTree/status_codes.py:222 templates/js/table_filters.js:159 +#: InvenTree/status_codes.py:222 templates/js/table_filters.js:181 msgid "Pending" msgstr "" @@ -302,8 +302,8 @@ msgstr "" #: part/templates/part/detail.html:51 part/templates/part/set_category.html:14 #: templates/InvenTree/search.html:147 templates/js/bom.js:147 #: templates/js/bom.js:486 templates/js/build.js:56 templates/js/company.js:56 -#: templates/js/order.js:167 templates/js/order.js:249 templates/js/part.js:120 -#: templates/js/part.js:203 templates/js/part.js:345 templates/js/part.js:526 +#: templates/js/order.js:167 templates/js/order.js:249 templates/js/part.js:149 +#: templates/js/part.js:232 templates/js/part.js:383 templates/js/part.js:564 #: templates/js/stock.js:445 templates/js/stock.js:672 msgid "Description" msgstr "" @@ -330,8 +330,8 @@ msgstr "" #: part/templates/part/part_app_base.html:7 #: part/templates/part/set_category.html:13 templates/InvenTree/search.html:133 #: templates/js/barcode.js:336 templates/js/bom.js:124 templates/js/bom.js:471 -#: templates/js/build.js:61 templates/js/company.js:137 -#: templates/js/part.js:184 templates/js/part.js:289 templates/js/stock.js:421 +#: templates/js/build.js:61 templates/js/company.js:138 +#: templates/js/part.js:213 templates/js/part.js:318 templates/js/stock.js:421 #: templates/js/stock.js:978 msgid "Part" msgstr "" @@ -521,7 +521,7 @@ msgid "No BOM items found" msgstr "" #: build/templates/build/allocate.html:347 part/models.py:1401 -#: templates/js/part.js:530 templates/js/table_filters.js:145 +#: templates/js/part.js:568 templates/js/table_filters.js:167 msgid "Required" msgstr "" @@ -693,8 +693,8 @@ msgstr "" #: build/templates/build/detail.html:48 #: stock/templates/stock/item_base.html:238 templates/js/stock.js:514 -#: templates/js/stock.js:921 templates/js/table_filters.js:58 -#: templates/js/table_filters.js:124 +#: templates/js/stock.js:921 templates/js/table_filters.js:80 +#: templates/js/table_filters.js:146 msgid "Batch" msgstr "" @@ -1104,7 +1104,7 @@ msgstr "" #: company/templates/company/detail.html:16 #: company/templates/company/supplier_part_base.html:84 #: company/templates/company/supplier_part_detail.html:30 part/bom.py:172 -#: templates/js/company.js:44 templates/js/company.js:186 +#: templates/js/company.js:44 templates/js/company.js:188 msgid "Manufacturer" msgstr "" @@ -1114,7 +1114,7 @@ msgstr "" #: order/templates/order/order_base.html:79 #: order/templates/order/order_wizard/select_pos.html:30 part/bom.py:170 #: stock/templates/stock/item_base.html:273 templates/js/company.js:48 -#: templates/js/company.js:162 templates/js/order.js:154 +#: templates/js/company.js:164 templates/js/order.js:154 msgid "Supplier" msgstr "" @@ -1159,30 +1159,30 @@ msgstr "" msgid "Delete Parts" msgstr "" -#: company/templates/company/detail_part.html:60 +#: company/templates/company/detail_part.html:63 #: part/templates/part/category.html:116 templates/js/stock.js:792 msgid "New Part" msgstr "" -#: company/templates/company/detail_part.html:61 +#: company/templates/company/detail_part.html:64 msgid "Create new Part" msgstr "" -#: company/templates/company/detail_part.html:66 company/views.py:53 +#: company/templates/company/detail_part.html:69 company/views.py:53 #: part/templates/part/supplier.html:47 msgid "New Supplier" msgstr "" -#: company/templates/company/detail_part.html:67 company/views.py:192 +#: company/templates/company/detail_part.html:70 company/views.py:192 msgid "Create new Supplier" msgstr "" -#: company/templates/company/detail_part.html:72 company/views.py:60 +#: company/templates/company/detail_part.html:75 company/views.py:60 #: part/templates/part/supplier.html:53 msgid "New Manufacturer" msgstr "" -#: company/templates/company/detail_part.html:73 company/views.py:195 +#: company/templates/company/detail_part.html:76 company/views.py:195 msgid "Create new Manufacturer" msgstr "" @@ -1253,7 +1253,7 @@ msgstr "" #: company/templates/company/supplier_part_base.html:6 #: company/templates/company/supplier_part_base.html:19 stock/models.py:344 -#: stock/templates/stock/item_base.html:278 templates/js/company.js:178 +#: stock/templates/stock/item_base.html:278 templates/js/company.js:180 msgid "Supplier Part" msgstr "" @@ -1287,7 +1287,7 @@ msgstr "" #: company/templates/company/supplier_part_base.html:88 #: company/templates/company/supplier_part_detail.html:31 part/bom.py:173 -#: templates/js/company.js:202 +#: templates/js/company.js:204 msgid "MPN" msgstr "" @@ -1310,7 +1310,7 @@ msgid "Pricing Information" msgstr "" #: company/templates/company/supplier_part_pricing.html:17 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:2229 msgid "Add Price Break" msgstr "" @@ -1345,8 +1345,8 @@ msgstr "" #: company/templates/company/supplier_part_tabs.html:8 #: company/templates/company/tabs.html:12 part/templates/part/tabs.html:18 #: stock/templates/stock/location.html:17 templates/InvenTree/search.html:155 -#: templates/InvenTree/settings/tabs.html:25 templates/js/part.js:124 -#: templates/js/part.js:372 templates/js/stock.js:453 templates/navbar.html:22 +#: templates/InvenTree/settings/tabs.html:25 templates/js/part.js:153 +#: templates/js/part.js:410 templates/js/stock.js:453 templates/navbar.html:22 #: users/models.py:29 msgid "Stock" msgstr "" @@ -1437,15 +1437,15 @@ msgstr "" msgid "Delete Supplier Part" msgstr "" -#: company/views.py:416 part/views.py:2234 +#: company/views.py:416 part/views.py:2235 msgid "Added new price break" msgstr "" -#: company/views.py:453 part/views.py:2279 +#: company/views.py:453 part/views.py:2280 msgid "Edit Price Break" msgstr "" -#: company/views.py:469 part/views.py:2295 +#: company/views.py:469 part/views.py:2296 msgid "Delete Price Break" msgstr "" @@ -1538,7 +1538,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:1346 #: stock/models.py:241 stock/models.py:805 msgid "Quantity must be greater than zero" msgstr "" @@ -1785,7 +1785,7 @@ msgid "Select parts to receive against this order" msgstr "" #: order/templates/order/receive_parts.html:21 -#: part/templates/part/part_base.html:145 templates/js/part.js:388 +#: part/templates/part/part_base.html:145 templates/js/part.js:426 msgid "On Order" msgstr "" @@ -2257,7 +2257,7 @@ msgstr "" msgid "Test with this name already exists for this part" msgstr "" -#: part/models.py:1389 templates/js/part.js:521 templates/js/stock.js:92 +#: part/models.py:1389 templates/js/part.js:559 templates/js/stock.js:92 msgid "Test Name" msgstr "" @@ -2277,7 +2277,7 @@ msgstr "" msgid "Is this test required to pass?" msgstr "" -#: part/models.py:1407 templates/js/part.js:538 +#: part/models.py:1407 templates/js/part.js:576 msgid "Requires Value" msgstr "" @@ -2285,7 +2285,7 @@ msgstr "" msgid "Does this test require a value when adding a test result?" msgstr "" -#: part/models.py:1413 templates/js/part.js:545 +#: part/models.py:1413 templates/js/part.js:583 msgid "Requires Attachment" msgstr "" @@ -2349,7 +2349,7 @@ msgstr "" msgid "BOM line checksum" msgstr "" -#: part/models.py:1612 part/views.py:1351 part/views.py:1403 +#: part/models.py:1612 part/views.py:1352 part/views.py:1404 #: stock/models.py:231 msgid "Quantity must be integer value for trackable parts" msgstr "" @@ -2432,7 +2432,7 @@ msgstr "" msgid "Validate" msgstr "" -#: part/templates/part/bom.html:61 part/views.py:1642 +#: part/templates/part/bom.html:61 part/views.py:1643 msgid "Export Bill of Materials" msgstr "" @@ -2524,7 +2524,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:2046 msgid "Create new part category" msgstr "" @@ -2604,16 +2604,28 @@ 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 "" #: part/templates/part/detail.html:25 part/templates/part/part_base.html:95 -#: templates/js/part.js:112 +#: templates/js/part.js:141 msgid "IPN" msgstr "" -#: part/templates/part/detail.html:32 templates/js/part.js:116 +#: part/templates/part/detail.html:32 templates/js/part.js:145 msgid "Revision" msgstr "" @@ -2630,7 +2642,7 @@ msgid "Variant Of" msgstr "" #: part/templates/part/detail.html:70 part/templates/part/set_category.html:15 -#: templates/js/part.js:359 +#: templates/js/part.js:397 msgid "Category" msgstr "" @@ -2658,7 +2670,7 @@ msgstr "" msgid "Responsible User" msgstr "" -#: part/templates/part/detail.html:136 +#: part/templates/part/detail.html:136 templates/js/table_filters.js:27 msgid "Virtual" msgstr "" @@ -2671,7 +2683,7 @@ msgid "Part is not a virtual part" msgstr "" #: part/templates/part/detail.html:145 stock/forms.py:248 -#: templates/js/table_filters.js:212 +#: templates/js/table_filters.js:23 templates/js/table_filters.js:243 msgid "Template" msgstr "" @@ -2683,7 +2695,7 @@ msgstr "" msgid "Part is not a template part" msgstr "" -#: part/templates/part/detail.html:154 templates/js/table_filters.js:224 +#: part/templates/part/detail.html:154 templates/js/table_filters.js:255 msgid "Assembly" msgstr "" @@ -2695,7 +2707,7 @@ msgstr "" msgid "Part cannot be assembled from other parts" msgstr "" -#: part/templates/part/detail.html:163 templates/js/table_filters.js:228 +#: part/templates/part/detail.html:163 templates/js/table_filters.js:259 msgid "Component" msgstr "" @@ -2707,7 +2719,8 @@ msgstr "" msgid "Part cannot be used in assemblies" msgstr "" -#: part/templates/part/detail.html:172 templates/js/table_filters.js:240 +#: part/templates/part/detail.html:172 templates/js/table_filters.js:31 +#: templates/js/table_filters.js:271 msgid "Trackable" msgstr "" @@ -2727,7 +2740,7 @@ msgstr "" msgid "Part can be purchased from external suppliers" msgstr "" -#: part/templates/part/detail.html:190 templates/js/table_filters.js:236 +#: part/templates/part/detail.html:190 templates/js/table_filters.js:267 msgid "Salable" msgstr "" @@ -2739,8 +2752,8 @@ msgstr "" msgid "Part cannot be sold to customers" msgstr "" -#: part/templates/part/detail.html:199 templates/js/table_filters.js:33 -#: templates/js/table_filters.js:207 +#: part/templates/part/detail.html:199 templates/js/table_filters.js:19 +#: templates/js/table_filters.js:55 templates/js/table_filters.js:238 msgid "Active" msgstr "" @@ -2794,8 +2807,8 @@ msgstr "" msgid "This part is a variant of" msgstr "" -#: part/templates/part/part_base.html:36 templates/js/company.js:153 -#: templates/js/part.js:336 +#: part/templates/part/part_base.html:36 templates/js/company.js:155 +#: templates/js/part.js:133 templates/js/part.js:374 msgid "Inactive" msgstr "" @@ -2845,7 +2858,7 @@ msgstr "" msgid "Delete part" msgstr "" -#: part/templates/part/part_base.html:124 templates/js/table_filters.js:89 +#: part/templates/part/part_base.html:124 templates/js/table_filters.js:111 msgid "In Stock" msgstr "" @@ -2906,7 +2919,7 @@ msgid "Part Stock" msgstr "" #: part/templates/part/stock_count.html:7 templates/js/bom.js:197 -#: templates/js/part.js:396 +#: templates/js/part.js:434 msgid "No Stock" msgstr "" @@ -2962,11 +2975,11 @@ msgstr "" msgid "Part Variants" msgstr "" -#: part/templates/part/variants.html:21 +#: part/templates/part/variants.html:22 msgid "Create new variant" msgstr "" -#: part/templates/part/variants.html:21 +#: part/templates/part/variants.html:23 msgid "New Variant" msgstr "" @@ -3023,127 +3036,127 @@ msgstr "" msgid "Copied part" msgstr "" -#: part/views.py:513 templates/js/stock.js:793 +#: part/views.py:514 templates/js/stock.js:793 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:736 msgid "Part QR Code" msgstr "" -#: part/views.py:754 +#: part/views.py:755 msgid "Upload Part Image" msgstr "" -#: part/views.py:762 part/views.py:799 +#: part/views.py:763 part/views.py:800 msgid "Updated part image" msgstr "" -#: part/views.py:771 +#: part/views.py:772 msgid "Select Part Image" msgstr "" -#: part/views.py:802 +#: part/views.py:803 msgid "Part image not found" msgstr "" -#: part/views.py:813 +#: part/views.py:814 msgid "Edit Part Properties" msgstr "" -#: part/views.py:837 +#: part/views.py:838 msgid "Validate BOM" msgstr "" -#: part/views.py:1004 +#: part/views.py:1005 msgid "No BOM file provided" msgstr "" -#: part/views.py:1354 +#: part/views.py:1355 msgid "Enter a valid quantity" msgstr "" -#: part/views.py:1379 part/views.py:1382 +#: part/views.py:1380 part/views.py:1383 msgid "Select valid part" msgstr "" -#: part/views.py:1388 +#: part/views.py:1389 msgid "Duplicate part selected" msgstr "" -#: part/views.py:1426 +#: part/views.py:1427 msgid "Select a part" msgstr "" -#: part/views.py:1432 +#: part/views.py:1433 msgid "Selected part creates a circular BOM" msgstr "" -#: part/views.py:1436 +#: part/views.py:1437 msgid "Specify quantity" msgstr "" -#: part/views.py:1692 +#: part/views.py:1693 msgid "Confirm Part Deletion" msgstr "" -#: part/views.py:1701 +#: part/views.py:1702 msgid "Part was deleted" msgstr "" -#: part/views.py:1710 +#: part/views.py:1711 msgid "Part Pricing" msgstr "" -#: part/views.py:1836 +#: part/views.py:1837 msgid "Create Part Parameter Template" msgstr "" -#: part/views.py:1846 +#: part/views.py:1847 msgid "Edit Part Parameter Template" msgstr "" -#: part/views.py:1855 +#: part/views.py:1856 msgid "Delete Part Parameter Template" msgstr "" -#: part/views.py:1865 +#: part/views.py:1866 msgid "Create Part Parameter" msgstr "" -#: part/views.py:1917 +#: part/views.py:1918 msgid "Edit Part Parameter" msgstr "" -#: part/views.py:1933 +#: part/views.py:1934 msgid "Delete Part Parameter" msgstr "" -#: part/views.py:1992 +#: part/views.py:1993 msgid "Edit Part Category" msgstr "" -#: part/views.py:2029 +#: part/views.py:2030 msgid "Delete Part Category" msgstr "" -#: part/views.py:2037 +#: part/views.py:2038 msgid "Part category was deleted" msgstr "" -#: part/views.py:2100 -msgid "Create BOM item" +#: part/views.py:2101 +msgid "Create BOM Item" msgstr "" -#: part/views.py:2168 +#: part/views.py:2169 msgid "Edit BOM item" msgstr "" -#: part/views.py:2218 +#: part/views.py:2219 msgid "Confim BOM item deletion" msgstr "" @@ -3447,7 +3460,7 @@ msgstr "" msgid "Result" msgstr "" -#: stock/models.py:1386 templates/js/table_filters.js:135 +#: stock/models.py:1386 templates/js/table_filters.js:157 msgid "Test result" msgstr "" @@ -4381,19 +4394,21 @@ msgstr "" msgid "No company information found" msgstr "" -#: templates/js/company.js:128 +#: templates/js/company.js:129 msgid "No supplier parts found" msgstr "" -#: templates/js/company.js:145 templates/js/part.js:314 +#: templates/js/company.js:147 templates/js/part.js:125 +#: templates/js/part.js:352 msgid "Template part" msgstr "" -#: templates/js/company.js:149 templates/js/part.js:318 +#: templates/js/company.js:151 templates/js/part.js:129 +#: templates/js/part.js:356 msgid "Assembled part" msgstr "" -#: templates/js/company.js:206 +#: templates/js/company.js:208 msgid "Link" msgstr "" @@ -4413,59 +4428,67 @@ msgstr "" msgid "Shipment Date" msgstr "" -#: templates/js/part.js:137 +#: templates/js/part.js:117 templates/js/part.js:343 +msgid "Trackable part" +msgstr "" + +#: templates/js/part.js:121 templates/js/part.js:347 +msgid "Virtual part" +msgstr "" + +#: templates/js/part.js:166 msgid "No variants found" msgstr "" -#: templates/js/part.js:223 templates/js/part.js:411 +#: templates/js/part.js:252 templates/js/part.js:449 msgid "No parts found" msgstr "" -#: templates/js/part.js:275 templates/js/stock.js:409 templates/js/stock.js:966 +#: templates/js/part.js:304 templates/js/stock.js:409 templates/js/stock.js:966 msgid "Select" msgstr "" -#: templates/js/part.js:322 +#: templates/js/part.js:360 msgid "Starred part" msgstr "" -#: templates/js/part.js:326 +#: templates/js/part.js:364 msgid "Salable part" msgstr "" -#: templates/js/part.js:365 +#: templates/js/part.js:403 msgid "No category" msgstr "" -#: templates/js/part.js:383 templates/js/table_filters.js:220 +#: templates/js/part.js:421 templates/js/table_filters.js:251 msgid "Low stock" msgstr "" -#: templates/js/part.js:392 +#: templates/js/part.js:430 msgid "Building" msgstr "" -#: templates/js/part.js:471 +#: templates/js/part.js:509 msgid "YES" msgstr "" -#: templates/js/part.js:473 +#: templates/js/part.js:511 msgid "NO" msgstr "" -#: templates/js/part.js:507 +#: templates/js/part.js:545 msgid "No test templates matching query" msgstr "" -#: templates/js/part.js:558 templates/js/stock.js:63 +#: templates/js/part.js:596 templates/js/stock.js:63 msgid "Edit test result" msgstr "" -#: templates/js/part.js:559 templates/js/stock.js:64 +#: templates/js/part.js:597 templates/js/stock.js:64 msgid "Delete test result" msgstr "" -#: templates/js/part.js:565 +#: templates/js/part.js:603 msgid "This test is defined for a parent part" msgstr "" @@ -4529,7 +4552,7 @@ msgstr "" msgid "Stock item is lost" msgstr "" -#: templates/js/stock.js:498 templates/js/table_filters.js:84 +#: templates/js/stock.js:498 templates/js/table_filters.js:106 msgid "Depleted" msgstr "" @@ -4553,7 +4576,7 @@ msgstr "" msgid "Serial" msgstr "" -#: templates/js/stock.js:997 templates/js/table_filters.js:94 +#: templates/js/stock.js:997 templates/js/table_filters.js:116 msgid "Installed" msgstr "" @@ -4561,132 +4584,132 @@ msgstr "" msgid "Install item" msgstr "" -#: templates/js/table_filters.js:19 +#: templates/js/table_filters.js:41 msgid "Trackable Part" msgstr "" -#: templates/js/table_filters.js:23 +#: templates/js/table_filters.js:45 msgid "Validated" msgstr "" -#: templates/js/table_filters.js:43 templates/js/table_filters.js:104 +#: templates/js/table_filters.js:65 templates/js/table_filters.js:126 msgid "Is Serialized" msgstr "" -#: templates/js/table_filters.js:46 templates/js/table_filters.js:111 +#: templates/js/table_filters.js:68 templates/js/table_filters.js:133 msgid "Serial number GTE" msgstr "" -#: templates/js/table_filters.js:47 templates/js/table_filters.js:112 +#: templates/js/table_filters.js:69 templates/js/table_filters.js:134 msgid "Serial number greater than or equal to" msgstr "" -#: templates/js/table_filters.js:50 templates/js/table_filters.js:115 +#: templates/js/table_filters.js:72 templates/js/table_filters.js:137 msgid "Serial number LTE" msgstr "" -#: templates/js/table_filters.js:51 templates/js/table_filters.js:116 +#: templates/js/table_filters.js:73 templates/js/table_filters.js:138 msgid "Serial number less than or equal to" msgstr "" -#: templates/js/table_filters.js:54 templates/js/table_filters.js:55 -#: templates/js/table_filters.js:107 templates/js/table_filters.js:108 +#: templates/js/table_filters.js:76 templates/js/table_filters.js:77 +#: templates/js/table_filters.js:129 templates/js/table_filters.js:130 msgid "Serial number" msgstr "" -#: templates/js/table_filters.js:59 templates/js/table_filters.js:125 +#: templates/js/table_filters.js:81 templates/js/table_filters.js:147 msgid "Batch code" msgstr "" -#: templates/js/table_filters.js:69 +#: templates/js/table_filters.js:91 templates/js/table_filters.js:218 msgid "Active parts" msgstr "" -#: templates/js/table_filters.js:70 +#: templates/js/table_filters.js:92 msgid "Show stock for active parts" msgstr "" -#: templates/js/table_filters.js:74 +#: templates/js/table_filters.js:96 msgid "Is allocated" msgstr "" -#: templates/js/table_filters.js:75 +#: templates/js/table_filters.js:97 msgid "Item has been alloacted" msgstr "" -#: templates/js/table_filters.js:79 +#: templates/js/table_filters.js:101 msgid "Include sublocations" msgstr "" -#: templates/js/table_filters.js:80 +#: templates/js/table_filters.js:102 msgid "Include stock in sublocations" msgstr "" -#: templates/js/table_filters.js:85 +#: templates/js/table_filters.js:107 msgid "Show stock items which are depleted" msgstr "" -#: templates/js/table_filters.js:90 +#: templates/js/table_filters.js:112 msgid "Show items which are in stock" msgstr "" -#: templates/js/table_filters.js:95 +#: templates/js/table_filters.js:117 msgid "Show stock items which are installed in another item" msgstr "" -#: templates/js/table_filters.js:99 +#: templates/js/table_filters.js:121 msgid "Sent to customer" msgstr "" -#: templates/js/table_filters.js:100 +#: templates/js/table_filters.js:122 msgid "Show items which have been assigned to a customer" msgstr "" -#: templates/js/table_filters.js:120 templates/js/table_filters.js:121 +#: templates/js/table_filters.js:142 templates/js/table_filters.js:143 msgid "Stock status" msgstr "" -#: templates/js/table_filters.js:154 +#: templates/js/table_filters.js:176 msgid "Build status" msgstr "" -#: templates/js/table_filters.js:169 templates/js/table_filters.js:182 +#: templates/js/table_filters.js:191 templates/js/table_filters.js:204 msgid "Order status" msgstr "" -#: templates/js/table_filters.js:174 templates/js/table_filters.js:187 +#: templates/js/table_filters.js:196 templates/js/table_filters.js:209 msgid "Outstanding" msgstr "" -#: templates/js/table_filters.js:197 +#: templates/js/table_filters.js:228 msgid "Include subcategories" msgstr "" -#: templates/js/table_filters.js:198 +#: templates/js/table_filters.js:229 msgid "Include parts in subcategories" msgstr "" -#: templates/js/table_filters.js:202 +#: templates/js/table_filters.js:233 msgid "Has IPN" msgstr "" -#: templates/js/table_filters.js:203 +#: templates/js/table_filters.js:234 msgid "Part has internal part number" msgstr "" -#: templates/js/table_filters.js:208 +#: templates/js/table_filters.js:239 msgid "Show active parts" msgstr "" -#: templates/js/table_filters.js:216 +#: templates/js/table_filters.js:247 msgid "Stock available" msgstr "" -#: templates/js/table_filters.js:232 +#: templates/js/table_filters.js:263 msgid "Starred" msgstr "" -#: templates/js/table_filters.js:244 +#: templates/js/table_filters.js:275 msgid "Purchasable" msgstr "" diff --git a/InvenTree/part/api.py b/InvenTree/part/api.py index 60c391c1e1..975a8af31d 100644 --- a/InvenTree/part/api.py +++ b/InvenTree/part/api.py @@ -461,8 +461,8 @@ class PartList(generics.ListCreateAPIView): else: queryset = queryset.exclude(pk__in=starred_parts) - # Cascade? - cascade = str2bool(params.get('cascade', None)) + # Cascade? (Default = True) + cascade = str2bool(params.get('cascade', True)) # Does the user wish to filter by category? cat_id = params.get('category', None) diff --git a/InvenTree/part/templates/part/variants.html b/InvenTree/part/templates/part/variants.html index e31d6deee2..56aacdd1dc 100644 --- a/InvenTree/part/templates/part/variants.html +++ b/InvenTree/part/templates/part/variants.html @@ -16,10 +16,17 @@


-
- {% if part.is_template and part.active %} - - {% endif %} +
+
+ {% if part.is_template and part.active %} + + {% endif %} +
+
+ +
diff --git a/InvenTree/part/views.py b/InvenTree/part/views.py index 12e22f6b5c..bf6a4688ff 100644 --- a/InvenTree/part/views.py +++ b/InvenTree/part/views.py @@ -2098,7 +2098,7 @@ class BomItemCreate(AjaxCreateView): model = BomItem form_class = part_forms.EditBomItemForm ajax_template_name = 'modal_form.html' - ajax_form_title = _('Create BOM item') + ajax_form_title = _('Create BOM Item') role_required = 'part.add' diff --git a/InvenTree/templates/js/company.js b/InvenTree/templates/js/company.js index e000b9e491..164329aee4 100644 --- a/InvenTree/templates/js/company.js +++ b/InvenTree/templates/js/company.js @@ -110,7 +110,7 @@ function loadSupplierPartTable(table, url, options) { // Query parameters var params = options.params || {}; - // Load 'user' filters + // Load filters var filters = loadTableFilters("supplier-part"); for (var key in params) { diff --git a/InvenTree/templates/js/part.js b/InvenTree/templates/js/part.js index e5fafef070..37744d0456 100644 --- a/InvenTree/templates/js/part.js +++ b/InvenTree/templates/js/part.js @@ -61,13 +61,22 @@ function toggleStar(options) { } -function loadPartVariantTable(table, partId, options) { +function loadPartVariantTable(table, partId, options={}) { /* Load part variant table */ - var params = { - ancestor: partId, - }; + var params = options.params || {}; + + params.ancestor = partId; + + // Load filters + var filters = loadTableFilters("variants"); + + for (var key in params) { + filters[key] = params[key]; + } + + setupFilterList("variants", $(table)); var cols = [ { @@ -104,16 +113,36 @@ function loadPartVariantTable(table, partId, options) { html += imageHoverIcon(row.thumbnail); html += renderLink(name, `/part/${row.pk}/`); + if (row.trackable) { + html += makeIconBadge('fa-directions', '{% trans "Trackable part" %}'); + } + + if (row.virtual) { + html += makeIconBadge('fa-ghost', '{% trans "Virtual part" %}'); + } + + if (row.is_template) { + html += makeIconBadge('fa-clone', '{% trans "Template part" %}'); + } + + if (row.assembly) { + html += makeIconBadge('fa-tools', '{% trans "Assembled part" %}'); + } + + if (!row.active) { + html += `{% trans "Inactive" %}`; + } + return html; }, }, { field: 'IPN', - title: '{% trans 'IPN' %}', + title: '{% trans "IPN" %}', }, { field: 'revision', - title: '{% trans 'Revision' %}', + title: '{% trans "Revision" %}', }, { field: 'description', @@ -133,7 +162,7 @@ function loadPartVariantTable(table, partId, options) { name: 'partvariants', showColumns: true, original: params, - queryParams: params, + queryParams: filters, formatNoMatches: function() { return "{% trans "No variants found" %}"; }, columns: cols, treeEnable: true, @@ -310,20 +339,29 @@ function loadPartTable(table, url, options={}) { var display = imageHoverIcon(row.thumbnail) + renderLink(name, '/part/' + row.pk + '/'); + if (row.trackable) { + display += makeIconBadge('fa-directions', '{% trans "Trackable part" %}'); + } + + if (row.virtual) { + display += makeIconBadge('fa-ghost', '{% trans "Virtual part" %}'); + } + + if (row.is_template) { - display += ``; + display += makeIconBadge('fa-clone', '{% trans "Template part" %}'); } if (row.assembly) { - display += ``; + display += makeIconBadge('fa-tools', '{% trans "Assembled part" %}'); } if (row.starred) { - display += ``; + display += makeIconBadge('fa-star', '{% trans "Starred part" %}'); } if (row.salable) { - display += ``; + display += makeIconBadge('fa-dollar-sign', title='{% trans "Salable part" %}'); } /* diff --git a/InvenTree/templates/js/table_filters.js b/InvenTree/templates/js/table_filters.js index 2c83006f76..639e31a542 100644 --- a/InvenTree/templates/js/table_filters.js +++ b/InvenTree/templates/js/table_filters.js @@ -11,6 +11,28 @@ function getAvailableTableFilters(tableKey) { tableKey = tableKey.toLowerCase(); + // Filters for "variant" table + if (tableKey == "variants") { + return { + active: { + type: 'bool', + title: '{% trans "Active" %}', + }, + template: { + type: 'bool', + title: '{% trans "Template" %}', + }, + virtual: { + type: 'bool', + title: '{% trans "Virtual" %}', + }, + trackable: { + type: 'bool', + title: '{% trans "Trackable" %}', + }, + }; + } + // Filters for Bill of Materials table if (tableKey == "bom") { return {