diff --git a/InvenTree/locale/de/LC_MESSAGES/django.po b/InvenTree/locale/de/LC_MESSAGES/django.po index e1e9574e65..6d43eccbe6 100644 --- a/InvenTree/locale/de/LC_MESSAGES/django.po +++ b/InvenTree/locale/de/LC_MESSAGES/django.po @@ -2,8 +2,8 @@ msgid "" msgstr "" "Project-Id-Version: inventree\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2021-07-01 22:35+0000\n" -"PO-Revision-Date: 2021-07-01 22:38\n" +"POT-Creation-Date: 2021-07-03 12:15+0000\n" +"PO-Revision-Date: 2021-07-03 12:44\n" "Last-Translator: \n" "Language-Team: German\n" "Language: de_DE\n" @@ -29,14 +29,14 @@ msgstr "Keine Aktion angegeben" msgid "No matching action found" msgstr "Keine passende Aktion gefunden" -#: InvenTree/fields.py:84 +#: InvenTree/fields.py:99 msgid "Enter date" msgstr "Datum eingeben" #: InvenTree/forms.py:112 build/forms.py:102 build/forms.py:123 #: build/forms.py:145 build/forms.py:169 build/forms.py:185 build/forms.py:227 -#: order/forms.py:31 order/forms.py:42 order/forms.py:53 order/forms.py:64 -#: order/forms.py:75 part/forms.py:134 +#: order/forms.py:30 order/forms.py:41 order/forms.py:52 order/forms.py:63 +#: order/forms.py:74 part/forms.py:118 templates/js/forms.js:486 msgid "Confirm" msgstr "Bestätigen" @@ -77,8 +77,8 @@ msgstr "Kategorie auswählen" msgid "Duplicate serial: {n}" msgstr "Doppelte Seriennummer: {n}" -#: InvenTree/helpers.py:403 order/models.py:244 order/models.py:354 -#: stock/views.py:1795 +#: InvenTree/helpers.py:403 order/models.py:311 order/models.py:421 +#: stock/views.py:1627 msgid "Invalid quantity provided" msgstr "Keine gültige Menge" @@ -106,49 +106,53 @@ msgstr "Keine Seriennummern gefunden" msgid "Number of unique serial number ({s}) must match quantity ({q})" msgstr "Anzahl der eindeutigen Seriennummern ({s}) muss mit der Anzahl ({q}) übereinstimmen" -#: InvenTree/models.py:59 stock/models.py:1758 +#: InvenTree/models.py:61 stock/models.py:1778 msgid "Attachment" msgstr "Anhang" -#: InvenTree/models.py:60 +#: InvenTree/models.py:62 msgid "Select file to attach" msgstr "Datei zum Anhängen auswählen" -#: InvenTree/models.py:62 templates/attachment_table.html:16 +#: InvenTree/models.py:64 templates/js/attachment.js:52 msgid "Comment" msgstr "Kommentar" -#: InvenTree/models.py:62 +#: InvenTree/models.py:64 msgid "File comment" msgstr "Datei-Kommentar" -#: InvenTree/models.py:68 InvenTree/models.py:69 part/models.py:2022 +#: InvenTree/models.py:70 InvenTree/models.py:71 part/models.py:2043 #: report/templates/report/inventree_test_report_base.html:91 -#: templates/js/stock.js:1179 +#: templates/js/stock.js:1193 msgid "User" msgstr "Benutzer" -#: InvenTree/models.py:72 +#: InvenTree/models.py:74 msgid "upload date" msgstr "Hochladedatum" -#: InvenTree/models.py:107 InvenTree/models.py:108 company/models.py:396 -#: label/models.py:102 part/models.py:671 part/models.py:2163 +#: InvenTree/models.py:102 +msgid "Invalid choice" +msgstr "" + +#: InvenTree/models.py:118 InvenTree/models.py:119 company/models.py:414 +#: label/models.py:103 part/models.py:680 part/models.py:2192 #: part/templates/part/params.html:27 report/models.py:180 #: templates/InvenTree/search.html:137 templates/InvenTree/search.html:289 -#: templates/js/company.js:235 templates/js/part.js:118 -#: templates/js/part.js:642 templates/js/stock.js:972 +#: templates/js/company.js:359 templates/js/part.js:118 +#: templates/js/part.js:642 templates/js/stock.js:986 msgid "Name" msgstr "Name" -#: InvenTree/models.py:114 build/models.py:135 -#: build/templates/build/detail.html:21 company/models.py:339 -#: company/models.py:532 company/templates/company/detail.html:27 +#: InvenTree/models.py:125 build/models.py:139 +#: build/templates/build/detail.html:21 company/models.py:353 +#: company/models.py:554 company/templates/company/detail.html:27 #: company/templates/company/manufacturer_part_base.html:72 #: company/templates/company/supplier_part_base.html:71 -#: company/templates/company/supplier_part_detail.html:31 label/models.py:109 -#: order/models.py:100 order/templates/order/purchase_order_detail.html:147 -#: part/models.py:695 part/templates/part/detail.html:54 +#: company/templates/company/supplier_part_detail.html:31 label/models.py:110 +#: order/models.py:154 order/templates/order/purchase_order_detail.html:174 +#: part/models.py:704 part/templates/part/detail.html:54 #: part/templates/part/set_category.html:14 report/models.py:193 #: report/models.py:530 report/models.py:569 #: report/templates/report/inventree_build_order_base.html:118 @@ -156,39 +160,43 @@ msgstr "Name" #: templates/InvenTree/search.html:296 #: templates/InvenTree/settings/header.html:9 templates/js/bom.js:190 #: templates/js/build.js:834 templates/js/build.js:1102 -#: templates/js/company.js:56 templates/js/order.js:183 -#: templates/js/order.js:280 templates/js/part.js:177 templates/js/part.js:260 +#: templates/js/company.js:125 templates/js/order.js:245 +#: templates/js/order.js:347 templates/js/part.js:177 templates/js/part.js:260 #: templates/js/part.js:437 templates/js/part.js:654 templates/js/part.js:722 -#: templates/js/stock.js:557 templates/js/stock.js:984 -#: templates/js/stock.js:1029 +#: templates/js/stock.js:557 templates/js/stock.js:998 +#: templates/js/stock.js:1043 msgid "Description" msgstr "Beschreibung" -#: InvenTree/models.py:115 +#: InvenTree/models.py:126 msgid "Description (optional)" msgstr "Beschreibung (optional)" -#: InvenTree/models.py:123 +#: InvenTree/models.py:134 msgid "parent" msgstr "Eltern" -#: InvenTree/settings.py:504 +#: InvenTree/serializers.py:52 +msgid "Must be a valid number" +msgstr "" + +#: InvenTree/settings.py:505 msgid "English" msgstr "Englisch" -#: InvenTree/settings.py:505 +#: InvenTree/settings.py:506 msgid "French" msgstr "Französisch" -#: InvenTree/settings.py:506 +#: InvenTree/settings.py:507 msgid "German" msgstr "Deutsch" -#: InvenTree/settings.py:507 +#: InvenTree/settings.py:508 msgid "Polish" msgstr "Polnisch" -#: InvenTree/settings.py:508 +#: InvenTree/settings.py:509 msgid "Turkish" msgstr "Türkisch" @@ -446,50 +454,48 @@ msgid "Order target date" msgstr "geplantes Bestelldatum" #: build/forms.py:42 build/templates/build/build_base.html:146 -#: build/templates/build/detail.html:121 order/forms.py:118 order/forms.py:153 +#: build/templates/build/detail.html:121 #: order/templates/order/order_base.html:124 #: order/templates/order/sales_order_base.html:119 #: report/templates/report/inventree_build_order_base.html:126 -#: templates/js/build.js:881 templates/js/order.js:200 -#: templates/js/order.js:298 +#: templates/js/build.js:881 templates/js/order.js:262 +#: templates/js/order.js:365 msgid "Target Date" msgstr "Zieldatum" -#: build/forms.py:43 build/models.py:225 +#: build/forms.py:43 build/models.py:229 msgid "Target date for build completion. Build will be overdue after this date." msgstr "Zieldatum für Bauauftrag-Fertigstellung." -#: build/forms.py:48 build/forms.py:90 build/forms.py:266 build/models.py:1346 +#: build/forms.py:48 build/forms.py:90 build/forms.py:266 build/models.py:1354 #: build/templates/build/allocation_card.html:23 #: build/templates/build/auto_allocate.html:17 #: build/templates/build/build_base.html:133 #: build/templates/build/detail.html:31 common/models.py:741 -#: company/forms.py:189 company/templates/company/supplier_part_pricing.html:77 -#: order/forms.py:197 order/forms.py:215 order/forms.py:250 order/forms.py:272 -#: order/forms.py:289 order/models.py:613 order/models.py:835 -#: order/templates/order/order_wizard/match_parts.html:30 +#: company/forms.py:124 company/templates/company/supplier_part_pricing.html:79 +#: order/forms.py:120 order/forms.py:142 order/forms.py:159 order/models.py:702 +#: order/models.py:941 order/templates/order/order_wizard/match_parts.html:30 #: order/templates/order/order_wizard/select_parts.html:34 -#: order/templates/order/purchase_order_detail.html:179 -#: order/templates/order/sales_order_detail.html:70 -#: order/templates/order/sales_order_detail.html:77 -#: order/templates/order/sales_order_detail.html:162 -#: order/templates/order/sales_order_detail.html:234 part/forms.py:342 -#: part/forms.py:372 part/forms.py:388 part/forms.py:404 part/models.py:2293 -#: part/templates/part/internal_prices.html:98 -#: part/templates/part/order_prices.html:203 -#: part/templates/part/part_pricing.html:16 -#: part/templates/part/sale_prices.html:85 +#: order/templates/order/purchase_order_detail.html:206 +#: order/templates/order/sales_order_detail.html:80 +#: order/templates/order/sales_order_detail.html:87 +#: order/templates/order/sales_order_detail.html:172 +#: order/templates/order/sales_order_detail.html:244 part/forms.py:314 +#: part/forms.py:344 part/forms.py:360 part/forms.py:376 part/models.py:2330 +#: part/templates/part/part_pricing.html:16 part/templates/part/prices.html:377 +#: part/templates/part/prices.html:474 #: report/templates/report/inventree_build_order_base.html:114 #: report/templates/report/inventree_po_report.html:91 #: report/templates/report/inventree_so_report.html:91 #: report/templates/report/inventree_test_report_base.html:77 -#: stock/forms.py:175 stock/forms.py:308 +#: stock/forms.py:142 stock/forms.py:275 #: stock/templates/stock/item_base.html:255 #: stock/templates/stock/stock_adjust.html:18 templates/js/barcode.js:364 #: templates/js/bom.js:205 templates/js/build.js:233 templates/js/build.js:572 -#: templates/js/build.js:1112 templates/js/order.js:393 -#: templates/js/part.js:796 templates/js/stock.js:1164 -#: templates/js/stock.js:1383 +#: templates/js/build.js:1112 templates/js/model_renderers.js:43 +#: templates/js/order.js:460 templates/js/part.js:827 templates/js/part.js:949 +#: templates/js/part.js:1005 templates/js/stock.js:1178 +#: templates/js/stock.js:1397 msgid "Quantity" msgstr "Anzahl" @@ -501,7 +507,7 @@ msgstr "Anzahl der zu bauenden Teile" msgid "Enter quantity for build output" msgstr "Menge der Endprodukte angeben" -#: build/forms.py:95 order/forms.py:244 stock/forms.py:118 +#: build/forms.py:95 order/forms.py:114 stock/forms.py:85 msgid "Serial Numbers" msgstr "Seriennummer" @@ -530,12 +536,12 @@ msgid "Mark build as complete" msgstr "Bauauftrag als vollständig markieren" #: build/forms.py:210 build/templates/build/auto_allocate.html:18 -#: stock/forms.py:347 stock/templates/stock/item_base.html:285 +#: stock/forms.py:314 stock/templates/stock/item_base.html:285 #: stock/templates/stock/stock_adjust.html:17 #: templates/InvenTree/search.html:260 templates/js/barcode.js:363 #: templates/js/barcode.js:531 templates/js/build.js:218 -#: templates/js/build.js:586 templates/js/order.js:378 -#: templates/js/stock.js:643 templates/js/stock.js:1056 +#: templates/js/build.js:586 templates/js/order.js:445 +#: templates/js/stock.js:643 templates/js/stock.js:1070 msgid "Location" msgstr "Lagerort" @@ -544,13 +550,13 @@ msgid "Location of completed parts" msgstr "Lagerort der Endprodukte" #: build/forms.py:215 build/templates/build/build_base.html:138 -#: build/templates/build/detail.html:59 order/models.py:465 +#: build/templates/build/detail.html:59 order/models.py:545 #: order/templates/order/receive_parts.html:24 #: stock/templates/stock/item_base.html:408 templates/InvenTree/search.html:252 #: templates/js/barcode.js:119 templates/js/build.js:868 -#: templates/js/order.js:187 templates/js/order.js:285 -#: templates/js/stock.js:630 templates/js/stock.js:1133 -#: templates/js/stock.js:1399 +#: templates/js/order.js:249 templates/js/order.js:352 +#: templates/js/stock.js:630 templates/js/stock.js:1147 +#: templates/js/stock.js:1413 msgid "Status" msgstr "Status" @@ -582,60 +588,60 @@ msgstr "Bauabbruch bestätigen" msgid "Select quantity of stock to allocate" msgstr "Menge der BestandsObjekte für Zuordnung auswählen" -#: build/models.py:66 build/templates/build/build_base.html:9 +#: build/models.py:70 build/templates/build/build_base.html:9 #: build/templates/build/build_base.html:73 #: report/templates/report/inventree_build_order_base.html:106 #: templates/js/build.js:195 msgid "Build Order" msgstr "Bauauftrag" -#: build/models.py:67 build/templates/build/index.html:8 +#: build/models.py:71 build/templates/build/index.html:8 #: build/templates/build/index.html:15 order/templates/order/so_builds.html:12 #: order/templates/order/so_navbar.html:19 #: order/templates/order/so_navbar.html:22 part/templates/part/navbar.html:58 -#: part/templates/part/navbar.html:61 templates/InvenTree/index.html:183 +#: part/templates/part/navbar.html:61 templates/InvenTree/index.html:191 #: templates/InvenTree/search.html:185 -#: templates/InvenTree/settings/tabs.html:34 users/models.py:43 +#: templates/InvenTree/settings/tabs.html:34 users/models.py:44 msgid "Build Orders" msgstr "Bauaufträge" -#: build/models.py:127 +#: build/models.py:131 msgid "Build Order Reference" msgstr "Bauauftragsreferenz" -#: build/models.py:128 order/models.py:98 order/models.py:615 -#: order/templates/order/purchase_order_detail.html:174 -#: order/templates/order/sales_order_detail.html:229 part/models.py:2302 +#: build/models.py:132 order/models.py:242 order/models.py:529 +#: order/models.py:709 order/templates/order/purchase_order_detail.html:201 +#: order/templates/order/sales_order_detail.html:239 part/models.py:2339 #: report/templates/report/inventree_po_report.html:92 #: report/templates/report/inventree_so_report.html:92 templates/js/bom.js:197 #: templates/js/build.js:661 templates/js/build.js:1106 msgid "Reference" msgstr "Referenz" -#: build/models.py:138 +#: build/models.py:142 msgid "Brief description of the build" msgstr "Kurze Beschreibung des Baus" -#: build/models.py:147 build/templates/build/build_base.html:163 +#: build/models.py:151 build/templates/build/build_base.html:163 #: build/templates/build/detail.html:77 msgid "Parent Build" msgstr "Eltern-Bauauftrag" -#: build/models.py:148 +#: build/models.py:152 msgid "BuildOrder to which this build is allocated" msgstr "Bauauftrag, zu dem dieser Bauauftrag zugwiesen ist" -#: build/models.py:153 build/templates/build/auto_allocate.html:16 +#: build/models.py:157 build/templates/build/auto_allocate.html:16 #: build/templates/build/build_base.html:128 -#: build/templates/build/detail.html:26 company/models.py:663 -#: order/models.py:657 order/models.py:712 +#: build/templates/build/detail.html:26 company/models.py:689 +#: order/models.py:755 order/models.py:814 #: order/templates/order/order_wizard/select_parts.html:32 -#: order/templates/order/purchase_order_detail.html:132 +#: order/templates/order/purchase_order_detail.html:159 #: order/templates/order/receive_parts.html:19 -#: order/templates/order/sales_order_detail.html:214 part/models.py:321 -#: part/models.py:1975 part/models.py:1987 part/models.py:2002 -#: part/models.py:2020 part/models.py:2095 part/models.py:2191 -#: part/models.py:2277 part/templates/part/part_app_base.html:8 +#: order/templates/order/sales_order_detail.html:224 part/models.py:325 +#: part/models.py:1988 part/models.py:2004 part/models.py:2023 +#: part/models.py:2041 part/models.py:2120 part/models.py:2224 +#: part/models.py:2314 part/templates/part/part_app_base.html:8 #: part/templates/part/part_pricing.html:12 part/templates/part/related.html:29 #: part/templates/part/set_category.html:13 #: report/templates/report/inventree_build_order_base.html:110 @@ -644,222 +650,222 @@ msgstr "Bauauftrag, zu dem dieser Bauauftrag zugwiesen ist" #: templates/InvenTree/search.html:112 templates/InvenTree/search.html:210 #: templates/js/barcode.js:362 templates/js/bom.js:163 #: templates/js/build.js:552 templates/js/build.js:839 -#: templates/js/build.js:1079 templates/js/company.js:140 -#: templates/js/company.js:339 templates/js/part.js:241 +#: templates/js/build.js:1079 templates/js/company.js:264 +#: templates/js/company.js:464 templates/js/part.js:241 #: templates/js/part.js:404 templates/js/stock.js:526 -#: templates/js/stock.js:1371 +#: templates/js/stock.js:1385 msgid "Part" msgstr "Teil" -#: build/models.py:161 +#: build/models.py:165 msgid "Select part to build" msgstr "Teil für den Bauauftrag wählen" -#: build/models.py:166 +#: build/models.py:170 msgid "Sales Order Reference" msgstr "Auftrag Referenz" -#: build/models.py:170 +#: build/models.py:174 msgid "SalesOrder to which this build is allocated" msgstr "Bestellung, die diesem Bauauftrag zugewiesen ist" -#: build/models.py:175 +#: build/models.py:179 msgid "Source Location" msgstr "Quell-Lagerort" -#: build/models.py:179 +#: build/models.py:183 msgid "Select location to take stock from for this build (leave blank to take from any stock location)" msgstr "Entnahme-Lagerort für diesen Bauauftrag wählen (oder leer lassen für einen beliebigen Lagerort)" -#: build/models.py:184 +#: build/models.py:188 msgid "Destination Location" msgstr "Ziel-Lagerort" -#: build/models.py:188 +#: build/models.py:192 msgid "Select location where the completed items will be stored" msgstr "Lagerort an dem fertige Objekte gelagert werden auswählen" -#: build/models.py:192 +#: build/models.py:196 msgid "Build Quantity" msgstr "Bau-Anzahl" -#: build/models.py:195 +#: build/models.py:199 msgid "Number of stock items to build" msgstr "Anzahl der zu bauenden BestandsObjekt" -#: build/models.py:199 +#: build/models.py:203 msgid "Completed items" msgstr "Fertiggestellte Teile" -#: build/models.py:201 +#: build/models.py:205 msgid "Number of stock items which have been completed" msgstr "Anzahl der fertigen BestandsObjekte" -#: build/models.py:205 part/templates/part/part_base.html:167 +#: build/models.py:209 part/templates/part/part_base.html:167 msgid "Build Status" msgstr "Bauauftrags-Status" -#: build/models.py:209 +#: build/models.py:213 msgid "Build status code" msgstr "Bau-Statuscode" -#: build/models.py:213 stock/models.py:462 +#: build/models.py:217 stock/models.py:470 msgid "Batch Code" msgstr "Losnummer" -#: build/models.py:217 +#: build/models.py:221 msgid "Batch code for this build output" msgstr "Losnummer für dieses Endprodukt" -#: build/models.py:220 order/models.py:104 part/models.py:867 -#: part/templates/part/detail.html:126 templates/js/order.js:293 +#: build/models.py:224 order/models.py:158 part/models.py:876 +#: part/templates/part/detail.html:126 templates/js/order.js:360 msgid "Creation Date" msgstr "Erstelldatum" -#: build/models.py:224 order/models.py:471 +#: build/models.py:228 order/models.py:551 msgid "Target completion date" msgstr "geplantes Fertigstellungsdatum" -#: build/models.py:228 order/models.py:217 templates/js/build.js:886 +#: build/models.py:232 order/models.py:284 templates/js/build.js:886 msgid "Completion Date" msgstr "Fertigstellungsdatum" -#: build/models.py:234 +#: build/models.py:238 msgid "completed by" msgstr "Fertiggestellt von" -#: build/models.py:242 +#: build/models.py:246 msgid "Issued by" msgstr "Aufgegeben von" -#: build/models.py:243 +#: build/models.py:247 msgid "User who issued this build order" msgstr "Nutzer der diesen Bauauftrag erstellt hat" -#: build/models.py:251 build/templates/build/build_base.html:184 -#: build/templates/build/detail.html:105 order/models.py:118 +#: build/models.py:255 build/templates/build/build_base.html:184 +#: build/templates/build/detail.html:105 order/models.py:172 #: order/templates/order/order_base.html:138 -#: order/templates/order/sales_order_base.html:140 part/models.py:871 +#: order/templates/order/sales_order_base.html:140 part/models.py:880 #: report/templates/report/inventree_build_order_base.html:159 msgid "Responsible" msgstr "Verantwortlicher Benutzer" -#: build/models.py:252 +#: build/models.py:256 msgid "User responsible for this build order" msgstr "Nutzer der für diesen Bauauftrag zuständig ist" -#: build/models.py:257 build/templates/build/detail.html:91 +#: build/models.py:261 build/templates/build/detail.html:91 #: company/templates/company/manufacturer_part_base.html:79 #: company/templates/company/manufacturer_part_detail.html:28 #: company/templates/company/supplier_part_base.html:78 #: company/templates/company/supplier_part_detail.html:28 #: part/templates/part/detail.html:83 part/templates/part/part_base.html:94 -#: stock/models.py:456 stock/templates/stock/item_base.html:345 +#: stock/models.py:464 stock/templates/stock/item_base.html:345 msgid "External Link" msgstr "Externer Link" -#: build/models.py:258 part/models.py:729 stock/models.py:458 +#: build/models.py:262 part/models.py:738 stock/models.py:466 msgid "Link to external URL" msgstr "Link zu einer externen URL" -#: build/models.py:262 build/templates/build/navbar.html:53 -#: company/models.py:132 company/models.py:539 +#: build/models.py:266 build/templates/build/navbar.html:53 +#: company/models.py:141 company/models.py:561 #: company/templates/company/navbar.html:70 -#: company/templates/company/navbar.html:73 order/models.py:122 -#: order/models.py:617 order/templates/order/po_navbar.html:38 +#: company/templates/company/navbar.html:73 order/models.py:176 +#: order/models.py:711 order/templates/order/po_navbar.html:38 #: order/templates/order/po_navbar.html:41 -#: order/templates/order/purchase_order_detail.html:243 -#: order/templates/order/sales_order_detail.html:309 +#: order/templates/order/purchase_order_detail.html:270 +#: order/templates/order/sales_order_detail.html:319 #: order/templates/order/so_navbar.html:33 -#: order/templates/order/so_navbar.html:36 part/models.py:856 -#: part/templates/part/navbar.html:145 +#: order/templates/order/so_navbar.html:36 part/models.py:865 +#: part/templates/part/navbar.html:133 #: report/templates/report/inventree_build_order_base.html:173 -#: stock/forms.py:173 stock/forms.py:317 stock/forms.py:349 stock/forms.py:377 -#: stock/models.py:528 stock/models.py:1662 stock/models.py:1764 +#: stock/forms.py:140 stock/forms.py:284 stock/forms.py:316 stock/forms.py:344 +#: stock/models.py:536 stock/models.py:1678 stock/models.py:1784 #: stock/templates/stock/navbar.html:57 templates/js/barcode.js:37 -#: templates/js/bom.js:349 templates/js/stock.js:141 templates/js/stock.js:699 +#: templates/js/bom.js:349 templates/js/stock.js:141 templates/js/stock.js:713 msgid "Notes" msgstr "Notizen" -#: build/models.py:263 +#: build/models.py:267 msgid "Extra build notes" msgstr "Extranotizen für den Bauauftrag" -#: build/models.py:740 +#: build/models.py:744 msgid "No build output specified" msgstr "kein Endprodukt angegeben" -#: build/models.py:743 +#: build/models.py:747 msgid "Build output is already completed" msgstr "Endprodukt bereits hergstellt" -#: build/models.py:746 +#: build/models.py:750 msgid "Build output does not match Build Order" msgstr "Endprodukt stimmt nicht mit dem Bauauftrag überein" -#: build/models.py:1152 +#: build/models.py:1160 msgid "BuildItem must be unique for build, stock_item and install_into" msgstr "Bauauftrags-Objekt muss für Bauauftrag, Lager-Objekt und installiert_in eindeutig sein" -#: build/models.py:1177 +#: build/models.py:1185 msgid "Build item must specify a build output, as master part is marked as trackable" msgstr "Bauauftragsposition muss ein Endprodukt festlegen, da der übergeordnete Teil verfolgbar ist" -#: build/models.py:1181 +#: build/models.py:1189 #, python-brace-format msgid "Allocated quantity ({n}) must not exceed available quantity ({q})" msgstr "Reserviermenge ({n}) muss kleiner Bestandsmenge ({q}) sein. Zugewiesene Anzahl ({n}) darf nicht die verfügbare ({q}) Anzahl überschreiten" -#: build/models.py:1188 order/models.py:809 +#: build/models.py:1196 order/models.py:915 msgid "StockItem is over-allocated" msgstr "Zu viele BestandsObjekt zugewiesen" -#: build/models.py:1192 order/models.py:812 +#: build/models.py:1200 order/models.py:918 msgid "Allocation quantity must be greater than zero" msgstr "Reserviermenge muss größer null sein" -#: build/models.py:1196 +#: build/models.py:1204 msgid "Quantity must be 1 for serialized stock" msgstr "Anzahl muss 1 für Objekte mit Seriennummer sein" -#: build/models.py:1256 +#: build/models.py:1264 #, python-brace-format msgid "Selected stock item not found in BOM for part '{p}'" msgstr "Ausgewähltes BestandsObjekt nicht Stückliste für Teil '{p}' gefunden" -#: build/models.py:1316 stock/templates/stock/item_base.html:317 +#: build/models.py:1324 stock/templates/stock/item_base.html:317 #: templates/InvenTree/search.html:183 templates/js/build.js:812 #: templates/navbar.html:29 msgid "Build" msgstr "Bauauftrag" -#: build/models.py:1317 +#: build/models.py:1325 msgid "Build to allocate parts" msgstr "Bauauftrag starten um Teile zuzuweisen" -#: build/models.py:1333 stock/templates/stock/item_base.html:8 +#: build/models.py:1341 stock/templates/stock/item_base.html:8 #: stock/templates/stock/item_base.html:31 #: stock/templates/stock/item_base.html:339 #: stock/templates/stock/stock_adjust.html:16 templates/js/build.js:206 #: templates/js/build.js:211 templates/js/build.js:929 -#: templates/js/order.js:366 templates/js/order.js:371 -#: templates/js/stock.js:1115 +#: templates/js/order.js:433 templates/js/order.js:438 +#: templates/js/stock.js:1129 msgid "Stock Item" msgstr "BestandsObjekt" -#: build/models.py:1334 +#: build/models.py:1342 msgid "Source stock item" msgstr "Quell-BestandsObjekt" -#: build/models.py:1347 +#: build/models.py:1355 msgid "Stock quantity to allocate to build" msgstr "BestandsObjekt-Anzahl dem Bauauftrag zuweisen" -#: build/models.py:1355 +#: build/models.py:1363 msgid "Install into" msgstr "Installiere in" -#: build/models.py:1356 +#: build/models.py:1364 msgid "Destination stock item" msgstr "Ziel-BestandsObjekt" @@ -893,7 +899,7 @@ msgstr "Benötigte Teile bestellen" #: build/templates/build/allocate.html:30 #: company/templates/company/detail_manufacturer_part.html:33 -#: company/templates/company/detail_supplier_part.html:32 order/views.py:992 +#: company/templates/company/detail_supplier_part.html:32 order/views.py:724 #: part/templates/part/category.html:136 msgid "Order Parts" msgstr "Teile bestellen" @@ -912,23 +918,52 @@ msgstr "Dieser Bauauftrag hat keine zugeordneten Stücklisten-Einträge" #: build/templates/build/allocation_card.html:21 #: build/templates/build/complete_output.html:46 -#: order/templates/order/sales_order_detail.html:75 -#: order/templates/order/sales_order_detail.html:160 +#: order/templates/order/sales_order_detail.html:85 +#: order/templates/order/sales_order_detail.html:170 #: report/templates/report/inventree_test_report_base.html:75 -#: stock/models.py:450 stock/templates/stock/item_base.html:249 -#: templates/js/build.js:570 +#: stock/models.py:458 stock/templates/stock/item_base.html:249 +#: templates/js/build.js:570 templates/js/model_renderers.js:41 msgid "Serial Number" msgstr "Seriennummer" #: build/templates/build/attachments.html:12 #: build/templates/build/navbar.html:43 build/templates/build/navbar.html:46 #: order/templates/order/po_navbar.html:35 -#: order/templates/order/so_navbar.html:29 part/templates/part/navbar.html:136 -#: part/templates/part/navbar.html:139 stock/templates/stock/navbar.html:47 +#: order/templates/order/so_navbar.html:29 part/templates/part/navbar.html:124 +#: part/templates/part/navbar.html:127 stock/templates/stock/navbar.html:47 #: stock/templates/stock/navbar.html:50 msgid "Attachments" msgstr "Anhänge" +#: build/templates/build/attachments.html:51 +#: order/templates/order/so_attachments.html:79 +#: part/templates/part/attachments.html:81 +#: stock/templates/stock/item_attachments.html:81 +#: templates/attachment_table.html:6 +msgid "Add Attachment" +msgstr "Anhang hinzufügen" + +#: build/templates/build/attachments.html:69 +#: order/templates/order/so_attachments.html:52 +#: part/templates/part/attachments.html:35 +#: stock/templates/stock/item_attachments.html:49 +msgid "Edit Attachment" +msgstr "Anhang bearbeiten" + +#: build/templates/build/attachments.html:76 +#: order/templates/order/so_attachments.html:58 +#: part/templates/part/attachments.html:44 +#: stock/templates/stock/item_attachments.html:58 +msgid "Confirm Delete Operation" +msgstr "" + +#: build/templates/build/attachments.html:77 +#: order/templates/order/so_attachments.html:59 +#: part/templates/part/attachments.html:45 +#: stock/templates/stock/item_attachments.html:59 +msgid "Delete Attachment" +msgstr "Anhang löschen" + #: build/templates/build/auto_allocate.html:9 msgid "Automatically Allocate Stock" msgstr "Lagerbestand automatisch zuweisen" @@ -989,8 +1024,8 @@ msgstr "Admin" #: order/templates/order/order_base.html:86 #: order/templates/order/sales_order_base.html:43 #: order/templates/order/sales_order_base.html:88 -#: templates/js/table_filters.js:245 templates/js/table_filters.js:264 -#: templates/js/table_filters.js:281 +#: templates/js/table_filters.js:250 templates/js/table_filters.js:269 +#: templates/js/table_filters.js:286 msgid "Overdue" msgstr "Überfällig" @@ -1036,13 +1071,13 @@ msgid "Progress" msgstr "Fortschritt" #: build/templates/build/build_base.html:170 -#: build/templates/build/detail.html:84 order/models.py:710 +#: build/templates/build/detail.html:84 order/models.py:812 #: order/templates/order/sales_order_base.html:9 #: order/templates/order/sales_order_base.html:35 #: order/templates/order/sales_order_ship.html:25 #: report/templates/report/inventree_build_order_base.html:136 #: report/templates/report/inventree_so_report.html:77 -#: stock/templates/stock/item_base.html:279 templates/js/order.js:245 +#: stock/templates/stock/item_base.html:279 templates/js/order.js:307 msgid "Sales Order" msgstr "Auftrag" @@ -1183,10 +1218,10 @@ msgstr "Ausgangs-Lager" msgid "Stock can be taken from any available location." msgstr "Bestand kann jedem verfügbaren Lagerort entnommen werden." -#: build/templates/build/detail.html:46 order/forms.py:89 order/models.py:673 -#: order/templates/order/purchase_order_detail.html:239 -#: order/templates/order/receive_parts.html:25 stock/forms.py:169 -#: stock/forms.py:375 +#: build/templates/build/detail.html:46 order/forms.py:88 order/models.py:771 +#: order/templates/order/purchase_order_detail.html:266 +#: order/templates/order/receive_parts.html:25 stock/forms.py:136 +#: stock/forms.py:342 msgid "Destination" msgstr "Ziel-Lager" @@ -1196,7 +1231,7 @@ msgstr "Ziel-Lagerort nicht angegeben" #: build/templates/build/detail.html:70 #: stock/templates/stock/item_base.html:303 templates/js/stock.js:638 -#: templates/js/stock.js:1406 templates/js/table_filters.js:112 +#: templates/js/stock.js:1420 templates/js/table_filters.js:112 #: templates/js/table_filters.js:206 msgid "Batch" msgstr "Losnummer" @@ -1251,7 +1286,7 @@ msgstr "Bauauftrag-details" #: company/templates/company/navbar.html:15 #: order/templates/order/po_navbar.html:15 #: order/templates/order/so_navbar.html:15 part/templates/part/navbar.html:18 -#: templates/js/stock.js:1044 +#: templates/js/stock.js:1058 msgid "Details" msgstr "Details" @@ -1287,7 +1322,6 @@ msgstr "Bermerkungen bearbeiten" #: order/templates/order/order_notes.html:27 #: order/templates/order/sales_order_notes.html:29 #: part/templates/part/notes.html:27 stock/templates/stock/item_base.html:487 -#: stock/templates/stock/item_base.html:497 #: stock/templates/stock/item_notes.html:26 msgid "Save" msgstr "Speichern" @@ -1316,7 +1350,7 @@ msgstr "Endprodukt anlegen" msgid "Maximum output quantity is " msgstr "Maximale Endproduktmenge ist " -#: build/views.py:184 stock/views.py:1821 +#: build/views.py:184 stock/views.py:1653 msgid "Serial numbers already exist" msgstr "Seriennummern existieren bereits" @@ -1332,7 +1366,7 @@ msgstr "Endprodukt entfernen" msgid "Confirm unallocation of build stock" msgstr "Entfernung von Bestands-Zuordnung bestätigen" -#: build/views.py:281 build/views.py:371 stock/views.py:425 +#: build/views.py:281 build/views.py:371 stock/views.py:346 msgid "Check the confirmation box" msgstr "Bestätigungsbox bestätigen" @@ -1429,31 +1463,6 @@ msgstr "Bestandszuordnung bearbeiten" msgid "Updated Build Item" msgstr "Bauobjekt aktualisiert" -#: build/views.py:1070 -msgid "Add Build Order Attachment" -msgstr "Bauauftrags-Anhang hinzufügen" - -#: build/views.py:1083 order/views.py:117 order/views.py:169 part/views.py:178 -#: stock/views.py:277 -msgid "Added attachment" -msgstr "Anhang hinzugefügt" - -#: build/views.py:1119 order/views.py:196 order/views.py:217 -msgid "Edit Attachment" -msgstr "Anhang bearbeiten" - -#: build/views.py:1129 order/views.py:200 order/views.py:221 -msgid "Attachment updated" -msgstr "Anhang aktualisiert" - -#: build/views.py:1139 order/views.py:236 order/views.py:250 -msgid "Delete Attachment" -msgstr "Anhang löschen" - -#: build/views.py:1144 order/views.py:242 order/views.py:256 stock/views.py:333 -msgid "Deleted attachment" -msgstr "Anhang gelöscht" - #: common/files.py:66 msgid "Unsupported file format: {ext.upper()}" msgstr "Dateiformat nicht unterstützt: {ext.upper()}" @@ -1470,7 +1479,7 @@ msgstr "Fehler beim Lesen der Datei (falsche Größe)" msgid "Error reading file (data could be corrupted)" msgstr "Fehler beim Lesen der Datei (Daten könnten beschädigt sein)" -#: common/forms.py:34 templates/attachment_table.html:15 +#: common/forms.py:34 templates/js/attachment.js:42 msgid "File" msgstr "Datei" @@ -1503,7 +1512,7 @@ msgstr "Name der Instanz verwenden" msgid "Use the instance name in the title-bar" msgstr "Den Namen der Instanz in der Titelleiste verwenden" -#: common/models.py:72 company/models.py:94 company/models.py:95 +#: common/models.py:72 company/models.py:99 company/models.py:100 msgid "Company name" msgstr "Firmenname" @@ -1607,9 +1616,9 @@ msgstr "Aktuelle Teile-Stände" msgid "Number of recent parts to display on index page" msgstr "Anzahl der neusten Teile auf der Startseite" -#: common/models.py:160 part/models.py:2193 part/templates/part/detail.html:160 -#: report/models.py:186 stock/forms.py:259 templates/js/table_filters.js:25 -#: templates/js/table_filters.js:315 +#: common/models.py:160 part/models.py:2226 part/templates/part/detail.html:160 +#: report/models.py:186 stock/forms.py:226 templates/js/table_filters.js:25 +#: templates/js/table_filters.js:320 msgid "Template" msgstr "Vorlage" @@ -1617,8 +1626,8 @@ msgstr "Vorlage" msgid "Parts are templates by default" msgstr "Teile sind standardmäßig Vorlagen" -#: common/models.py:167 part/models.py:819 part/templates/part/detail.html:170 -#: templates/js/table_filters.js:128 templates/js/table_filters.js:327 +#: common/models.py:167 part/models.py:828 part/templates/part/detail.html:170 +#: templates/js/table_filters.js:128 templates/js/table_filters.js:332 msgid "Assembly" msgstr "Baugruppe" @@ -1626,8 +1635,8 @@ msgstr "Baugruppe" msgid "Parts can be assembled from other components by default" msgstr "Teile können standardmäßig aus anderen Teilen angefertigt werden" -#: common/models.py:174 part/models.py:825 part/templates/part/detail.html:180 -#: templates/js/table_filters.js:331 +#: common/models.py:174 part/models.py:834 part/templates/part/detail.html:180 +#: templates/js/table_filters.js:336 msgid "Component" msgstr "Komponente" @@ -1635,7 +1644,7 @@ msgstr "Komponente" msgid "Parts can be used as sub-components by default" msgstr "Teile können standardmäßig in Baugruppen benutzt werden" -#: common/models.py:181 part/models.py:836 part/templates/part/detail.html:200 +#: common/models.py:181 part/models.py:845 part/templates/part/detail.html:200 msgid "Purchaseable" msgstr "Kaufbar" @@ -1643,8 +1652,8 @@ msgstr "Kaufbar" msgid "Parts are purchaseable by default" msgstr "Artikel sind grundsätzlich kaufbar" -#: common/models.py:188 part/models.py:841 part/templates/part/detail.html:210 -#: templates/js/table_filters.js:339 +#: common/models.py:188 part/models.py:850 part/templates/part/detail.html:210 +#: templates/js/table_filters.js:344 msgid "Salable" msgstr "Verkäuflich" @@ -1652,8 +1661,8 @@ msgstr "Verkäuflich" msgid "Parts are salable by default" msgstr "Artikel sind grundsätzlich verkaufbar" -#: common/models.py:195 part/models.py:831 part/templates/part/detail.html:190 -#: templates/js/table_filters.js:33 templates/js/table_filters.js:343 +#: common/models.py:195 part/models.py:840 part/templates/part/detail.html:190 +#: templates/js/table_filters.js:33 templates/js/table_filters.js:348 msgid "Trackable" msgstr "Nachverfolgbar" @@ -1661,7 +1670,7 @@ msgstr "Nachverfolgbar" msgid "Parts are trackable by default" msgstr "Artikel sind grundsätzlich verfolgbar" -#: common/models.py:202 part/models.py:851 part/templates/part/detail.html:150 +#: common/models.py:202 part/models.py:860 part/templates/part/detail.html:150 #: templates/js/table_filters.js:29 msgid "Virtual" msgstr "Virtuell" @@ -1858,13 +1867,12 @@ msgstr "Nur Ganzzahl eingeben" msgid "Key string must be unique" msgstr "Schlüsseltext muss eindeutig sein" -#: common/models.py:742 company/forms.py:190 +#: common/models.py:742 company/forms.py:125 msgid "Price break quantity" msgstr "Preisstaffelungs Anzahl" -#: common/models.py:749 company/templates/company/supplier_part_pricing.html:82 -#: part/templates/part/internal_prices.html:103 -#: part/templates/part/sale_prices.html:90 +#: common/models.py:749 company/templates/company/supplier_part_pricing.html:84 +#: templates/js/part.js:832 msgid "Price" msgstr "Preis" @@ -1894,16 +1902,16 @@ msgstr "Angegebener Wert muss ein Wahrheitswert sein" #: common/views.py:184 order/templates/order/order_wizard/po_upload.html:42 #: order/templates/order/po_navbar.html:19 -#: order/templates/order/po_navbar.html:22 order/views.py:605 +#: order/templates/order/po_navbar.html:22 order/views.py:337 #: part/templates/part/bom_upload/upload_file.html:27 -#: part/templates/part/import_wizard/part_upload.html:45 part/views.py:761 +#: part/templates/part/import_wizard/part_upload.html:45 part/views.py:621 msgid "Upload File" msgstr "Datei hochgeladen" #: common/views.py:185 order/templates/order/order_wizard/match_fields.html:52 -#: order/views.py:606 part/templates/part/bom_upload/select_fields.html:58 +#: order/views.py:338 part/templates/part/bom_upload/select_fields.html:58 #: part/templates/part/import_wizard/ajax_match_fields.html:45 -#: part/templates/part/import_wizard/match_fields.html:52 part/views.py:762 +#: part/templates/part/import_wizard/match_fields.html:52 part/views.py:622 msgid "Match Fields" msgstr "Übereinstimmende Felder" @@ -1928,269 +1936,277 @@ msgstr "" msgid "Previous Step" msgstr "Vorheriger Schritt" -#: company/forms.py:37 company/models.py:142 -#: company/templates/company/detail.html:42 -msgid "Currency" -msgstr "Währung" - -#: company/forms.py:38 company/models.py:144 -msgid "Default currency used for this company" -msgstr "Standard-Währung für diese Firma" - -#: company/forms.py:76 part/forms.py:46 +#: company/forms.py:26 part/forms.py:46 msgid "URL" msgstr "URL" -#: company/forms.py:77 part/forms.py:47 +#: company/forms.py:27 part/forms.py:47 msgid "Image URL" msgstr "Bild-URL" -#: company/forms.py:132 templates/js/part.js:787 +#: company/forms.py:67 templates/js/part.js:940 msgid "Single Price" msgstr "Einzelpreis" -#: company/forms.py:133 +#: company/forms.py:68 msgid "Single quantity price" msgstr "Preis für eine Einheit" -#: company/forms.py:141 company/models.py:321 +#: company/forms.py:76 company/models.py:335 msgid "Select manufacturer" msgstr "Hersteller auswählen" -#: company/forms.py:147 company/models.py:328 +#: company/forms.py:82 company/models.py:342 msgid "Manufacturer Part Number" msgstr "Hersteller-Teilenummer" -#: company/forms.py:149 company/models.py:327 +#: company/forms.py:84 company/models.py:341 #: company/templates/company/manufacturer_part_base.html:89 #: company/templates/company/manufacturer_part_detail.html:26 #: company/templates/company/supplier_part_base.html:102 #: company/templates/company/supplier_part_detail.html:35 -#: order/templates/order/purchase_order_detail.html:162 part/bom.py:171 -#: part/bom.py:242 templates/js/company.js:181 templates/js/company.js:408 +#: order/templates/order/purchase_order_detail.html:189 part/bom.py:171 +#: part/bom.py:242 templates/js/company.js:305 templates/js/company.js:533 msgid "MPN" msgstr "MPN" -#: company/models.py:99 +#: company/models.py:104 msgid "Company description" msgstr "Firmenbeschreibung" -#: company/models.py:100 +#: company/models.py:105 msgid "Description of the company" msgstr "Firmenbeschreibung" -#: company/models.py:104 company/templates/company/company_base.html:70 -#: company/templates/company/detail.html:33 templates/js/company.js:60 +#: company/models.py:111 company/templates/company/company_base.html:70 +#: company/templates/company/detail.html:33 templates/js/company.js:129 msgid "Website" msgstr "Website" -#: company/models.py:104 +#: company/models.py:112 msgid "Company website URL" msgstr "Firmenwebsite Adresse/URL" -#: company/models.py:107 company/templates/company/company_base.html:77 +#: company/models.py:116 company/templates/company/company_base.html:77 msgid "Address" msgstr "Adresse" -#: company/models.py:108 +#: company/models.py:117 msgid "Company address" msgstr "Firmenadresse" -#: company/models.py:111 +#: company/models.py:120 msgid "Phone number" msgstr "Kontakt-Tel." -#: company/models.py:112 +#: company/models.py:121 msgid "Contact phone number" msgstr "Kontakt-Telefon" -#: company/models.py:115 company/templates/company/company_base.html:91 +#: company/models.py:124 company/templates/company/company_base.html:91 msgid "Email" msgstr "Email" -#: company/models.py:115 +#: company/models.py:124 msgid "Contact email address" msgstr "Kontakt-Email" -#: company/models.py:118 company/templates/company/company_base.html:98 +#: company/models.py:127 company/templates/company/company_base.html:98 msgid "Contact" msgstr "Kontakt" -#: company/models.py:119 +#: company/models.py:128 msgid "Point of contact" msgstr "Anlaufstelle" -#: company/models.py:121 company/models.py:333 company/models.py:526 -#: order/models.py:102 part/models.py:728 +#: company/models.py:130 company/models.py:347 company/models.py:548 +#: order/models.py:156 part/models.py:737 #: report/templates/report/inventree_build_order_base.html:165 -#: templates/js/company.js:188 templates/js/company.js:419 +#: templates/js/company.js:312 templates/js/company.js:544 #: templates/js/part.js:498 msgid "Link" msgstr "Link" -#: company/models.py:121 +#: company/models.py:130 msgid "Link to external company information" msgstr "Link auf externe Firmeninformation" -#: company/models.py:129 part/models.py:738 +#: company/models.py:138 part/models.py:747 msgid "Image" msgstr "Bild" -#: company/models.py:134 +#: company/models.py:143 msgid "is customer" msgstr "ist Kunde" -#: company/models.py:134 +#: company/models.py:143 msgid "Do you sell items to this company?" msgstr "Verkaufen Sie Teile an diese Firma?" -#: company/models.py:136 +#: company/models.py:145 msgid "is supplier" msgstr "ist Zulieferer" -#: company/models.py:136 +#: company/models.py:145 msgid "Do you purchase items from this company?" msgstr "Kaufen Sie Teile von dieser Firma?" -#: company/models.py:138 +#: company/models.py:147 msgid "is manufacturer" msgstr "ist Hersteller" -#: company/models.py:138 +#: company/models.py:147 msgid "Does this company manufacture parts?" msgstr "Produziert diese Firma Teile?" -#: company/models.py:305 company/models.py:497 stock/models.py:403 +#: company/models.py:151 company/serializers.py:259 +#: company/templates/company/detail.html:42 +msgid "Currency" +msgstr "Währung" + +#: company/models.py:154 +msgid "Default currency used for this company" +msgstr "Standard-Währung für diese Firma" + +#: company/models.py:319 company/models.py:519 stock/models.py:411 #: stock/templates/stock/item_base.html:235 msgid "Base Part" msgstr "Basisteil" -#: company/models.py:309 company/models.py:501 order/views.py:1603 +#: company/models.py:323 company/models.py:523 order/views.py:1127 msgid "Select part" msgstr "Teil auswählen" -#: company/models.py:320 company/templates/company/detail.html:57 +#: company/models.py:334 company/templates/company/detail.html:57 #: company/templates/company/manufacturer_part_base.html:85 #: company/templates/company/manufacturer_part_detail.html:25 #: company/templates/company/supplier_part_base.html:94 #: company/templates/company/supplier_part_detail.html:34 part/bom.py:170 #: part/bom.py:241 stock/templates/stock/item_base.html:352 -#: templates/js/company.js:44 templates/js/company.js:165 -#: templates/js/company.js:390 +#: templates/js/company.js:113 templates/js/company.js:289 +#: templates/js/company.js:515 msgid "Manufacturer" msgstr "Hersteller" -#: company/models.py:334 +#: company/models.py:348 msgid "URL for external manufacturer part link" msgstr "Externe URL für das Herstellerteil" -#: company/models.py:340 +#: company/models.py:354 msgid "Manufacturer part description" msgstr "Teilbeschreibung des Herstellers" -#: company/models.py:390 company/models.py:520 +#: company/models.py:408 company/models.py:542 #: company/templates/company/manufacturer_part_base.html:6 #: company/templates/company/manufacturer_part_base.html:19 #: stock/templates/stock/item_base.html:362 msgid "Manufacturer Part" msgstr "Herstellerteil" -#: company/models.py:397 +#: company/models.py:415 msgid "Parameter name" msgstr "" -#: company/models.py:403 part/templates/part/params.html:28 +#: company/models.py:421 part/templates/part/params.html:28 #: report/templates/report/inventree_test_report_base.html:90 -#: stock/models.py:1751 templates/InvenTree/settings/header.html:8 -#: templates/js/company.js:241 templates/js/stock.js:137 +#: stock/models.py:1771 templates/InvenTree/settings/header.html:8 +#: templates/js/company.js:365 templates/js/stock.js:137 msgid "Value" msgstr "Wert" -#: company/models.py:404 +#: company/models.py:422 msgid "Parameter value" msgstr "" -#: company/models.py:410 part/models.py:813 part/models.py:2165 +#: company/models.py:428 part/models.py:822 part/models.py:2194 #: part/templates/part/detail.html:106 part/templates/part/params.html:29 -#: templates/js/company.js:247 +#: templates/js/company.js:371 msgid "Units" msgstr "Einheiten" -#: company/models.py:411 +#: company/models.py:429 msgid "Parameter units" msgstr "" -#: company/models.py:507 company/templates/company/detail.html:62 +#: company/models.py:529 company/templates/company/detail.html:62 #: company/templates/company/supplier_part_base.html:84 -#: company/templates/company/supplier_part_detail.html:25 order/models.py:189 +#: company/templates/company/supplier_part_detail.html:25 order/models.py:256 #: order/templates/order/order_base.html:92 #: order/templates/order/order_wizard/select_pos.html:30 part/bom.py:175 #: part/bom.py:286 stock/templates/stock/item_base.html:369 -#: templates/js/company.js:48 templates/js/company.js:364 -#: templates/js/order.js:170 +#: templates/js/company.js:117 templates/js/company.js:489 +#: templates/js/order.js:232 msgid "Supplier" msgstr "Zulieferer" -#: company/models.py:508 +#: company/models.py:530 msgid "Select supplier" msgstr "Zulieferer auswählen" -#: company/models.py:513 company/templates/company/supplier_part_base.html:88 +#: company/models.py:535 company/templates/company/supplier_part_base.html:88 #: company/templates/company/supplier_part_detail.html:26 -#: order/templates/order/purchase_order_detail.html:153 part/bom.py:176 +#: order/templates/order/purchase_order_detail.html:180 part/bom.py:176 #: part/bom.py:287 msgid "SKU" msgstr "SKU (Lagerbestandseinheit)" -#: company/models.py:514 +#: company/models.py:536 msgid "Supplier stock keeping unit" msgstr "Lagerbestandseinheit (SKU) des Zulieferers" -#: company/models.py:521 +#: company/models.py:543 msgid "Select manufacturer part" msgstr "Herstellerteil auswählen" -#: company/models.py:527 +#: company/models.py:549 msgid "URL for external supplier part link" msgstr "Teil-URL des Zulieferers" -#: company/models.py:533 +#: company/models.py:555 msgid "Supplier part description" msgstr "Zuliefererbeschreibung des Teils" -#: company/models.py:538 company/templates/company/supplier_part_base.html:116 -#: company/templates/company/supplier_part_detail.html:38 part/models.py:2305 +#: company/models.py:560 company/templates/company/supplier_part_base.html:116 +#: company/templates/company/supplier_part_detail.html:38 part/models.py:2342 #: report/templates/report/inventree_po_report.html:93 #: report/templates/report/inventree_so_report.html:93 msgid "Note" msgstr "Notiz" -#: company/models.py:542 part/models.py:1606 +#: company/models.py:564 part/models.py:1615 msgid "base cost" msgstr "Basiskosten" -#: company/models.py:542 part/models.py:1606 +#: company/models.py:564 part/models.py:1615 msgid "Minimum charge (e.g. stocking fee)" msgstr "Mindestpreis" -#: company/models.py:544 company/templates/company/supplier_part_base.html:109 -#: stock/models.py:427 stock/templates/stock/item_base.html:310 -#: templates/js/stock.js:695 +#: company/models.py:566 company/templates/company/supplier_part_base.html:109 +#: stock/models.py:435 stock/templates/stock/item_base.html:310 +#: templates/js/stock.js:709 msgid "Packaging" msgstr "Verpackungen" -#: company/models.py:544 +#: company/models.py:566 msgid "Part packaging" msgstr "Teile-Verpackungen" -#: company/models.py:546 part/models.py:1608 +#: company/models.py:568 part/models.py:1617 msgid "multiple" msgstr "Vielfache" -#: company/models.py:546 +#: company/models.py:568 msgid "Order multiple" msgstr "Mehrere bestellen" +#: company/serializers.py:68 +msgid "Default currency used for this supplier" +msgstr "" + +#: company/serializers.py:69 +msgid "Currency Code" +msgstr "" + #: company/templates/company/assigned_stock.html:10 #: company/templates/company/navbar.html:62 #: company/templates/company/navbar.html:65 templates/js/build.js:563 @@ -2199,7 +2215,7 @@ msgstr "Zugeordneter Bestand" #: company/templates/company/company_base.html:9 #: company/templates/company/company_base.html:35 -#: templates/InvenTree/search.html:304 templates/js/company.js:33 +#: templates/InvenTree/search.html:304 templates/js/company.js:102 msgid "Company" msgstr "Firma" @@ -2213,7 +2229,7 @@ msgstr "Neues Bild hochladen" msgid "Download image from URL" msgstr "Bild von URL herunterladen" -#: company/templates/company/company_base.html:46 order/views.py:313 +#: company/templates/company/company_base.html:46 templates/js/order.js:61 msgid "Create Purchase Order" msgstr "Bestellung anlegen" @@ -2221,7 +2237,8 @@ msgstr "Bestellung anlegen" msgid "Edit company information" msgstr "Firmeninformation bearbeiten" -#: company/templates/company/company_base.html:56 company/views.py:326 +#: company/templates/company/company_base.html:56 +#: company/templates/company/company_base.html:126 msgid "Delete Company" msgstr "Firma löschen" @@ -2235,17 +2252,10 @@ msgstr "Firmendetails" msgid "Phone" msgstr "Telefon" -#: company/templates/company/delete.html:7 -#, python-format -msgid "Are you sure you want to delete company '%(name)s'?" -msgstr "Sind Sie sicher, dass Sie die Firma '%(name)s' löschen wollen?" - -#: company/templates/company/delete.html:12 -#, python-format -msgid "There are %(count)s parts sourced from this company.
\n" -"If this supplier is deleted, these supplier part entries will also be deleted." -msgstr "Es gibt %(count)s Teile, die von diesem Unternehmen bezogen werden.
\n" -"Wenn dieser Lieferant gelöscht wird, werden auch diese Zulieferer-Teile gelöscht." +#: company/templates/company/company_base.html:166 +#: part/templates/part/part_base.html:307 +msgid "Upload Image" +msgstr "" #: company/templates/company/detail.html:21 msgid "Company Name" @@ -2259,11 +2269,11 @@ msgstr "Keine Website angegeben" msgid "Uses default currency" msgstr "verwendet Standard-Währung" -#: company/templates/company/detail.html:67 order/models.py:460 -#: order/templates/order/sales_order_base.html:94 stock/models.py:445 -#: stock/models.py:446 stock/templates/stock/item_base.html:262 -#: templates/js/company.js:40 templates/js/order.js:267 -#: templates/js/stock.js:1097 +#: company/templates/company/detail.html:67 order/models.py:540 +#: order/templates/order/sales_order_base.html:94 stock/models.py:453 +#: stock/models.py:454 stock/templates/stock/item_base.html:262 +#: templates/js/company.js:109 templates/js/order.js:329 +#: templates/js/stock.js:1111 msgid "Customer" msgstr "Kunde" @@ -2284,6 +2294,7 @@ msgstr "Neues Herstellerteil" #: company/templates/company/detail_manufacturer_part.html:28 #: company/templates/company/detail_supplier_part.html:27 #: company/templates/company/manufacturer_part_suppliers.html:20 +#: company/templates/company/manufacturer_part_suppliers.html:46 #: part/templates/part/category.html:131 #: part/templates/part/manufacturer.html:22 #: part/templates/part/supplier.html:20 @@ -2306,26 +2317,25 @@ msgstr "Teile löschen" msgid "Delete Parts" msgstr "Teile löschen" -#: company/templates/company/detail_manufacturer_part.html:66 +#: company/templates/company/detail_manufacturer_part.html:68 #: company/templates/company/detail_supplier_part.html:66 #: part/templates/part/bom.html:159 part/templates/part/category.html:127 -#: templates/js/stock.js:1312 +#: templates/js/stock.js:1326 msgid "New Part" msgstr "Neues Teil" -#: company/templates/company/detail_manufacturer_part.html:67 +#: company/templates/company/detail_manufacturer_part.html:69 #: company/templates/company/detail_supplier_part.html:67 msgid "Create new Part" msgstr "Neues Teil hinzufügen" -#: company/templates/company/detail_manufacturer_part.html:72 -#: company/views.py:71 part/templates/part/manufacturer.html:52 -#: part/templates/part/supplier.html:56 +#: company/templates/company/detail_manufacturer_part.html:74 +#: company/views.py:66 part/templates/part/manufacturer.html:52 +#: part/templates/part/supplier.html:55 msgid "New Manufacturer" msgstr "Neuer Hersteller" -#: company/templates/company/detail_manufacturer_part.html:73 -#: company/views.py:284 +#: company/templates/company/detail_manufacturer_part.html:75 msgid "Create new Manufacturer" msgstr "Neuen Hersteller anlegen" @@ -2336,7 +2346,7 @@ msgstr "Zulieferer-Bestand" #: company/templates/company/detail_stock.html:37 #: company/templates/company/supplier_part_stock.html:34 #: part/templates/part/category.html:123 part/templates/part/category.html:137 -#: part/templates/part/stock.html:54 stock/templates/stock/location.html:163 +#: part/templates/part/stock.html:55 stock/templates/stock/location.html:163 msgid "Export" msgstr "Exportieren" @@ -2348,26 +2358,24 @@ msgstr "Zuliefererteile" #: company/templates/company/detail_supplier_part.html:21 #: order/templates/order/order_wizard/select_parts.html:44 -#: order/templates/order/purchase_order_detail.html:50 +#: part/templates/part/part_base.html:429 msgid "Create new supplier part" msgstr "Neues Zuliefererteil anlegen" #: company/templates/company/detail_supplier_part.html:22 #: company/templates/company/manufacturer_part_suppliers.html:17 -#: order/templates/order/purchase_order_detail.html:49 -#: part/templates/part/supplier.html:17 templates/js/stock.js:1318 +#: part/templates/part/part_base.html:428 part/templates/part/supplier.html:17 +#: templates/js/stock.js:1332 msgid "New Supplier Part" msgstr "Neues Zuliefererteil" #: company/templates/company/detail_supplier_part.html:72 -#: company/templates/company/manufacturer_part_suppliers.html:82 -#: company/views.py:64 order/templates/order/purchase_orders.html:185 -#: part/templates/part/supplier.html:50 +#: company/templates/company/manufacturer_part_suppliers.html:96 +#: company/views.py:60 part/templates/part/supplier.html:50 msgid "New Supplier" msgstr "Neuer Zulieferer" -#: company/templates/company/detail_supplier_part.html:73 company/views.py:281 -#: order/templates/order/purchase_orders.html:186 +#: company/templates/company/detail_supplier_part.html:73 msgid "Create new Supplier" msgstr "Neuen Zulieferer anlegen" @@ -2402,20 +2410,19 @@ msgstr "Herstellerteil-Details" msgid "Internal Part" msgstr "Internes Teil" -#: company/templates/company/manufacturer_part_delete.html:6 -msgid "Are you sure you want to delete the following Manufacturer Parts?" -msgstr "Sind Sie sicher, dass sie die folgenden Herstellerteile löschen möchten?" +#: company/templates/company/manufacturer_part_base.html:125 +msgid "Edit Manufacturer Part" +msgstr "Herstellerteil ändern" -#: company/templates/company/manufacturer_part_delete.html:36 -#, python-format -msgid "There are %(count)s suppliers defined for this manufacturer part. If you delete it, the following supplier parts will also be deleted:" -msgstr "Für dieses Herstellerteil sind %(count)s Lieferanten definiert. Wenn Sie es löschen, werden die folgenden Lieferantenteile ebenfalls gelöscht:" +#: company/templates/company/manufacturer_part_base.html:134 +msgid "Delete Manufacturer Part" +msgstr "Herstellerteil löschen" #: company/templates/company/manufacturer_part_navbar.html:14 #: company/templates/company/manufacturer_part_suppliers.html:10 -#: company/views.py:63 part/templates/part/navbar.html:87 -#: part/templates/part/navbar.html:90 templates/InvenTree/search.html:316 -#: templates/navbar.html:35 +#: company/views.py:59 part/templates/part/navbar.html:87 +#: part/templates/part/navbar.html:90 part/templates/part/prices.html:153 +#: templates/InvenTree/search.html:316 templates/navbar.html:35 msgid "Suppliers" msgstr "Zulieferer" @@ -2426,7 +2433,7 @@ msgstr "Herstellerteil-Bestand" #: company/templates/company/manufacturer_part_navbar.html:22 #: company/templates/company/navbar.html:41 #: company/templates/company/supplier_part_navbar.html:15 -#: part/templates/part/navbar.html:39 stock/api.py:54 +#: part/templates/part/navbar.html:39 stock/api.py:53 #: stock/templates/stock/loc_link.html:7 stock/templates/stock/location.html:36 #: stock/templates/stock/stock_app_base.html:10 #: templates/InvenTree/index.html:128 templates/InvenTree/search.html:196 @@ -2452,9 +2459,11 @@ msgid "Delete supplier parts" msgstr "Zuliefererteil entfernen" #: company/templates/company/manufacturer_part_suppliers.html:22 +#: company/templates/company/manufacturer_part_suppliers.html:48 +#: company/templates/company/manufacturer_part_suppliers.html:142 #: part/templates/part/manufacturer.html:24 part/templates/part/params.html:44 #: part/templates/part/related.html:44 part/templates/part/supplier.html:22 -#: stock/views.py:1002 users/models.py:191 +#: stock/views.py:855 templates/js/company.js:203 users/models.py:192 msgid "Delete" msgstr "Löschen" @@ -2472,11 +2481,27 @@ msgstr "Parameter" msgid "New Parameter" msgstr "Neuer Parameter" -#: company/templates/company/manufacturer_part_suppliers.html:83 +#: company/templates/company/manufacturer_part_suppliers.html:48 +msgid "Delete parameters" +msgstr "" + +#: company/templates/company/manufacturer_part_suppliers.html:80 +msgid "Add Parameter" +msgstr "" + +#: company/templates/company/manufacturer_part_suppliers.html:97 #: part/templates/part/supplier.html:51 msgid "Create new supplier" msgstr "Neuen Zulieferer anlegen" +#: company/templates/company/manufacturer_part_suppliers.html:127 +msgid "Selected parameters will be deleted" +msgstr "" + +#: company/templates/company/manufacturer_part_suppliers.html:139 +msgid "Delete Parameters" +msgstr "" + #: company/templates/company/navbar.html:20 #: company/templates/company/navbar.html:23 msgid "Manufactured Parts" @@ -2493,8 +2518,8 @@ msgstr "Zuliefererteile" #: stock/templates/stock/location.html:136 #: stock/templates/stock/location_navbar.html:22 #: stock/templates/stock/location_navbar.html:29 -#: templates/InvenTree/search.html:198 templates/js/stock.js:996 -#: templates/stats.html:93 templates/stats.html:102 users/models.py:42 +#: templates/InvenTree/search.html:198 templates/js/stock.js:1010 +#: templates/stats.html:93 templates/stats.html:102 users/models.py:43 msgid "Stock Items" msgstr "Teilbestand" @@ -2504,11 +2529,11 @@ msgstr "Teilbestand" #: company/templates/company/sales_orders.html:11 #: order/templates/order/sales_orders.html:8 #: order/templates/order/sales_orders.html:13 -#: part/templates/part/navbar.html:113 part/templates/part/navbar.html:116 -#: part/templates/part/sales_orders.html:10 templates/InvenTree/index.html:228 +#: part/templates/part/navbar.html:101 part/templates/part/navbar.html:104 +#: part/templates/part/sales_orders.html:10 templates/InvenTree/index.html:236 #: templates/InvenTree/search.html:345 #: templates/InvenTree/settings/tabs.html:40 templates/navbar.html:46 -#: users/models.py:45 +#: users/models.py:46 msgid "Sales Orders" msgstr "Aufträge" @@ -2517,10 +2542,10 @@ msgstr "Aufträge" #: order/templates/order/purchase_orders.html:8 #: order/templates/order/purchase_orders.html:13 #: part/templates/part/navbar.html:93 part/templates/part/navbar.html:96 -#: part/templates/part/orders.html:10 templates/InvenTree/index.html:205 +#: part/templates/part/orders.html:10 templates/InvenTree/index.html:213 #: templates/InvenTree/search.html:325 #: templates/InvenTree/settings/tabs.html:37 templates/navbar.html:37 -#: users/models.py:44 +#: users/models.py:45 msgid "Purchase Orders" msgstr "Bestellungen" @@ -2549,8 +2574,9 @@ msgid "New Sales Order" msgstr "Neuer Auftrag" #: company/templates/company/supplier_part_base.html:7 -#: company/templates/company/supplier_part_base.html:20 stock/models.py:412 -#: stock/templates/stock/item_base.html:374 templates/js/company.js:380 +#: company/templates/company/supplier_part_base.html:20 stock/models.py:420 +#: stock/templates/stock/item_base.html:374 templates/js/company.js:505 +#: templates/js/stock.js:690 msgid "Supplier Part" msgstr "Zuliefererteil" @@ -2595,459 +2621,401 @@ msgid "Order Part" msgstr "Teil bestellen" #: company/templates/company/supplier_part_pricing.html:11 +#: part/templates/part/navbar.html:74 msgid "Pricing Information" msgstr "Preisinformationen ansehen" -#: company/templates/company/supplier_part_pricing.html:19 company/views.py:855 -#: part/templates/part/sale_prices.html:17 part/views.py:2918 +#: company/templates/company/supplier_part_pricing.html:19 +#: company/templates/company/supplier_part_pricing.html:118 +#: part/templates/part/prices.html:264 part/views.py:2788 msgid "Add Price Break" msgstr "Preisstaffel hinzufügen" #: company/templates/company/supplier_part_pricing.html:38 -#: part/templates/part/sale_prices.html:46 msgid "No price break information found" msgstr "Keine Informationen zur Preisstaffel gefunden" -#: company/templates/company/supplier_part_pricing.html:89 -#: part/templates/part/sale_prices.html:97 +#: company/templates/company/supplier_part_pricing.html:52 part/views.py:2850 +msgid "Delete Price Break" +msgstr "Preisstaffel löschen" + +#: company/templates/company/supplier_part_pricing.html:66 part/views.py:2836 +msgid "Edit Price Break" +msgstr "Preisstaffel bearbeiten" + +#: company/templates/company/supplier_part_pricing.html:91 msgid "Edit price break" msgstr "Preisstaffel bearbeiten" -#: company/templates/company/supplier_part_pricing.html:90 -#: part/templates/part/sale_prices.html:98 +#: company/templates/company/supplier_part_pricing.html:92 msgid "Delete price break" msgstr "Preisstaffel löschen" -#: company/views.py:70 part/templates/part/navbar.html:81 -#: part/templates/part/navbar.html:84 templates/InvenTree/search.html:306 -#: templates/navbar.html:36 +#: company/views.py:65 part/templates/part/navbar.html:81 +#: part/templates/part/navbar.html:84 part/templates/part/prices.html:157 +#: templates/InvenTree/search.html:306 templates/navbar.html:36 msgid "Manufacturers" msgstr "Hersteller" -#: company/views.py:77 templates/InvenTree/search.html:336 +#: company/views.py:71 templates/InvenTree/search.html:336 #: templates/navbar.html:45 msgid "Customers" msgstr "Kunden" -#: company/views.py:78 order/templates/order/sales_orders.html:187 +#: company/views.py:72 msgid "New Customer" msgstr "Neuer Kunde" -#: company/views.py:86 +#: company/views.py:79 msgid "Companies" msgstr "Firmen" -#: company/views.py:87 +#: company/views.py:80 msgid "New Company" msgstr "Neue Firma" -#: company/views.py:169 part/views.py:1115 +#: company/views.py:161 part/views.py:1007 msgid "Download Image" msgstr "Bild herunterladen" -#: company/views.py:198 part/views.py:1147 +#: company/views.py:190 part/views.py:1039 msgid "Image size exceeds maximum allowable size for download" msgstr "Bildgröße überschreitet maximal-erlaubte Größe für Downloads" -#: company/views.py:205 part/views.py:1154 +#: company/views.py:197 part/views.py:1046 #, python-brace-format msgid "Invalid response: {code}" msgstr "Ungültige Antwort {code}" -#: company/views.py:214 part/views.py:1163 +#: company/views.py:206 part/views.py:1055 msgid "Supplied URL is not a valid image file" msgstr "Angegebene URL ist kein gültiges Bild" -#: company/views.py:243 -msgid "Update Company Image" -msgstr "Firmenbild aktualisieren" - -#: company/views.py:249 -msgid "Updated company image" -msgstr "Aktualisiertes Firmenbild" - -#: company/views.py:259 -msgid "Edit Company" -msgstr "Firma bearbeiten" - -#: company/views.py:264 -msgid "Edited company information" -msgstr "Firmeninformation bearbeitet" - -#: company/views.py:287 order/templates/order/sales_orders.html:188 -msgid "Create new Customer" -msgstr "Neuen Kunden anlegen" - -#: company/views.py:289 -msgid "Create new Company" -msgstr "Neue Firma anlegen" - -#: company/views.py:316 -msgid "Created new company" -msgstr "Neue Firma angelegt" - -#: company/views.py:332 -msgid "Company was deleted" -msgstr "Firma gelöscht" - -#: company/views.py:357 -msgid "Edit Manufacturer Part" -msgstr "Herstellerteil ändern" - -#: company/views.py:366 +#: company/views.py:251 msgid "Create New Manufacturer Part" msgstr "Neues Herstellerteil anlegen" -#: company/views.py:440 -msgid "Delete Manufacturer Part" -msgstr "Herstellerteil löschen" - -#: company/views.py:514 -msgid "Add Manufacturer Part Parameter" -msgstr "" - -#: company/views.py:548 -msgid "Edit Manufacturer Part Parameter" -msgstr "" - -#: company/views.py:588 +#: company/views.py:334 msgid "Edit Supplier Part" msgstr "Zuliefererteil bearbeiten" -#: company/views.py:639 templates/js/stock.js:1319 +#: company/views.py:385 templates/js/stock.js:1333 msgid "Create new Supplier Part" msgstr "Neues Zuliefererteil anlegen" -#: company/views.py:783 +#: company/views.py:529 msgid "Delete Supplier Part" msgstr "Zuliefererteil entfernen" -#: company/views.py:860 part/views.py:2922 -msgid "Added new price break" -msgstr "neue Preisstaffel hinzufügt" - -#: company/views.py:916 part/views.py:2966 -msgid "Edit Price Break" -msgstr "Preisstaffel bearbeiten" - -#: company/views.py:931 part/views.py:2980 -msgid "Delete Price Break" -msgstr "Preisstaffel löschen" - #: label/api.py:56 report/api.py:201 msgid "No valid objects provided to template" msgstr "Keine korrekten Objekte für Vorlage gegeben" -#: label/models.py:103 +#: label/models.py:104 msgid "Label name" msgstr "Label Name" -#: label/models.py:110 +#: label/models.py:111 msgid "Label description" msgstr "Label Beschreibung" -#: label/models.py:117 stock/forms.py:202 +#: label/models.py:118 stock/forms.py:169 msgid "Label" msgstr "Label" -#: label/models.py:118 +#: label/models.py:119 msgid "Label template file" msgstr "Label-Vorlage-Datei" -#: label/models.py:124 report/models.py:297 +#: label/models.py:125 report/models.py:297 msgid "Enabled" msgstr "Aktiviert" -#: label/models.py:125 +#: label/models.py:126 msgid "Label template is enabled" msgstr "Label-Vorlage ist aktiviert" -#: label/models.py:130 +#: label/models.py:131 msgid "Width [mm]" msgstr "Breite [mm]" -#: label/models.py:131 +#: label/models.py:132 msgid "Label width, specified in mm" msgstr "Label-Breite in mm" -#: label/models.py:137 +#: label/models.py:138 msgid "Height [mm]" msgstr "Höhe [mm]" -#: label/models.py:138 +#: label/models.py:139 msgid "Label height, specified in mm" msgstr "Label-Höhe in mm" -#: label/models.py:144 report/models.py:290 +#: label/models.py:145 report/models.py:290 msgid "Filename Pattern" msgstr "Dateinamen-Muster" -#: label/models.py:145 +#: label/models.py:146 msgid "Pattern for generating label filenames" msgstr "Muster für die Erstellung von Label-Dateinamen" -#: label/models.py:244 label/models.py:297 +#: label/models.py:249 label/models.py:306 msgid "Query filters (comma-separated list of key=value pairs" msgstr "Abfragefilter (kommagetrennte Liste mit Schlüssel=Wert-Paaren)" -#: label/models.py:245 label/models.py:298 report/models.py:317 +#: label/models.py:250 label/models.py:307 report/models.py:317 #: report/models.py:440 report/models.py:474 msgid "Filters" msgstr "Filter" -#: order/forms.py:31 order/templates/order/order_base.html:47 +#: order/forms.py:30 order/templates/order/order_base.html:47 msgid "Place order" msgstr "Bestellung aufgeben" -#: order/forms.py:42 order/templates/order/order_base.html:54 +#: order/forms.py:41 order/templates/order/order_base.html:54 msgid "Mark order as complete" msgstr "Bestellung als vollständig markieren" -#: order/forms.py:53 order/forms.py:64 order/templates/order/order_base.html:59 +#: order/forms.py:52 order/forms.py:63 order/templates/order/order_base.html:59 #: order/templates/order/sales_order_base.html:61 msgid "Cancel order" msgstr "Bestellung stornieren" -#: order/forms.py:75 order/templates/order/sales_order_base.html:58 +#: order/forms.py:74 order/templates/order/sales_order_base.html:58 msgid "Ship order" msgstr "Bestellung versenden" -#: order/forms.py:90 +#: order/forms.py:89 msgid "Receive parts to this location" msgstr "Teile in diesen Lagerort empfangen" -#: order/forms.py:112 -msgid "Purchase Order reference" -msgstr "Bestellungs-Referenz" - -#: order/forms.py:119 -msgid "Target date for order delivery. Order will be overdue after this date." -msgstr "Zieldatum für Auftrags-Lieferung." - -#: order/forms.py:147 -msgid "Enter sales order number" -msgstr "Auftrag-Nummer eingeben" - -#: order/forms.py:154 order/models.py:472 -msgid "Target date for order completion. Order will be overdue after this date." -msgstr "Zieldatum für Auftrags-Fertigstellung." - -#: order/forms.py:246 +#: order/forms.py:116 msgid "Enter stock item serial numbers" msgstr "Seriennummern für BestandsObjekt eingeben" -#: order/forms.py:252 +#: order/forms.py:122 msgid "Enter quantity of stock items" msgstr "Menge der BestandsObjekt eingeben" -#: order/models.py:98 -msgid "Order reference" -msgstr "Bestell-Referenz" - -#: order/models.py:100 +#: order/models.py:154 msgid "Order description" msgstr "Bestellungs-Beschreibung" -#: order/models.py:102 +#: order/models.py:156 msgid "Link to external page" msgstr "Link auf externe Seite" -#: order/models.py:110 part/templates/part/detail.html:132 +#: order/models.py:164 part/templates/part/detail.html:132 msgid "Created By" msgstr "Erstellt von" -#: order/models.py:117 +#: order/models.py:171 msgid "User or group responsible for this order" msgstr "Nutzer oder Gruppe der/die für diesen Auftrag zuständig ist/sind" -#: order/models.py:122 +#: order/models.py:176 msgid "Order notes" msgstr "Bestell-Notizen" -#: order/models.py:181 order/models.py:465 +#: order/models.py:243 order/models.py:530 +msgid "Order reference" +msgstr "Bestell-Referenz" + +#: order/models.py:248 order/models.py:545 msgid "Purchase order status" msgstr "Bestellungs-Status" -#: order/models.py:190 +#: order/models.py:257 msgid "Company from which the items are being ordered" msgstr "Firma bei der die Teile bestellt werden" -#: order/models.py:193 order/templates/order/order_base.html:98 -#: templates/js/order.js:179 +#: order/models.py:260 order/templates/order/order_base.html:98 +#: templates/js/order.js:241 msgid "Supplier Reference" msgstr "Zulieferer-Referenz" -#: order/models.py:193 +#: order/models.py:260 msgid "Supplier order reference code" msgstr "Zulieferer Bestellreferenz" -#: order/models.py:200 +#: order/models.py:267 msgid "received by" msgstr "Empfangen von" -#: order/models.py:205 +#: order/models.py:272 msgid "Issue Date" msgstr "Aufgabedatum" -#: order/models.py:206 +#: order/models.py:273 msgid "Date order was issued" msgstr "Datum an dem die Bestellung aufgegeben wurde" -#: order/models.py:211 +#: order/models.py:278 msgid "Target Delivery Date" msgstr "Ziel-Versanddatum" -#: order/models.py:212 +#: order/models.py:279 msgid "Expected date for order delivery. Order will be overdue after this date." msgstr "Geplantes Lieferdatum für Auftrag." -#: order/models.py:218 +#: order/models.py:285 msgid "Date order was completed" msgstr "Datum an dem der Auftrag fertigstellt wurde" -#: order/models.py:242 part/views.py:1853 stock/models.py:300 -#: stock/models.py:1015 +#: order/models.py:309 part/views.py:1730 stock/models.py:308 +#: stock/models.py:1023 msgid "Quantity must be greater than zero" msgstr "Anzahl muss größer Null sein" -#: order/models.py:247 +#: order/models.py:314 msgid "Part supplier must match PO supplier" msgstr "Teile-Zulieferer muss dem Zulieferer der Bestellung entsprechen" -#: order/models.py:345 +#: order/models.py:412 msgid "Lines can only be received against an order marked as 'Placed'" msgstr "Nur Teile aufgegebener Bestllungen können empfangen werden" -#: order/models.py:349 +#: order/models.py:416 msgid "Quantity must be an integer" msgstr "Anzahl muss eine Ganzzahl sein" -#: order/models.py:351 +#: order/models.py:418 msgid "Quantity must be a positive number" msgstr "Anzahl muss eine positive Zahl sein" -#: order/models.py:461 +#: order/models.py:541 msgid "Company to which the items are being sold" msgstr "Firma an die die Teile verkauft werden" -#: order/models.py:467 +#: order/models.py:547 msgid "Customer Reference " msgstr "Kundenreferenz" -#: order/models.py:467 +#: order/models.py:547 msgid "Customer order reference code" msgstr "Bestellreferenz" -#: order/models.py:475 templates/js/order.js:303 +#: order/models.py:552 +msgid "Target date for order completion. Order will be overdue after this date." +msgstr "Zieldatum für Auftrags-Fertigstellung." + +#: order/models.py:555 templates/js/order.js:370 msgid "Shipment Date" msgstr "Versanddatum" -#: order/models.py:482 +#: order/models.py:562 msgid "shipped by" msgstr "Versand von" -#: order/models.py:526 +#: order/models.py:606 msgid "SalesOrder cannot be shipped as it is not currently pending" msgstr "Bestellung kann nicht versendet werden weil er nicht anhängig ist" -#: order/models.py:613 +#: order/models.py:703 msgid "Item quantity" msgstr "Anzahl" -#: order/models.py:615 +#: order/models.py:709 msgid "Line item reference" msgstr "Position - Referenz" -#: order/models.py:617 +#: order/models.py:711 msgid "Line item notes" msgstr "Position - Notizen" -#: order/models.py:643 order/models.py:710 templates/js/order.js:353 +#: order/models.py:741 order/models.py:812 templates/js/order.js:420 msgid "Order" msgstr "Bestellung" -#: order/models.py:644 order/templates/order/order_base.html:9 +#: order/models.py:742 order/templates/order/order_base.html:9 #: order/templates/order/order_base.html:24 #: report/templates/report/inventree_po_report.html:77 -#: stock/templates/stock/item_base.html:324 templates/js/order.js:148 -#: templates/js/stock.js:669 templates/js/stock.js:1078 +#: stock/templates/stock/item_base.html:324 templates/js/order.js:210 +#: templates/js/stock.js:669 templates/js/stock.js:1092 msgid "Purchase Order" msgstr "Bestellung" -#: order/models.py:658 +#: order/models.py:756 msgid "Supplier part" msgstr "Zuliefererteil" -#: order/models.py:661 order/templates/order/order_base.html:131 -#: order/templates/order/purchase_order_detail.html:219 +#: order/models.py:759 order/templates/order/order_base.html:131 +#: order/templates/order/purchase_order_detail.html:246 #: order/templates/order/receive_parts.html:22 #: order/templates/order/sales_order_base.html:133 msgid "Received" msgstr "Empfangen" -#: order/models.py:661 +#: order/models.py:759 msgid "Number of items received" msgstr "Empfangene Objekt-Anzahl" -#: order/models.py:667 stock/models.py:537 -#: stock/templates/stock/item_base.html:331 templates/js/stock.js:690 +#: order/models.py:765 part/templates/part/prices.html:166 stock/models.py:545 +#: stock/templates/stock/item_base.html:331 templates/js/stock.js:704 msgid "Purchase Price" msgstr "Preis" -#: order/models.py:668 +#: order/models.py:766 msgid "Unit purchase price" msgstr "Preis pro Einheit" -#: order/models.py:676 +#: order/models.py:774 msgid "Where does the Purchaser want this item to be stored?" msgstr "Wo möchte der Käufer diesen Artikel gelagert haben?" -#: order/models.py:718 part/templates/part/navbar.html:110 -#: part/templates/part/order_prices.html:108 -#: part/templates/part/part_pricing.html:97 +#: order/models.py:820 part/templates/part/part_pricing.html:97 +#: part/templates/part/prices.html:103 part/templates/part/prices.html:278 msgid "Sale Price" msgstr "Verkaufspreis" -#: order/models.py:719 +#: order/models.py:821 msgid "Unit sale price" msgstr "Stückverkaufspreis" -#: order/models.py:794 order/models.py:796 +#: order/models.py:900 order/models.py:902 msgid "Stock item has not been assigned" msgstr "BestandsObjekt wurde nicht zugewiesen" -#: order/models.py:800 +#: order/models.py:906 msgid "Cannot allocate stock item to a line with a different part" msgstr "Kann BestandsObjekt keiner Zeile mit einem anderen Teil hinzufügen" -#: order/models.py:802 +#: order/models.py:908 msgid "Cannot allocate stock to a line without a part" msgstr "Kann BestandsObjekt keiner Zeile ohne Teil hinzufügen" -#: order/models.py:805 +#: order/models.py:911 msgid "Allocation quantity cannot exceed stock quantity" msgstr "Die zugeordnete Anzahl darf nicht die verfügbare Anzahl überschreiten" -#: order/models.py:815 +#: order/models.py:921 msgid "Quantity must be 1 for serialized stock item" msgstr "Anzahl für BestandsObjekt mit Seriennummer muss 1 sein" -#: order/models.py:820 +#: order/models.py:926 msgid "Line" msgstr "Position" -#: order/models.py:831 +#: order/models.py:937 msgid "Item" msgstr "Position" -#: order/models.py:832 +#: order/models.py:938 msgid "Select stock item to allocate" msgstr "BestandsObjekt für Zuordnung auswählen" -#: order/models.py:835 +#: order/models.py:941 msgid "Enter stock allocation quantity" msgstr "Anzahl für Bestandszuordnung eingeben" +#: order/serializers.py:139 +msgid "Purchase price currency" +msgstr "" + +#: order/serializers.py:359 +msgid "Sale price currency" +msgstr "" + #: order/templates/order/delete_attachment.html:5 #: stock/templates/stock/attachment_delete.html:5 #: templates/attachment_delete.html:5 @@ -3092,16 +3060,22 @@ msgstr "Bestellstatus" msgid "Issued" msgstr "Aufgegeben" -#: order/templates/order/order_base.html:180 -#: order/templates/order/purchase_order_detail.html:100 +#: order/templates/order/order_base.html:188 +msgid "Edit Purchase Order" +msgstr "Bestellung bearbeiten" + +#: order/templates/order/order_base.html:199 +#: order/templates/order/purchase_order_detail.html:127 #: part/templates/part/category.html:217 part/templates/part/category.html:259 -#: stock/templates/stock/location.html:191 templates/js/stock.js:736 -#: templates/js/stock.js:1324 +#: part/templates/part/part_base.html:415 +#: stock/templates/stock/location.html:191 templates/js/stock.js:750 +#: templates/js/stock.js:1338 msgid "New Location" msgstr "Neuer Lagerort" -#: order/templates/order/order_base.html:181 -#: order/templates/order/purchase_order_detail.html:101 +#: order/templates/order/order_base.html:200 +#: order/templates/order/purchase_order_detail.html:128 +#: part/templates/part/part_base.html:416 #: stock/templates/stock/location.html:42 msgid "Create new stock location" msgstr "Neuen Lagerort anlegen" @@ -3254,7 +3228,7 @@ msgid "Select existing purchase orders, or create new orders." msgstr "Bestellungen auswählen oder anlegen." #: order/templates/order/order_wizard/select_pos.html:31 -#: templates/js/order.js:205 templates/js/order.js:308 +#: templates/js/order.js:267 templates/js/order.js:375 msgid "Items" msgstr "Positionen" @@ -3278,7 +3252,6 @@ msgid "Purchase Order Attachments" msgstr "Bestellungs-Anhänge" #: order/templates/order/po_lineitem_delete.html:5 -#: order/templates/order/so_lineitem_delete.html:5 msgid "Are you sure you wish to delete this line item?" msgstr "Sind Sie sicher, dass Sie diese Position löschen möchten?" @@ -3296,40 +3269,52 @@ msgid "Purchase Order Items" msgstr "Bestellungs-Positionen" #: order/templates/order/purchase_order_detail.html:24 -#: order/templates/order/sales_order_detail.html:22 order/views.py:1327 -#: order/views.py:1410 +#: order/templates/order/purchase_order_detail.html:64 +#: order/templates/order/sales_order_detail.html:22 +#: order/templates/order/sales_order_detail.html:56 msgid "Add Line Item" msgstr "Position hinzufügen" -#: order/templates/order/purchase_order_detail.html:114 +#: order/templates/order/purchase_order_detail.html:100 +#: order/templates/order/sales_order_detail.html:398 +msgid "Edit Line Item" +msgstr "Position bearbeiten" + +#: order/templates/order/purchase_order_detail.html:110 +#: order/templates/order/sales_order_detail.html:408 +msgid "Delete Line Item" +msgstr "Position löschen" + +#: order/templates/order/purchase_order_detail.html:141 msgid "No line items found" msgstr "Keine Positionen gefunden" -#: order/templates/order/purchase_order_detail.html:142 -#: order/templates/order/sales_order_detail.html:223 +#: order/templates/order/purchase_order_detail.html:169 +#: order/templates/order/sales_order_detail.html:233 msgid "Total" msgstr "Summe" -#: order/templates/order/purchase_order_detail.html:191 -#: order/templates/order/sales_order_detail.html:246 +#: order/templates/order/purchase_order_detail.html:218 +#: order/templates/order/sales_order_detail.html:256 templates/js/part.js:807 +#: templates/js/part.js:996 msgid "Unit Price" msgstr "Stück-Preis" -#: order/templates/order/purchase_order_detail.html:198 -#: order/templates/order/sales_order_detail.html:253 +#: order/templates/order/purchase_order_detail.html:225 +#: order/templates/order/sales_order_detail.html:263 msgid "Total price" msgstr "Gesamtpreis" -#: order/templates/order/purchase_order_detail.html:255 -#: order/templates/order/sales_order_detail.html:359 +#: order/templates/order/purchase_order_detail.html:282 +#: order/templates/order/sales_order_detail.html:369 msgid "Edit line item" msgstr "Position bearbeiten" -#: order/templates/order/purchase_order_detail.html:256 +#: order/templates/order/purchase_order_detail.html:283 msgid "Delete line item" msgstr "Position löschen" -#: order/templates/order/purchase_order_detail.html:261 +#: order/templates/order/purchase_order_detail.html:288 msgid "Receive line item" msgstr "Position empfangen" @@ -3344,7 +3329,7 @@ msgid "Receive outstanding parts for %(order)s - %(desc)s" msgstr "Ausstehende Teile für %(order)s - %(desc)s empfangen" #: order/templates/order/receive_parts.html:14 part/api.py:45 -#: part/models.py:322 part/templates/part/cat_link.html:7 +#: part/models.py:326 part/templates/part/cat_link.html:7 #: part/templates/part/category.html:108 part/templates/part/category.html:157 #: part/templates/part/category_navbar.html:25 #: part/templates/part/category_navbar.html:32 @@ -3352,7 +3337,7 @@ msgstr "Ausstehende Teile für %(order)s - %(desc)s empfangen" #: templates/InvenTree/index.html:97 templates/InvenTree/search.html:114 #: templates/InvenTree/settings/tabs.html:28 templates/js/part.js:666 #: templates/navbar.html:23 templates/stats.html:80 templates/stats.html:89 -#: users/models.py:40 +#: users/models.py:41 msgid "Parts" msgstr "Teile" @@ -3394,10 +3379,14 @@ msgstr "Packliste" msgid "Sales Order Details" msgstr "Auftragsdetails" -#: order/templates/order/sales_order_base.html:100 templates/js/order.js:275 +#: order/templates/order/sales_order_base.html:100 templates/js/order.js:342 msgid "Customer Reference" msgstr "Kundenreferenz" +#: order/templates/order/sales_order_base.html:177 +msgid "Edit Sales Order" +msgstr "Auftrag bearbeiten" + #: order/templates/order/sales_order_cancel.html:8 #: order/templates/order/sales_order_ship.html:9 #: part/templates/part/bom_duplicate.html:12 @@ -3413,69 +3402,69 @@ msgstr "Abbruch dieser Bestellung bedeutet, dass sie nicht länger bearbeitbar i msgid "Sales Order Items" msgstr "Auftrags-Positionen" -#: order/templates/order/sales_order_detail.html:95 templates/js/bom.js:358 +#: order/templates/order/sales_order_detail.html:105 templates/js/bom.js:358 #: templates/js/build.js:725 templates/js/build.js:1142 msgid "Actions" msgstr "Aktionen" -#: order/templates/order/sales_order_detail.html:102 templates/js/build.js:611 +#: order/templates/order/sales_order_detail.html:112 templates/js/build.js:611 #: templates/js/build.js:947 msgid "Edit stock allocation" msgstr "Bestands-Zuordnung bearbeiten" -#: order/templates/order/sales_order_detail.html:103 templates/js/build.js:613 +#: order/templates/order/sales_order_detail.html:113 templates/js/build.js:613 #: templates/js/build.js:948 msgid "Delete stock allocation" msgstr "Bestands-Zuordnung löschen" -#: order/templates/order/sales_order_detail.html:176 +#: order/templates/order/sales_order_detail.html:186 msgid "No matching line items" msgstr "Keine passenden Positionen gefunden" -#: order/templates/order/sales_order_detail.html:206 +#: order/templates/order/sales_order_detail.html:216 msgid "ID" msgstr "ID" -#: order/templates/order/sales_order_detail.html:274 templates/js/build.js:676 +#: order/templates/order/sales_order_detail.html:284 templates/js/build.js:676 #: templates/js/build.js:943 msgid "Allocated" msgstr "Zugeordnet" -#: order/templates/order/sales_order_detail.html:276 +#: order/templates/order/sales_order_detail.html:286 msgid "Fulfilled" msgstr "Erledigt" -#: order/templates/order/sales_order_detail.html:313 +#: order/templates/order/sales_order_detail.html:323 msgid "PO" msgstr "PO" -#: order/templates/order/sales_order_detail.html:343 +#: order/templates/order/sales_order_detail.html:353 msgid "Allocate serial numbers" msgstr "Seriennummern zuweisen" -#: order/templates/order/sales_order_detail.html:346 templates/js/build.js:739 +#: order/templates/order/sales_order_detail.html:356 templates/js/build.js:739 msgid "Allocate stock" msgstr "Lagerbestand zuweisen" -#: order/templates/order/sales_order_detail.html:349 +#: order/templates/order/sales_order_detail.html:359 msgid "Purchase stock" msgstr "Lagerbestand kaufen" -#: order/templates/order/sales_order_detail.html:353 templates/js/build.js:732 +#: order/templates/order/sales_order_detail.html:363 templates/js/build.js:732 #: templates/js/build.js:1150 msgid "Build stock" msgstr "Lagerbestand bauen" -#: order/templates/order/sales_order_detail.html:356 -#: order/templates/order/sales_order_detail.html:465 +#: order/templates/order/sales_order_detail.html:366 +#: order/templates/order/sales_order_detail.html:485 msgid "Calculate price" msgstr "Preis berechnen" -#: order/templates/order/sales_order_detail.html:360 +#: order/templates/order/sales_order_detail.html:370 msgid "Delete line item " msgstr "Position löschen " -#: order/templates/order/sales_order_detail.html:471 +#: order/templates/order/sales_order_detail.html:491 msgid "Update Unit Price" msgstr "Stückpreis aktualisieren" @@ -3516,194 +3505,154 @@ msgstr "Diese Aktion wird die folgenden BestandsObjekt vom Auftrag entfernen" msgid "Sales Order Attachments" msgstr "Auftrags-Anhänge" -#: order/views.py:106 -msgid "Add Purchase Order Attachment" -msgstr "Bestellungs-Anhang hinzufügen" - -#: order/views.py:156 -msgid "Add Sales Order Attachment" -msgstr "Auftrags-Anhang hinzufügen" - -#: order/views.py:348 -msgid "Create Sales Order" -msgstr "Auftrag anlegen" - -#: order/views.py:383 -msgid "Edit Purchase Order" -msgstr "Bestellung bearbeiten" - -#: order/views.py:403 -msgid "Edit Sales Order" -msgstr "Auftrag bearbeiten" - -#: order/views.py:419 +#: order/views.py:151 msgid "Cancel Order" msgstr "Bestellung stornieren" -#: order/views.py:428 order/views.py:454 +#: order/views.py:160 order/views.py:186 msgid "Confirm order cancellation" msgstr "Bestellstornierung bestätigen" -#: order/views.py:431 order/views.py:457 +#: order/views.py:163 order/views.py:189 msgid "Order cannot be cancelled" msgstr "Bestellung kann nicht verworfen werden" -#: order/views.py:445 +#: order/views.py:177 msgid "Cancel sales order" msgstr "Auftrag stornieren" -#: order/views.py:471 +#: order/views.py:203 msgid "Issue Order" msgstr "Bestellung aufgeben" -#: order/views.py:480 +#: order/views.py:212 msgid "Confirm order placement" msgstr "Bestellungstätigung bestätigen" -#: order/views.py:490 +#: order/views.py:222 msgid "Purchase order issued" msgstr "Bestellung plaziert" -#: order/views.py:501 +#: order/views.py:233 msgid "Complete Order" msgstr "Auftrag fertigstellen" -#: order/views.py:517 +#: order/views.py:249 msgid "Confirm order completion" msgstr "Fertigstellung bestätigen" -#: order/views.py:528 +#: order/views.py:260 msgid "Purchase order completed" msgstr "Bestellung als vollständig markieren" -#: order/views.py:538 +#: order/views.py:270 msgid "Ship Order" msgstr "Versenden" -#: order/views.py:554 +#: order/views.py:286 msgid "Confirm order shipment" msgstr "Versand bestätigen" -#: order/views.py:560 +#: order/views.py:292 msgid "Could not ship order" msgstr "Versand fehlgeschlagen" -#: order/views.py:607 +#: order/views.py:339 msgid "Match Supplier Parts" msgstr "Zuliefererteile zuordnen" -#: order/views.py:804 +#: order/views.py:536 msgid "Receive Parts" msgstr "Teile empfangen" -#: order/views.py:874 +#: order/views.py:606 msgid "Items received" msgstr "Anzahl empfangener Positionen" -#: order/views.py:888 +#: order/views.py:620 msgid "No destination set" msgstr "Kein Ziel gesetzt" -#: order/views.py:933 +#: order/views.py:665 msgid "Error converting quantity to number" msgstr "Fehler beim Konvertieren zu Zahl" -#: order/views.py:939 +#: order/views.py:671 msgid "Receive quantity less than zero" msgstr "Anzahl kleiner null empfangen" -#: order/views.py:945 +#: order/views.py:677 msgid "No lines specified" msgstr "Keine Zeilen angegeben" -#: order/views.py:1018 +#: order/views.py:750 msgid "Update prices" msgstr "" -#: order/views.py:1276 +#: order/views.py:1008 #, python-brace-format msgid "Ordered {n} parts" msgstr "{n} Teile bestellt" -#: order/views.py:1336 -msgid "Supplier part must be specified" -msgstr "Zuliefererteil muss ausgewählt werden" - -#: order/views.py:1342 -msgid "Supplier must match for Part and Order" -msgstr "Zulieferer muss zu Teil und Bestellung passen" - -#: order/views.py:1473 order/views.py:1491 -msgid "Edit Line Item" -msgstr "Position bearbeiten" - -#: order/views.py:1507 order/views.py:1519 -msgid "Delete Line Item" -msgstr "Position löschen" - -#: order/views.py:1512 order/views.py:1524 -msgid "Deleted line item" -msgstr "Position gelöscht" - -#: order/views.py:1537 +#: order/views.py:1061 msgid "Allocate Serial Numbers" msgstr "Seriennummern zuweisen" -#: order/views.py:1582 +#: order/views.py:1106 #, python-brace-format msgid "Allocated {n} items" msgstr "{n} Positionen zugeordnet" -#: order/views.py:1598 +#: order/views.py:1122 msgid "Select line item" msgstr "Position auswählen" -#: order/views.py:1629 +#: order/views.py:1153 #, python-brace-format msgid "No matching item for serial {serial}" msgstr "Kein passends Teil für Seriennummer {serial} gefunden" -#: order/views.py:1639 +#: order/views.py:1163 #, python-brace-format msgid "{serial} is not in stock" msgstr "{serial} ist nicht auf Lager" -#: order/views.py:1647 +#: order/views.py:1171 #, python-brace-format msgid "{serial} already allocated to an order" msgstr "{serial} bereits einem Auftrag zugeordnet" -#: order/views.py:1701 +#: order/views.py:1225 msgid "Allocate Stock to Order" msgstr "Lagerbestand dem Auftrag zuweisen" -#: order/views.py:1775 +#: order/views.py:1299 msgid "Edit Allocation Quantity" msgstr "Zuordnung bearbeiten" -#: order/views.py:1790 +#: order/views.py:1314 msgid "Remove allocation" msgstr "Zuordnung entfernen" -#: order/views.py:1862 +#: order/views.py:1386 msgid "Sales order not found" msgstr "Auftrag nicht gefunden" -#: order/views.py:1868 +#: order/views.py:1392 msgid "Price not found" msgstr "Preis nicht gefunden" -#: order/views.py:1871 +#: order/views.py:1395 #, python-brace-format msgid "Updated {part} unit-price to {price}" msgstr "Stückpreis für {part} auf {price} aktualisiert" -#: order/views.py:1876 +#: order/views.py:1400 #, python-brace-format msgid "Updated {part} unit-price to {price} and quantity to {qty}" msgstr "{part} Stückpreis auf {price} und Menge auf {qty} aktualisiert" -#: part/bom.py:138 part/models.py:72 part/models.py:747 +#: part/bom.py:138 part/models.py:72 part/models.py:756 #: part/templates/part/category.html:75 part/templates/part/detail.html:90 msgid "Default Location" msgstr "Standard-Lagerort" @@ -3725,143 +3674,143 @@ msgstr "Fehler beim Lesen der Stückliste (ungültige Daten)" msgid "Error reading BOM file (incorrect row size)" msgstr "Fehler beim Lesen der Stückliste (ungültige Zeilengröße)" -#: part/forms.py:89 stock/forms.py:265 +#: part/forms.py:73 stock/forms.py:232 msgid "File Format" msgstr "Dateiformat" -#: part/forms.py:89 stock/forms.py:265 +#: part/forms.py:73 stock/forms.py:232 msgid "Select output file format" msgstr "Ausgabe-Dateiformat auswählen" -#: part/forms.py:91 +#: part/forms.py:75 msgid "Cascading" msgstr "Kaskadierend" -#: part/forms.py:91 +#: part/forms.py:75 msgid "Download cascading / multi-level BOM" msgstr "Kaskadierende Stückliste herunterladen" -#: part/forms.py:93 +#: part/forms.py:77 msgid "Levels" msgstr "Ebenen" -#: part/forms.py:93 +#: part/forms.py:77 msgid "Select maximum number of BOM levels to export (0 = all levels)" msgstr "Maximale Anzahl an Ebenen für Stückliste-Export auswählen (0 = alle Ebenen)" -#: part/forms.py:95 +#: part/forms.py:79 msgid "Include Parameter Data" msgstr "Parameter-Daten einschließen" -#: part/forms.py:95 +#: part/forms.py:79 msgid "Include part parameters data in exported BOM" msgstr "Teil-Parameter in Stückliste-Export einschließen" -#: part/forms.py:97 +#: part/forms.py:81 msgid "Include Stock Data" msgstr "Bestand einschließen" -#: part/forms.py:97 +#: part/forms.py:81 msgid "Include part stock data in exported BOM" msgstr "Teil-Bestand in Stückliste-Export einschließen" -#: part/forms.py:99 +#: part/forms.py:83 msgid "Include Manufacturer Data" msgstr "Herstellerdaten einschließen" -#: part/forms.py:99 +#: part/forms.py:83 msgid "Include part manufacturer data in exported BOM" msgstr "Teil-Herstellerdaten in Stückliste-Export einschließen" -#: part/forms.py:101 +#: part/forms.py:85 msgid "Include Supplier Data" msgstr "Zulieferer einschließen" -#: part/forms.py:101 +#: part/forms.py:85 msgid "Include part supplier data in exported BOM" msgstr "Zulieferer-Daten in Stückliste-Export einschließen" -#: part/forms.py:122 part/models.py:2191 +#: part/forms.py:106 part/models.py:2224 msgid "Parent Part" msgstr "Ausgangsteil" -#: part/forms.py:123 part/templates/part/bom_duplicate.html:7 +#: part/forms.py:107 part/templates/part/bom_duplicate.html:7 msgid "Select parent part to copy BOM from" msgstr "Teil für Stücklisten-Kopie auswählen" -#: part/forms.py:129 +#: part/forms.py:113 msgid "Clear existing BOM items" msgstr "Stücklisten-Position(en) löschen" -#: part/forms.py:135 +#: part/forms.py:119 msgid "Confirm BOM duplication" msgstr "Kopie von Stückliste bestätigen" -#: part/forms.py:153 +#: part/forms.py:137 msgid "validate" msgstr "kontrollieren" -#: part/forms.py:153 +#: part/forms.py:137 msgid "Confirm that the BOM is correct" msgstr "Bestätigen, dass die Stückliste korrekt ist" -#: part/forms.py:165 +#: part/forms.py:149 msgid "BOM file" msgstr "Stücklisten-Datei" -#: part/forms.py:165 +#: part/forms.py:149 msgid "Select BOM file to upload" msgstr "Stücklisten-Datei zum Upload auswählen" -#: part/forms.py:184 +#: part/forms.py:168 msgid "Related Part" msgstr "verknüpftes Teil" -#: part/forms.py:203 +#: part/forms.py:175 msgid "Select part category" msgstr "Teil-Kategorie wählen" -#: part/forms.py:220 +#: part/forms.py:192 msgid "Duplicate all BOM data for this part" msgstr "Stückliste für dieses Teil kopieren" -#: part/forms.py:221 +#: part/forms.py:193 msgid "Copy BOM" msgstr "Stückliste kopieren" -#: part/forms.py:226 +#: part/forms.py:198 msgid "Duplicate all parameter data for this part" msgstr "Alle Parameter-Daten für dieses Teil kopieren" -#: part/forms.py:227 +#: part/forms.py:199 msgid "Copy Parameters" msgstr "Parameter kopieren" -#: part/forms.py:232 +#: part/forms.py:204 msgid "Confirm part creation" msgstr "Erstellen des Teils bestätigen" -#: part/forms.py:237 +#: part/forms.py:209 msgid "Include category parameter templates" msgstr "Kategorie Parameter-Vorlage einschließen" -#: part/forms.py:242 +#: part/forms.py:214 msgid "Include parent categories parameter templates" msgstr "Über-Kategorie Parameter-Vorlage einschließen" -#: part/forms.py:322 +#: part/forms.py:294 msgid "Add parameter template to same level categories" msgstr "Parameter-Vorlage zu Kategorien dieser Ebene hinzufügen" -#: part/forms.py:326 +#: part/forms.py:298 msgid "Add parameter template to all categories" msgstr "Parameter-Vorlage zu allen Kategorien hinzufügen" -#: part/forms.py:344 part/models.py:2286 +#: part/forms.py:316 part/models.py:2323 msgid "Sub part" msgstr "Untergeordnetes Teil" -#: part/forms.py:373 +#: part/forms.py:345 msgid "Input quantity for price calculation" msgstr "Menge für die Preisberechnung" @@ -3877,362 +3826,362 @@ msgstr "Standard Stichwörter" msgid "Default keywords for parts in this category" msgstr "Standard-Stichworte für Teile dieser Kategorie" -#: part/models.py:82 part/models.py:2237 +#: part/models.py:86 part/models.py:2270 #: part/templates/part/part_app_base.html:10 msgid "Part Category" msgstr "Teil-Kategorie" -#: part/models.py:83 part/templates/part/category.html:32 +#: part/models.py:87 part/templates/part/category.html:32 #: part/templates/part/category.html:103 templates/InvenTree/search.html:127 -#: templates/stats.html:84 users/models.py:39 +#: templates/stats.html:84 users/models.py:40 msgid "Part Categories" msgstr "Teil-Kategorien" -#: part/models.py:448 part/models.py:460 +#: part/models.py:457 part/models.py:469 #, python-brace-format 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:557 +#: part/models.py:566 msgid "Next available serial numbers are" msgstr "Nächste verfügbare Seriennummern wären" -#: part/models.py:561 +#: part/models.py:570 msgid "Next available serial number is" msgstr "Nächste verfügbare Seriennummer ist" -#: part/models.py:566 +#: part/models.py:575 msgid "Most recent serial number is" msgstr "Die neuste Seriennummer ist" -#: part/models.py:645 +#: part/models.py:654 msgid "Duplicate IPN not allowed in part settings" msgstr "Doppelte IPN in den Teil-Einstellungen nicht erlaubt" -#: part/models.py:670 part/templates/part/detail.html:22 +#: part/models.py:679 part/templates/part/detail.html:22 msgid "Part name" msgstr "Name des Teils" -#: part/models.py:677 +#: part/models.py:686 msgid "Is Template" msgstr "Ist eine Vorlage" -#: part/models.py:678 +#: part/models.py:687 msgid "Is this part a template part?" msgstr "Ist dieses Teil eine Vorlage?" -#: part/models.py:689 +#: part/models.py:698 msgid "Is this part a variant of another part?" msgstr "Ist dieses Teil eine Variante eines anderen Teils?" -#: part/models.py:690 part/templates/part/detail.html:60 +#: part/models.py:699 part/templates/part/detail.html:60 msgid "Variant Of" msgstr "Variante von" -#: part/models.py:696 +#: part/models.py:705 msgid "Part description" msgstr "Beschreibung des Teils" -#: part/models.py:701 part/templates/part/category.html:82 +#: part/models.py:710 part/templates/part/category.html:82 #: part/templates/part/detail.html:67 msgid "Keywords" msgstr "Schlüsselwörter" -#: part/models.py:702 +#: part/models.py:711 msgid "Part keywords to improve visibility in search results" msgstr "Schlüsselworte um die Sichtbarkeit in Suchergebnissen zu verbessern" -#: part/models.py:709 part/models.py:2236 part/templates/part/detail.html:73 +#: part/models.py:718 part/models.py:2269 part/templates/part/detail.html:73 #: part/templates/part/set_category.html:15 templates/js/part.js:452 msgid "Category" msgstr "Kategorie" -#: part/models.py:710 +#: part/models.py:719 msgid "Part category" msgstr "Teile-Kategorie" -#: part/models.py:715 part/templates/part/detail.html:28 +#: part/models.py:724 part/templates/part/detail.html:28 #: part/templates/part/part_base.html:87 templates/js/part.js:169 #: templates/js/part.js:296 msgid "IPN" msgstr "IPN (Interne Produktnummer)" -#: part/models.py:716 +#: part/models.py:725 msgid "Internal Part Number" msgstr "Interne Teilenummer" -#: part/models.py:722 +#: part/models.py:731 msgid "Part revision or version number" msgstr "Revisions- oder Versionsnummer" -#: part/models.py:723 part/templates/part/detail.html:35 report/models.py:199 +#: part/models.py:732 part/templates/part/detail.html:35 report/models.py:199 #: templates/js/part.js:173 msgid "Revision" msgstr "Revision" -#: part/models.py:745 +#: part/models.py:754 msgid "Where is this item normally stored?" msgstr "Wo wird dieses Teil normalerweise gelagert?" -#: part/models.py:792 part/templates/part/detail.html:97 +#: part/models.py:801 part/templates/part/detail.html:97 msgid "Default Supplier" msgstr "Standard Zulieferer" -#: part/models.py:793 +#: part/models.py:802 msgid "Default supplier part" msgstr "Standard Zuliefererteil" -#: part/models.py:800 +#: part/models.py:809 msgid "Default Expiry" msgstr "Standard Ablaufzeit" -#: part/models.py:801 +#: part/models.py:810 msgid "Expiry time (in days) for stock items of this part" msgstr "Ablauf-Zeit (in Tagen) für Lagerbestand dieses Teils" -#: part/models.py:806 part/templates/part/detail.html:113 +#: part/models.py:815 part/templates/part/detail.html:113 msgid "Minimum Stock" msgstr "Minimaler Lagerbestand" -#: part/models.py:807 +#: part/models.py:816 msgid "Minimum allowed stock level" msgstr "Minimal zulässiger Lagerbestand" -#: part/models.py:814 +#: part/models.py:823 msgid "Stock keeping units for this part" msgstr "Stock Keeping Units (SKU) für dieses Teil" -#: part/models.py:820 +#: part/models.py:829 msgid "Can this part be built from other parts?" msgstr "Kann dieses Teil aus anderen Teilen angefertigt werden?" -#: part/models.py:826 +#: part/models.py:835 msgid "Can this part be used to build other parts?" msgstr "Kann dieses Teil zum Bauauftrag von anderen genutzt werden?" -#: part/models.py:832 +#: part/models.py:841 msgid "Does this part have tracking for unique items?" msgstr "Hat dieses Teil Tracking für einzelne Objekte?" -#: part/models.py:837 +#: part/models.py:846 msgid "Can this part be purchased from external suppliers?" msgstr "Kann dieses Teil von externen Zulieferern gekauft werden?" -#: part/models.py:842 +#: part/models.py:851 msgid "Can this part be sold to customers?" msgstr "Kann dieses Teil an Kunden verkauft werden?" -#: part/models.py:846 part/templates/part/detail.html:227 +#: part/models.py:855 part/templates/part/detail.html:227 #: templates/js/table_filters.js:21 templates/js/table_filters.js:65 -#: templates/js/table_filters.js:241 templates/js/table_filters.js:310 +#: templates/js/table_filters.js:246 templates/js/table_filters.js:315 msgid "Active" msgstr "Aktiv" -#: part/models.py:847 +#: part/models.py:856 msgid "Is this part active?" msgstr "Ist dieses Teil aktiv?" -#: part/models.py:852 +#: part/models.py:861 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:857 +#: part/models.py:866 msgid "Part notes - supports Markdown formatting" msgstr "Bemerkungen - unterstüzt Markdown-Formatierung" -#: part/models.py:860 +#: part/models.py:869 msgid "BOM checksum" msgstr "Prüfsumme der Stückliste" -#: part/models.py:860 +#: part/models.py:869 msgid "Stored BOM checksum" msgstr "Prüfsumme der Stückliste gespeichert" -#: part/models.py:863 +#: part/models.py:872 msgid "BOM checked by" msgstr "Stückliste kontrolliert von" -#: part/models.py:865 +#: part/models.py:874 msgid "BOM checked date" msgstr "BOM Kontrolldatum" -#: part/models.py:869 +#: part/models.py:878 msgid "Creation User" msgstr "Erstellungs-Nutzer" -#: part/models.py:1608 +#: part/models.py:1617 msgid "Sell multiple" msgstr "Mehrere verkaufen" -#: part/models.py:2063 +#: part/models.py:2088 msgid "Test templates can only be created for trackable parts" msgstr "Test-Vorlagen können nur für verfolgbare Teile angelegt werden" -#: part/models.py:2080 +#: part/models.py:2105 msgid "Test with this name already exists for this part" msgstr "Ein Test mit diesem Namen besteht bereits für dieses Teil" -#: part/models.py:2100 templates/js/part.js:717 templates/js/stock.js:117 +#: part/models.py:2125 templates/js/part.js:717 templates/js/stock.js:117 msgid "Test Name" msgstr "Test-Name" -#: part/models.py:2101 +#: part/models.py:2126 msgid "Enter a name for the test" msgstr "Namen für diesen Test eingeben" -#: part/models.py:2106 +#: part/models.py:2131 msgid "Test Description" msgstr "Test-Beschreibung" -#: part/models.py:2107 +#: part/models.py:2132 msgid "Enter description for this test" msgstr "Beschreibung für diesen Test eingeben" -#: part/models.py:2112 templates/js/part.js:726 -#: templates/js/table_filters.js:227 +#: part/models.py:2137 templates/js/part.js:726 +#: templates/js/table_filters.js:232 msgid "Required" msgstr "Benötigt" -#: part/models.py:2113 +#: part/models.py:2138 msgid "Is this test required to pass?" msgstr "Muss dieser Test erfolgreich sein?" -#: part/models.py:2118 templates/js/part.js:734 +#: part/models.py:2143 templates/js/part.js:734 msgid "Requires Value" msgstr "Erfordert Wert" -#: part/models.py:2119 +#: part/models.py:2144 msgid "Does this test require a value when adding a test result?" msgstr "Muss für diesen Test ein Wert für das Test-Ergebnis eingetragen werden?" -#: part/models.py:2124 templates/js/part.js:741 +#: part/models.py:2149 templates/js/part.js:741 msgid "Requires Attachment" msgstr "Anhang muss eingegeben werden" -#: part/models.py:2125 +#: part/models.py:2150 msgid "Does this test require a file attachment when adding a test result?" msgstr "Muss für diesen Test ein Anhang für das Test-Ergebnis hinzugefügt werden?" -#: part/models.py:2158 +#: part/models.py:2187 msgid "Parameter template name must be unique" msgstr "Vorlagen-Name des Parameters muss eindeutig sein" -#: part/models.py:2163 +#: part/models.py:2192 msgid "Parameter Name" msgstr "Name des Parameters" -#: part/models.py:2165 +#: part/models.py:2194 msgid "Parameter Units" msgstr "Einheit des Parameters" -#: part/models.py:2193 part/models.py:2242 part/models.py:2243 +#: part/models.py:2226 part/models.py:2275 part/models.py:2276 #: templates/InvenTree/settings/category.html:62 msgid "Parameter Template" msgstr "Parameter Vorlage" -#: part/models.py:2195 +#: part/models.py:2228 msgid "Data" msgstr "Wert" -#: part/models.py:2195 +#: part/models.py:2228 msgid "Parameter Value" msgstr "Parameter Wert" -#: part/models.py:2247 templates/InvenTree/settings/category.html:67 +#: part/models.py:2280 templates/InvenTree/settings/category.html:67 msgid "Default Value" msgstr "Standard-Wert" -#: part/models.py:2248 +#: part/models.py:2281 msgid "Default Parameter Value" msgstr "Standard Parameter Wert" -#: part/models.py:2278 +#: part/models.py:2315 msgid "Select parent part" msgstr "Ausgangsteil auswählen" -#: part/models.py:2287 +#: part/models.py:2324 msgid "Select part to be used in BOM" msgstr "Teil für die Nutzung in der Stückliste auswählen" -#: part/models.py:2293 +#: part/models.py:2330 msgid "BOM quantity for this BOM item" msgstr "Stücklisten-Anzahl für dieses Stücklisten-Teil" -#: part/models.py:2295 templates/js/bom.js:216 templates/js/bom.js:278 +#: part/models.py:2332 templates/js/bom.js:216 templates/js/bom.js:278 msgid "Optional" msgstr "Optional" -#: part/models.py:2295 +#: part/models.py:2332 msgid "This BOM item is optional" msgstr "Diese Stücklisten-Position ist optional" -#: part/models.py:2298 +#: part/models.py:2335 msgid "Overage" msgstr "Überschuss" -#: part/models.py:2299 +#: part/models.py:2336 msgid "Estimated build wastage quantity (absolute or percentage)" msgstr "Geschätzter Ausschuss (absolut oder prozentual)" -#: part/models.py:2302 +#: part/models.py:2339 msgid "BOM item reference" msgstr "Referenz der Postion auf der Stückliste" -#: part/models.py:2305 +#: part/models.py:2342 msgid "BOM item notes" msgstr "Notizen zur Stücklisten-Position" -#: part/models.py:2307 +#: part/models.py:2344 msgid "Checksum" msgstr "Prüfsumme" -#: part/models.py:2307 +#: part/models.py:2344 msgid "BOM line checksum" msgstr "Prüfsumme der Stückliste" -#: part/models.py:2311 templates/js/bom.js:295 templates/js/bom.js:302 +#: part/models.py:2348 templates/js/bom.js:295 templates/js/bom.js:302 #: templates/js/table_filters.js:51 msgid "Inherited" msgstr "Geerbt" -#: part/models.py:2312 +#: part/models.py:2349 msgid "This BOM item is inherited by BOMs for variant parts" msgstr "Diese Stücklisten-Position wird in die Stücklisten von Teil-Varianten vererbt" -#: part/models.py:2317 templates/js/bom.js:287 +#: part/models.py:2354 templates/js/bom.js:287 msgid "Allow Variants" msgstr "Varianten zulassen" -#: part/models.py:2318 +#: part/models.py:2355 msgid "Stock items for variant parts can be used for this BOM item" msgstr "Lagerbestand von Varianten kann für diese Stücklisten-Position verwendet werden" -#: part/models.py:2394 part/views.py:1859 part/views.py:1911 -#: stock/models.py:290 +#: part/models.py:2431 part/views.py:1736 part/views.py:1788 +#: stock/models.py:298 msgid "Quantity must be integer value for trackable parts" msgstr "Menge muss eine Ganzzahl sein" -#: part/models.py:2403 part/models.py:2405 +#: part/models.py:2440 part/models.py:2442 msgid "Sub part must be specified" msgstr "Zuliefererteil muss festgelegt sein" -#: part/models.py:2408 +#: part/models.py:2445 msgid "BOM Item" msgstr "Stücklisten-Position" -#: part/models.py:2527 +#: part/models.py:2564 msgid "Part 1" msgstr "Teil 1" -#: part/models.py:2531 +#: part/models.py:2568 msgid "Part 2" msgstr "Teil 2" -#: part/models.py:2531 +#: part/models.py:2568 msgid "Select Related Part" msgstr "verknüpftes Teil auswählen" -#: part/models.py:2563 +#: part/models.py:2600 msgid "Error creating relationship: check that the part is not related to itself and that the relationship is unique" msgstr "Fehler bei Verwandschaft: Ist das Teil mit sich selbst verwandt oder ist das die Verwandtschaft nicht eindeutig?" @@ -4248,14 +4197,6 @@ msgstr "" msgid "Part Attachments" msgstr "Anhänge" -#: part/templates/part/bom-delete.html:6 -msgid "Are you sure you want to delete this BOM item?" -msgstr "Sind Sie sicher, dass Sie diese Stücklisten-Position löschen wollen?" - -#: part/templates/part/bom-delete.html:8 -msgid "Deleting this entry will remove the BOM row from the following part" -msgstr "Die Löschung dieses Eintrags wird das Stücklisten-Position vom folgenden Teil entfernen" - #: part/templates/part/bom.html:10 part/templates/part/navbar.html:51 #: part/templates/part/navbar.html:54 msgid "Bill of Materials" @@ -4304,7 +4245,7 @@ msgstr "Stückliste bearbeiten" msgid "Validate Bill of Materials" msgstr "Stückliste kontrollieren" -#: part/templates/part/bom.html:61 part/views.py:2154 +#: part/templates/part/bom.html:61 part/views.py:2031 msgid "Export Bill of Materials" msgstr "Stückliste exportieren" @@ -4320,8 +4261,8 @@ msgstr "Ausgewählte Stücklistenpositionen löschen?" msgid "All selected BOM items will be deleted" msgstr "Alle ausgewählte Stücklistenpositionen werden gelöscht" -#: part/templates/part/bom.html:160 part/views.py:590 -#: templates/js/stock.js:1313 +#: part/templates/part/bom.html:160 part/views.py:450 +#: templates/js/stock.js:1327 msgid "Create New Part" msgstr "Neues Teil anlegen" @@ -4402,7 +4343,7 @@ msgstr "Neuen Bauauftrag beginnen" msgid "All parts" msgstr "Alle Teile" -#: part/templates/part/category.html:38 part/views.py:2564 +#: part/templates/part/category.html:38 part/views.py:2441 msgid "Create new part category" msgstr "Teil-Kategorie anlegen" @@ -4462,11 +4403,12 @@ msgid "View grid display" msgstr "Rasteransicht anzeigen" #: part/templates/part/category.html:218 -#: stock/templates/stock/location.html:192 templates/js/stock.js:737 +#: stock/templates/stock/location.html:192 templates/js/stock.js:751 msgid "Create new location" msgstr "Neuen Lagerort anlegen" #: part/templates/part/category.html:223 part/templates/part/category.html:253 +#: part/templates/part/part_base.html:378 msgid "New Category" msgstr "Neue Kategorie" @@ -4478,10 +4420,18 @@ msgstr "Teil-Kategorie anlegen" msgid "Create new Part Category" msgstr "Neue Teil-Kategorie anlegen" -#: part/templates/part/category.html:260 stock/views.py:1391 +#: part/templates/part/category.html:260 stock/views.py:1223 msgid "Create new Stock Location" msgstr "Neuen Lagerort erstellen" +#: part/templates/part/category.html:279 +msgid "Select parent category" +msgstr "" + +#: part/templates/part/category.html:286 part/views.py:2389 +msgid "Edit Part Category" +msgstr "Teil-Kategorie bearbeiten" + #: part/templates/part/category_delete.html:5 msgid "Are you sure you want to delete category" msgstr "Sind Sie sicher, dass Sie diese Kategorie löschen wollen" @@ -4527,7 +4477,7 @@ msgstr "" msgid "Part Parameters" msgstr "Teilparameter" -#: part/templates/part/copy_part.html:9 part/views.py:466 +#: part/templates/part/copy_part.html:9 part/views.py:326 msgid "Duplicate Part" msgstr "Teil duplizieren" @@ -4640,36 +4590,6 @@ msgstr "" msgid "Import Parts from File" msgstr "" -#: part/templates/part/internal_prices.html:11 -#: part/templates/part/navbar.html:101 -msgid "Internal Price Information" -msgstr "" - -#: part/templates/part/internal_prices.html:19 part/views.py:2989 -msgid "Add Internal Price Break" -msgstr "" - -#: part/templates/part/internal_prices.html:28 templates/403.html:5 -#: templates/403.html:11 -msgid "Permission Denied" -msgstr "Zugriff verweigert" - -#: part/templates/part/internal_prices.html:31 templates/403.html:14 -msgid "You do not have permission to view this page." -msgstr "Keine Berechtigung zum Anzeigen dieser Seite." - -#: part/templates/part/internal_prices.html:59 -msgid "No internal price break information found" -msgstr "" - -#: part/templates/part/internal_prices.html:110 -msgid "Edit internal price break" -msgstr "" - -#: part/templates/part/internal_prices.html:111 -msgid "Delete internal price break" -msgstr "" - #: part/templates/part/manufacturer.html:11 msgid "Part Manufacturers" msgstr "Teil-Hersteller" @@ -4679,7 +4599,7 @@ msgid "Delete manufacturer parts" msgstr "Herstellerteile löschen" #: part/templates/part/manufacturer.html:53 -#: part/templates/part/supplier.html:57 +#: part/templates/part/supplier.html:56 msgid "Create new manufacturer" msgstr "Neuen Hersteller anlegen" @@ -4703,125 +4623,27 @@ msgstr "Zuweisungen" msgid "Used In" msgstr "Benutzt in" -#: part/templates/part/navbar.html:75 part/templates/part/order_prices.html:12 -msgid "Order Price Information" -msgstr "Bestellpreisinformationen" +#: part/templates/part/navbar.html:77 +msgid "Prices" +msgstr "" -#: part/templates/part/navbar.html:78 -msgid "Order Price" -msgstr "Bestellpreis" - -#: part/templates/part/navbar.html:104 part/templates/part/order_prices.html:94 -#: part/templates/part/part_pricing.html:82 -msgid "Internal Price" -msgstr "Interner Preis" - -#: part/templates/part/navbar.html:107 -msgid "Sales Price Information" -msgstr "Preisinformationen ansehen" - -#: part/templates/part/navbar.html:121 part/templates/part/part_tests.html:10 +#: part/templates/part/navbar.html:109 part/templates/part/part_tests.html:10 msgid "Part Test Templates" msgstr "Teil Test-Vorlagen" -#: part/templates/part/navbar.html:124 stock/templates/stock/item_base.html:414 +#: part/templates/part/navbar.html:112 stock/templates/stock/item_base.html:414 msgid "Tests" msgstr "Tests" -#: part/templates/part/navbar.html:129 part/templates/part/navbar.html:132 +#: part/templates/part/navbar.html:117 part/templates/part/navbar.html:120 #: part/templates/part/related.html:10 msgid "Related Parts" msgstr "Verknüpfte Teile" -#: part/templates/part/navbar.html:142 part/templates/part/notes.html:12 +#: part/templates/part/navbar.html:130 part/templates/part/notes.html:12 msgid "Part Notes" msgstr "Teil-Bemerkungen" -#: part/templates/part/order_prices.html:25 -#: part/templates/part/part_base.html:282 -msgid "Calculate" -msgstr "Berechnen" - -#: part/templates/part/order_prices.html:32 -msgid "Pricing ranges" -msgstr "Preisspannen" - -#: part/templates/part/order_prices.html:37 -#: part/templates/part/part_pricing.html:22 -msgid "Supplier Pricing" -msgstr "Zulieferer-Preise" - -#: part/templates/part/order_prices.html:38 -#: part/templates/part/order_prices.html:63 -#: part/templates/part/order_prices.html:95 -#: part/templates/part/order_prices.html:109 -#: part/templates/part/part_pricing.html:26 -#: part/templates/part/part_pricing.html:52 -#: part/templates/part/part_pricing.html:85 -#: part/templates/part/part_pricing.html:100 -msgid "Unit Cost" -msgstr "Stückpreis" - -#: part/templates/part/order_prices.html:45 -#: part/templates/part/order_prices.html:70 -#: part/templates/part/order_prices.html:100 -#: part/templates/part/order_prices.html:114 -#: part/templates/part/part_pricing.html:32 -#: part/templates/part/part_pricing.html:58 -#: part/templates/part/part_pricing.html:89 -#: part/templates/part/part_pricing.html:104 -msgid "Total Cost" -msgstr "Gesamtkosten" - -#: part/templates/part/order_prices.html:53 -#: part/templates/part/part_pricing.html:40 -msgid "No supplier pricing available" -msgstr "Keine Zulieferer-Preise verfügbar" - -#: part/templates/part/order_prices.html:62 -#: part/templates/part/order_prices.html:129 -#: part/templates/part/part_pricing.html:48 -msgid "BOM Pricing" -msgstr "Stücklistenpreise" - -#: part/templates/part/order_prices.html:78 -#: part/templates/part/part_pricing.html:66 -msgid "Note: BOM pricing is incomplete for this part" -msgstr "Anmerkung: Stücklistenbepreisung für dieses Teil ist unvollständig" - -#: part/templates/part/order_prices.html:85 -#: part/templates/part/part_pricing.html:73 -msgid "No BOM pricing available" -msgstr "Keine Stücklisten-Preise verfügbar" - -#: part/templates/part/order_prices.html:123 -#: part/templates/part/part_pricing.html:113 -msgid "No pricing information is available for this part." -msgstr "Keine Preise für dieses Teil verfügbar" - -#: part/templates/part/order_prices.html:139 -msgid "Stock Pricing" -msgstr "Bestandspreise" - -#: part/templates/part/order_prices.html:147 -msgid "No stock pricing history is available for this part." -msgstr "Für dieses Teil sind keine Bestandspreise verfügbar." - -#: part/templates/part/order_prices.html:166 -#, python-format -msgid "Single Price - %(currency)s" -msgstr "Einzelpreis - %(currency)s" - -#: part/templates/part/order_prices.html:178 -#, python-format -msgid "Single Price Difference - %(currency)s" -msgstr "Einzelpreisdifferenz - %(currency)s" - -#: part/templates/part/order_prices.html:190 -#, python-format -msgid "Part Single Price - %(currency)s" -msgstr "Einzelpreis für Zuliefererteil- %(currency)s" - #: part/templates/part/params.html:17 msgid "Add new parameter" msgstr "Parameter hinzufügen" @@ -4842,8 +4664,8 @@ msgstr "Neue Teilparametervorlage anlegen" msgid "Part List" msgstr "Teileliste" -#: part/templates/part/part_base.html:26 templates/js/company.js:156 -#: templates/js/company.js:355 templates/js/part.js:84 templates/js/part.js:161 +#: part/templates/part/part_base.html:26 templates/js/company.js:280 +#: templates/js/company.js:480 templates/js/part.js:84 templates/js/part.js:161 msgid "Inactive" msgstr "Inaktiv" @@ -4906,7 +4728,7 @@ msgstr "Dieses Teil ist eine Variante von %(link)s" msgid "In Stock" msgstr "Auf Lager" -#: part/templates/part/part_base.html:143 templates/InvenTree/index.html:131 +#: part/templates/part/part_base.html:143 templates/InvenTree/index.html:132 msgid "Required for Build Orders" msgstr "Für Bauaufträge benötigt" @@ -4927,10 +4749,86 @@ msgstr "Herstellbar" msgid "Building" msgstr "Im Bau" +#: part/templates/part/part_base.html:285 part/templates/part/prices.html:131 +msgid "Calculate" +msgstr "Berechnen" + +#: part/templates/part/part_base.html:379 +msgid "Create New Part Category" +msgstr "" + +#: part/templates/part/part_base.html:387 +msgid "New Parent" +msgstr "" + +#: part/templates/part/part_base.html:435 +msgid "Edit Part" +msgstr "" + +#: part/templates/part/part_pricing.html:22 part/templates/part/prices.html:27 +msgid "Supplier Pricing" +msgstr "Zulieferer-Preise" + +#: part/templates/part/part_pricing.html:26 +#: part/templates/part/part_pricing.html:52 +#: part/templates/part/part_pricing.html:85 +#: part/templates/part/part_pricing.html:100 part/templates/part/prices.html:31 +#: part/templates/part/prices.html:58 part/templates/part/prices.html:90 +#: part/templates/part/prices.html:107 +msgid "Unit Cost" +msgstr "Stückpreis" + +#: part/templates/part/part_pricing.html:32 +#: part/templates/part/part_pricing.html:58 +#: part/templates/part/part_pricing.html:89 +#: part/templates/part/part_pricing.html:104 part/templates/part/prices.html:38 +#: part/templates/part/prices.html:65 part/templates/part/prices.html:95 +#: part/templates/part/prices.html:112 +msgid "Total Cost" +msgstr "Gesamtkosten" + +#: part/templates/part/part_pricing.html:40 part/templates/part/prices.html:46 +msgid "No supplier pricing available" +msgstr "Keine Zulieferer-Preise verfügbar" + +#: part/templates/part/part_pricing.html:48 part/templates/part/prices.html:55 +#: part/templates/part/prices.html:235 +msgid "BOM Pricing" +msgstr "Stücklistenpreise" + +#: part/templates/part/part_pricing.html:66 part/templates/part/prices.html:73 +msgid "Note: BOM pricing is incomplete for this part" +msgstr "Anmerkung: Stücklistenbepreisung für dieses Teil ist unvollständig" + +#: part/templates/part/part_pricing.html:73 part/templates/part/prices.html:80 +msgid "No BOM pricing available" +msgstr "Keine Stücklisten-Preise verfügbar" + +#: part/templates/part/part_pricing.html:82 part/templates/part/prices.html:89 +msgid "Internal Price" +msgstr "Interner Preis" + +#: part/templates/part/part_pricing.html:113 +#: part/templates/part/prices.html:121 +msgid "No pricing information is available for this part." +msgstr "Keine Preise für dieses Teil verfügbar" + #: part/templates/part/part_tests.html:17 msgid "Add Test Template" msgstr "Test Vorlage hinzufügen" +#: part/templates/part/part_tests.html:61 +msgid "Add Test Result Template" +msgstr "" + +#: part/templates/part/part_tests.html:79 +msgid "Edit Test Result Template" +msgstr "" + +#: part/templates/part/part_tests.html:91 +msgid "Delete Test Result Template" +msgstr "" + #: part/templates/part/part_thumb.html:20 msgid "Select from existing images" msgstr "Aus vorhandenen Bildern auswählen" @@ -4965,14 +4863,100 @@ msgstr "Es sind %(count)s Zulieferer für diesen Teil definiert. Wenn Sie diesen msgid "There are %(count)s unique parts tracked for '%(full_name)s'. Deleting this part will permanently remove this tracking information." msgstr "Es gibt %(count)s einzigartige Teile, die für '%(full_name)s' verfolgt werden. Das Löschen dieses Teils wird diese Tracking-Informationen dauerhaft entfernen." +#: part/templates/part/prices.html:12 +msgid "General Price Information" +msgstr "" + +#: part/templates/part/prices.html:22 +msgid "Pricing ranges" +msgstr "Preisspannen" + +#: part/templates/part/prices.html:28 +msgid "Show supplier cost" +msgstr "" + +#: part/templates/part/prices.html:29 +msgid "Show purchase price" +msgstr "" + +#: part/templates/part/prices.html:56 +msgid "Show BOM cost" +msgstr "" + +#: part/templates/part/prices.html:104 +msgid "Show sale cost" +msgstr "" + +#: part/templates/part/prices.html:105 +msgid "Show sale price" +msgstr "" + +#: part/templates/part/prices.html:127 +msgid "Calculation parameters" +msgstr "" + +#: part/templates/part/prices.html:146 +msgid "Supplier Cost" +msgstr "" + +#: part/templates/part/prices.html:147 part/templates/part/prices.html:167 +#: part/templates/part/prices.html:193 part/templates/part/prices.html:224 +#: part/templates/part/prices.html:251 part/templates/part/prices.html:279 +msgid "Jump to overview" +msgstr "" + +#: part/templates/part/prices.html:172 +msgid "Stock Pricing" +msgstr "Bestandspreise" + +#: part/templates/part/prices.html:180 +msgid "No stock pricing history is available for this part." +msgstr "Für dieses Teil sind keine Bestandspreise verfügbar." + +#: part/templates/part/prices.html:192 +msgid "Internal Cost" +msgstr "" + +#: part/templates/part/prices.html:206 part/views.py:2859 +msgid "Add Internal Price Break" +msgstr "" + +#: part/templates/part/prices.html:223 +msgid "BOM Cost" +msgstr "" + +#: part/templates/part/prices.html:250 +msgid "Sale Cost" +msgstr "" + +#: part/templates/part/prices.html:290 +msgid "No sale pice history available for this part." +msgstr "" + +#: part/templates/part/prices.html:340 +#, python-format +msgid "Single Price - %(currency)s" +msgstr "Einzelpreis - %(currency)s" + +#: part/templates/part/prices.html:352 +#, python-format +msgid "Single Price Difference - %(currency)s" +msgstr "Einzelpreisdifferenz - %(currency)s" + +#: part/templates/part/prices.html:364 +#, python-format +msgid "Part Single Price - %(currency)s" +msgstr "Einzelpreis für Zuliefererteil- %(currency)s" + +#: part/templates/part/prices.html:464 +#, python-format +msgid "Unit Price - %(currency)s" +msgstr "" + #: part/templates/part/related.html:18 msgid "Add Related" msgstr "Verknüpftes Teil hinzufügen" -#: part/templates/part/sale_prices.html:10 -msgid "Sell Price Information" -msgstr "Verkaufspreis Informationen" - #: part/templates/part/sales_orders.html:18 msgid "New sales order" msgstr "Neuer Auftrag" @@ -5044,216 +5028,180 @@ msgstr "verknüpftes Teil hinzufügen" msgid "Delete Related Part" msgstr "verknüpftes Teil entfernen" -#: part/views.py:164 -msgid "Add part attachment" -msgstr "Teilanhang hinzufügen" - -#: part/views.py:217 templates/attachment_table.html:32 -msgid "Edit attachment" -msgstr "Anhang bearbeiten" - -#: part/views.py:221 -msgid "Part attachment updated" -msgstr "Teilanhang aktualisiert" - -#: part/views.py:236 -msgid "Delete Part Attachment" -msgstr "Teilanhang löschen" - -#: part/views.py:244 -msgid "Deleted part attachment" -msgstr "Teilanhang gelöscht" - -#: part/views.py:253 -msgid "Create Test Template" -msgstr "Testvorlage anlegen" - -#: part/views.py:280 -msgid "Edit Test Template" -msgstr "Testvorlage bearbeiten" - -#: part/views.py:294 -msgid "Delete Test Template" -msgstr "Testvorlage löschen" - -#: part/views.py:301 +#: part/views.py:161 msgid "Set Part Category" msgstr "Teil-Kategorie auswählen" -#: part/views.py:351 +#: part/views.py:211 #, python-brace-format msgid "Set category for {n} parts" msgstr "Kategorie für {n} Teile setzen" -#: part/views.py:386 +#: part/views.py:246 msgid "Create Variant" msgstr "Variante anlegen" -#: part/views.py:471 +#: part/views.py:331 msgid "Copied part" msgstr "Teil kopiert" -#: part/views.py:525 part/views.py:663 +#: part/views.py:385 part/views.py:523 msgid "Possible matches exist - confirm creation of new part" msgstr "Übereinstimmung gefunden - Teil trotzdem anlegen" -#: part/views.py:595 +#: part/views.py:455 msgid "Created new part" msgstr "Neues Teil angelegt" -#: part/views.py:763 +#: part/views.py:623 msgid "Match References" msgstr "" -#: part/views.py:1092 +#: part/views.py:925 +msgid "None" +msgstr "" + +#: part/views.py:984 msgid "Part QR Code" msgstr "Teil-QR-Code" -#: part/views.py:1194 -msgid "Upload Part Image" -msgstr "Teilbild hochladen" - -#: part/views.py:1200 part/views.py:1235 -msgid "Updated part image" -msgstr "Teilbild aktualisiert" - -#: part/views.py:1209 +#: part/views.py:1086 msgid "Select Part Image" msgstr "Teilbild auswählen" -#: part/views.py:1238 +#: part/views.py:1112 +msgid "Updated part image" +msgstr "Teilbild aktualisiert" + +#: part/views.py:1115 msgid "Part image not found" msgstr "Teilbild nicht gefunden" -#: part/views.py:1249 +#: part/views.py:1126 msgid "Edit Part Properties" msgstr "Teileigenschaften bearbeiten" -#: part/views.py:1284 +#: part/views.py:1161 msgid "Duplicate BOM" msgstr "Stückliste duplizieren" -#: part/views.py:1314 +#: part/views.py:1191 msgid "Confirm duplication of BOM from parent" msgstr "bestätige Duplizierung Stückliste von übergeordneter Stückliste" -#: part/views.py:1335 +#: part/views.py:1212 msgid "Validate BOM" msgstr "Stückliste überprüfen" -#: part/views.py:1356 +#: part/views.py:1233 msgid "Confirm that the BOM is valid" msgstr "Bestätigen, dass Stückliste korrekt ist" -#: part/views.py:1367 +#: part/views.py:1244 msgid "Validated Bill of Materials" msgstr "überprüfte Stückliste" -#: part/views.py:1501 +#: part/views.py:1378 msgid "No BOM file provided" msgstr "Keine Stückliste angegeben" -#: part/views.py:1862 +#: part/views.py:1739 msgid "Enter a valid quantity" msgstr "Bitte eine gültige Anzahl eingeben" -#: part/views.py:1887 part/views.py:1890 +#: part/views.py:1764 part/views.py:1767 msgid "Select valid part" msgstr "Bitte ein gültiges Teil auswählen" -#: part/views.py:1896 +#: part/views.py:1773 msgid "Duplicate part selected" msgstr "Teil doppelt ausgewählt" -#: part/views.py:1934 +#: part/views.py:1811 msgid "Select a part" msgstr "Teil auswählen" -#: part/views.py:1940 +#: part/views.py:1817 msgid "Selected part creates a circular BOM" msgstr "gewähltes Teil erzeugt rekursive Stückliste" -#: part/views.py:1944 +#: part/views.py:1821 msgid "Specify quantity" msgstr "Anzahl angeben" -#: part/views.py:2206 +#: part/views.py:2083 msgid "Confirm Part Deletion" msgstr "Löschen des Teils bestätigen" -#: part/views.py:2213 +#: part/views.py:2090 msgid "Part was deleted" msgstr "Teil wurde gelöscht" -#: part/views.py:2222 +#: part/views.py:2099 msgid "Part Pricing" msgstr "Teilbepreisung" -#: part/views.py:2363 +#: part/views.py:2240 msgid "Create Part Parameter Template" msgstr "Teilparametervorlage anlegen" -#: part/views.py:2373 +#: part/views.py:2250 msgid "Edit Part Parameter Template" msgstr "Teilparametervorlage bearbeiten" -#: part/views.py:2380 +#: part/views.py:2257 msgid "Delete Part Parameter Template" msgstr "Teilparametervorlage löschen" -#: part/views.py:2388 +#: part/views.py:2265 msgid "Create Part Parameter" msgstr "Teilparameter anlegen" -#: part/views.py:2438 +#: part/views.py:2315 msgid "Edit Part Parameter" msgstr "Teilparameter bearbeiten" -#: part/views.py:2452 +#: part/views.py:2329 msgid "Delete Part Parameter" msgstr "Teilparameter löschen" -#: part/views.py:2512 -msgid "Edit Part Category" -msgstr "Teil-Kategorie bearbeiten" - -#: part/views.py:2550 +#: part/views.py:2427 msgid "Delete Part Category" msgstr "Teil-Kategorie löschen" -#: part/views.py:2556 +#: part/views.py:2433 msgid "Part category was deleted" msgstr "Teil-Kategorie wurde gelöscht" -#: part/views.py:2608 +#: part/views.py:2485 msgid "Create Category Parameter Template" msgstr "Kategorieparametervorlage anlegen" -#: part/views.py:2709 +#: part/views.py:2586 msgid "Edit Category Parameter Template" msgstr "Kategorieparametervorlage bearbeiten" -#: part/views.py:2765 +#: part/views.py:2642 msgid "Delete Category Parameter Template" msgstr "Kategorieparametervorlage löschen" -#: part/views.py:2784 +#: part/views.py:2661 msgid "Create BOM Item" msgstr "Stücklisten-Position anlegen" -#: part/views.py:2854 +#: part/views.py:2731 msgid "Edit BOM item" msgstr "Stücklisten-Position bearbeiten" -#: part/views.py:2910 -msgid "Confim BOM item deletion" -msgstr "löschen von Stücklisten-Position bestätigen" +#: part/views.py:2792 +msgid "Added new price break" +msgstr "neue Preisstaffel hinzufügt" -#: part/views.py:2998 +#: part/views.py:2868 msgid "Edit Internal Price Break" msgstr "" -#: part/views.py:3006 +#: part/views.py:2876 msgid "Delete Internal Price Break" msgstr "" @@ -5359,17 +5307,17 @@ msgid "Test Results" msgstr "Testergebnisse" #: report/templates/report/inventree_test_report_base.html:88 -#: stock/models.py:1739 +#: stock/models.py:1759 msgid "Test" msgstr "Test" #: report/templates/report/inventree_test_report_base.html:89 -#: stock/models.py:1745 +#: stock/models.py:1765 msgid "Result" msgstr "Ergebnis" #: report/templates/report/inventree_test_report_base.html:92 -#: templates/js/order.js:195 templates/js/stock.js:1012 +#: templates/js/order.js:257 templates/js/stock.js:1026 msgid "Date" msgstr "Datum" @@ -5381,287 +5329,287 @@ msgstr "bestanden" msgid "Fail" msgstr "fehlgeschlagen" -#: stock/api.py:212 +#: stock/api.py:211 #, python-brace-format msgid "Updated stock for {n} items" msgstr "Bestand für {n} Objekte geändert" -#: stock/api.py:281 +#: stock/api.py:280 #, python-brace-format msgid "Moved {n} parts to {loc}" msgstr "{n} Teile nach {loc} bewegt" -#: stock/forms.py:114 stock/forms.py:418 stock/models.py:505 +#: stock/forms.py:81 stock/forms.py:385 stock/models.py:513 #: stock/templates/stock/item_base.html:381 templates/js/stock.js:658 msgid "Expiry Date" msgstr "Ablaufdatum" -#: stock/forms.py:115 stock/forms.py:419 +#: stock/forms.py:82 stock/forms.py:386 msgid "Expiration date for this stock item" msgstr "Ablaufdatum für dieses BestandsObjekt" -#: stock/forms.py:118 +#: stock/forms.py:85 msgid "Enter unique serial numbers (or leave blank)" msgstr "Eindeutige Seriennummern eingeben (oder leer lassen)" -#: stock/forms.py:169 +#: stock/forms.py:136 msgid "Destination for serialized stock (by default, will remain in current location)" msgstr "Lagerort für serial" -#: stock/forms.py:171 +#: stock/forms.py:138 msgid "Serial numbers" msgstr "Seriennummern" -#: stock/forms.py:171 +#: stock/forms.py:138 msgid "Unique serial numbers (must match quantity)" msgstr "Anzahl der eindeutigen Seriennummern (muss mit der Anzahl übereinstimmen)" -#: stock/forms.py:173 stock/forms.py:349 +#: stock/forms.py:140 stock/forms.py:316 msgid "Add transaction note (optional)" msgstr " Transaktionsnotizen hinzufügen (optional)" -#: stock/forms.py:203 stock/forms.py:259 +#: stock/forms.py:170 stock/forms.py:226 msgid "Select test report template" msgstr "Test Bericht Vorlage auswählen" -#: stock/forms.py:267 templates/js/table_filters.js:75 +#: stock/forms.py:234 templates/js/table_filters.js:75 #: templates/js/table_filters.js:138 msgid "Include sublocations" msgstr "Unter-Lagerorte einschließen" -#: stock/forms.py:267 +#: stock/forms.py:234 msgid "Include stock items in sub locations" msgstr "BestandsObjekt in untergeordneten Lagerorten einschließen" -#: stock/forms.py:302 +#: stock/forms.py:269 msgid "Stock item to install" msgstr "BestandsObjekt zum verbauen" -#: stock/forms.py:309 +#: stock/forms.py:276 msgid "Stock quantity to assign" msgstr "Bestandmenge zum Zuweisen" -#: stock/forms.py:337 +#: stock/forms.py:304 msgid "Must not exceed available quantity" msgstr "Anzahl darf die verfügbare Anzahl nicht überschreiten" -#: stock/forms.py:347 +#: stock/forms.py:314 msgid "Destination location for uninstalled items" msgstr "Ziel Lagerort für unverbaute Objekte" -#: stock/forms.py:351 +#: stock/forms.py:318 msgid "Confirm uninstall" msgstr "nicht mehr verbauen bestätigen" -#: stock/forms.py:351 +#: stock/forms.py:318 msgid "Confirm removal of installed stock items" msgstr "Entfernen der verbauten BestandsObjekt bestätigen" -#: stock/forms.py:375 +#: stock/forms.py:342 msgid "Destination stock location" msgstr "Ziel-Lagerbestand" -#: stock/forms.py:377 +#: stock/forms.py:344 msgid "Add note (required)" msgstr "Notiz hinzufügen (erforderlich)" -#: stock/forms.py:381 stock/views.py:852 stock/views.py:1051 +#: stock/forms.py:348 stock/views.py:705 stock/views.py:904 msgid "Confirm stock adjustment" msgstr "Bestands-Anpassung bestätigen" -#: stock/forms.py:381 +#: stock/forms.py:348 msgid "Confirm movement of stock items" msgstr "Verschieben der BestandsObjekt bestätigen" -#: stock/forms.py:383 +#: stock/forms.py:350 msgid "Set Default Location" msgstr "Standard-Lagerort ändern" -#: stock/forms.py:383 +#: stock/forms.py:350 msgid "Set the destination as the default location for selected parts" msgstr "Setze das Ziel als Standard-Lagerort für ausgewählte Teile" -#: stock/models.py:52 stock/models.py:542 +#: stock/models.py:56 stock/models.py:550 msgid "Owner" msgstr "Besitzer" -#: stock/models.py:53 stock/models.py:543 +#: stock/models.py:57 stock/models.py:551 msgid "Select Owner" msgstr "Besitzer auswählen" -#: stock/models.py:271 +#: stock/models.py:279 msgid "StockItem with this serial number already exists" msgstr "Ein BestandsObjekt mit dieser Seriennummer existiert bereits" -#: stock/models.py:307 +#: stock/models.py:315 #, python-brace-format msgid "Part type ('{pf}') must be {pe}" msgstr "Teile-Typ ('{pf}') muss {pe} sein" -#: stock/models.py:317 stock/models.py:326 +#: stock/models.py:325 stock/models.py:334 msgid "Quantity must be 1 for item with a serial number" msgstr "Anzahl muss für Objekte mit Seriennummer 1 sein" -#: stock/models.py:318 +#: stock/models.py:326 msgid "Serial number cannot be set if quantity greater than 1" msgstr "Seriennummer kann nicht gesetzt werden wenn die Anzahl größer als 1 ist" -#: stock/models.py:340 +#: stock/models.py:348 msgid "Item cannot belong to itself" msgstr "Teil kann nicht zu sich selbst gehören" -#: stock/models.py:346 +#: stock/models.py:354 msgid "Item must have a build reference if is_building=True" msgstr "Teil muss eine Referenz haben wenn is_building wahr ist" -#: stock/models.py:353 +#: stock/models.py:361 msgid "Build reference does not point to the same part object" msgstr "Referenz verweist nicht auf das gleiche Teil" -#: stock/models.py:395 +#: stock/models.py:403 msgid "Parent Stock Item" msgstr "Eltern-BestandsObjekt" -#: stock/models.py:404 +#: stock/models.py:412 msgid "Base part" msgstr "Basis-Teil" -#: stock/models.py:413 +#: stock/models.py:421 msgid "Select a matching supplier part for this stock item" msgstr "Passendes Zuliefererteil für dieses BestandsObjekt auswählen" -#: stock/models.py:418 stock/templates/stock/stock_app_base.html:8 +#: stock/models.py:426 stock/templates/stock/stock_app_base.html:8 msgid "Stock Location" msgstr "Bestand-Lagerort" -#: stock/models.py:421 +#: stock/models.py:429 msgid "Where is this stock item located?" msgstr "Wo wird dieses Teil normalerweise gelagert?" -#: stock/models.py:428 +#: stock/models.py:436 msgid "Packaging this stock item is stored in" msgstr "Die Verpackung dieses BestandsObjekt ist gelagert in" -#: stock/models.py:433 stock/templates/stock/item_base.html:270 +#: stock/models.py:441 stock/templates/stock/item_base.html:270 msgid "Installed In" msgstr "verbaut in" -#: stock/models.py:436 +#: stock/models.py:444 msgid "Is this item installed in another item?" msgstr "Ist dieses Teil in einem anderen verbaut?" -#: stock/models.py:452 +#: stock/models.py:460 msgid "Serial number for this item" msgstr "Seriennummer für dieses Teil" -#: stock/models.py:464 +#: stock/models.py:472 msgid "Batch code for this stock item" msgstr "Losnummer für dieses BestandsObjekt" -#: stock/models.py:468 +#: stock/models.py:476 msgid "Stock Quantity" msgstr "Bestand" -#: stock/models.py:477 +#: stock/models.py:485 msgid "Source Build" msgstr "Quellbau" -#: stock/models.py:479 +#: stock/models.py:487 msgid "Build for this stock item" msgstr "Bauauftrag für dieses BestandsObjekt" -#: stock/models.py:490 +#: stock/models.py:498 msgid "Source Purchase Order" msgstr "Quelle Bestellung" -#: stock/models.py:493 +#: stock/models.py:501 msgid "Purchase order for this stock item" msgstr "Bestellung für dieses BestandsObjekt" -#: stock/models.py:499 +#: stock/models.py:507 msgid "Destination Sales Order" msgstr "Ziel-Auftrag" -#: stock/models.py:506 +#: stock/models.py:514 msgid "Expiry date for stock item. Stock will be considered expired after this date" msgstr "Ablaufdatum für BestandsObjekt. Bestand wird danach als abgelaufen gekennzeichnet" -#: stock/models.py:519 +#: stock/models.py:527 msgid "Delete on deplete" msgstr "Löschen wenn leer" -#: stock/models.py:519 +#: stock/models.py:527 msgid "Delete this Stock Item when stock is depleted" msgstr "Dieses BestandsObjekt löschen wenn Bestand aufgebraucht" -#: stock/models.py:529 stock/templates/stock/item_notes.html:13 +#: stock/models.py:537 stock/templates/stock/item_notes.html:13 #: stock/templates/stock/navbar.html:54 msgid "Stock Item Notes" msgstr "BestandsObjekt-Notizen" -#: stock/models.py:538 +#: stock/models.py:546 msgid "Single unit purchase price at time of purchase" msgstr "Preis für eine Einheit bei Einkauf" -#: stock/models.py:1006 +#: stock/models.py:1014 msgid "Part is not set as trackable" msgstr "Teil ist nicht verfolgbar" -#: stock/models.py:1012 +#: stock/models.py:1020 msgid "Quantity must be integer" msgstr "Anzahl muss eine Ganzzahl sein" -#: stock/models.py:1018 +#: stock/models.py:1026 #, python-brace-format msgid "Quantity must not exceed available stock quantity ({n})" msgstr "Anzahl darf nicht die verfügbare Anzahl überschreiten ({n})" -#: stock/models.py:1021 +#: stock/models.py:1029 msgid "Serial numbers must be a list of integers" msgstr "Seriennummern muss eine Liste von Ganzzahlen sein" -#: stock/models.py:1024 +#: stock/models.py:1032 msgid "Quantity does not match serial numbers" msgstr "Anzahl stimmt nicht mit den Seriennummern überein" -#: stock/models.py:1031 +#: stock/models.py:1039 #, python-brace-format msgid "Serial numbers already exist: {exists}" msgstr "Seriennummern {exists} existieren bereits" -#: stock/models.py:1189 +#: stock/models.py:1197 msgid "StockItem cannot be moved as it is not in stock" msgstr "BestandsObjekt kann nicht bewegt werden, da kein Bestand vorhanden ist" -#: stock/models.py:1663 +#: stock/models.py:1679 msgid "Entry notes" msgstr "Eintrags-Notizen" -#: stock/models.py:1716 +#: stock/models.py:1736 msgid "Value must be provided for this test" msgstr "Wert muss für diesen Test angegeben werden" -#: stock/models.py:1722 +#: stock/models.py:1742 msgid "Attachment must be uploaded for this test" msgstr "Anhang muss für diesen Test hochgeladen werden" -#: stock/models.py:1740 +#: stock/models.py:1760 msgid "Test name" msgstr "Name des Tests" -#: stock/models.py:1746 templates/js/table_filters.js:217 +#: stock/models.py:1766 templates/js/table_filters.js:222 msgid "Test result" msgstr "Testergebnis" -#: stock/models.py:1752 +#: stock/models.py:1772 msgid "Test output value" msgstr "Test Ausgabe Wert" -#: stock/models.py:1759 +#: stock/models.py:1779 msgid "Test result attachment" msgstr "Test Ergebnis Anhang" -#: stock/models.py:1765 +#: stock/models.py:1785 msgid "Test notes" msgstr "Test Notizen" @@ -5851,6 +5799,10 @@ msgstr "Letzte Inventur" msgid "No stocktake performed" msgstr "Keine Inventur ausgeführt" +#: stock/templates/stock/item_base.html:499 +msgid "Edit Stock Status" +msgstr "" + #: stock/templates/stock/item_childs.html:12 msgid "Child Stock Items" msgstr "Kind-BestandsObjekt" @@ -5910,6 +5862,19 @@ msgstr "Testdaten löschen" msgid "Add Test Data" msgstr "Testdaten hinzufügen" +#: stock/templates/stock/item_tests.html:86 +#: stock/templates/stock/item_tests.html:111 +msgid "Add Test Result" +msgstr "Testergebnis hinzufügen" + +#: stock/templates/stock/item_tests.html:131 +msgid "Edit Test Result" +msgstr "Testergebnis bearbeiten" + +#: stock/templates/stock/item_tests.html:145 +msgid "Delete Test Result" +msgstr "Testergebnis löschen" + #: stock/templates/stock/location.html:20 msgid "You are not in the list of owners of this location. This stock location cannot be edited." msgstr "Sie sind nicht auf der Liste der Besitzer dieses Lagerorts. Der Bestands-Lagerort kann nicht verändert werden." @@ -5958,7 +5923,7 @@ msgid "Stock Details" msgstr "Objekt-Details" #: stock/templates/stock/location.html:117 templates/InvenTree/search.html:279 -#: templates/stats.html:97 users/models.py:41 +#: templates/stats.html:97 users/models.py:42 msgid "Stock Locations" msgstr "Bestand-Lagerorte" @@ -5998,7 +5963,7 @@ msgstr "Lade..." msgid "The following stock items will be uninstalled" msgstr "Die folgenden BestandsObjekte werden nicht mehr verbaut" -#: stock/templates/stock/stockitem_convert.html:7 stock/views.py:1364 +#: stock/templates/stock/stockitem_convert.html:7 stock/views.py:1196 msgid "Convert Stock Item" msgstr "BestandsObjekt umwandeln" @@ -6031,8 +5996,8 @@ msgstr "Sind Sie sicher, dass Sie diesen BestandsObjekt-Verfolgungs-Eintrag lös msgid "Edit Stock Location" msgstr "BestandsObjekt-Lagerort bearbeiten" -#: stock/views.py:230 stock/views.py:1343 stock/views.py:1465 -#: stock/views.py:1830 +#: stock/views.py:230 stock/views.py:1175 stock/views.py:1297 +#: stock/views.py:1662 msgid "Owner is required (ownership control is enabled)" msgstr "Eigentümer notwendig (Eigentümerkontrolle aktiv)" @@ -6040,208 +6005,188 @@ msgstr "Eigentümer notwendig (Eigentümerkontrolle aktiv)" msgid "Stock Location QR code" msgstr "QR-Code für diesen Lagerort" -#: stock/views.py:265 -msgid "Add Stock Item Attachment" -msgstr "BestandsObjekt-Anhang hinzufügen" - -#: stock/views.py:311 -msgid "Edit Stock Item Attachment" -msgstr "BestandsObjekt-Anhang bearbeiten" - -#: stock/views.py:327 -msgid "Delete Stock Item Attachment" -msgstr "BestandsObjekt-Anhang löschen" - -#: stock/views.py:343 +#: stock/views.py:264 msgid "Assign to Customer" msgstr "Kunden zuweisen" -#: stock/views.py:352 +#: stock/views.py:273 msgid "Customer must be specified" msgstr "Kunde muss angegeben werden" -#: stock/views.py:376 +#: stock/views.py:297 msgid "Return to Stock" msgstr "zurück ins Lager" -#: stock/views.py:385 +#: stock/views.py:306 msgid "Specify a valid location" msgstr "gültigen Lagerort angeben" -#: stock/views.py:396 +#: stock/views.py:317 msgid "Stock item returned from customer" msgstr "BestandsObjekt retoure vom Kunden" -#: stock/views.py:407 +#: stock/views.py:328 msgid "Delete All Test Data" msgstr "alle Testdaten löschen" -#: stock/views.py:424 +#: stock/views.py:345 msgid "Confirm test data deletion" msgstr "Löschen Testdaten bestätigen" -#: stock/views.py:444 -msgid "Add Test Result" -msgstr "Testergebnis hinzufügen" - -#: stock/views.py:484 -msgid "Edit Test Result" -msgstr "Testergebnis bearbeiten" - -#: stock/views.py:501 -msgid "Delete Test Result" -msgstr "Testergebnis löschen" - -#: stock/views.py:509 +#: stock/views.py:362 msgid "Stock Export Options" msgstr "Lagerbestand Exportoptionen" -#: stock/views.py:630 +#: stock/views.py:483 msgid "Stock Item QR Code" msgstr "BestandsObjekt-QR-Code" -#: stock/views.py:656 +#: stock/views.py:509 msgid "Install Stock Item" msgstr "BestandsObjekt installiert" -#: stock/views.py:755 +#: stock/views.py:608 msgid "Uninstall Stock Items" msgstr "BestandsObjekte deinstallieren" -#: stock/views.py:863 +#: stock/views.py:716 msgid "Uninstalled stock items" msgstr "BestandsObjekte deinstalliert" -#: stock/views.py:888 +#: stock/views.py:741 msgid "Adjust Stock" msgstr "Lagerbestand anpassen" -#: stock/views.py:998 +#: stock/views.py:851 msgid "Move Stock Items" msgstr "BestandsObjekte bewegen" -#: stock/views.py:998 +#: stock/views.py:851 msgid "Move" msgstr "Verschieben" -#: stock/views.py:999 +#: stock/views.py:852 msgid "Count Stock Items" msgstr "BestandsObjekte zählen" -#: stock/views.py:999 +#: stock/views.py:852 msgid "Count" msgstr "Anzahl" -#: stock/views.py:1000 +#: stock/views.py:853 msgid "Remove From Stock" msgstr "Aus Lagerbestand entfernen" -#: stock/views.py:1000 +#: stock/views.py:853 msgid "Take" msgstr "Entfernen" -#: stock/views.py:1001 +#: stock/views.py:854 msgid "Add Stock Items" msgstr "BestandsObjekte hinzufügen" -#: stock/views.py:1001 users/models.py:187 +#: stock/views.py:854 users/models.py:188 msgid "Add" msgstr "Hinzufügen" -#: stock/views.py:1002 +#: stock/views.py:855 msgid "Delete Stock Items" msgstr "BestandsObjekte löschen" -#: stock/views.py:1031 +#: stock/views.py:884 msgid "Must enter integer value" msgstr "Nur Ganzzahl eingeben" -#: stock/views.py:1036 +#: stock/views.py:889 msgid "Quantity must be positive" msgstr "Anzahl muss positiv sein" -#: stock/views.py:1043 +#: stock/views.py:896 #, python-brace-format msgid "Quantity must not exceed {x}" msgstr "Anzahl darf {x} nicht überschreiten" -#: stock/views.py:1107 +#: stock/views.py:960 msgid "No action performed" msgstr "Keine Aktion durchgeführt" -#: stock/views.py:1122 +#: stock/views.py:975 #, python-brace-format msgid "Added stock to {n} items" msgstr "Vorrat zu {n} BestandsObjekten hinzugefügt" -#: stock/views.py:1137 +#: stock/views.py:990 #, python-brace-format msgid "Removed stock from {n} items" msgstr "Vorrat von {n} BestandsObjekten entfernt" -#: stock/views.py:1150 +#: stock/views.py:1003 #, python-brace-format msgid "Counted stock for {n} items" msgstr "Bestand für {n} Objekte erfasst" -#: stock/views.py:1190 +#: stock/views.py:1043 msgid "No items were moved" msgstr "Keine BestandsObjekt wurden bewegt" -#: stock/views.py:1193 +#: stock/views.py:1046 #, python-brace-format msgid "Moved {n} items to {dest}" msgstr "{n} Teile nach {dest} bewegt" -#: stock/views.py:1212 +#: stock/views.py:1065 #, python-brace-format msgid "Deleted {n} stock items" msgstr "{n} BestandsObjekte gelöscht" -#: stock/views.py:1222 -msgid "Edit Stock Item Status" -msgstr "Status bearbeiten" - -#: stock/views.py:1245 +#: stock/views.py:1077 msgid "Edit Stock Item" msgstr "BestandsObjekt bearbeiten" -#: stock/views.py:1482 +#: stock/views.py:1314 msgid "Serialize Stock" msgstr "Lagerbestand erfassen" -#: stock/views.py:1575 templates/js/build.js:327 +#: stock/views.py:1407 templates/js/build.js:327 msgid "Create new Stock Item" msgstr "Neues BestandsObjekt hinzufügen" -#: stock/views.py:1717 +#: stock/views.py:1549 msgid "Duplicate Stock Item" msgstr "Bestand duplizieren" -#: stock/views.py:1799 +#: stock/views.py:1631 msgid "Quantity cannot be negative" msgstr "Anzahl kann nicht negativ sein" -#: stock/views.py:1899 +#: stock/views.py:1731 msgid "Delete Stock Location" msgstr "Bestand-Lagerort löschen" -#: stock/views.py:1912 +#: stock/views.py:1744 msgid "Delete Stock Item" msgstr "BestandsObjekt löschen" -#: stock/views.py:1923 +#: stock/views.py:1755 msgid "Delete Stock Tracking Entry" msgstr "Lagerbestands-Tracking-Eintrag löschen" -#: stock/views.py:1930 +#: stock/views.py:1762 msgid "Edit Stock Tracking Entry" msgstr "Lagerbestands-Tracking-Eintrag bearbeiten" -#: stock/views.py:1939 +#: stock/views.py:1771 msgid "Add Stock Tracking Entry" msgstr "Lagerbestands-Tracking-Eintrag hinzufügen" +#: templates/403.html:5 templates/403.html:11 +msgid "Permission Denied" +msgstr "Zugriff verweigert" + +#: templates/403.html:14 +msgid "You do not have permission to view this page." +msgstr "Keine Berechtigung zum Anzeigen dieser Seite." + #: templates/404.html:5 templates/404.html:11 msgid "Page Not Found" msgstr "Seite nicht gefunden" @@ -6270,35 +6215,39 @@ msgstr "Stücklisten erwarten Kontrolle" msgid "Recently Updated" msgstr "kürzlich aktualisiert" -#: templates/InvenTree/index.html:145 +#: templates/InvenTree/index.html:131 +msgid "Depleted Stock" +msgstr "" + +#: templates/InvenTree/index.html:146 msgid "Expired Stock" msgstr "abgelaufener Bestand" -#: templates/InvenTree/index.html:146 +#: templates/InvenTree/index.html:147 msgid "Stale Stock" msgstr "Lagerbestand überfällig" -#: templates/InvenTree/index.html:184 +#: templates/InvenTree/index.html:192 msgid "Build Orders In Progress" msgstr "laufende Bauaufträge" -#: templates/InvenTree/index.html:185 +#: templates/InvenTree/index.html:193 msgid "Overdue Build Orders" msgstr "überfällige Bauaufträge" -#: templates/InvenTree/index.html:206 +#: templates/InvenTree/index.html:214 msgid "Outstanding Purchase Orders" msgstr "ausstehende Bestellungen" -#: templates/InvenTree/index.html:207 +#: templates/InvenTree/index.html:215 msgid "Overdue Purchase Orders" msgstr "überfällige Bestellungen" -#: templates/InvenTree/index.html:229 +#: templates/InvenTree/index.html:237 msgid "Outstanding Sales Orders" msgstr "ausstehende Aufträge" -#: templates/InvenTree/index.html:230 +#: templates/InvenTree/index.html:238 msgid "Overdue Sales Orders" msgstr "überfällige Aufträge" @@ -6586,24 +6535,12 @@ msgstr "In die Zwischenablage kopieren" msgid "copy version information" msgstr "Versionsinformationen kopieren" -#: templates/about.html:100 templates/js/modals.js:568 -#: templates/js/modals.js:861 templates/modals.html:29 templates/modals.html:54 -#: templates/modals.html:97 +#: templates/about.html:100 templates/js/modals.js:34 +#: templates/js/modals.js:677 templates/js/modals.js:970 +#: templates/modals.html:29 templates/modals.html:54 templates/modals.html:97 msgid "Close" msgstr "Schliessen" -#: templates/attachment_table.html:6 -msgid "Add Attachment" -msgstr "Anhang hinzufügen" - -#: templates/attachment_table.html:17 -msgid "Uploaded" -msgstr "Hochgeladen" - -#: templates/attachment_table.html:35 -msgid "Delete attachment" -msgstr "Anhang löschen" - #: templates/image_download.html:8 msgid "Specify URL for downloading image" msgstr "URL für Bild-Donwload angeben" @@ -6620,6 +6557,22 @@ msgstr "Der angegebene Server muss erreichbar sein" msgid "Remote image must not exceed maximum allowable file size" msgstr "Das Bild darf nicht größer als die maximal-erlaubte Größe sein" +#: templates/js/attachment.js:16 +msgid "No attachments found" +msgstr "" + +#: templates/js/attachment.js:56 +msgid "Upload Date" +msgstr "" + +#: templates/js/attachment.js:69 +msgid "Edit attachment" +msgstr "Anhang bearbeiten" + +#: templates/js/attachment.js:76 +msgid "Delete attachment" +msgstr "Anhang löschen" + #: templates/js/barcode.js:8 msgid "Scan barcode data here using wedge scanner" msgstr "Hier den Barcode scannen" @@ -6648,7 +6601,7 @@ msgstr "Server-Fehler" msgid "Unknown response from server" msgstr "Unbekannte Antwort von Server erhalten" -#: templates/js/barcode.js:119 templates/js/modals.js:921 +#: templates/js/barcode.js:119 templates/js/modals.js:1030 msgid "Invalid server response" msgstr "Ungültige Antwort von Server" @@ -6748,7 +6701,7 @@ msgstr "Diese Position wurde kontrolliert" msgid "Edit BOM Item" msgstr "Stücklisten-Position bearbeiten" -#: templates/js/bom.js:372 +#: templates/js/bom.js:372 templates/js/bom.js:519 msgid "Delete BOM Item" msgstr "Stücklisten-Position löschen" @@ -6776,7 +6729,7 @@ msgstr "Endprodukt entfernen" msgid "No build order allocations found" msgstr "" -#: templates/js/build.js:222 templates/js/order.js:382 +#: templates/js/build.js:222 templates/js/order.js:449 msgid "Location not specified" msgstr "Standort nicht angegeben" @@ -6802,7 +6755,7 @@ msgid "No builds matching query" msgstr "Keine Bauaufträge passen zur Anfrage" #: templates/js/build.js:806 templates/js/part.js:390 templates/js/part.js:635 -#: templates/js/stock.js:514 templates/js/stock.js:966 +#: templates/js/stock.js:514 templates/js/stock.js:980 msgid "Select" msgstr "Auswählen" @@ -6814,45 +6767,69 @@ msgstr "Bauauftrag ist überfällig" msgid "No parts allocated for" msgstr "Keine Teile zugeordnet zu" -#: templates/js/company.js:74 +#: templates/js/company.js:45 +msgid "Edit Company" +msgstr "Firma bearbeiten" + +#: templates/js/company.js:66 +msgid "Add new Company" +msgstr "" + +#: templates/js/company.js:143 msgid "Parts Supplied" msgstr "Teile geliefert" -#: templates/js/company.js:83 +#: templates/js/company.js:152 msgid "Parts Manufactured" msgstr "Hersteller-Teile" -#: templates/js/company.js:96 +#: templates/js/company.js:165 msgid "No company information found" msgstr "Keine Firmeninformation gefunden" -#: templates/js/company.js:129 +#: templates/js/company.js:183 +msgid "The following manufacturer parts will be deleted" +msgstr "" + +#: templates/js/company.js:200 +msgid "Delete Manufacturer Parts" +msgstr "" + +#: templates/js/company.js:253 msgid "No manufacturer parts found" msgstr "Keine Herstellerteile gefunden" -#: templates/js/company.js:148 templates/js/company.js:347 +#: templates/js/company.js:272 templates/js/company.js:472 #: templates/js/part.js:68 templates/js/part.js:153 msgid "Template part" msgstr "Vorlagenteil" -#: templates/js/company.js:152 templates/js/company.js:351 +#: templates/js/company.js:276 templates/js/company.js:476 #: templates/js/part.js:72 templates/js/part.js:157 msgid "Assembled part" msgstr "Baugruppe" -#: templates/js/company.js:226 +#: templates/js/company.js:350 msgid "No parameters found" msgstr "" -#: templates/js/company.js:262 +#: templates/js/company.js:386 msgid "Edit parameter" msgstr "" -#: templates/js/company.js:263 +#: templates/js/company.js:387 msgid "Delete parameter" msgstr "" -#: templates/js/company.js:328 +#: templates/js/company.js:406 +msgid "Edit Parameter" +msgstr "" + +#: templates/js/company.js:417 +msgid "Delete Parameter" +msgstr "" + +#: templates/js/company.js:453 msgid "No supplier parts found" msgstr "Keine Zuliefererteile gefunden" @@ -6880,6 +6857,83 @@ msgstr "Filter entfernen" msgid "Create filter" msgstr "Filter anlegen" +#: templates/js/forms.js:278 templates/js/forms.js:291 +#: templates/js/forms.js:303 templates/js/forms.js:315 +msgid "Action Prohibited" +msgstr "" + +#: templates/js/forms.js:279 +msgid "Create operation not allowed" +msgstr "" + +#: templates/js/forms.js:292 +msgid "Update operation not allowed" +msgstr "" + +#: templates/js/forms.js:304 +msgid "Delete operation not allowed" +msgstr "" + +#: templates/js/forms.js:316 +msgid "View operation not allowed" +msgstr "" + +#: templates/js/forms.js:583 templates/js/modals.js:1040 +msgid "No Response" +msgstr "Keine Antwort" + +#: templates/js/forms.js:584 templates/js/modals.js:1041 +msgid "No response from the InvenTree server" +msgstr "keine Antwort vom InvenTree Server" + +#: templates/js/forms.js:590 templates/js/modals.js:1050 +msgid "Error 401: Not Authenticated" +msgstr "Fehler 401: Nicht Angemeldet" + +#: templates/js/forms.js:591 templates/js/modals.js:1051 +msgid "Authentication credentials not supplied" +msgstr "Authentication Kredentials nicht angegeben" + +#: templates/js/forms.js:597 templates/js/modals.js:1055 +msgid "Error 403: Permission Denied" +msgstr "Fehler 403: keine Berechtigung" + +#: templates/js/forms.js:598 templates/js/modals.js:1056 +msgid "You do not have the required permissions to access this function" +msgstr "Fehlende Berechtigung für diese Aktion" + +#: templates/js/forms.js:604 templates/js/modals.js:1060 +msgid "Error 404: Resource Not Found" +msgstr "Fehler 404: Ressource nicht gefunden" + +#: templates/js/forms.js:605 templates/js/modals.js:1061 +msgid "The requested resource could not be located on the server" +msgstr "Die angefragte Ressource kann auf diesem Server nicht gefunden werden" + +#: templates/js/forms.js:611 templates/js/modals.js:1065 +msgid "Error 408: Timeout" +msgstr "Fehler 408: Zeitüberschreitung" + +#: templates/js/forms.js:612 templates/js/modals.js:1066 +msgid "Connection timeout while requesting data from server" +msgstr "Verbindungszeitüberschreitung bei der Datenanforderung" + +#: templates/js/forms.js:618 templates/js/modals.js:1069 +msgid "Error requesting form data" +msgstr "Fehler bei Formulardaten-Anfrage" + +#: templates/js/forms.js:788 templates/modals.html:21 templates/modals.html:47 +msgid "Form errors exist" +msgstr "Fehler in Formular" + +#: templates/js/forms.js:1161 +msgid "Searching" +msgstr "" + +#: templates/js/forms.js:1301 +msgid "Clear input" +msgstr "" + #: templates/js/label.js:10 templates/js/report.js:98 msgid "Select Stock Items" msgstr "BestandsObjekte auswählen" @@ -6920,112 +6974,102 @@ msgstr "Label auswählen" msgid "Select Label Template" msgstr "Label-Vorlage auswählen" -#: templates/js/modals.js:265 -msgid "Waiting for server..." -msgstr "Warte auf Server..." - -#: templates/js/modals.js:424 -msgid "Show Error Information" -msgstr "Fehler-Informationen anzeigen" - -#: templates/js/modals.js:491 templates/modals.html:76 -msgid "Accept" -msgstr "Akzeptieren" - -#: templates/js/modals.js:492 templates/modals.html:75 +#: templates/js/modals.js:59 templates/js/modals.js:105 +#: templates/js/modals.js:601 templates/modals.html:75 msgid "Cancel" msgstr "abbrechen" -#: templates/js/modals.js:556 -msgid "Loading Data" -msgstr "Lade Daten" - -#: templates/js/modals.js:567 templates/js/modals.js:860 +#: templates/js/modals.js:60 templates/js/modals.js:104 +#: templates/js/modals.js:676 templates/js/modals.js:969 #: templates/modals.html:30 templates/modals.html:55 msgid "Submit" msgstr "Abschicken" -#: templates/js/modals.js:811 +#: templates/js/modals.js:103 +msgid "Form Title" +msgstr "" + +#: templates/js/modals.js:374 +msgid "Waiting for server..." +msgstr "Warte auf Server..." + +#: templates/js/modals.js:533 +msgid "Show Error Information" +msgstr "Fehler-Informationen anzeigen" + +#: templates/js/modals.js:600 templates/modals.html:76 +msgid "Accept" +msgstr "Akzeptieren" + +#: templates/js/modals.js:665 +msgid "Loading Data" +msgstr "Lade Daten" + +#: templates/js/modals.js:920 msgid "Invalid response from server" msgstr "ungültige Antwort vom Server" -#: templates/js/modals.js:811 +#: templates/js/modals.js:920 msgid "Form data missing from server response" msgstr "Formulardaten fehlen bei Serverantwort" -#: templates/js/modals.js:824 +#: templates/js/modals.js:933 msgid "Error posting form data" msgstr "Formulardaten fehlerhaft" -#: templates/js/modals.js:921 +#: templates/js/modals.js:1030 msgid "JSON response missing form data" msgstr "JSON Antwort enthält keine Formulardaten" -#: templates/js/modals.js:931 -msgid "No Response" -msgstr "Keine Antwort" - -#: templates/js/modals.js:932 -msgid "No response from the InvenTree server" -msgstr "keine Antwort vom InvenTree Server" - -#: templates/js/modals.js:936 +#: templates/js/modals.js:1045 msgid "Error 400: Bad Request" msgstr "Fehler 400: Ungültige Anfrage" -#: templates/js/modals.js:937 +#: templates/js/modals.js:1046 msgid "Server returned error code 400" msgstr "Fehler 400 von Server erhalten" -#: templates/js/modals.js:941 -msgid "Error 401: Not Authenticated" -msgstr "Fehler 401: Nicht Angemeldet" +#: templates/js/model_renderers.js:21 +msgid "Company ID" +msgstr "" -#: templates/js/modals.js:942 -msgid "Authentication credentials not supplied" -msgstr "Authentication Kredentials nicht angegeben" +#: templates/js/model_renderers.js:63 +msgid "Location ID" +msgstr "" -#: templates/js/modals.js:946 -msgid "Error 403: Permission Denied" -msgstr "Fehler 403: keine Berechtigung" +#: templates/js/model_renderers.js:90 +msgid "Part ID" +msgstr "" -#: templates/js/modals.js:947 -msgid "You do not have the required permissions to access this function" -msgstr "Fehlende Berechtigung für diese Aktion" +#: templates/js/model_renderers.js:126 +msgid "Category ID" +msgstr "" -#: templates/js/modals.js:951 -msgid "Error 404: Resource Not Found" -msgstr "Fehler 404: Ressource nicht gefunden" +#: templates/js/model_renderers.js:150 +msgid "Supplier Part ID" +msgstr "" -#: templates/js/modals.js:952 -msgid "The requested resource could not be located on the server" -msgstr "Die angefragte Ressource kann auf diesem Server nicht gefunden werden" +#: templates/js/order.js:31 +msgid "Create Sales Order" +msgstr "Auftrag anlegen" -#: templates/js/modals.js:956 -msgid "Error 408: Timeout" -msgstr "Fehler 408: Zeitüberschreitung" - -#: templates/js/modals.js:957 -msgid "Connection timeout while requesting data from server" -msgstr "Verbindungszeitüberschreitung bei der Datenanforderung" - -#: templates/js/modals.js:960 -msgid "Error requesting form data" -msgstr "Fehler bei Formulardaten-Anfrage" - -#: templates/js/order.js:138 +#: templates/js/order.js:200 msgid "No purchase orders found" msgstr "Keine Bestellungen gefunden" -#: templates/js/order.js:162 templates/js/order.js:257 +#: templates/js/order.js:224 templates/js/order.js:319 msgid "Order is overdue" msgstr "Bestellung überfällig" -#: templates/js/order.js:234 +#: templates/js/order.js:296 msgid "No sales orders found" msgstr "Keine Aufträge gefunden" -#: templates/js/order.js:343 +#: templates/js/order.js:333 +msgid "Invalid Customer" +msgstr "" + +#: templates/js/order.js:410 msgid "No sales order allocations found" msgstr "" @@ -7065,11 +7109,11 @@ msgstr "Keine Teile gefunden" msgid "No category" msgstr "Keine Kategorie" -#: templates/js/part.js:476 templates/js/table_filters.js:323 +#: templates/js/part.js:476 templates/js/table_filters.js:328 msgid "Low stock" msgstr "Bestand niedrig" -#: templates/js/part.js:660 templates/js/stock.js:990 +#: templates/js/part.js:660 templates/js/stock.js:1004 msgid "Path" msgstr "Pfad" @@ -7089,7 +7133,22 @@ msgstr "Testergebnis löschen" msgid "This test is defined for a parent part" msgstr "Dieses Testergebnis ist für ein Hauptteil" -#: templates/js/part.js:806 +#: templates/js/part.js:786 +#, python-brace-format +msgid "No ${human_name} information found" +msgstr "" + +#: templates/js/part.js:839 +#, python-brace-format +msgid "Edit ${human_name}" +msgstr "" + +#: templates/js/part.js:840 +#, python-brace-format +msgid "Delete ${human_name}" +msgstr "" + +#: templates/js/part.js:959 msgid "Single Price Difference" msgstr "Einzelpreisdifferenz" @@ -7267,75 +7326,75 @@ msgstr "gelöscht" msgid "Stocktake" msgstr "Inventur" -#: templates/js/stock.js:853 +#: templates/js/stock.js:867 msgid "Stock Status" msgstr "Status" -#: templates/js/stock.js:868 +#: templates/js/stock.js:882 msgid "Set Stock Status" msgstr "Status setzen" -#: templates/js/stock.js:882 +#: templates/js/stock.js:896 msgid "Select Status Code" msgstr "Status Code setzen" -#: templates/js/stock.js:883 +#: templates/js/stock.js:897 msgid "Status code must be selected" msgstr "Status Code muss ausgewählt werden" -#: templates/js/stock.js:1022 +#: templates/js/stock.js:1036 msgid "Invalid date" msgstr "Ungültiges Datum" -#: templates/js/stock.js:1069 +#: templates/js/stock.js:1083 msgid "Location no longer exists" msgstr "Standort nicht mehr vorhanden" -#: templates/js/stock.js:1088 +#: templates/js/stock.js:1102 msgid "Purchase order no longer exists" msgstr "Bestellung existiert nicht mehr" -#: templates/js/stock.js:1107 +#: templates/js/stock.js:1121 msgid "Customer no longer exists" msgstr "Kunde existiert nicht mehr" -#: templates/js/stock.js:1125 +#: templates/js/stock.js:1139 msgid "Stock item no longer exists" msgstr "Lagerbestand existiert nicht mehr" -#: templates/js/stock.js:1148 +#: templates/js/stock.js:1162 msgid "Added" msgstr "Hinzugefügt" -#: templates/js/stock.js:1156 +#: templates/js/stock.js:1170 msgid "Removed" msgstr "Entfernt" -#: templates/js/stock.js:1188 +#: templates/js/stock.js:1202 msgid "No user information" msgstr "Keine Benutzerinformation" -#: templates/js/stock.js:1200 +#: templates/js/stock.js:1214 msgid "Edit tracking entry" msgstr "Tracking-Eintrag bearbeiten" -#: templates/js/stock.js:1201 +#: templates/js/stock.js:1215 msgid "Delete tracking entry" msgstr "Tracking-Eintrag löschen" -#: templates/js/stock.js:1325 +#: templates/js/stock.js:1339 msgid "Create New Location" msgstr "Neuen Lagerort anlegen" -#: templates/js/stock.js:1366 +#: templates/js/stock.js:1380 msgid "No installed items" msgstr "Keine installierten Elemente" -#: templates/js/stock.js:1389 +#: templates/js/stock.js:1403 msgid "Serial" msgstr "Seriennummer" -#: templates/js/stock.js:1417 +#: templates/js/stock.js:1431 msgid "Uninstall Stock Item" msgstr "Lagerbestand entfernen" @@ -7356,7 +7415,7 @@ msgid "Include locations" msgstr "Lagerorte einschließen" #: templates/js/table_filters.js:86 templates/js/table_filters.js:87 -#: templates/js/table_filters.js:300 +#: templates/js/table_filters.js:305 msgid "Include subcategories" msgstr "Unterkategorien einschließen" @@ -7389,7 +7448,7 @@ msgstr "Seriennummer" msgid "Batch code" msgstr "Losnummer" -#: templates/js/table_filters.js:123 templates/js/table_filters.js:290 +#: templates/js/table_filters.js:123 templates/js/table_filters.js:295 msgid "Active parts" msgstr "Aktive Teile" @@ -7461,43 +7520,51 @@ msgstr "zeige zu Kunden zugeordnete Einträge" msgid "Stock status" msgstr "Status" -#: templates/js/table_filters.js:236 +#: templates/js/table_filters.js:211 +msgid "Has purchase price" +msgstr "" + +#: templates/js/table_filters.js:212 +msgid "Show stock items which have a purchase price set" +msgstr "" + +#: templates/js/table_filters.js:241 msgid "Build status" msgstr "Bauauftrags-Status" -#: templates/js/table_filters.js:255 templates/js/table_filters.js:272 +#: templates/js/table_filters.js:260 templates/js/table_filters.js:277 msgid "Order status" msgstr "Bestellstatus" -#: templates/js/table_filters.js:260 templates/js/table_filters.js:277 +#: templates/js/table_filters.js:265 templates/js/table_filters.js:282 msgid "Outstanding" msgstr "ausstehend" -#: templates/js/table_filters.js:301 +#: templates/js/table_filters.js:306 msgid "Include parts in subcategories" msgstr "Teile in Unterkategorien einschließen" -#: templates/js/table_filters.js:305 +#: templates/js/table_filters.js:310 msgid "Has IPN" msgstr "Hat IPN" -#: templates/js/table_filters.js:306 +#: templates/js/table_filters.js:311 msgid "Part has internal part number" msgstr "Teil hat Interne Teilenummer" -#: templates/js/table_filters.js:311 +#: templates/js/table_filters.js:316 msgid "Show active parts" msgstr "Aktive Teile anzeigen" -#: templates/js/table_filters.js:319 +#: templates/js/table_filters.js:324 msgid "Stock available" msgstr "verfügbarer Lagerbestand" -#: templates/js/table_filters.js:335 +#: templates/js/table_filters.js:340 msgid "Starred" msgstr "Favorit" -#: templates/js/table_filters.js:347 +#: templates/js/table_filters.js:352 msgid "Purchasable" msgstr "Käuflich" @@ -7554,10 +7621,6 @@ msgstr "Spalten" msgid "All" msgstr "Alle" -#: templates/modals.html:21 templates/modals.html:47 -msgid "Form errors exist" -msgstr "Fehler in Formular" - #: templates/navbar.html:13 msgid "Toggle navigation" msgstr "Navigation ein-/ausklappen" @@ -7574,7 +7637,7 @@ msgstr "Verkaufen" msgid "Scan Barcode" msgstr "Barcode scannen" -#: templates/navbar.html:77 users/models.py:38 +#: templates/navbar.html:77 users/models.py:39 msgid "Admin" msgstr "Admin" @@ -7794,35 +7857,35 @@ msgstr "Berechtigungen" msgid "Important dates" msgstr "wichtige Daten" -#: users/models.py:174 +#: users/models.py:175 msgid "Permission set" msgstr "Berechtigung geändert" -#: users/models.py:182 +#: users/models.py:183 msgid "Group" msgstr "Gruppe" -#: users/models.py:185 +#: users/models.py:186 msgid "View" msgstr "Ansicht" -#: users/models.py:185 +#: users/models.py:186 msgid "Permission to view items" msgstr "Berechtigung Einträge anzuzeigen" -#: users/models.py:187 +#: users/models.py:188 msgid "Permission to add items" msgstr "Berechtigung Einträge zu erstellen" -#: users/models.py:189 +#: users/models.py:190 msgid "Change" msgstr "Ändern" -#: users/models.py:189 +#: users/models.py:190 msgid "Permissions to edit items" msgstr "Berechtigungen Einträge zu ändern" -#: users/models.py:191 +#: users/models.py:192 msgid "Permission to delete items" msgstr "Berechtigung Einträge zu löschen" diff --git a/InvenTree/locale/en/LC_MESSAGES/django.po b/InvenTree/locale/en/LC_MESSAGES/django.po index b7f022a199..ba01b18cb4 100644 --- a/InvenTree/locale/en/LC_MESSAGES/django.po +++ b/InvenTree/locale/en/LC_MESSAGES/django.po @@ -8,7 +8,7 @@ msgid "" msgstr "" "Project-Id-Version: PACKAGE VERSION\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2021-07-02 04:52+0000\n" +"POT-Creation-Date: 2021-07-03 12:15+0000\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: FULL NAME \n" "Language-Team: LANGUAGE \n" @@ -30,14 +30,14 @@ msgstr "" msgid "No matching action found" msgstr "" -#: InvenTree/fields.py:84 +#: InvenTree/fields.py:99 msgid "Enter date" msgstr "" #: InvenTree/forms.py:112 build/forms.py:102 build/forms.py:123 #: build/forms.py:145 build/forms.py:169 build/forms.py:185 build/forms.py:227 -#: order/forms.py:31 order/forms.py:42 order/forms.py:53 order/forms.py:64 -#: order/forms.py:75 part/forms.py:134 +#: order/forms.py:30 order/forms.py:41 order/forms.py:52 order/forms.py:63 +#: order/forms.py:74 part/forms.py:118 templates/js/forms.js:486 msgid "Confirm" msgstr "" @@ -78,8 +78,8 @@ msgstr "" msgid "Duplicate serial: {n}" msgstr "" -#: InvenTree/helpers.py:403 order/models.py:244 order/models.py:354 -#: stock/views.py:1795 +#: InvenTree/helpers.py:403 order/models.py:311 order/models.py:421 +#: stock/views.py:1627 msgid "Invalid quantity provided" msgstr "" @@ -107,49 +107,53 @@ msgstr "" msgid "Number of unique serial number ({s}) must match quantity ({q})" msgstr "" -#: InvenTree/models.py:59 stock/models.py:1758 +#: InvenTree/models.py:61 stock/models.py:1778 msgid "Attachment" msgstr "" -#: InvenTree/models.py:60 +#: InvenTree/models.py:62 msgid "Select file to attach" msgstr "" -#: InvenTree/models.py:62 templates/attachment_table.html:16 +#: InvenTree/models.py:64 templates/js/attachment.js:52 msgid "Comment" msgstr "" -#: InvenTree/models.py:62 +#: InvenTree/models.py:64 msgid "File comment" msgstr "" -#: InvenTree/models.py:68 InvenTree/models.py:69 part/models.py:2022 +#: InvenTree/models.py:70 InvenTree/models.py:71 part/models.py:2043 #: report/templates/report/inventree_test_report_base.html:91 -#: templates/js/stock.js:1179 +#: templates/js/stock.js:1193 msgid "User" msgstr "" -#: InvenTree/models.py:72 +#: InvenTree/models.py:74 msgid "upload date" msgstr "" -#: InvenTree/models.py:107 InvenTree/models.py:108 company/models.py:396 -#: label/models.py:102 part/models.py:671 part/models.py:2163 +#: InvenTree/models.py:102 +msgid "Invalid choice" +msgstr "" + +#: InvenTree/models.py:118 InvenTree/models.py:119 company/models.py:414 +#: label/models.py:103 part/models.py:680 part/models.py:2192 #: part/templates/part/params.html:27 report/models.py:180 #: templates/InvenTree/search.html:137 templates/InvenTree/search.html:289 -#: templates/js/company.js:235 templates/js/part.js:118 -#: templates/js/part.js:642 templates/js/stock.js:972 +#: templates/js/company.js:359 templates/js/part.js:118 +#: templates/js/part.js:642 templates/js/stock.js:986 msgid "Name" msgstr "" -#: InvenTree/models.py:114 build/models.py:135 -#: build/templates/build/detail.html:21 company/models.py:339 -#: company/models.py:532 company/templates/company/detail.html:27 +#: InvenTree/models.py:125 build/models.py:139 +#: build/templates/build/detail.html:21 company/models.py:353 +#: company/models.py:554 company/templates/company/detail.html:27 #: company/templates/company/manufacturer_part_base.html:72 #: company/templates/company/supplier_part_base.html:71 -#: company/templates/company/supplier_part_detail.html:31 label/models.py:109 -#: order/models.py:100 order/templates/order/purchase_order_detail.html:147 -#: part/models.py:695 part/templates/part/detail.html:54 +#: company/templates/company/supplier_part_detail.html:31 label/models.py:110 +#: order/models.py:154 order/templates/order/purchase_order_detail.html:174 +#: part/models.py:704 part/templates/part/detail.html:54 #: part/templates/part/set_category.html:14 report/models.py:193 #: report/models.py:530 report/models.py:569 #: report/templates/report/inventree_build_order_base.html:118 @@ -157,39 +161,43 @@ msgstr "" #: templates/InvenTree/search.html:296 #: templates/InvenTree/settings/header.html:9 templates/js/bom.js:190 #: templates/js/build.js:834 templates/js/build.js:1102 -#: templates/js/company.js:56 templates/js/order.js:183 -#: templates/js/order.js:280 templates/js/part.js:177 templates/js/part.js:260 +#: templates/js/company.js:125 templates/js/order.js:245 +#: templates/js/order.js:347 templates/js/part.js:177 templates/js/part.js:260 #: templates/js/part.js:437 templates/js/part.js:654 templates/js/part.js:722 -#: templates/js/stock.js:557 templates/js/stock.js:984 -#: templates/js/stock.js:1029 +#: templates/js/stock.js:557 templates/js/stock.js:998 +#: templates/js/stock.js:1043 msgid "Description" msgstr "" -#: InvenTree/models.py:115 +#: InvenTree/models.py:126 msgid "Description (optional)" msgstr "" -#: InvenTree/models.py:123 +#: InvenTree/models.py:134 msgid "parent" msgstr "" -#: InvenTree/settings.py:504 -msgid "English" +#: InvenTree/serializers.py:52 +msgid "Must be a valid number" msgstr "" #: InvenTree/settings.py:505 -msgid "French" +msgid "English" msgstr "" #: InvenTree/settings.py:506 -msgid "German" +msgid "French" msgstr "" #: InvenTree/settings.py:507 -msgid "Polish" +msgid "German" msgstr "" #: InvenTree/settings.py:508 +msgid "Polish" +msgstr "" + +#: InvenTree/settings.py:509 msgid "Turkish" msgstr "" @@ -447,50 +455,48 @@ msgid "Order target date" msgstr "" #: build/forms.py:42 build/templates/build/build_base.html:146 -#: build/templates/build/detail.html:121 order/forms.py:118 order/forms.py:153 +#: build/templates/build/detail.html:121 #: order/templates/order/order_base.html:124 #: order/templates/order/sales_order_base.html:119 #: report/templates/report/inventree_build_order_base.html:126 -#: templates/js/build.js:881 templates/js/order.js:200 -#: templates/js/order.js:298 +#: templates/js/build.js:881 templates/js/order.js:262 +#: templates/js/order.js:365 msgid "Target Date" msgstr "" -#: build/forms.py:43 build/models.py:225 +#: build/forms.py:43 build/models.py:229 msgid "Target date for build completion. Build will be overdue after this date." msgstr "" -#: build/forms.py:48 build/forms.py:90 build/forms.py:266 build/models.py:1346 +#: build/forms.py:48 build/forms.py:90 build/forms.py:266 build/models.py:1354 #: build/templates/build/allocation_card.html:23 #: build/templates/build/auto_allocate.html:17 #: build/templates/build/build_base.html:133 #: build/templates/build/detail.html:31 common/models.py:741 -#: company/forms.py:189 company/templates/company/supplier_part_pricing.html:77 -#: order/forms.py:197 order/forms.py:215 order/forms.py:250 order/forms.py:272 -#: order/forms.py:289 order/models.py:613 order/models.py:835 -#: order/templates/order/order_wizard/match_parts.html:30 +#: company/forms.py:124 company/templates/company/supplier_part_pricing.html:79 +#: order/forms.py:120 order/forms.py:142 order/forms.py:159 order/models.py:702 +#: order/models.py:941 order/templates/order/order_wizard/match_parts.html:30 #: order/templates/order/order_wizard/select_parts.html:34 -#: order/templates/order/purchase_order_detail.html:179 -#: order/templates/order/sales_order_detail.html:70 -#: order/templates/order/sales_order_detail.html:77 -#: order/templates/order/sales_order_detail.html:162 -#: order/templates/order/sales_order_detail.html:234 part/forms.py:342 -#: part/forms.py:372 part/forms.py:388 part/forms.py:404 part/models.py:2293 -#: part/templates/part/internal_prices.html:98 -#: part/templates/part/order_prices.html:203 -#: part/templates/part/part_pricing.html:16 -#: part/templates/part/sale_prices.html:85 +#: order/templates/order/purchase_order_detail.html:206 +#: order/templates/order/sales_order_detail.html:80 +#: order/templates/order/sales_order_detail.html:87 +#: order/templates/order/sales_order_detail.html:172 +#: order/templates/order/sales_order_detail.html:244 part/forms.py:314 +#: part/forms.py:344 part/forms.py:360 part/forms.py:376 part/models.py:2330 +#: part/templates/part/part_pricing.html:16 part/templates/part/prices.html:377 +#: part/templates/part/prices.html:474 #: report/templates/report/inventree_build_order_base.html:114 #: report/templates/report/inventree_po_report.html:91 #: report/templates/report/inventree_so_report.html:91 #: report/templates/report/inventree_test_report_base.html:77 -#: stock/forms.py:175 stock/forms.py:308 +#: stock/forms.py:142 stock/forms.py:275 #: stock/templates/stock/item_base.html:255 #: stock/templates/stock/stock_adjust.html:18 templates/js/barcode.js:364 #: templates/js/bom.js:205 templates/js/build.js:233 templates/js/build.js:572 -#: templates/js/build.js:1112 templates/js/order.js:393 -#: templates/js/part.js:796 templates/js/stock.js:1164 -#: templates/js/stock.js:1383 +#: templates/js/build.js:1112 templates/js/model_renderers.js:43 +#: templates/js/order.js:460 templates/js/part.js:827 templates/js/part.js:949 +#: templates/js/part.js:1005 templates/js/stock.js:1178 +#: templates/js/stock.js:1397 msgid "Quantity" msgstr "" @@ -502,7 +508,7 @@ msgstr "" msgid "Enter quantity for build output" msgstr "" -#: build/forms.py:95 order/forms.py:244 stock/forms.py:118 +#: build/forms.py:95 order/forms.py:114 stock/forms.py:85 msgid "Serial Numbers" msgstr "" @@ -531,12 +537,12 @@ msgid "Mark build as complete" msgstr "" #: build/forms.py:210 build/templates/build/auto_allocate.html:18 -#: stock/forms.py:347 stock/templates/stock/item_base.html:285 +#: stock/forms.py:314 stock/templates/stock/item_base.html:285 #: stock/templates/stock/stock_adjust.html:17 #: templates/InvenTree/search.html:260 templates/js/barcode.js:363 #: templates/js/barcode.js:531 templates/js/build.js:218 -#: templates/js/build.js:586 templates/js/order.js:378 -#: templates/js/stock.js:643 templates/js/stock.js:1056 +#: templates/js/build.js:586 templates/js/order.js:445 +#: templates/js/stock.js:643 templates/js/stock.js:1070 msgid "Location" msgstr "" @@ -545,13 +551,13 @@ msgid "Location of completed parts" msgstr "" #: build/forms.py:215 build/templates/build/build_base.html:138 -#: build/templates/build/detail.html:59 order/models.py:465 +#: build/templates/build/detail.html:59 order/models.py:545 #: order/templates/order/receive_parts.html:24 #: stock/templates/stock/item_base.html:408 templates/InvenTree/search.html:252 #: templates/js/barcode.js:119 templates/js/build.js:868 -#: templates/js/order.js:187 templates/js/order.js:285 -#: templates/js/stock.js:630 templates/js/stock.js:1133 -#: templates/js/stock.js:1399 +#: templates/js/order.js:249 templates/js/order.js:352 +#: templates/js/stock.js:630 templates/js/stock.js:1147 +#: templates/js/stock.js:1413 msgid "Status" msgstr "" @@ -583,60 +589,60 @@ msgstr "" msgid "Select quantity of stock to allocate" msgstr "" -#: build/models.py:66 build/templates/build/build_base.html:9 +#: build/models.py:70 build/templates/build/build_base.html:9 #: build/templates/build/build_base.html:73 #: report/templates/report/inventree_build_order_base.html:106 #: templates/js/build.js:195 msgid "Build Order" msgstr "" -#: build/models.py:67 build/templates/build/index.html:8 +#: build/models.py:71 build/templates/build/index.html:8 #: build/templates/build/index.html:15 order/templates/order/so_builds.html:12 #: order/templates/order/so_navbar.html:19 #: order/templates/order/so_navbar.html:22 part/templates/part/navbar.html:58 -#: part/templates/part/navbar.html:61 templates/InvenTree/index.html:183 +#: part/templates/part/navbar.html:61 templates/InvenTree/index.html:191 #: templates/InvenTree/search.html:185 -#: templates/InvenTree/settings/tabs.html:34 users/models.py:43 +#: templates/InvenTree/settings/tabs.html:34 users/models.py:44 msgid "Build Orders" msgstr "" -#: build/models.py:127 +#: build/models.py:131 msgid "Build Order Reference" msgstr "" -#: build/models.py:128 order/models.py:98 order/models.py:615 -#: order/templates/order/purchase_order_detail.html:174 -#: order/templates/order/sales_order_detail.html:229 part/models.py:2302 +#: build/models.py:132 order/models.py:242 order/models.py:529 +#: order/models.py:709 order/templates/order/purchase_order_detail.html:201 +#: order/templates/order/sales_order_detail.html:239 part/models.py:2339 #: report/templates/report/inventree_po_report.html:92 #: report/templates/report/inventree_so_report.html:92 templates/js/bom.js:197 #: templates/js/build.js:661 templates/js/build.js:1106 msgid "Reference" msgstr "" -#: build/models.py:138 +#: build/models.py:142 msgid "Brief description of the build" msgstr "" -#: build/models.py:147 build/templates/build/build_base.html:163 +#: build/models.py:151 build/templates/build/build_base.html:163 #: build/templates/build/detail.html:77 msgid "Parent Build" msgstr "" -#: build/models.py:148 +#: build/models.py:152 msgid "BuildOrder to which this build is allocated" msgstr "" -#: build/models.py:153 build/templates/build/auto_allocate.html:16 +#: build/models.py:157 build/templates/build/auto_allocate.html:16 #: build/templates/build/build_base.html:128 -#: build/templates/build/detail.html:26 company/models.py:663 -#: order/models.py:657 order/models.py:712 +#: build/templates/build/detail.html:26 company/models.py:689 +#: order/models.py:755 order/models.py:814 #: order/templates/order/order_wizard/select_parts.html:32 -#: order/templates/order/purchase_order_detail.html:132 +#: order/templates/order/purchase_order_detail.html:159 #: order/templates/order/receive_parts.html:19 -#: order/templates/order/sales_order_detail.html:214 part/models.py:321 -#: part/models.py:1975 part/models.py:1987 part/models.py:2002 -#: part/models.py:2020 part/models.py:2095 part/models.py:2191 -#: part/models.py:2277 part/templates/part/part_app_base.html:8 +#: order/templates/order/sales_order_detail.html:224 part/models.py:325 +#: part/models.py:1988 part/models.py:2004 part/models.py:2023 +#: part/models.py:2041 part/models.py:2120 part/models.py:2224 +#: part/models.py:2314 part/templates/part/part_app_base.html:8 #: part/templates/part/part_pricing.html:12 part/templates/part/related.html:29 #: part/templates/part/set_category.html:13 #: report/templates/report/inventree_build_order_base.html:110 @@ -645,222 +651,222 @@ msgstr "" #: templates/InvenTree/search.html:112 templates/InvenTree/search.html:210 #: templates/js/barcode.js:362 templates/js/bom.js:163 #: templates/js/build.js:552 templates/js/build.js:839 -#: templates/js/build.js:1079 templates/js/company.js:140 -#: templates/js/company.js:339 templates/js/part.js:241 +#: templates/js/build.js:1079 templates/js/company.js:264 +#: templates/js/company.js:464 templates/js/part.js:241 #: templates/js/part.js:404 templates/js/stock.js:526 -#: templates/js/stock.js:1371 +#: templates/js/stock.js:1385 msgid "Part" msgstr "" -#: build/models.py:161 +#: build/models.py:165 msgid "Select part to build" msgstr "" -#: build/models.py:166 +#: build/models.py:170 msgid "Sales Order Reference" msgstr "" -#: build/models.py:170 +#: build/models.py:174 msgid "SalesOrder to which this build is allocated" msgstr "" -#: build/models.py:175 +#: build/models.py:179 msgid "Source Location" msgstr "" -#: build/models.py:179 +#: build/models.py:183 msgid "Select location to take stock from for this build (leave blank to take from any stock location)" msgstr "" -#: build/models.py:184 +#: build/models.py:188 msgid "Destination Location" msgstr "" -#: build/models.py:188 +#: build/models.py:192 msgid "Select location where the completed items will be stored" msgstr "" -#: build/models.py:192 +#: build/models.py:196 msgid "Build Quantity" msgstr "" -#: build/models.py:195 +#: build/models.py:199 msgid "Number of stock items to build" msgstr "" -#: build/models.py:199 +#: build/models.py:203 msgid "Completed items" msgstr "" -#: build/models.py:201 +#: build/models.py:205 msgid "Number of stock items which have been completed" msgstr "" -#: build/models.py:205 part/templates/part/part_base.html:167 +#: build/models.py:209 part/templates/part/part_base.html:167 msgid "Build Status" msgstr "" -#: build/models.py:209 +#: build/models.py:213 msgid "Build status code" msgstr "" -#: build/models.py:213 stock/models.py:462 +#: build/models.py:217 stock/models.py:470 msgid "Batch Code" msgstr "" -#: build/models.py:217 +#: build/models.py:221 msgid "Batch code for this build output" msgstr "" -#: build/models.py:220 order/models.py:104 part/models.py:867 -#: part/templates/part/detail.html:126 templates/js/order.js:293 +#: build/models.py:224 order/models.py:158 part/models.py:876 +#: part/templates/part/detail.html:126 templates/js/order.js:360 msgid "Creation Date" msgstr "" -#: build/models.py:224 order/models.py:471 +#: build/models.py:228 order/models.py:551 msgid "Target completion date" msgstr "" -#: build/models.py:228 order/models.py:217 templates/js/build.js:886 +#: build/models.py:232 order/models.py:284 templates/js/build.js:886 msgid "Completion Date" msgstr "" -#: build/models.py:234 +#: build/models.py:238 msgid "completed by" msgstr "" -#: build/models.py:242 +#: build/models.py:246 msgid "Issued by" msgstr "" -#: build/models.py:243 +#: build/models.py:247 msgid "User who issued this build order" msgstr "" -#: build/models.py:251 build/templates/build/build_base.html:184 -#: build/templates/build/detail.html:105 order/models.py:118 +#: build/models.py:255 build/templates/build/build_base.html:184 +#: build/templates/build/detail.html:105 order/models.py:172 #: order/templates/order/order_base.html:138 -#: order/templates/order/sales_order_base.html:140 part/models.py:871 +#: order/templates/order/sales_order_base.html:140 part/models.py:880 #: report/templates/report/inventree_build_order_base.html:159 msgid "Responsible" msgstr "" -#: build/models.py:252 +#: build/models.py:256 msgid "User responsible for this build order" msgstr "" -#: build/models.py:257 build/templates/build/detail.html:91 +#: build/models.py:261 build/templates/build/detail.html:91 #: company/templates/company/manufacturer_part_base.html:79 #: company/templates/company/manufacturer_part_detail.html:28 #: company/templates/company/supplier_part_base.html:78 #: company/templates/company/supplier_part_detail.html:28 #: part/templates/part/detail.html:83 part/templates/part/part_base.html:94 -#: stock/models.py:456 stock/templates/stock/item_base.html:345 +#: stock/models.py:464 stock/templates/stock/item_base.html:345 msgid "External Link" msgstr "" -#: build/models.py:258 part/models.py:729 stock/models.py:458 +#: build/models.py:262 part/models.py:738 stock/models.py:466 msgid "Link to external URL" msgstr "" -#: build/models.py:262 build/templates/build/navbar.html:53 -#: company/models.py:132 company/models.py:539 +#: build/models.py:266 build/templates/build/navbar.html:53 +#: company/models.py:141 company/models.py:561 #: company/templates/company/navbar.html:70 -#: company/templates/company/navbar.html:73 order/models.py:122 -#: order/models.py:617 order/templates/order/po_navbar.html:38 +#: company/templates/company/navbar.html:73 order/models.py:176 +#: order/models.py:711 order/templates/order/po_navbar.html:38 #: order/templates/order/po_navbar.html:41 -#: order/templates/order/purchase_order_detail.html:243 -#: order/templates/order/sales_order_detail.html:309 +#: order/templates/order/purchase_order_detail.html:270 +#: order/templates/order/sales_order_detail.html:319 #: order/templates/order/so_navbar.html:33 -#: order/templates/order/so_navbar.html:36 part/models.py:856 -#: part/templates/part/navbar.html:145 +#: order/templates/order/so_navbar.html:36 part/models.py:865 +#: part/templates/part/navbar.html:133 #: report/templates/report/inventree_build_order_base.html:173 -#: stock/forms.py:173 stock/forms.py:317 stock/forms.py:349 stock/forms.py:377 -#: stock/models.py:528 stock/models.py:1662 stock/models.py:1764 +#: stock/forms.py:140 stock/forms.py:284 stock/forms.py:316 stock/forms.py:344 +#: stock/models.py:536 stock/models.py:1678 stock/models.py:1784 #: stock/templates/stock/navbar.html:57 templates/js/barcode.js:37 -#: templates/js/bom.js:349 templates/js/stock.js:141 templates/js/stock.js:699 +#: templates/js/bom.js:349 templates/js/stock.js:141 templates/js/stock.js:713 msgid "Notes" msgstr "" -#: build/models.py:263 +#: build/models.py:267 msgid "Extra build notes" msgstr "" -#: build/models.py:740 +#: build/models.py:744 msgid "No build output specified" msgstr "" -#: build/models.py:743 +#: build/models.py:747 msgid "Build output is already completed" msgstr "" -#: build/models.py:746 +#: build/models.py:750 msgid "Build output does not match Build Order" msgstr "" -#: build/models.py:1152 +#: build/models.py:1160 msgid "BuildItem must be unique for build, stock_item and install_into" msgstr "" -#: build/models.py:1177 +#: build/models.py:1185 msgid "Build item must specify a build output, as master part is marked as trackable" msgstr "" -#: build/models.py:1181 +#: build/models.py:1189 #, python-brace-format msgid "Allocated quantity ({n}) must not exceed available quantity ({q})" msgstr "" -#: build/models.py:1188 order/models.py:809 +#: build/models.py:1196 order/models.py:915 msgid "StockItem is over-allocated" msgstr "" -#: build/models.py:1192 order/models.py:812 +#: build/models.py:1200 order/models.py:918 msgid "Allocation quantity must be greater than zero" msgstr "" -#: build/models.py:1196 +#: build/models.py:1204 msgid "Quantity must be 1 for serialized stock" msgstr "" -#: build/models.py:1256 +#: build/models.py:1264 #, python-brace-format msgid "Selected stock item not found in BOM for part '{p}'" msgstr "" -#: build/models.py:1316 stock/templates/stock/item_base.html:317 +#: build/models.py:1324 stock/templates/stock/item_base.html:317 #: templates/InvenTree/search.html:183 templates/js/build.js:812 #: templates/navbar.html:29 msgid "Build" msgstr "" -#: build/models.py:1317 +#: build/models.py:1325 msgid "Build to allocate parts" msgstr "" -#: build/models.py:1333 stock/templates/stock/item_base.html:8 +#: build/models.py:1341 stock/templates/stock/item_base.html:8 #: stock/templates/stock/item_base.html:31 #: stock/templates/stock/item_base.html:339 #: stock/templates/stock/stock_adjust.html:16 templates/js/build.js:206 #: templates/js/build.js:211 templates/js/build.js:929 -#: templates/js/order.js:366 templates/js/order.js:371 -#: templates/js/stock.js:1115 +#: templates/js/order.js:433 templates/js/order.js:438 +#: templates/js/stock.js:1129 msgid "Stock Item" msgstr "" -#: build/models.py:1334 +#: build/models.py:1342 msgid "Source stock item" msgstr "" -#: build/models.py:1347 +#: build/models.py:1355 msgid "Stock quantity to allocate to build" msgstr "" -#: build/models.py:1355 +#: build/models.py:1363 msgid "Install into" msgstr "" -#: build/models.py:1356 +#: build/models.py:1364 msgid "Destination stock item" msgstr "" @@ -894,7 +900,7 @@ msgstr "" #: build/templates/build/allocate.html:30 #: company/templates/company/detail_manufacturer_part.html:33 -#: company/templates/company/detail_supplier_part.html:32 order/views.py:992 +#: company/templates/company/detail_supplier_part.html:32 order/views.py:724 #: part/templates/part/category.html:136 msgid "Order Parts" msgstr "" @@ -913,23 +919,52 @@ msgstr "" #: build/templates/build/allocation_card.html:21 #: build/templates/build/complete_output.html:46 -#: order/templates/order/sales_order_detail.html:75 -#: order/templates/order/sales_order_detail.html:160 +#: order/templates/order/sales_order_detail.html:85 +#: order/templates/order/sales_order_detail.html:170 #: report/templates/report/inventree_test_report_base.html:75 -#: stock/models.py:450 stock/templates/stock/item_base.html:249 -#: templates/js/build.js:570 +#: stock/models.py:458 stock/templates/stock/item_base.html:249 +#: templates/js/build.js:570 templates/js/model_renderers.js:41 msgid "Serial Number" msgstr "" #: build/templates/build/attachments.html:12 #: build/templates/build/navbar.html:43 build/templates/build/navbar.html:46 #: order/templates/order/po_navbar.html:35 -#: order/templates/order/so_navbar.html:29 part/templates/part/navbar.html:136 -#: part/templates/part/navbar.html:139 stock/templates/stock/navbar.html:47 +#: order/templates/order/so_navbar.html:29 part/templates/part/navbar.html:124 +#: part/templates/part/navbar.html:127 stock/templates/stock/navbar.html:47 #: stock/templates/stock/navbar.html:50 msgid "Attachments" msgstr "" +#: build/templates/build/attachments.html:51 +#: order/templates/order/so_attachments.html:79 +#: part/templates/part/attachments.html:81 +#: stock/templates/stock/item_attachments.html:81 +#: templates/attachment_table.html:6 +msgid "Add Attachment" +msgstr "" + +#: build/templates/build/attachments.html:69 +#: order/templates/order/so_attachments.html:52 +#: part/templates/part/attachments.html:35 +#: stock/templates/stock/item_attachments.html:49 +msgid "Edit Attachment" +msgstr "" + +#: build/templates/build/attachments.html:76 +#: order/templates/order/so_attachments.html:58 +#: part/templates/part/attachments.html:44 +#: stock/templates/stock/item_attachments.html:58 +msgid "Confirm Delete Operation" +msgstr "" + +#: build/templates/build/attachments.html:77 +#: order/templates/order/so_attachments.html:59 +#: part/templates/part/attachments.html:45 +#: stock/templates/stock/item_attachments.html:59 +msgid "Delete Attachment" +msgstr "" + #: build/templates/build/auto_allocate.html:9 msgid "Automatically Allocate Stock" msgstr "" @@ -990,8 +1025,8 @@ msgstr "" #: order/templates/order/order_base.html:86 #: order/templates/order/sales_order_base.html:43 #: order/templates/order/sales_order_base.html:88 -#: templates/js/table_filters.js:245 templates/js/table_filters.js:264 -#: templates/js/table_filters.js:281 +#: templates/js/table_filters.js:250 templates/js/table_filters.js:269 +#: templates/js/table_filters.js:286 msgid "Overdue" msgstr "" @@ -1037,13 +1072,13 @@ msgid "Progress" msgstr "" #: build/templates/build/build_base.html:170 -#: build/templates/build/detail.html:84 order/models.py:710 +#: build/templates/build/detail.html:84 order/models.py:812 #: order/templates/order/sales_order_base.html:9 #: order/templates/order/sales_order_base.html:35 #: order/templates/order/sales_order_ship.html:25 #: report/templates/report/inventree_build_order_base.html:136 #: report/templates/report/inventree_so_report.html:77 -#: stock/templates/stock/item_base.html:279 templates/js/order.js:245 +#: stock/templates/stock/item_base.html:279 templates/js/order.js:307 msgid "Sales Order" msgstr "" @@ -1184,10 +1219,10 @@ msgstr "" msgid "Stock can be taken from any available location." msgstr "" -#: build/templates/build/detail.html:46 order/forms.py:89 order/models.py:673 -#: order/templates/order/purchase_order_detail.html:239 -#: order/templates/order/receive_parts.html:25 stock/forms.py:169 -#: stock/forms.py:375 +#: build/templates/build/detail.html:46 order/forms.py:88 order/models.py:771 +#: order/templates/order/purchase_order_detail.html:266 +#: order/templates/order/receive_parts.html:25 stock/forms.py:136 +#: stock/forms.py:342 msgid "Destination" msgstr "" @@ -1197,7 +1232,7 @@ msgstr "" #: build/templates/build/detail.html:70 #: stock/templates/stock/item_base.html:303 templates/js/stock.js:638 -#: templates/js/stock.js:1406 templates/js/table_filters.js:112 +#: templates/js/stock.js:1420 templates/js/table_filters.js:112 #: templates/js/table_filters.js:206 msgid "Batch" msgstr "" @@ -1252,7 +1287,7 @@ msgstr "" #: company/templates/company/navbar.html:15 #: order/templates/order/po_navbar.html:15 #: order/templates/order/so_navbar.html:15 part/templates/part/navbar.html:18 -#: templates/js/stock.js:1044 +#: templates/js/stock.js:1058 msgid "Details" msgstr "" @@ -1288,7 +1323,6 @@ msgstr "" #: order/templates/order/order_notes.html:27 #: order/templates/order/sales_order_notes.html:29 #: part/templates/part/notes.html:27 stock/templates/stock/item_base.html:487 -#: stock/templates/stock/item_base.html:497 #: stock/templates/stock/item_notes.html:26 msgid "Save" msgstr "" @@ -1317,7 +1351,7 @@ msgstr "" msgid "Maximum output quantity is " msgstr "" -#: build/views.py:184 stock/views.py:1821 +#: build/views.py:184 stock/views.py:1653 msgid "Serial numbers already exist" msgstr "" @@ -1333,7 +1367,7 @@ msgstr "" msgid "Confirm unallocation of build stock" msgstr "" -#: build/views.py:281 build/views.py:371 stock/views.py:425 +#: build/views.py:281 build/views.py:371 stock/views.py:346 msgid "Check the confirmation box" msgstr "" @@ -1430,31 +1464,6 @@ msgstr "" msgid "Updated Build Item" msgstr "" -#: build/views.py:1070 -msgid "Add Build Order Attachment" -msgstr "" - -#: build/views.py:1083 order/views.py:117 order/views.py:169 part/views.py:178 -#: stock/views.py:277 -msgid "Added attachment" -msgstr "" - -#: build/views.py:1119 order/views.py:196 order/views.py:217 -msgid "Edit Attachment" -msgstr "" - -#: build/views.py:1129 order/views.py:200 order/views.py:221 -msgid "Attachment updated" -msgstr "" - -#: build/views.py:1139 order/views.py:236 order/views.py:250 -msgid "Delete Attachment" -msgstr "" - -#: build/views.py:1144 order/views.py:242 order/views.py:256 stock/views.py:333 -msgid "Deleted attachment" -msgstr "" - #: common/files.py:66 msgid "Unsupported file format: {ext.upper()}" msgstr "" @@ -1471,7 +1480,7 @@ msgstr "" msgid "Error reading file (data could be corrupted)" msgstr "" -#: common/forms.py:34 templates/attachment_table.html:15 +#: common/forms.py:34 templates/js/attachment.js:42 msgid "File" msgstr "" @@ -1504,7 +1513,7 @@ msgstr "" msgid "Use the instance name in the title-bar" msgstr "" -#: common/models.py:72 company/models.py:94 company/models.py:95 +#: common/models.py:72 company/models.py:99 company/models.py:100 msgid "Company name" msgstr "" @@ -1608,9 +1617,9 @@ msgstr "" msgid "Number of recent parts to display on index page" msgstr "" -#: common/models.py:160 part/models.py:2193 part/templates/part/detail.html:160 -#: report/models.py:186 stock/forms.py:259 templates/js/table_filters.js:25 -#: templates/js/table_filters.js:315 +#: common/models.py:160 part/models.py:2226 part/templates/part/detail.html:160 +#: report/models.py:186 stock/forms.py:226 templates/js/table_filters.js:25 +#: templates/js/table_filters.js:320 msgid "Template" msgstr "" @@ -1618,8 +1627,8 @@ msgstr "" msgid "Parts are templates by default" msgstr "" -#: common/models.py:167 part/models.py:819 part/templates/part/detail.html:170 -#: templates/js/table_filters.js:128 templates/js/table_filters.js:327 +#: common/models.py:167 part/models.py:828 part/templates/part/detail.html:170 +#: templates/js/table_filters.js:128 templates/js/table_filters.js:332 msgid "Assembly" msgstr "" @@ -1627,8 +1636,8 @@ msgstr "" msgid "Parts can be assembled from other components by default" msgstr "" -#: common/models.py:174 part/models.py:825 part/templates/part/detail.html:180 -#: templates/js/table_filters.js:331 +#: common/models.py:174 part/models.py:834 part/templates/part/detail.html:180 +#: templates/js/table_filters.js:336 msgid "Component" msgstr "" @@ -1636,7 +1645,7 @@ msgstr "" msgid "Parts can be used as sub-components by default" msgstr "" -#: common/models.py:181 part/models.py:836 part/templates/part/detail.html:200 +#: common/models.py:181 part/models.py:845 part/templates/part/detail.html:200 msgid "Purchaseable" msgstr "" @@ -1644,8 +1653,8 @@ msgstr "" msgid "Parts are purchaseable by default" msgstr "" -#: common/models.py:188 part/models.py:841 part/templates/part/detail.html:210 -#: templates/js/table_filters.js:339 +#: common/models.py:188 part/models.py:850 part/templates/part/detail.html:210 +#: templates/js/table_filters.js:344 msgid "Salable" msgstr "" @@ -1653,8 +1662,8 @@ msgstr "" msgid "Parts are salable by default" msgstr "" -#: common/models.py:195 part/models.py:831 part/templates/part/detail.html:190 -#: templates/js/table_filters.js:33 templates/js/table_filters.js:343 +#: common/models.py:195 part/models.py:840 part/templates/part/detail.html:190 +#: templates/js/table_filters.js:33 templates/js/table_filters.js:348 msgid "Trackable" msgstr "" @@ -1662,7 +1671,7 @@ msgstr "" msgid "Parts are trackable by default" msgstr "" -#: common/models.py:202 part/models.py:851 part/templates/part/detail.html:150 +#: common/models.py:202 part/models.py:860 part/templates/part/detail.html:150 #: templates/js/table_filters.js:29 msgid "Virtual" msgstr "" @@ -1859,13 +1868,12 @@ msgstr "" msgid "Key string must be unique" msgstr "" -#: common/models.py:742 company/forms.py:190 +#: common/models.py:742 company/forms.py:125 msgid "Price break quantity" msgstr "" -#: common/models.py:749 company/templates/company/supplier_part_pricing.html:82 -#: part/templates/part/internal_prices.html:103 -#: part/templates/part/sale_prices.html:90 +#: common/models.py:749 company/templates/company/supplier_part_pricing.html:84 +#: templates/js/part.js:832 msgid "Price" msgstr "" @@ -1895,16 +1903,16 @@ msgstr "" #: common/views.py:184 order/templates/order/order_wizard/po_upload.html:42 #: order/templates/order/po_navbar.html:19 -#: order/templates/order/po_navbar.html:22 order/views.py:605 +#: order/templates/order/po_navbar.html:22 order/views.py:337 #: part/templates/part/bom_upload/upload_file.html:27 -#: part/templates/part/import_wizard/part_upload.html:45 part/views.py:761 +#: part/templates/part/import_wizard/part_upload.html:45 part/views.py:621 msgid "Upload File" msgstr "" #: common/views.py:185 order/templates/order/order_wizard/match_fields.html:52 -#: order/views.py:606 part/templates/part/bom_upload/select_fields.html:58 +#: order/views.py:338 part/templates/part/bom_upload/select_fields.html:58 #: part/templates/part/import_wizard/ajax_match_fields.html:45 -#: part/templates/part/import_wizard/match_fields.html:52 part/views.py:762 +#: part/templates/part/import_wizard/match_fields.html:52 part/views.py:622 msgid "Match Fields" msgstr "" @@ -1929,269 +1937,277 @@ msgstr "" msgid "Previous Step" msgstr "" -#: company/forms.py:37 company/models.py:142 -#: company/templates/company/detail.html:42 -msgid "Currency" -msgstr "" - -#: company/forms.py:38 company/models.py:144 -msgid "Default currency used for this company" -msgstr "" - -#: company/forms.py:76 part/forms.py:46 +#: company/forms.py:26 part/forms.py:46 msgid "URL" msgstr "" -#: company/forms.py:77 part/forms.py:47 +#: company/forms.py:27 part/forms.py:47 msgid "Image URL" msgstr "" -#: company/forms.py:132 templates/js/part.js:787 +#: company/forms.py:67 templates/js/part.js:940 msgid "Single Price" msgstr "" -#: company/forms.py:133 +#: company/forms.py:68 msgid "Single quantity price" msgstr "" -#: company/forms.py:141 company/models.py:321 +#: company/forms.py:76 company/models.py:335 msgid "Select manufacturer" msgstr "" -#: company/forms.py:147 company/models.py:328 +#: company/forms.py:82 company/models.py:342 msgid "Manufacturer Part Number" msgstr "" -#: company/forms.py:149 company/models.py:327 +#: company/forms.py:84 company/models.py:341 #: company/templates/company/manufacturer_part_base.html:89 #: company/templates/company/manufacturer_part_detail.html:26 #: company/templates/company/supplier_part_base.html:102 #: company/templates/company/supplier_part_detail.html:35 -#: order/templates/order/purchase_order_detail.html:162 part/bom.py:171 -#: part/bom.py:242 templates/js/company.js:181 templates/js/company.js:408 +#: order/templates/order/purchase_order_detail.html:189 part/bom.py:171 +#: part/bom.py:242 templates/js/company.js:305 templates/js/company.js:533 msgid "MPN" msgstr "" -#: company/models.py:99 +#: company/models.py:104 msgid "Company description" msgstr "" -#: company/models.py:100 +#: company/models.py:105 msgid "Description of the company" msgstr "" -#: company/models.py:104 company/templates/company/company_base.html:70 -#: company/templates/company/detail.html:33 templates/js/company.js:60 +#: company/models.py:111 company/templates/company/company_base.html:70 +#: company/templates/company/detail.html:33 templates/js/company.js:129 msgid "Website" msgstr "" -#: company/models.py:104 +#: company/models.py:112 msgid "Company website URL" msgstr "" -#: company/models.py:107 company/templates/company/company_base.html:77 +#: company/models.py:116 company/templates/company/company_base.html:77 msgid "Address" msgstr "" -#: company/models.py:108 +#: company/models.py:117 msgid "Company address" msgstr "" -#: company/models.py:111 +#: company/models.py:120 msgid "Phone number" msgstr "" -#: company/models.py:112 +#: company/models.py:121 msgid "Contact phone number" msgstr "" -#: company/models.py:115 company/templates/company/company_base.html:91 +#: company/models.py:124 company/templates/company/company_base.html:91 msgid "Email" msgstr "" -#: company/models.py:115 +#: company/models.py:124 msgid "Contact email address" msgstr "" -#: company/models.py:118 company/templates/company/company_base.html:98 +#: company/models.py:127 company/templates/company/company_base.html:98 msgid "Contact" msgstr "" -#: company/models.py:119 +#: company/models.py:128 msgid "Point of contact" msgstr "" -#: company/models.py:121 company/models.py:333 company/models.py:526 -#: order/models.py:102 part/models.py:728 +#: company/models.py:130 company/models.py:347 company/models.py:548 +#: order/models.py:156 part/models.py:737 #: report/templates/report/inventree_build_order_base.html:165 -#: templates/js/company.js:188 templates/js/company.js:419 +#: templates/js/company.js:312 templates/js/company.js:544 #: templates/js/part.js:498 msgid "Link" msgstr "" -#: company/models.py:121 +#: company/models.py:130 msgid "Link to external company information" msgstr "" -#: company/models.py:129 part/models.py:738 +#: company/models.py:138 part/models.py:747 msgid "Image" msgstr "" -#: company/models.py:134 +#: company/models.py:143 msgid "is customer" msgstr "" -#: company/models.py:134 +#: company/models.py:143 msgid "Do you sell items to this company?" msgstr "" -#: company/models.py:136 +#: company/models.py:145 msgid "is supplier" msgstr "" -#: company/models.py:136 +#: company/models.py:145 msgid "Do you purchase items from this company?" msgstr "" -#: company/models.py:138 +#: company/models.py:147 msgid "is manufacturer" msgstr "" -#: company/models.py:138 +#: company/models.py:147 msgid "Does this company manufacture parts?" msgstr "" -#: company/models.py:305 company/models.py:497 stock/models.py:403 +#: company/models.py:151 company/serializers.py:259 +#: company/templates/company/detail.html:42 +msgid "Currency" +msgstr "" + +#: company/models.py:154 +msgid "Default currency used for this company" +msgstr "" + +#: company/models.py:319 company/models.py:519 stock/models.py:411 #: stock/templates/stock/item_base.html:235 msgid "Base Part" msgstr "" -#: company/models.py:309 company/models.py:501 order/views.py:1603 +#: company/models.py:323 company/models.py:523 order/views.py:1127 msgid "Select part" msgstr "" -#: company/models.py:320 company/templates/company/detail.html:57 +#: company/models.py:334 company/templates/company/detail.html:57 #: company/templates/company/manufacturer_part_base.html:85 #: company/templates/company/manufacturer_part_detail.html:25 #: company/templates/company/supplier_part_base.html:94 #: company/templates/company/supplier_part_detail.html:34 part/bom.py:170 #: part/bom.py:241 stock/templates/stock/item_base.html:352 -#: templates/js/company.js:44 templates/js/company.js:165 -#: templates/js/company.js:390 +#: templates/js/company.js:113 templates/js/company.js:289 +#: templates/js/company.js:515 msgid "Manufacturer" msgstr "" -#: company/models.py:334 +#: company/models.py:348 msgid "URL for external manufacturer part link" msgstr "" -#: company/models.py:340 +#: company/models.py:354 msgid "Manufacturer part description" msgstr "" -#: company/models.py:390 company/models.py:520 +#: company/models.py:408 company/models.py:542 #: company/templates/company/manufacturer_part_base.html:6 #: company/templates/company/manufacturer_part_base.html:19 #: stock/templates/stock/item_base.html:362 msgid "Manufacturer Part" msgstr "" -#: company/models.py:397 +#: company/models.py:415 msgid "Parameter name" msgstr "" -#: company/models.py:403 part/templates/part/params.html:28 +#: company/models.py:421 part/templates/part/params.html:28 #: report/templates/report/inventree_test_report_base.html:90 -#: stock/models.py:1751 templates/InvenTree/settings/header.html:8 -#: templates/js/company.js:241 templates/js/stock.js:137 +#: stock/models.py:1771 templates/InvenTree/settings/header.html:8 +#: templates/js/company.js:365 templates/js/stock.js:137 msgid "Value" msgstr "" -#: company/models.py:404 +#: company/models.py:422 msgid "Parameter value" msgstr "" -#: company/models.py:410 part/models.py:813 part/models.py:2165 +#: company/models.py:428 part/models.py:822 part/models.py:2194 #: part/templates/part/detail.html:106 part/templates/part/params.html:29 -#: templates/js/company.js:247 +#: templates/js/company.js:371 msgid "Units" msgstr "" -#: company/models.py:411 +#: company/models.py:429 msgid "Parameter units" msgstr "" -#: company/models.py:507 company/templates/company/detail.html:62 +#: company/models.py:529 company/templates/company/detail.html:62 #: company/templates/company/supplier_part_base.html:84 -#: company/templates/company/supplier_part_detail.html:25 order/models.py:189 +#: company/templates/company/supplier_part_detail.html:25 order/models.py:256 #: order/templates/order/order_base.html:92 #: order/templates/order/order_wizard/select_pos.html:30 part/bom.py:175 #: part/bom.py:286 stock/templates/stock/item_base.html:369 -#: templates/js/company.js:48 templates/js/company.js:364 -#: templates/js/order.js:170 +#: templates/js/company.js:117 templates/js/company.js:489 +#: templates/js/order.js:232 msgid "Supplier" msgstr "" -#: company/models.py:508 +#: company/models.py:530 msgid "Select supplier" msgstr "" -#: company/models.py:513 company/templates/company/supplier_part_base.html:88 +#: company/models.py:535 company/templates/company/supplier_part_base.html:88 #: company/templates/company/supplier_part_detail.html:26 -#: order/templates/order/purchase_order_detail.html:153 part/bom.py:176 +#: order/templates/order/purchase_order_detail.html:180 part/bom.py:176 #: part/bom.py:287 msgid "SKU" msgstr "" -#: company/models.py:514 +#: company/models.py:536 msgid "Supplier stock keeping unit" msgstr "" -#: company/models.py:521 +#: company/models.py:543 msgid "Select manufacturer part" msgstr "" -#: company/models.py:527 +#: company/models.py:549 msgid "URL for external supplier part link" msgstr "" -#: company/models.py:533 +#: company/models.py:555 msgid "Supplier part description" msgstr "" -#: company/models.py:538 company/templates/company/supplier_part_base.html:116 -#: company/templates/company/supplier_part_detail.html:38 part/models.py:2305 +#: company/models.py:560 company/templates/company/supplier_part_base.html:116 +#: company/templates/company/supplier_part_detail.html:38 part/models.py:2342 #: report/templates/report/inventree_po_report.html:93 #: report/templates/report/inventree_so_report.html:93 msgid "Note" msgstr "" -#: company/models.py:542 part/models.py:1606 +#: company/models.py:564 part/models.py:1615 msgid "base cost" msgstr "" -#: company/models.py:542 part/models.py:1606 +#: company/models.py:564 part/models.py:1615 msgid "Minimum charge (e.g. stocking fee)" msgstr "" -#: company/models.py:544 company/templates/company/supplier_part_base.html:109 -#: stock/models.py:427 stock/templates/stock/item_base.html:310 -#: templates/js/stock.js:695 +#: company/models.py:566 company/templates/company/supplier_part_base.html:109 +#: stock/models.py:435 stock/templates/stock/item_base.html:310 +#: templates/js/stock.js:709 msgid "Packaging" msgstr "" -#: company/models.py:544 +#: company/models.py:566 msgid "Part packaging" msgstr "" -#: company/models.py:546 part/models.py:1608 +#: company/models.py:568 part/models.py:1617 msgid "multiple" msgstr "" -#: company/models.py:546 +#: company/models.py:568 msgid "Order multiple" msgstr "" +#: company/serializers.py:68 +msgid "Default currency used for this supplier" +msgstr "" + +#: company/serializers.py:69 +msgid "Currency Code" +msgstr "" + #: company/templates/company/assigned_stock.html:10 #: company/templates/company/navbar.html:62 #: company/templates/company/navbar.html:65 templates/js/build.js:563 @@ -2200,7 +2216,7 @@ msgstr "" #: company/templates/company/company_base.html:9 #: company/templates/company/company_base.html:35 -#: templates/InvenTree/search.html:304 templates/js/company.js:33 +#: templates/InvenTree/search.html:304 templates/js/company.js:102 msgid "Company" msgstr "" @@ -2214,7 +2230,7 @@ msgstr "" msgid "Download image from URL" msgstr "" -#: company/templates/company/company_base.html:46 order/views.py:313 +#: company/templates/company/company_base.html:46 templates/js/order.js:61 msgid "Create Purchase Order" msgstr "" @@ -2222,7 +2238,8 @@ msgstr "" msgid "Edit company information" msgstr "" -#: company/templates/company/company_base.html:56 company/views.py:326 +#: company/templates/company/company_base.html:56 +#: company/templates/company/company_base.html:126 msgid "Delete Company" msgstr "" @@ -2236,16 +2253,9 @@ msgstr "" msgid "Phone" msgstr "" -#: company/templates/company/delete.html:7 -#, python-format -msgid "Are you sure you want to delete company '%(name)s'?" -msgstr "" - -#: company/templates/company/delete.html:12 -#, python-format -msgid "" -"There are %(count)s parts sourced from this company.
\n" -"If this supplier is deleted, these supplier part entries will also be deleted." +#: company/templates/company/company_base.html:166 +#: part/templates/part/part_base.html:307 +msgid "Upload Image" msgstr "" #: company/templates/company/detail.html:21 @@ -2260,11 +2270,11 @@ msgstr "" msgid "Uses default currency" msgstr "" -#: company/templates/company/detail.html:67 order/models.py:460 -#: order/templates/order/sales_order_base.html:94 stock/models.py:445 -#: stock/models.py:446 stock/templates/stock/item_base.html:262 -#: templates/js/company.js:40 templates/js/order.js:267 -#: templates/js/stock.js:1097 +#: company/templates/company/detail.html:67 order/models.py:540 +#: order/templates/order/sales_order_base.html:94 stock/models.py:453 +#: stock/models.py:454 stock/templates/stock/item_base.html:262 +#: templates/js/company.js:109 templates/js/order.js:329 +#: templates/js/stock.js:1111 msgid "Customer" msgstr "" @@ -2285,6 +2295,7 @@ msgstr "" #: company/templates/company/detail_manufacturer_part.html:28 #: company/templates/company/detail_supplier_part.html:27 #: company/templates/company/manufacturer_part_suppliers.html:20 +#: company/templates/company/manufacturer_part_suppliers.html:46 #: part/templates/part/category.html:131 #: part/templates/part/manufacturer.html:22 #: part/templates/part/supplier.html:20 @@ -2307,26 +2318,25 @@ msgstr "" msgid "Delete Parts" msgstr "" -#: company/templates/company/detail_manufacturer_part.html:66 +#: company/templates/company/detail_manufacturer_part.html:68 #: company/templates/company/detail_supplier_part.html:66 #: part/templates/part/bom.html:159 part/templates/part/category.html:127 -#: templates/js/stock.js:1312 +#: templates/js/stock.js:1326 msgid "New Part" msgstr "" -#: company/templates/company/detail_manufacturer_part.html:67 +#: company/templates/company/detail_manufacturer_part.html:69 #: company/templates/company/detail_supplier_part.html:67 msgid "Create new Part" msgstr "" -#: company/templates/company/detail_manufacturer_part.html:72 -#: company/views.py:71 part/templates/part/manufacturer.html:52 -#: part/templates/part/supplier.html:56 +#: company/templates/company/detail_manufacturer_part.html:74 +#: company/views.py:66 part/templates/part/manufacturer.html:52 +#: part/templates/part/supplier.html:55 msgid "New Manufacturer" msgstr "" -#: company/templates/company/detail_manufacturer_part.html:73 -#: company/views.py:284 +#: company/templates/company/detail_manufacturer_part.html:75 msgid "Create new Manufacturer" msgstr "" @@ -2337,7 +2347,7 @@ msgstr "" #: company/templates/company/detail_stock.html:37 #: company/templates/company/supplier_part_stock.html:34 #: part/templates/part/category.html:123 part/templates/part/category.html:137 -#: part/templates/part/stock.html:54 stock/templates/stock/location.html:163 +#: part/templates/part/stock.html:55 stock/templates/stock/location.html:163 msgid "Export" msgstr "" @@ -2349,26 +2359,24 @@ msgstr "" #: company/templates/company/detail_supplier_part.html:21 #: order/templates/order/order_wizard/select_parts.html:44 -#: order/templates/order/purchase_order_detail.html:50 +#: part/templates/part/part_base.html:429 msgid "Create new supplier part" msgstr "" #: company/templates/company/detail_supplier_part.html:22 #: company/templates/company/manufacturer_part_suppliers.html:17 -#: order/templates/order/purchase_order_detail.html:49 -#: part/templates/part/supplier.html:17 templates/js/stock.js:1318 +#: part/templates/part/part_base.html:428 part/templates/part/supplier.html:17 +#: templates/js/stock.js:1332 msgid "New Supplier Part" msgstr "" #: company/templates/company/detail_supplier_part.html:72 -#: company/templates/company/manufacturer_part_suppliers.html:82 -#: company/views.py:64 order/templates/order/purchase_orders.html:185 -#: part/templates/part/supplier.html:50 +#: company/templates/company/manufacturer_part_suppliers.html:96 +#: company/views.py:60 part/templates/part/supplier.html:50 msgid "New Supplier" msgstr "" -#: company/templates/company/detail_supplier_part.html:73 company/views.py:281 -#: order/templates/order/purchase_orders.html:186 +#: company/templates/company/detail_supplier_part.html:73 msgid "Create new Supplier" msgstr "" @@ -2403,20 +2411,19 @@ msgstr "" msgid "Internal Part" msgstr "" -#: company/templates/company/manufacturer_part_delete.html:6 -msgid "Are you sure you want to delete the following Manufacturer Parts?" +#: company/templates/company/manufacturer_part_base.html:125 +msgid "Edit Manufacturer Part" msgstr "" -#: company/templates/company/manufacturer_part_delete.html:36 -#, python-format -msgid "There are %(count)s suppliers defined for this manufacturer part. If you delete it, the following supplier parts will also be deleted:" +#: company/templates/company/manufacturer_part_base.html:134 +msgid "Delete Manufacturer Part" msgstr "" #: company/templates/company/manufacturer_part_navbar.html:14 #: company/templates/company/manufacturer_part_suppliers.html:10 -#: company/views.py:63 part/templates/part/navbar.html:87 -#: part/templates/part/navbar.html:90 templates/InvenTree/search.html:316 -#: templates/navbar.html:35 +#: company/views.py:59 part/templates/part/navbar.html:87 +#: part/templates/part/navbar.html:90 part/templates/part/prices.html:153 +#: templates/InvenTree/search.html:316 templates/navbar.html:35 msgid "Suppliers" msgstr "" @@ -2427,7 +2434,7 @@ msgstr "" #: company/templates/company/manufacturer_part_navbar.html:22 #: company/templates/company/navbar.html:41 #: company/templates/company/supplier_part_navbar.html:15 -#: part/templates/part/navbar.html:39 stock/api.py:54 +#: part/templates/part/navbar.html:39 stock/api.py:53 #: stock/templates/stock/loc_link.html:7 stock/templates/stock/location.html:36 #: stock/templates/stock/stock_app_base.html:10 #: templates/InvenTree/index.html:128 templates/InvenTree/search.html:196 @@ -2453,9 +2460,11 @@ msgid "Delete supplier parts" msgstr "" #: company/templates/company/manufacturer_part_suppliers.html:22 +#: company/templates/company/manufacturer_part_suppliers.html:48 +#: company/templates/company/manufacturer_part_suppliers.html:142 #: part/templates/part/manufacturer.html:24 part/templates/part/params.html:44 #: part/templates/part/related.html:44 part/templates/part/supplier.html:22 -#: stock/views.py:1002 users/models.py:191 +#: stock/views.py:855 templates/js/company.js:203 users/models.py:192 msgid "Delete" msgstr "" @@ -2473,11 +2482,27 @@ msgstr "" msgid "New Parameter" msgstr "" -#: company/templates/company/manufacturer_part_suppliers.html:83 +#: company/templates/company/manufacturer_part_suppliers.html:48 +msgid "Delete parameters" +msgstr "" + +#: company/templates/company/manufacturer_part_suppliers.html:80 +msgid "Add Parameter" +msgstr "" + +#: company/templates/company/manufacturer_part_suppliers.html:97 #: part/templates/part/supplier.html:51 msgid "Create new supplier" msgstr "" +#: company/templates/company/manufacturer_part_suppliers.html:127 +msgid "Selected parameters will be deleted" +msgstr "" + +#: company/templates/company/manufacturer_part_suppliers.html:139 +msgid "Delete Parameters" +msgstr "" + #: company/templates/company/navbar.html:20 #: company/templates/company/navbar.html:23 msgid "Manufactured Parts" @@ -2494,8 +2519,8 @@ msgstr "" #: stock/templates/stock/location.html:136 #: stock/templates/stock/location_navbar.html:22 #: stock/templates/stock/location_navbar.html:29 -#: templates/InvenTree/search.html:198 templates/js/stock.js:996 -#: templates/stats.html:93 templates/stats.html:102 users/models.py:42 +#: templates/InvenTree/search.html:198 templates/js/stock.js:1010 +#: templates/stats.html:93 templates/stats.html:102 users/models.py:43 msgid "Stock Items" msgstr "" @@ -2505,11 +2530,11 @@ msgstr "" #: company/templates/company/sales_orders.html:11 #: order/templates/order/sales_orders.html:8 #: order/templates/order/sales_orders.html:13 -#: part/templates/part/navbar.html:113 part/templates/part/navbar.html:116 -#: part/templates/part/sales_orders.html:10 templates/InvenTree/index.html:228 +#: part/templates/part/navbar.html:101 part/templates/part/navbar.html:104 +#: part/templates/part/sales_orders.html:10 templates/InvenTree/index.html:236 #: templates/InvenTree/search.html:345 #: templates/InvenTree/settings/tabs.html:40 templates/navbar.html:46 -#: users/models.py:45 +#: users/models.py:46 msgid "Sales Orders" msgstr "" @@ -2518,10 +2543,10 @@ msgstr "" #: order/templates/order/purchase_orders.html:8 #: order/templates/order/purchase_orders.html:13 #: part/templates/part/navbar.html:93 part/templates/part/navbar.html:96 -#: part/templates/part/orders.html:10 templates/InvenTree/index.html:205 +#: part/templates/part/orders.html:10 templates/InvenTree/index.html:213 #: templates/InvenTree/search.html:325 #: templates/InvenTree/settings/tabs.html:37 templates/navbar.html:37 -#: users/models.py:44 +#: users/models.py:45 msgid "Purchase Orders" msgstr "" @@ -2550,8 +2575,9 @@ msgid "New Sales Order" msgstr "" #: company/templates/company/supplier_part_base.html:7 -#: company/templates/company/supplier_part_base.html:20 stock/models.py:412 -#: stock/templates/stock/item_base.html:374 templates/js/company.js:380 +#: company/templates/company/supplier_part_base.html:20 stock/models.py:420 +#: stock/templates/stock/item_base.html:374 templates/js/company.js:505 +#: templates/js/stock.js:690 msgid "Supplier Part" msgstr "" @@ -2596,459 +2622,401 @@ msgid "Order Part" msgstr "" #: company/templates/company/supplier_part_pricing.html:11 +#: part/templates/part/navbar.html:74 msgid "Pricing Information" msgstr "" -#: company/templates/company/supplier_part_pricing.html:19 company/views.py:855 -#: part/templates/part/sale_prices.html:17 part/views.py:2918 +#: company/templates/company/supplier_part_pricing.html:19 +#: company/templates/company/supplier_part_pricing.html:118 +#: part/templates/part/prices.html:264 part/views.py:2788 msgid "Add Price Break" msgstr "" #: company/templates/company/supplier_part_pricing.html:38 -#: part/templates/part/sale_prices.html:46 msgid "No price break information found" msgstr "" -#: company/templates/company/supplier_part_pricing.html:89 -#: part/templates/part/sale_prices.html:97 +#: company/templates/company/supplier_part_pricing.html:52 part/views.py:2850 +msgid "Delete Price Break" +msgstr "" + +#: company/templates/company/supplier_part_pricing.html:66 part/views.py:2836 +msgid "Edit Price Break" +msgstr "" + +#: company/templates/company/supplier_part_pricing.html:91 msgid "Edit price break" msgstr "" -#: company/templates/company/supplier_part_pricing.html:90 -#: part/templates/part/sale_prices.html:98 +#: company/templates/company/supplier_part_pricing.html:92 msgid "Delete price break" msgstr "" -#: company/views.py:70 part/templates/part/navbar.html:81 -#: part/templates/part/navbar.html:84 templates/InvenTree/search.html:306 -#: templates/navbar.html:36 +#: company/views.py:65 part/templates/part/navbar.html:81 +#: part/templates/part/navbar.html:84 part/templates/part/prices.html:157 +#: templates/InvenTree/search.html:306 templates/navbar.html:36 msgid "Manufacturers" msgstr "" -#: company/views.py:77 templates/InvenTree/search.html:336 +#: company/views.py:71 templates/InvenTree/search.html:336 #: templates/navbar.html:45 msgid "Customers" msgstr "" -#: company/views.py:78 order/templates/order/sales_orders.html:187 +#: company/views.py:72 msgid "New Customer" msgstr "" -#: company/views.py:86 +#: company/views.py:79 msgid "Companies" msgstr "" -#: company/views.py:87 +#: company/views.py:80 msgid "New Company" msgstr "" -#: company/views.py:169 part/views.py:1115 +#: company/views.py:161 part/views.py:1007 msgid "Download Image" msgstr "" -#: company/views.py:198 part/views.py:1147 +#: company/views.py:190 part/views.py:1039 msgid "Image size exceeds maximum allowable size for download" msgstr "" -#: company/views.py:205 part/views.py:1154 +#: company/views.py:197 part/views.py:1046 #, python-brace-format msgid "Invalid response: {code}" msgstr "" -#: company/views.py:214 part/views.py:1163 +#: company/views.py:206 part/views.py:1055 msgid "Supplied URL is not a valid image file" msgstr "" -#: company/views.py:243 -msgid "Update Company Image" -msgstr "" - -#: company/views.py:249 -msgid "Updated company image" -msgstr "" - -#: company/views.py:259 -msgid "Edit Company" -msgstr "" - -#: company/views.py:264 -msgid "Edited company information" -msgstr "" - -#: company/views.py:287 order/templates/order/sales_orders.html:188 -msgid "Create new Customer" -msgstr "" - -#: company/views.py:289 -msgid "Create new Company" -msgstr "" - -#: company/views.py:316 -msgid "Created new company" -msgstr "" - -#: company/views.py:332 -msgid "Company was deleted" -msgstr "" - -#: company/views.py:357 -msgid "Edit Manufacturer Part" -msgstr "" - -#: company/views.py:366 +#: company/views.py:251 msgid "Create New Manufacturer Part" msgstr "" -#: company/views.py:440 -msgid "Delete Manufacturer Part" -msgstr "" - -#: company/views.py:514 -msgid "Add Manufacturer Part Parameter" -msgstr "" - -#: company/views.py:548 -msgid "Edit Manufacturer Part Parameter" -msgstr "" - -#: company/views.py:588 +#: company/views.py:334 msgid "Edit Supplier Part" msgstr "" -#: company/views.py:639 templates/js/stock.js:1319 +#: company/views.py:385 templates/js/stock.js:1333 msgid "Create new Supplier Part" msgstr "" -#: company/views.py:783 +#: company/views.py:529 msgid "Delete Supplier Part" msgstr "" -#: company/views.py:860 part/views.py:2922 -msgid "Added new price break" -msgstr "" - -#: company/views.py:916 part/views.py:2966 -msgid "Edit Price Break" -msgstr "" - -#: company/views.py:931 part/views.py:2980 -msgid "Delete Price Break" -msgstr "" - #: label/api.py:56 report/api.py:201 msgid "No valid objects provided to template" msgstr "" -#: label/models.py:103 +#: label/models.py:104 msgid "Label name" msgstr "" -#: label/models.py:110 +#: label/models.py:111 msgid "Label description" msgstr "" -#: label/models.py:117 stock/forms.py:202 +#: label/models.py:118 stock/forms.py:169 msgid "Label" msgstr "" -#: label/models.py:118 +#: label/models.py:119 msgid "Label template file" msgstr "" -#: label/models.py:124 report/models.py:297 +#: label/models.py:125 report/models.py:297 msgid "Enabled" msgstr "" -#: label/models.py:125 +#: label/models.py:126 msgid "Label template is enabled" msgstr "" -#: label/models.py:130 +#: label/models.py:131 msgid "Width [mm]" msgstr "" -#: label/models.py:131 +#: label/models.py:132 msgid "Label width, specified in mm" msgstr "" -#: label/models.py:137 +#: label/models.py:138 msgid "Height [mm]" msgstr "" -#: label/models.py:138 +#: label/models.py:139 msgid "Label height, specified in mm" msgstr "" -#: label/models.py:144 report/models.py:290 +#: label/models.py:145 report/models.py:290 msgid "Filename Pattern" msgstr "" -#: label/models.py:145 +#: label/models.py:146 msgid "Pattern for generating label filenames" msgstr "" -#: label/models.py:244 label/models.py:297 +#: label/models.py:249 label/models.py:306 msgid "Query filters (comma-separated list of key=value pairs" msgstr "" -#: label/models.py:245 label/models.py:298 report/models.py:317 +#: label/models.py:250 label/models.py:307 report/models.py:317 #: report/models.py:440 report/models.py:474 msgid "Filters" msgstr "" -#: order/forms.py:31 order/templates/order/order_base.html:47 +#: order/forms.py:30 order/templates/order/order_base.html:47 msgid "Place order" msgstr "" -#: order/forms.py:42 order/templates/order/order_base.html:54 +#: order/forms.py:41 order/templates/order/order_base.html:54 msgid "Mark order as complete" msgstr "" -#: order/forms.py:53 order/forms.py:64 order/templates/order/order_base.html:59 +#: order/forms.py:52 order/forms.py:63 order/templates/order/order_base.html:59 #: order/templates/order/sales_order_base.html:61 msgid "Cancel order" msgstr "" -#: order/forms.py:75 order/templates/order/sales_order_base.html:58 +#: order/forms.py:74 order/templates/order/sales_order_base.html:58 msgid "Ship order" msgstr "" -#: order/forms.py:90 +#: order/forms.py:89 msgid "Receive parts to this location" msgstr "" -#: order/forms.py:112 -msgid "Purchase Order reference" -msgstr "" - -#: order/forms.py:119 -msgid "Target date for order delivery. Order will be overdue after this date." -msgstr "" - -#: order/forms.py:147 -msgid "Enter sales order number" -msgstr "" - -#: order/forms.py:154 order/models.py:472 -msgid "Target date for order completion. Order will be overdue after this date." -msgstr "" - -#: order/forms.py:246 +#: order/forms.py:116 msgid "Enter stock item serial numbers" msgstr "" -#: order/forms.py:252 +#: order/forms.py:122 msgid "Enter quantity of stock items" msgstr "" -#: order/models.py:98 -msgid "Order reference" -msgstr "" - -#: order/models.py:100 +#: order/models.py:154 msgid "Order description" msgstr "" -#: order/models.py:102 +#: order/models.py:156 msgid "Link to external page" msgstr "" -#: order/models.py:110 part/templates/part/detail.html:132 +#: order/models.py:164 part/templates/part/detail.html:132 msgid "Created By" msgstr "" -#: order/models.py:117 +#: order/models.py:171 msgid "User or group responsible for this order" msgstr "" -#: order/models.py:122 +#: order/models.py:176 msgid "Order notes" msgstr "" -#: order/models.py:181 order/models.py:465 +#: order/models.py:243 order/models.py:530 +msgid "Order reference" +msgstr "" + +#: order/models.py:248 order/models.py:545 msgid "Purchase order status" msgstr "" -#: order/models.py:190 +#: order/models.py:257 msgid "Company from which the items are being ordered" msgstr "" -#: order/models.py:193 order/templates/order/order_base.html:98 -#: templates/js/order.js:179 +#: order/models.py:260 order/templates/order/order_base.html:98 +#: templates/js/order.js:241 msgid "Supplier Reference" msgstr "" -#: order/models.py:193 +#: order/models.py:260 msgid "Supplier order reference code" msgstr "" -#: order/models.py:200 +#: order/models.py:267 msgid "received by" msgstr "" -#: order/models.py:205 +#: order/models.py:272 msgid "Issue Date" msgstr "" -#: order/models.py:206 +#: order/models.py:273 msgid "Date order was issued" msgstr "" -#: order/models.py:211 +#: order/models.py:278 msgid "Target Delivery Date" msgstr "" -#: order/models.py:212 +#: order/models.py:279 msgid "Expected date for order delivery. Order will be overdue after this date." msgstr "" -#: order/models.py:218 +#: order/models.py:285 msgid "Date order was completed" msgstr "" -#: order/models.py:242 part/views.py:1853 stock/models.py:300 -#: stock/models.py:1015 +#: order/models.py:309 part/views.py:1730 stock/models.py:308 +#: stock/models.py:1023 msgid "Quantity must be greater than zero" msgstr "" -#: order/models.py:247 +#: order/models.py:314 msgid "Part supplier must match PO supplier" msgstr "" -#: order/models.py:345 +#: order/models.py:412 msgid "Lines can only be received against an order marked as 'Placed'" msgstr "" -#: order/models.py:349 +#: order/models.py:416 msgid "Quantity must be an integer" msgstr "" -#: order/models.py:351 +#: order/models.py:418 msgid "Quantity must be a positive number" msgstr "" -#: order/models.py:461 +#: order/models.py:541 msgid "Company to which the items are being sold" msgstr "" -#: order/models.py:467 +#: order/models.py:547 msgid "Customer Reference " msgstr "" -#: order/models.py:467 +#: order/models.py:547 msgid "Customer order reference code" msgstr "" -#: order/models.py:475 templates/js/order.js:303 +#: order/models.py:552 +msgid "Target date for order completion. Order will be overdue after this date." +msgstr "" + +#: order/models.py:555 templates/js/order.js:370 msgid "Shipment Date" msgstr "" -#: order/models.py:482 +#: order/models.py:562 msgid "shipped by" msgstr "" -#: order/models.py:526 +#: order/models.py:606 msgid "SalesOrder cannot be shipped as it is not currently pending" msgstr "" -#: order/models.py:613 +#: order/models.py:703 msgid "Item quantity" msgstr "" -#: order/models.py:615 +#: order/models.py:709 msgid "Line item reference" msgstr "" -#: order/models.py:617 +#: order/models.py:711 msgid "Line item notes" msgstr "" -#: order/models.py:643 order/models.py:710 templates/js/order.js:353 +#: order/models.py:741 order/models.py:812 templates/js/order.js:420 msgid "Order" msgstr "" -#: order/models.py:644 order/templates/order/order_base.html:9 +#: order/models.py:742 order/templates/order/order_base.html:9 #: order/templates/order/order_base.html:24 #: report/templates/report/inventree_po_report.html:77 -#: stock/templates/stock/item_base.html:324 templates/js/order.js:148 -#: templates/js/stock.js:669 templates/js/stock.js:1078 +#: stock/templates/stock/item_base.html:324 templates/js/order.js:210 +#: templates/js/stock.js:669 templates/js/stock.js:1092 msgid "Purchase Order" msgstr "" -#: order/models.py:658 +#: order/models.py:756 msgid "Supplier part" msgstr "" -#: order/models.py:661 order/templates/order/order_base.html:131 -#: order/templates/order/purchase_order_detail.html:219 +#: order/models.py:759 order/templates/order/order_base.html:131 +#: order/templates/order/purchase_order_detail.html:246 #: order/templates/order/receive_parts.html:22 #: order/templates/order/sales_order_base.html:133 msgid "Received" msgstr "" -#: order/models.py:661 +#: order/models.py:759 msgid "Number of items received" msgstr "" -#: order/models.py:667 stock/models.py:537 -#: stock/templates/stock/item_base.html:331 templates/js/stock.js:690 +#: order/models.py:765 part/templates/part/prices.html:166 stock/models.py:545 +#: stock/templates/stock/item_base.html:331 templates/js/stock.js:704 msgid "Purchase Price" msgstr "" -#: order/models.py:668 +#: order/models.py:766 msgid "Unit purchase price" msgstr "" -#: order/models.py:676 +#: order/models.py:774 msgid "Where does the Purchaser want this item to be stored?" msgstr "" -#: order/models.py:718 part/templates/part/navbar.html:110 -#: part/templates/part/order_prices.html:108 -#: part/templates/part/part_pricing.html:97 +#: order/models.py:820 part/templates/part/part_pricing.html:97 +#: part/templates/part/prices.html:103 part/templates/part/prices.html:278 msgid "Sale Price" msgstr "" -#: order/models.py:719 +#: order/models.py:821 msgid "Unit sale price" msgstr "" -#: order/models.py:794 order/models.py:796 +#: order/models.py:900 order/models.py:902 msgid "Stock item has not been assigned" msgstr "" -#: order/models.py:800 +#: order/models.py:906 msgid "Cannot allocate stock item to a line with a different part" msgstr "" -#: order/models.py:802 +#: order/models.py:908 msgid "Cannot allocate stock to a line without a part" msgstr "" -#: order/models.py:805 +#: order/models.py:911 msgid "Allocation quantity cannot exceed stock quantity" msgstr "" -#: order/models.py:815 +#: order/models.py:921 msgid "Quantity must be 1 for serialized stock item" msgstr "" -#: order/models.py:820 +#: order/models.py:926 msgid "Line" msgstr "" -#: order/models.py:831 +#: order/models.py:937 msgid "Item" msgstr "" -#: order/models.py:832 +#: order/models.py:938 msgid "Select stock item to allocate" msgstr "" -#: order/models.py:835 +#: order/models.py:941 msgid "Enter stock allocation quantity" msgstr "" +#: order/serializers.py:139 +msgid "Purchase price currency" +msgstr "" + +#: order/serializers.py:359 +msgid "Sale price currency" +msgstr "" + #: order/templates/order/delete_attachment.html:5 #: stock/templates/stock/attachment_delete.html:5 #: templates/attachment_delete.html:5 @@ -3093,16 +3061,22 @@ msgstr "" msgid "Issued" msgstr "" -#: order/templates/order/order_base.html:180 -#: order/templates/order/purchase_order_detail.html:100 +#: order/templates/order/order_base.html:188 +msgid "Edit Purchase Order" +msgstr "" + +#: order/templates/order/order_base.html:199 +#: order/templates/order/purchase_order_detail.html:127 #: part/templates/part/category.html:217 part/templates/part/category.html:259 -#: stock/templates/stock/location.html:191 templates/js/stock.js:736 -#: templates/js/stock.js:1324 +#: part/templates/part/part_base.html:415 +#: stock/templates/stock/location.html:191 templates/js/stock.js:750 +#: templates/js/stock.js:1338 msgid "New Location" msgstr "" -#: order/templates/order/order_base.html:181 -#: order/templates/order/purchase_order_detail.html:101 +#: order/templates/order/order_base.html:200 +#: order/templates/order/purchase_order_detail.html:128 +#: part/templates/part/part_base.html:416 #: stock/templates/stock/location.html:42 msgid "Create new stock location" msgstr "" @@ -3255,7 +3229,7 @@ msgid "Select existing purchase orders, or create new orders." msgstr "" #: order/templates/order/order_wizard/select_pos.html:31 -#: templates/js/order.js:205 templates/js/order.js:308 +#: templates/js/order.js:267 templates/js/order.js:375 msgid "Items" msgstr "" @@ -3279,7 +3253,6 @@ msgid "Purchase Order Attachments" msgstr "" #: order/templates/order/po_lineitem_delete.html:5 -#: order/templates/order/so_lineitem_delete.html:5 msgid "Are you sure you wish to delete this line item?" msgstr "" @@ -3297,40 +3270,52 @@ msgid "Purchase Order Items" msgstr "" #: order/templates/order/purchase_order_detail.html:24 -#: order/templates/order/sales_order_detail.html:22 order/views.py:1327 -#: order/views.py:1410 +#: order/templates/order/purchase_order_detail.html:64 +#: order/templates/order/sales_order_detail.html:22 +#: order/templates/order/sales_order_detail.html:56 msgid "Add Line Item" msgstr "" -#: order/templates/order/purchase_order_detail.html:114 +#: order/templates/order/purchase_order_detail.html:100 +#: order/templates/order/sales_order_detail.html:398 +msgid "Edit Line Item" +msgstr "" + +#: order/templates/order/purchase_order_detail.html:110 +#: order/templates/order/sales_order_detail.html:408 +msgid "Delete Line Item" +msgstr "" + +#: order/templates/order/purchase_order_detail.html:141 msgid "No line items found" msgstr "" -#: order/templates/order/purchase_order_detail.html:142 -#: order/templates/order/sales_order_detail.html:223 +#: order/templates/order/purchase_order_detail.html:169 +#: order/templates/order/sales_order_detail.html:233 msgid "Total" msgstr "" -#: order/templates/order/purchase_order_detail.html:191 -#: order/templates/order/sales_order_detail.html:246 +#: order/templates/order/purchase_order_detail.html:218 +#: order/templates/order/sales_order_detail.html:256 templates/js/part.js:807 +#: templates/js/part.js:996 msgid "Unit Price" msgstr "" -#: order/templates/order/purchase_order_detail.html:198 -#: order/templates/order/sales_order_detail.html:253 +#: order/templates/order/purchase_order_detail.html:225 +#: order/templates/order/sales_order_detail.html:263 msgid "Total price" msgstr "" -#: order/templates/order/purchase_order_detail.html:255 -#: order/templates/order/sales_order_detail.html:359 +#: order/templates/order/purchase_order_detail.html:282 +#: order/templates/order/sales_order_detail.html:369 msgid "Edit line item" msgstr "" -#: order/templates/order/purchase_order_detail.html:256 +#: order/templates/order/purchase_order_detail.html:283 msgid "Delete line item" msgstr "" -#: order/templates/order/purchase_order_detail.html:261 +#: order/templates/order/purchase_order_detail.html:288 msgid "Receive line item" msgstr "" @@ -3345,7 +3330,7 @@ msgid "Receive outstanding parts for %(order)s - %(desc)s" msgstr "" #: order/templates/order/receive_parts.html:14 part/api.py:45 -#: part/models.py:322 part/templates/part/cat_link.html:7 +#: part/models.py:326 part/templates/part/cat_link.html:7 #: part/templates/part/category.html:108 part/templates/part/category.html:157 #: part/templates/part/category_navbar.html:25 #: part/templates/part/category_navbar.html:32 @@ -3353,7 +3338,7 @@ msgstr "" #: templates/InvenTree/index.html:97 templates/InvenTree/search.html:114 #: templates/InvenTree/settings/tabs.html:28 templates/js/part.js:666 #: templates/navbar.html:23 templates/stats.html:80 templates/stats.html:89 -#: users/models.py:40 +#: users/models.py:41 msgid "Parts" msgstr "" @@ -3395,10 +3380,14 @@ msgstr "" msgid "Sales Order Details" msgstr "" -#: order/templates/order/sales_order_base.html:100 templates/js/order.js:275 +#: order/templates/order/sales_order_base.html:100 templates/js/order.js:342 msgid "Customer Reference" msgstr "" +#: order/templates/order/sales_order_base.html:177 +msgid "Edit Sales Order" +msgstr "" + #: order/templates/order/sales_order_cancel.html:8 #: order/templates/order/sales_order_ship.html:9 #: part/templates/part/bom_duplicate.html:12 @@ -3414,69 +3403,69 @@ msgstr "" msgid "Sales Order Items" msgstr "" -#: order/templates/order/sales_order_detail.html:95 templates/js/bom.js:358 +#: order/templates/order/sales_order_detail.html:105 templates/js/bom.js:358 #: templates/js/build.js:725 templates/js/build.js:1142 msgid "Actions" msgstr "" -#: order/templates/order/sales_order_detail.html:102 templates/js/build.js:611 +#: order/templates/order/sales_order_detail.html:112 templates/js/build.js:611 #: templates/js/build.js:947 msgid "Edit stock allocation" msgstr "" -#: order/templates/order/sales_order_detail.html:103 templates/js/build.js:613 +#: order/templates/order/sales_order_detail.html:113 templates/js/build.js:613 #: templates/js/build.js:948 msgid "Delete stock allocation" msgstr "" -#: order/templates/order/sales_order_detail.html:176 +#: order/templates/order/sales_order_detail.html:186 msgid "No matching line items" msgstr "" -#: order/templates/order/sales_order_detail.html:206 +#: order/templates/order/sales_order_detail.html:216 msgid "ID" msgstr "" -#: order/templates/order/sales_order_detail.html:274 templates/js/build.js:676 +#: order/templates/order/sales_order_detail.html:284 templates/js/build.js:676 #: templates/js/build.js:943 msgid "Allocated" msgstr "" -#: order/templates/order/sales_order_detail.html:276 +#: order/templates/order/sales_order_detail.html:286 msgid "Fulfilled" msgstr "" -#: order/templates/order/sales_order_detail.html:313 +#: order/templates/order/sales_order_detail.html:323 msgid "PO" msgstr "" -#: order/templates/order/sales_order_detail.html:343 +#: order/templates/order/sales_order_detail.html:353 msgid "Allocate serial numbers" msgstr "" -#: order/templates/order/sales_order_detail.html:346 templates/js/build.js:739 +#: order/templates/order/sales_order_detail.html:356 templates/js/build.js:739 msgid "Allocate stock" msgstr "" -#: order/templates/order/sales_order_detail.html:349 +#: order/templates/order/sales_order_detail.html:359 msgid "Purchase stock" msgstr "" -#: order/templates/order/sales_order_detail.html:353 templates/js/build.js:732 +#: order/templates/order/sales_order_detail.html:363 templates/js/build.js:732 #: templates/js/build.js:1150 msgid "Build stock" msgstr "" -#: order/templates/order/sales_order_detail.html:356 -#: order/templates/order/sales_order_detail.html:465 +#: order/templates/order/sales_order_detail.html:366 +#: order/templates/order/sales_order_detail.html:485 msgid "Calculate price" msgstr "" -#: order/templates/order/sales_order_detail.html:360 +#: order/templates/order/sales_order_detail.html:370 msgid "Delete line item " msgstr "" -#: order/templates/order/sales_order_detail.html:471 +#: order/templates/order/sales_order_detail.html:491 msgid "Update Unit Price" msgstr "" @@ -3517,194 +3506,154 @@ msgstr "" msgid "Sales Order Attachments" msgstr "" -#: order/views.py:106 -msgid "Add Purchase Order Attachment" -msgstr "" - -#: order/views.py:156 -msgid "Add Sales Order Attachment" -msgstr "" - -#: order/views.py:348 -msgid "Create Sales Order" -msgstr "" - -#: order/views.py:383 -msgid "Edit Purchase Order" -msgstr "" - -#: order/views.py:403 -msgid "Edit Sales Order" -msgstr "" - -#: order/views.py:419 +#: order/views.py:151 msgid "Cancel Order" msgstr "" -#: order/views.py:428 order/views.py:454 +#: order/views.py:160 order/views.py:186 msgid "Confirm order cancellation" msgstr "" -#: order/views.py:431 order/views.py:457 +#: order/views.py:163 order/views.py:189 msgid "Order cannot be cancelled" msgstr "" -#: order/views.py:445 +#: order/views.py:177 msgid "Cancel sales order" msgstr "" -#: order/views.py:471 +#: order/views.py:203 msgid "Issue Order" msgstr "" -#: order/views.py:480 +#: order/views.py:212 msgid "Confirm order placement" msgstr "" -#: order/views.py:490 +#: order/views.py:222 msgid "Purchase order issued" msgstr "" -#: order/views.py:501 +#: order/views.py:233 msgid "Complete Order" msgstr "" -#: order/views.py:517 +#: order/views.py:249 msgid "Confirm order completion" msgstr "" -#: order/views.py:528 +#: order/views.py:260 msgid "Purchase order completed" msgstr "" -#: order/views.py:538 +#: order/views.py:270 msgid "Ship Order" msgstr "" -#: order/views.py:554 +#: order/views.py:286 msgid "Confirm order shipment" msgstr "" -#: order/views.py:560 +#: order/views.py:292 msgid "Could not ship order" msgstr "" -#: order/views.py:607 +#: order/views.py:339 msgid "Match Supplier Parts" msgstr "" -#: order/views.py:804 +#: order/views.py:536 msgid "Receive Parts" msgstr "" -#: order/views.py:874 +#: order/views.py:606 msgid "Items received" msgstr "" -#: order/views.py:888 +#: order/views.py:620 msgid "No destination set" msgstr "" -#: order/views.py:933 +#: order/views.py:665 msgid "Error converting quantity to number" msgstr "" -#: order/views.py:939 +#: order/views.py:671 msgid "Receive quantity less than zero" msgstr "" -#: order/views.py:945 +#: order/views.py:677 msgid "No lines specified" msgstr "" -#: order/views.py:1018 +#: order/views.py:750 msgid "Update prices" msgstr "" -#: order/views.py:1276 +#: order/views.py:1008 #, python-brace-format msgid "Ordered {n} parts" msgstr "" -#: order/views.py:1336 -msgid "Supplier part must be specified" -msgstr "" - -#: order/views.py:1342 -msgid "Supplier must match for Part and Order" -msgstr "" - -#: order/views.py:1473 order/views.py:1491 -msgid "Edit Line Item" -msgstr "" - -#: order/views.py:1507 order/views.py:1519 -msgid "Delete Line Item" -msgstr "" - -#: order/views.py:1512 order/views.py:1524 -msgid "Deleted line item" -msgstr "" - -#: order/views.py:1537 +#: order/views.py:1061 msgid "Allocate Serial Numbers" msgstr "" -#: order/views.py:1582 +#: order/views.py:1106 #, python-brace-format msgid "Allocated {n} items" msgstr "" -#: order/views.py:1598 +#: order/views.py:1122 msgid "Select line item" msgstr "" -#: order/views.py:1629 +#: order/views.py:1153 #, python-brace-format msgid "No matching item for serial {serial}" msgstr "" -#: order/views.py:1639 +#: order/views.py:1163 #, python-brace-format msgid "{serial} is not in stock" msgstr "" -#: order/views.py:1647 +#: order/views.py:1171 #, python-brace-format msgid "{serial} already allocated to an order" msgstr "" -#: order/views.py:1701 +#: order/views.py:1225 msgid "Allocate Stock to Order" msgstr "" -#: order/views.py:1775 +#: order/views.py:1299 msgid "Edit Allocation Quantity" msgstr "" -#: order/views.py:1790 +#: order/views.py:1314 msgid "Remove allocation" msgstr "" -#: order/views.py:1862 +#: order/views.py:1386 msgid "Sales order not found" msgstr "" -#: order/views.py:1868 +#: order/views.py:1392 msgid "Price not found" msgstr "" -#: order/views.py:1871 +#: order/views.py:1395 #, python-brace-format msgid "Updated {part} unit-price to {price}" msgstr "" -#: order/views.py:1876 +#: order/views.py:1400 #, python-brace-format msgid "Updated {part} unit-price to {price} and quantity to {qty}" msgstr "" -#: part/bom.py:138 part/models.py:72 part/models.py:747 +#: part/bom.py:138 part/models.py:72 part/models.py:756 #: part/templates/part/category.html:75 part/templates/part/detail.html:90 msgid "Default Location" msgstr "" @@ -3726,143 +3675,143 @@ msgstr "" msgid "Error reading BOM file (incorrect row size)" msgstr "" -#: part/forms.py:89 stock/forms.py:265 +#: part/forms.py:73 stock/forms.py:232 msgid "File Format" msgstr "" -#: part/forms.py:89 stock/forms.py:265 +#: part/forms.py:73 stock/forms.py:232 msgid "Select output file format" msgstr "" -#: part/forms.py:91 +#: part/forms.py:75 msgid "Cascading" msgstr "" -#: part/forms.py:91 +#: part/forms.py:75 msgid "Download cascading / multi-level BOM" msgstr "" -#: part/forms.py:93 +#: part/forms.py:77 msgid "Levels" msgstr "" -#: part/forms.py:93 +#: part/forms.py:77 msgid "Select maximum number of BOM levels to export (0 = all levels)" msgstr "" -#: part/forms.py:95 +#: part/forms.py:79 msgid "Include Parameter Data" msgstr "" -#: part/forms.py:95 +#: part/forms.py:79 msgid "Include part parameters data in exported BOM" msgstr "" -#: part/forms.py:97 +#: part/forms.py:81 msgid "Include Stock Data" msgstr "" -#: part/forms.py:97 +#: part/forms.py:81 msgid "Include part stock data in exported BOM" msgstr "" -#: part/forms.py:99 +#: part/forms.py:83 msgid "Include Manufacturer Data" msgstr "" -#: part/forms.py:99 +#: part/forms.py:83 msgid "Include part manufacturer data in exported BOM" msgstr "" -#: part/forms.py:101 +#: part/forms.py:85 msgid "Include Supplier Data" msgstr "" -#: part/forms.py:101 +#: part/forms.py:85 msgid "Include part supplier data in exported BOM" msgstr "" -#: part/forms.py:122 part/models.py:2191 +#: part/forms.py:106 part/models.py:2224 msgid "Parent Part" msgstr "" -#: part/forms.py:123 part/templates/part/bom_duplicate.html:7 +#: part/forms.py:107 part/templates/part/bom_duplicate.html:7 msgid "Select parent part to copy BOM from" msgstr "" -#: part/forms.py:129 +#: part/forms.py:113 msgid "Clear existing BOM items" msgstr "" -#: part/forms.py:135 +#: part/forms.py:119 msgid "Confirm BOM duplication" msgstr "" -#: part/forms.py:153 +#: part/forms.py:137 msgid "validate" msgstr "" -#: part/forms.py:153 +#: part/forms.py:137 msgid "Confirm that the BOM is correct" msgstr "" -#: part/forms.py:165 +#: part/forms.py:149 msgid "BOM file" msgstr "" -#: part/forms.py:165 +#: part/forms.py:149 msgid "Select BOM file to upload" msgstr "" -#: part/forms.py:184 +#: part/forms.py:168 msgid "Related Part" msgstr "" -#: part/forms.py:203 +#: part/forms.py:175 msgid "Select part category" msgstr "" -#: part/forms.py:220 +#: part/forms.py:192 msgid "Duplicate all BOM data for this part" msgstr "" -#: part/forms.py:221 +#: part/forms.py:193 msgid "Copy BOM" msgstr "" -#: part/forms.py:226 +#: part/forms.py:198 msgid "Duplicate all parameter data for this part" msgstr "" -#: part/forms.py:227 +#: part/forms.py:199 msgid "Copy Parameters" msgstr "" -#: part/forms.py:232 +#: part/forms.py:204 msgid "Confirm part creation" msgstr "" -#: part/forms.py:237 +#: part/forms.py:209 msgid "Include category parameter templates" msgstr "" -#: part/forms.py:242 +#: part/forms.py:214 msgid "Include parent categories parameter templates" msgstr "" -#: part/forms.py:322 +#: part/forms.py:294 msgid "Add parameter template to same level categories" msgstr "" -#: part/forms.py:326 +#: part/forms.py:298 msgid "Add parameter template to all categories" msgstr "" -#: part/forms.py:344 part/models.py:2286 +#: part/forms.py:316 part/models.py:2323 msgid "Sub part" msgstr "" -#: part/forms.py:373 +#: part/forms.py:345 msgid "Input quantity for price calculation" msgstr "" @@ -3878,362 +3827,362 @@ msgstr "" msgid "Default keywords for parts in this category" msgstr "" -#: part/models.py:82 part/models.py:2237 +#: part/models.py:86 part/models.py:2270 #: part/templates/part/part_app_base.html:10 msgid "Part Category" msgstr "" -#: part/models.py:83 part/templates/part/category.html:32 +#: part/models.py:87 part/templates/part/category.html:32 #: part/templates/part/category.html:103 templates/InvenTree/search.html:127 -#: templates/stats.html:84 users/models.py:39 +#: templates/stats.html:84 users/models.py:40 msgid "Part Categories" msgstr "" -#: part/models.py:448 part/models.py:460 +#: part/models.py:457 part/models.py:469 #, python-brace-format msgid "Part '{p1}' is used in BOM for '{p2}' (recursive)" msgstr "" -#: part/models.py:557 +#: part/models.py:566 msgid "Next available serial numbers are" msgstr "" -#: part/models.py:561 +#: part/models.py:570 msgid "Next available serial number is" msgstr "" -#: part/models.py:566 +#: part/models.py:575 msgid "Most recent serial number is" msgstr "" -#: part/models.py:645 +#: part/models.py:654 msgid "Duplicate IPN not allowed in part settings" msgstr "" -#: part/models.py:670 part/templates/part/detail.html:22 +#: part/models.py:679 part/templates/part/detail.html:22 msgid "Part name" msgstr "" -#: part/models.py:677 +#: part/models.py:686 msgid "Is Template" msgstr "" -#: part/models.py:678 +#: part/models.py:687 msgid "Is this part a template part?" msgstr "" -#: part/models.py:689 +#: part/models.py:698 msgid "Is this part a variant of another part?" msgstr "" -#: part/models.py:690 part/templates/part/detail.html:60 +#: part/models.py:699 part/templates/part/detail.html:60 msgid "Variant Of" msgstr "" -#: part/models.py:696 +#: part/models.py:705 msgid "Part description" msgstr "" -#: part/models.py:701 part/templates/part/category.html:82 +#: part/models.py:710 part/templates/part/category.html:82 #: part/templates/part/detail.html:67 msgid "Keywords" msgstr "" -#: part/models.py:702 +#: part/models.py:711 msgid "Part keywords to improve visibility in search results" msgstr "" -#: part/models.py:709 part/models.py:2236 part/templates/part/detail.html:73 +#: part/models.py:718 part/models.py:2269 part/templates/part/detail.html:73 #: part/templates/part/set_category.html:15 templates/js/part.js:452 msgid "Category" msgstr "" -#: part/models.py:710 +#: part/models.py:719 msgid "Part category" msgstr "" -#: part/models.py:715 part/templates/part/detail.html:28 +#: part/models.py:724 part/templates/part/detail.html:28 #: part/templates/part/part_base.html:87 templates/js/part.js:169 #: templates/js/part.js:296 msgid "IPN" msgstr "" -#: part/models.py:716 +#: part/models.py:725 msgid "Internal Part Number" msgstr "" -#: part/models.py:722 +#: part/models.py:731 msgid "Part revision or version number" msgstr "" -#: part/models.py:723 part/templates/part/detail.html:35 report/models.py:199 +#: part/models.py:732 part/templates/part/detail.html:35 report/models.py:199 #: templates/js/part.js:173 msgid "Revision" msgstr "" -#: part/models.py:745 +#: part/models.py:754 msgid "Where is this item normally stored?" msgstr "" -#: part/models.py:792 part/templates/part/detail.html:97 +#: part/models.py:801 part/templates/part/detail.html:97 msgid "Default Supplier" msgstr "" -#: part/models.py:793 +#: part/models.py:802 msgid "Default supplier part" msgstr "" -#: part/models.py:800 +#: part/models.py:809 msgid "Default Expiry" msgstr "" -#: part/models.py:801 +#: part/models.py:810 msgid "Expiry time (in days) for stock items of this part" msgstr "" -#: part/models.py:806 part/templates/part/detail.html:113 +#: part/models.py:815 part/templates/part/detail.html:113 msgid "Minimum Stock" msgstr "" -#: part/models.py:807 +#: part/models.py:816 msgid "Minimum allowed stock level" msgstr "" -#: part/models.py:814 +#: part/models.py:823 msgid "Stock keeping units for this part" msgstr "" -#: part/models.py:820 +#: part/models.py:829 msgid "Can this part be built from other parts?" msgstr "" -#: part/models.py:826 +#: part/models.py:835 msgid "Can this part be used to build other parts?" msgstr "" -#: part/models.py:832 +#: part/models.py:841 msgid "Does this part have tracking for unique items?" msgstr "" -#: part/models.py:837 +#: part/models.py:846 msgid "Can this part be purchased from external suppliers?" msgstr "" -#: part/models.py:842 +#: part/models.py:851 msgid "Can this part be sold to customers?" msgstr "" -#: part/models.py:846 part/templates/part/detail.html:227 +#: part/models.py:855 part/templates/part/detail.html:227 #: templates/js/table_filters.js:21 templates/js/table_filters.js:65 -#: templates/js/table_filters.js:241 templates/js/table_filters.js:310 +#: templates/js/table_filters.js:246 templates/js/table_filters.js:315 msgid "Active" msgstr "" -#: part/models.py:847 +#: part/models.py:856 msgid "Is this part active?" msgstr "" -#: part/models.py:852 +#: part/models.py:861 msgid "Is this a virtual part, such as a software product or license?" msgstr "" -#: part/models.py:857 +#: part/models.py:866 msgid "Part notes - supports Markdown formatting" msgstr "" -#: part/models.py:860 +#: part/models.py:869 msgid "BOM checksum" msgstr "" -#: part/models.py:860 +#: part/models.py:869 msgid "Stored BOM checksum" msgstr "" -#: part/models.py:863 +#: part/models.py:872 msgid "BOM checked by" msgstr "" -#: part/models.py:865 +#: part/models.py:874 msgid "BOM checked date" msgstr "" -#: part/models.py:869 +#: part/models.py:878 msgid "Creation User" msgstr "" -#: part/models.py:1608 +#: part/models.py:1617 msgid "Sell multiple" msgstr "" -#: part/models.py:2063 +#: part/models.py:2088 msgid "Test templates can only be created for trackable parts" msgstr "" -#: part/models.py:2080 +#: part/models.py:2105 msgid "Test with this name already exists for this part" msgstr "" -#: part/models.py:2100 templates/js/part.js:717 templates/js/stock.js:117 +#: part/models.py:2125 templates/js/part.js:717 templates/js/stock.js:117 msgid "Test Name" msgstr "" -#: part/models.py:2101 +#: part/models.py:2126 msgid "Enter a name for the test" msgstr "" -#: part/models.py:2106 +#: part/models.py:2131 msgid "Test Description" msgstr "" -#: part/models.py:2107 +#: part/models.py:2132 msgid "Enter description for this test" msgstr "" -#: part/models.py:2112 templates/js/part.js:726 -#: templates/js/table_filters.js:227 +#: part/models.py:2137 templates/js/part.js:726 +#: templates/js/table_filters.js:232 msgid "Required" msgstr "" -#: part/models.py:2113 +#: part/models.py:2138 msgid "Is this test required to pass?" msgstr "" -#: part/models.py:2118 templates/js/part.js:734 +#: part/models.py:2143 templates/js/part.js:734 msgid "Requires Value" msgstr "" -#: part/models.py:2119 +#: part/models.py:2144 msgid "Does this test require a value when adding a test result?" msgstr "" -#: part/models.py:2124 templates/js/part.js:741 +#: part/models.py:2149 templates/js/part.js:741 msgid "Requires Attachment" msgstr "" -#: part/models.py:2125 +#: part/models.py:2150 msgid "Does this test require a file attachment when adding a test result?" msgstr "" -#: part/models.py:2158 +#: part/models.py:2187 msgid "Parameter template name must be unique" msgstr "" -#: part/models.py:2163 +#: part/models.py:2192 msgid "Parameter Name" msgstr "" -#: part/models.py:2165 +#: part/models.py:2194 msgid "Parameter Units" msgstr "" -#: part/models.py:2193 part/models.py:2242 part/models.py:2243 +#: part/models.py:2226 part/models.py:2275 part/models.py:2276 #: templates/InvenTree/settings/category.html:62 msgid "Parameter Template" msgstr "" -#: part/models.py:2195 +#: part/models.py:2228 msgid "Data" msgstr "" -#: part/models.py:2195 +#: part/models.py:2228 msgid "Parameter Value" msgstr "" -#: part/models.py:2247 templates/InvenTree/settings/category.html:67 +#: part/models.py:2280 templates/InvenTree/settings/category.html:67 msgid "Default Value" msgstr "" -#: part/models.py:2248 +#: part/models.py:2281 msgid "Default Parameter Value" msgstr "" -#: part/models.py:2278 +#: part/models.py:2315 msgid "Select parent part" msgstr "" -#: part/models.py:2287 +#: part/models.py:2324 msgid "Select part to be used in BOM" msgstr "" -#: part/models.py:2293 +#: part/models.py:2330 msgid "BOM quantity for this BOM item" msgstr "" -#: part/models.py:2295 templates/js/bom.js:216 templates/js/bom.js:278 +#: part/models.py:2332 templates/js/bom.js:216 templates/js/bom.js:278 msgid "Optional" msgstr "" -#: part/models.py:2295 +#: part/models.py:2332 msgid "This BOM item is optional" msgstr "" -#: part/models.py:2298 +#: part/models.py:2335 msgid "Overage" msgstr "" -#: part/models.py:2299 +#: part/models.py:2336 msgid "Estimated build wastage quantity (absolute or percentage)" msgstr "" -#: part/models.py:2302 +#: part/models.py:2339 msgid "BOM item reference" msgstr "" -#: part/models.py:2305 +#: part/models.py:2342 msgid "BOM item notes" msgstr "" -#: part/models.py:2307 +#: part/models.py:2344 msgid "Checksum" msgstr "" -#: part/models.py:2307 +#: part/models.py:2344 msgid "BOM line checksum" msgstr "" -#: part/models.py:2311 templates/js/bom.js:295 templates/js/bom.js:302 +#: part/models.py:2348 templates/js/bom.js:295 templates/js/bom.js:302 #: templates/js/table_filters.js:51 msgid "Inherited" msgstr "" -#: part/models.py:2312 +#: part/models.py:2349 msgid "This BOM item is inherited by BOMs for variant parts" msgstr "" -#: part/models.py:2317 templates/js/bom.js:287 +#: part/models.py:2354 templates/js/bom.js:287 msgid "Allow Variants" msgstr "" -#: part/models.py:2318 +#: part/models.py:2355 msgid "Stock items for variant parts can be used for this BOM item" msgstr "" -#: part/models.py:2394 part/views.py:1859 part/views.py:1911 -#: stock/models.py:290 +#: part/models.py:2431 part/views.py:1736 part/views.py:1788 +#: stock/models.py:298 msgid "Quantity must be integer value for trackable parts" msgstr "" -#: part/models.py:2403 part/models.py:2405 +#: part/models.py:2440 part/models.py:2442 msgid "Sub part must be specified" msgstr "" -#: part/models.py:2408 +#: part/models.py:2445 msgid "BOM Item" msgstr "" -#: part/models.py:2527 +#: part/models.py:2564 msgid "Part 1" msgstr "" -#: part/models.py:2531 +#: part/models.py:2568 msgid "Part 2" msgstr "" -#: part/models.py:2531 +#: part/models.py:2568 msgid "Select Related Part" msgstr "" -#: part/models.py:2563 +#: part/models.py:2600 msgid "Error creating relationship: check that the part is not related to itself and that the relationship is unique" msgstr "" @@ -4249,14 +4198,6 @@ msgstr "" msgid "Part Attachments" msgstr "" -#: part/templates/part/bom-delete.html:6 -msgid "Are you sure you want to delete this BOM item?" -msgstr "" - -#: part/templates/part/bom-delete.html:8 -msgid "Deleting this entry will remove the BOM row from the following part" -msgstr "" - #: part/templates/part/bom.html:10 part/templates/part/navbar.html:51 #: part/templates/part/navbar.html:54 msgid "Bill of Materials" @@ -4305,7 +4246,7 @@ msgstr "" msgid "Validate Bill of Materials" msgstr "" -#: part/templates/part/bom.html:61 part/views.py:2154 +#: part/templates/part/bom.html:61 part/views.py:2031 msgid "Export Bill of Materials" msgstr "" @@ -4321,8 +4262,8 @@ msgstr "" msgid "All selected BOM items will be deleted" msgstr "" -#: part/templates/part/bom.html:160 part/views.py:590 -#: templates/js/stock.js:1313 +#: part/templates/part/bom.html:160 part/views.py:450 +#: templates/js/stock.js:1327 msgid "Create New Part" msgstr "" @@ -4403,7 +4344,7 @@ msgstr "" msgid "All parts" msgstr "" -#: part/templates/part/category.html:38 part/views.py:2564 +#: part/templates/part/category.html:38 part/views.py:2441 msgid "Create new part category" msgstr "" @@ -4463,11 +4404,12 @@ msgid "View grid display" msgstr "" #: part/templates/part/category.html:218 -#: stock/templates/stock/location.html:192 templates/js/stock.js:737 +#: stock/templates/stock/location.html:192 templates/js/stock.js:751 msgid "Create new location" msgstr "" #: part/templates/part/category.html:223 part/templates/part/category.html:253 +#: part/templates/part/part_base.html:378 msgid "New Category" msgstr "" @@ -4479,10 +4421,18 @@ msgstr "" msgid "Create new Part Category" msgstr "" -#: part/templates/part/category.html:260 stock/views.py:1391 +#: part/templates/part/category.html:260 stock/views.py:1223 msgid "Create new Stock Location" msgstr "" +#: part/templates/part/category.html:279 +msgid "Select parent category" +msgstr "" + +#: part/templates/part/category.html:286 part/views.py:2389 +msgid "Edit Part Category" +msgstr "" + #: part/templates/part/category_delete.html:5 msgid "Are you sure you want to delete category" msgstr "" @@ -4528,7 +4478,7 @@ msgstr "" msgid "Part Parameters" msgstr "" -#: part/templates/part/copy_part.html:9 part/views.py:466 +#: part/templates/part/copy_part.html:9 part/views.py:326 msgid "Duplicate Part" msgstr "" @@ -4641,36 +4591,6 @@ msgstr "" msgid "Import Parts from File" msgstr "" -#: part/templates/part/internal_prices.html:11 -#: part/templates/part/navbar.html:101 -msgid "Internal Price Information" -msgstr "" - -#: part/templates/part/internal_prices.html:19 part/views.py:2989 -msgid "Add Internal Price Break" -msgstr "" - -#: part/templates/part/internal_prices.html:28 templates/403.html:5 -#: templates/403.html:11 -msgid "Permission Denied" -msgstr "" - -#: part/templates/part/internal_prices.html:31 templates/403.html:14 -msgid "You do not have permission to view this page." -msgstr "" - -#: part/templates/part/internal_prices.html:59 -msgid "No internal price break information found" -msgstr "" - -#: part/templates/part/internal_prices.html:110 -msgid "Edit internal price break" -msgstr "" - -#: part/templates/part/internal_prices.html:111 -msgid "Delete internal price break" -msgstr "" - #: part/templates/part/manufacturer.html:11 msgid "Part Manufacturers" msgstr "" @@ -4680,7 +4600,7 @@ msgid "Delete manufacturer parts" msgstr "" #: part/templates/part/manufacturer.html:53 -#: part/templates/part/supplier.html:57 +#: part/templates/part/supplier.html:56 msgid "Create new manufacturer" msgstr "" @@ -4704,125 +4624,27 @@ msgstr "" msgid "Used In" msgstr "" -#: part/templates/part/navbar.html:75 part/templates/part/order_prices.html:12 -msgid "Order Price Information" +#: part/templates/part/navbar.html:77 +msgid "Prices" msgstr "" -#: part/templates/part/navbar.html:78 -msgid "Order Price" -msgstr "" - -#: part/templates/part/navbar.html:104 part/templates/part/order_prices.html:94 -#: part/templates/part/part_pricing.html:82 -msgid "Internal Price" -msgstr "" - -#: part/templates/part/navbar.html:107 -msgid "Sales Price Information" -msgstr "" - -#: part/templates/part/navbar.html:121 part/templates/part/part_tests.html:10 +#: part/templates/part/navbar.html:109 part/templates/part/part_tests.html:10 msgid "Part Test Templates" msgstr "" -#: part/templates/part/navbar.html:124 stock/templates/stock/item_base.html:414 +#: part/templates/part/navbar.html:112 stock/templates/stock/item_base.html:414 msgid "Tests" msgstr "" -#: part/templates/part/navbar.html:129 part/templates/part/navbar.html:132 +#: part/templates/part/navbar.html:117 part/templates/part/navbar.html:120 #: part/templates/part/related.html:10 msgid "Related Parts" msgstr "" -#: part/templates/part/navbar.html:142 part/templates/part/notes.html:12 +#: part/templates/part/navbar.html:130 part/templates/part/notes.html:12 msgid "Part Notes" msgstr "" -#: part/templates/part/order_prices.html:25 -#: part/templates/part/part_base.html:282 -msgid "Calculate" -msgstr "" - -#: part/templates/part/order_prices.html:32 -msgid "Pricing ranges" -msgstr "" - -#: part/templates/part/order_prices.html:37 -#: part/templates/part/part_pricing.html:22 -msgid "Supplier Pricing" -msgstr "" - -#: part/templates/part/order_prices.html:38 -#: part/templates/part/order_prices.html:63 -#: part/templates/part/order_prices.html:95 -#: part/templates/part/order_prices.html:109 -#: part/templates/part/part_pricing.html:26 -#: part/templates/part/part_pricing.html:52 -#: part/templates/part/part_pricing.html:85 -#: part/templates/part/part_pricing.html:100 -msgid "Unit Cost" -msgstr "" - -#: part/templates/part/order_prices.html:45 -#: part/templates/part/order_prices.html:70 -#: part/templates/part/order_prices.html:100 -#: part/templates/part/order_prices.html:114 -#: part/templates/part/part_pricing.html:32 -#: part/templates/part/part_pricing.html:58 -#: part/templates/part/part_pricing.html:89 -#: part/templates/part/part_pricing.html:104 -msgid "Total Cost" -msgstr "" - -#: part/templates/part/order_prices.html:53 -#: part/templates/part/part_pricing.html:40 -msgid "No supplier pricing available" -msgstr "" - -#: part/templates/part/order_prices.html:62 -#: part/templates/part/order_prices.html:129 -#: part/templates/part/part_pricing.html:48 -msgid "BOM Pricing" -msgstr "" - -#: part/templates/part/order_prices.html:78 -#: part/templates/part/part_pricing.html:66 -msgid "Note: BOM pricing is incomplete for this part" -msgstr "" - -#: part/templates/part/order_prices.html:85 -#: part/templates/part/part_pricing.html:73 -msgid "No BOM pricing available" -msgstr "" - -#: part/templates/part/order_prices.html:123 -#: part/templates/part/part_pricing.html:113 -msgid "No pricing information is available for this part." -msgstr "" - -#: part/templates/part/order_prices.html:139 -msgid "Stock Pricing" -msgstr "" - -#: part/templates/part/order_prices.html:147 -msgid "No stock pricing history is available for this part." -msgstr "" - -#: part/templates/part/order_prices.html:166 -#, python-format -msgid "Single Price - %(currency)s" -msgstr "" - -#: part/templates/part/order_prices.html:178 -#, python-format -msgid "Single Price Difference - %(currency)s" -msgstr "" - -#: part/templates/part/order_prices.html:190 -#, python-format -msgid "Part Single Price - %(currency)s" -msgstr "" - #: part/templates/part/params.html:17 msgid "Add new parameter" msgstr "" @@ -4843,8 +4665,8 @@ msgstr "" msgid "Part List" msgstr "" -#: part/templates/part/part_base.html:26 templates/js/company.js:156 -#: templates/js/company.js:355 templates/js/part.js:84 templates/js/part.js:161 +#: part/templates/part/part_base.html:26 templates/js/company.js:280 +#: templates/js/company.js:480 templates/js/part.js:84 templates/js/part.js:161 msgid "Inactive" msgstr "" @@ -4907,7 +4729,7 @@ msgstr "" msgid "In Stock" msgstr "" -#: part/templates/part/part_base.html:143 templates/InvenTree/index.html:131 +#: part/templates/part/part_base.html:143 templates/InvenTree/index.html:132 msgid "Required for Build Orders" msgstr "" @@ -4928,10 +4750,86 @@ msgstr "" msgid "Building" msgstr "" +#: part/templates/part/part_base.html:285 part/templates/part/prices.html:131 +msgid "Calculate" +msgstr "" + +#: part/templates/part/part_base.html:379 +msgid "Create New Part Category" +msgstr "" + +#: part/templates/part/part_base.html:387 +msgid "New Parent" +msgstr "" + +#: part/templates/part/part_base.html:435 +msgid "Edit Part" +msgstr "" + +#: part/templates/part/part_pricing.html:22 part/templates/part/prices.html:27 +msgid "Supplier Pricing" +msgstr "" + +#: part/templates/part/part_pricing.html:26 +#: part/templates/part/part_pricing.html:52 +#: part/templates/part/part_pricing.html:85 +#: part/templates/part/part_pricing.html:100 part/templates/part/prices.html:31 +#: part/templates/part/prices.html:58 part/templates/part/prices.html:90 +#: part/templates/part/prices.html:107 +msgid "Unit Cost" +msgstr "" + +#: part/templates/part/part_pricing.html:32 +#: part/templates/part/part_pricing.html:58 +#: part/templates/part/part_pricing.html:89 +#: part/templates/part/part_pricing.html:104 part/templates/part/prices.html:38 +#: part/templates/part/prices.html:65 part/templates/part/prices.html:95 +#: part/templates/part/prices.html:112 +msgid "Total Cost" +msgstr "" + +#: part/templates/part/part_pricing.html:40 part/templates/part/prices.html:46 +msgid "No supplier pricing available" +msgstr "" + +#: part/templates/part/part_pricing.html:48 part/templates/part/prices.html:55 +#: part/templates/part/prices.html:235 +msgid "BOM Pricing" +msgstr "" + +#: part/templates/part/part_pricing.html:66 part/templates/part/prices.html:73 +msgid "Note: BOM pricing is incomplete for this part" +msgstr "" + +#: part/templates/part/part_pricing.html:73 part/templates/part/prices.html:80 +msgid "No BOM pricing available" +msgstr "" + +#: part/templates/part/part_pricing.html:82 part/templates/part/prices.html:89 +msgid "Internal Price" +msgstr "" + +#: part/templates/part/part_pricing.html:113 +#: part/templates/part/prices.html:121 +msgid "No pricing information is available for this part." +msgstr "" + #: part/templates/part/part_tests.html:17 msgid "Add Test Template" msgstr "" +#: part/templates/part/part_tests.html:61 +msgid "Add Test Result Template" +msgstr "" + +#: part/templates/part/part_tests.html:79 +msgid "Edit Test Result Template" +msgstr "" + +#: part/templates/part/part_tests.html:91 +msgid "Delete Test Result Template" +msgstr "" + #: part/templates/part/part_thumb.html:20 msgid "Select from existing images" msgstr "" @@ -4966,12 +4864,98 @@ msgstr "" msgid "There are %(count)s unique parts tracked for '%(full_name)s'. Deleting this part will permanently remove this tracking information." msgstr "" -#: part/templates/part/related.html:18 -msgid "Add Related" +#: part/templates/part/prices.html:12 +msgid "General Price Information" msgstr "" -#: part/templates/part/sale_prices.html:10 -msgid "Sell Price Information" +#: part/templates/part/prices.html:22 +msgid "Pricing ranges" +msgstr "" + +#: part/templates/part/prices.html:28 +msgid "Show supplier cost" +msgstr "" + +#: part/templates/part/prices.html:29 +msgid "Show purchase price" +msgstr "" + +#: part/templates/part/prices.html:56 +msgid "Show BOM cost" +msgstr "" + +#: part/templates/part/prices.html:104 +msgid "Show sale cost" +msgstr "" + +#: part/templates/part/prices.html:105 +msgid "Show sale price" +msgstr "" + +#: part/templates/part/prices.html:127 +msgid "Calculation parameters" +msgstr "" + +#: part/templates/part/prices.html:146 +msgid "Supplier Cost" +msgstr "" + +#: part/templates/part/prices.html:147 part/templates/part/prices.html:167 +#: part/templates/part/prices.html:193 part/templates/part/prices.html:224 +#: part/templates/part/prices.html:251 part/templates/part/prices.html:279 +msgid "Jump to overview" +msgstr "" + +#: part/templates/part/prices.html:172 +msgid "Stock Pricing" +msgstr "" + +#: part/templates/part/prices.html:180 +msgid "No stock pricing history is available for this part." +msgstr "" + +#: part/templates/part/prices.html:192 +msgid "Internal Cost" +msgstr "" + +#: part/templates/part/prices.html:206 part/views.py:2859 +msgid "Add Internal Price Break" +msgstr "" + +#: part/templates/part/prices.html:223 +msgid "BOM Cost" +msgstr "" + +#: part/templates/part/prices.html:250 +msgid "Sale Cost" +msgstr "" + +#: part/templates/part/prices.html:290 +msgid "No sale pice history available for this part." +msgstr "" + +#: part/templates/part/prices.html:340 +#, python-format +msgid "Single Price - %(currency)s" +msgstr "" + +#: part/templates/part/prices.html:352 +#, python-format +msgid "Single Price Difference - %(currency)s" +msgstr "" + +#: part/templates/part/prices.html:364 +#, python-format +msgid "Part Single Price - %(currency)s" +msgstr "" + +#: part/templates/part/prices.html:464 +#, python-format +msgid "Unit Price - %(currency)s" +msgstr "" + +#: part/templates/part/related.html:18 +msgid "Add Related" msgstr "" #: part/templates/part/sales_orders.html:18 @@ -5045,216 +5029,180 @@ msgstr "" msgid "Delete Related Part" msgstr "" -#: part/views.py:164 -msgid "Add part attachment" -msgstr "" - -#: part/views.py:217 templates/attachment_table.html:32 -msgid "Edit attachment" -msgstr "" - -#: part/views.py:221 -msgid "Part attachment updated" -msgstr "" - -#: part/views.py:236 -msgid "Delete Part Attachment" -msgstr "" - -#: part/views.py:244 -msgid "Deleted part attachment" -msgstr "" - -#: part/views.py:253 -msgid "Create Test Template" -msgstr "" - -#: part/views.py:280 -msgid "Edit Test Template" -msgstr "" - -#: part/views.py:294 -msgid "Delete Test Template" -msgstr "" - -#: part/views.py:301 +#: part/views.py:161 msgid "Set Part Category" msgstr "" -#: part/views.py:351 +#: part/views.py:211 #, python-brace-format msgid "Set category for {n} parts" msgstr "" -#: part/views.py:386 +#: part/views.py:246 msgid "Create Variant" msgstr "" -#: part/views.py:471 +#: part/views.py:331 msgid "Copied part" msgstr "" -#: part/views.py:525 part/views.py:663 +#: part/views.py:385 part/views.py:523 msgid "Possible matches exist - confirm creation of new part" msgstr "" -#: part/views.py:595 +#: part/views.py:455 msgid "Created new part" msgstr "" -#: part/views.py:763 +#: part/views.py:623 msgid "Match References" msgstr "" -#: part/views.py:1092 +#: part/views.py:925 +msgid "None" +msgstr "" + +#: part/views.py:984 msgid "Part QR Code" msgstr "" -#: part/views.py:1194 -msgid "Upload Part Image" -msgstr "" - -#: part/views.py:1200 part/views.py:1235 -msgid "Updated part image" -msgstr "" - -#: part/views.py:1209 +#: part/views.py:1086 msgid "Select Part Image" msgstr "" -#: part/views.py:1238 +#: part/views.py:1112 +msgid "Updated part image" +msgstr "" + +#: part/views.py:1115 msgid "Part image not found" msgstr "" -#: part/views.py:1249 +#: part/views.py:1126 msgid "Edit Part Properties" msgstr "" -#: part/views.py:1284 +#: part/views.py:1161 msgid "Duplicate BOM" msgstr "" -#: part/views.py:1314 +#: part/views.py:1191 msgid "Confirm duplication of BOM from parent" msgstr "" -#: part/views.py:1335 +#: part/views.py:1212 msgid "Validate BOM" msgstr "" -#: part/views.py:1356 +#: part/views.py:1233 msgid "Confirm that the BOM is valid" msgstr "" -#: part/views.py:1367 +#: part/views.py:1244 msgid "Validated Bill of Materials" msgstr "" -#: part/views.py:1501 +#: part/views.py:1378 msgid "No BOM file provided" msgstr "" -#: part/views.py:1862 +#: part/views.py:1739 msgid "Enter a valid quantity" msgstr "" -#: part/views.py:1887 part/views.py:1890 +#: part/views.py:1764 part/views.py:1767 msgid "Select valid part" msgstr "" -#: part/views.py:1896 +#: part/views.py:1773 msgid "Duplicate part selected" msgstr "" -#: part/views.py:1934 +#: part/views.py:1811 msgid "Select a part" msgstr "" -#: part/views.py:1940 +#: part/views.py:1817 msgid "Selected part creates a circular BOM" msgstr "" -#: part/views.py:1944 +#: part/views.py:1821 msgid "Specify quantity" msgstr "" -#: part/views.py:2206 +#: part/views.py:2083 msgid "Confirm Part Deletion" msgstr "" -#: part/views.py:2213 +#: part/views.py:2090 msgid "Part was deleted" msgstr "" -#: part/views.py:2222 +#: part/views.py:2099 msgid "Part Pricing" msgstr "" -#: part/views.py:2363 +#: part/views.py:2240 msgid "Create Part Parameter Template" msgstr "" -#: part/views.py:2373 +#: part/views.py:2250 msgid "Edit Part Parameter Template" msgstr "" -#: part/views.py:2380 +#: part/views.py:2257 msgid "Delete Part Parameter Template" msgstr "" -#: part/views.py:2388 +#: part/views.py:2265 msgid "Create Part Parameter" msgstr "" -#: part/views.py:2438 +#: part/views.py:2315 msgid "Edit Part Parameter" msgstr "" -#: part/views.py:2452 +#: part/views.py:2329 msgid "Delete Part Parameter" msgstr "" -#: part/views.py:2512 -msgid "Edit Part Category" -msgstr "" - -#: part/views.py:2550 +#: part/views.py:2427 msgid "Delete Part Category" msgstr "" -#: part/views.py:2556 +#: part/views.py:2433 msgid "Part category was deleted" msgstr "" -#: part/views.py:2608 +#: part/views.py:2485 msgid "Create Category Parameter Template" msgstr "" -#: part/views.py:2709 +#: part/views.py:2586 msgid "Edit Category Parameter Template" msgstr "" -#: part/views.py:2765 +#: part/views.py:2642 msgid "Delete Category Parameter Template" msgstr "" -#: part/views.py:2784 +#: part/views.py:2661 msgid "Create BOM Item" msgstr "" -#: part/views.py:2854 +#: part/views.py:2731 msgid "Edit BOM item" msgstr "" -#: part/views.py:2910 -msgid "Confim BOM item deletion" +#: part/views.py:2792 +msgid "Added new price break" msgstr "" -#: part/views.py:2998 +#: part/views.py:2868 msgid "Edit Internal Price Break" msgstr "" -#: part/views.py:3006 +#: part/views.py:2876 msgid "Delete Internal Price Break" msgstr "" @@ -5360,17 +5308,17 @@ msgid "Test Results" msgstr "" #: report/templates/report/inventree_test_report_base.html:88 -#: stock/models.py:1739 +#: stock/models.py:1759 msgid "Test" msgstr "" #: report/templates/report/inventree_test_report_base.html:89 -#: stock/models.py:1745 +#: stock/models.py:1765 msgid "Result" msgstr "" #: report/templates/report/inventree_test_report_base.html:92 -#: templates/js/order.js:195 templates/js/stock.js:1012 +#: templates/js/order.js:257 templates/js/stock.js:1026 msgid "Date" msgstr "" @@ -5382,287 +5330,287 @@ msgstr "" msgid "Fail" msgstr "" -#: stock/api.py:212 +#: stock/api.py:211 #, python-brace-format msgid "Updated stock for {n} items" msgstr "" -#: stock/api.py:281 +#: stock/api.py:280 #, python-brace-format msgid "Moved {n} parts to {loc}" msgstr "" -#: stock/forms.py:114 stock/forms.py:418 stock/models.py:505 +#: stock/forms.py:81 stock/forms.py:385 stock/models.py:513 #: stock/templates/stock/item_base.html:381 templates/js/stock.js:658 msgid "Expiry Date" msgstr "" -#: stock/forms.py:115 stock/forms.py:419 +#: stock/forms.py:82 stock/forms.py:386 msgid "Expiration date for this stock item" msgstr "" -#: stock/forms.py:118 +#: stock/forms.py:85 msgid "Enter unique serial numbers (or leave blank)" msgstr "" -#: stock/forms.py:169 +#: stock/forms.py:136 msgid "Destination for serialized stock (by default, will remain in current location)" msgstr "" -#: stock/forms.py:171 +#: stock/forms.py:138 msgid "Serial numbers" msgstr "" -#: stock/forms.py:171 +#: stock/forms.py:138 msgid "Unique serial numbers (must match quantity)" msgstr "" -#: stock/forms.py:173 stock/forms.py:349 +#: stock/forms.py:140 stock/forms.py:316 msgid "Add transaction note (optional)" msgstr "" -#: stock/forms.py:203 stock/forms.py:259 +#: stock/forms.py:170 stock/forms.py:226 msgid "Select test report template" msgstr "" -#: stock/forms.py:267 templates/js/table_filters.js:75 +#: stock/forms.py:234 templates/js/table_filters.js:75 #: templates/js/table_filters.js:138 msgid "Include sublocations" msgstr "" -#: stock/forms.py:267 +#: stock/forms.py:234 msgid "Include stock items in sub locations" msgstr "" -#: stock/forms.py:302 +#: stock/forms.py:269 msgid "Stock item to install" msgstr "" -#: stock/forms.py:309 +#: stock/forms.py:276 msgid "Stock quantity to assign" msgstr "" -#: stock/forms.py:337 +#: stock/forms.py:304 msgid "Must not exceed available quantity" msgstr "" -#: stock/forms.py:347 +#: stock/forms.py:314 msgid "Destination location for uninstalled items" msgstr "" -#: stock/forms.py:351 +#: stock/forms.py:318 msgid "Confirm uninstall" msgstr "" -#: stock/forms.py:351 +#: stock/forms.py:318 msgid "Confirm removal of installed stock items" msgstr "" -#: stock/forms.py:375 +#: stock/forms.py:342 msgid "Destination stock location" msgstr "" -#: stock/forms.py:377 +#: stock/forms.py:344 msgid "Add note (required)" msgstr "" -#: stock/forms.py:381 stock/views.py:852 stock/views.py:1051 +#: stock/forms.py:348 stock/views.py:705 stock/views.py:904 msgid "Confirm stock adjustment" msgstr "" -#: stock/forms.py:381 +#: stock/forms.py:348 msgid "Confirm movement of stock items" msgstr "" -#: stock/forms.py:383 +#: stock/forms.py:350 msgid "Set Default Location" msgstr "" -#: stock/forms.py:383 +#: stock/forms.py:350 msgid "Set the destination as the default location for selected parts" msgstr "" -#: stock/models.py:52 stock/models.py:542 +#: stock/models.py:56 stock/models.py:550 msgid "Owner" msgstr "" -#: stock/models.py:53 stock/models.py:543 +#: stock/models.py:57 stock/models.py:551 msgid "Select Owner" msgstr "" -#: stock/models.py:271 +#: stock/models.py:279 msgid "StockItem with this serial number already exists" msgstr "" -#: stock/models.py:307 +#: stock/models.py:315 #, python-brace-format msgid "Part type ('{pf}') must be {pe}" msgstr "" -#: stock/models.py:317 stock/models.py:326 +#: stock/models.py:325 stock/models.py:334 msgid "Quantity must be 1 for item with a serial number" msgstr "" -#: stock/models.py:318 +#: stock/models.py:326 msgid "Serial number cannot be set if quantity greater than 1" msgstr "" -#: stock/models.py:340 +#: stock/models.py:348 msgid "Item cannot belong to itself" msgstr "" -#: stock/models.py:346 +#: stock/models.py:354 msgid "Item must have a build reference if is_building=True" msgstr "" -#: stock/models.py:353 +#: stock/models.py:361 msgid "Build reference does not point to the same part object" msgstr "" -#: stock/models.py:395 +#: stock/models.py:403 msgid "Parent Stock Item" msgstr "" -#: stock/models.py:404 +#: stock/models.py:412 msgid "Base part" msgstr "" -#: stock/models.py:413 +#: stock/models.py:421 msgid "Select a matching supplier part for this stock item" msgstr "" -#: stock/models.py:418 stock/templates/stock/stock_app_base.html:8 +#: stock/models.py:426 stock/templates/stock/stock_app_base.html:8 msgid "Stock Location" msgstr "" -#: stock/models.py:421 +#: stock/models.py:429 msgid "Where is this stock item located?" msgstr "" -#: stock/models.py:428 +#: stock/models.py:436 msgid "Packaging this stock item is stored in" msgstr "" -#: stock/models.py:433 stock/templates/stock/item_base.html:270 +#: stock/models.py:441 stock/templates/stock/item_base.html:270 msgid "Installed In" msgstr "" -#: stock/models.py:436 +#: stock/models.py:444 msgid "Is this item installed in another item?" msgstr "" -#: stock/models.py:452 +#: stock/models.py:460 msgid "Serial number for this item" msgstr "" -#: stock/models.py:464 +#: stock/models.py:472 msgid "Batch code for this stock item" msgstr "" -#: stock/models.py:468 +#: stock/models.py:476 msgid "Stock Quantity" msgstr "" -#: stock/models.py:477 +#: stock/models.py:485 msgid "Source Build" msgstr "" -#: stock/models.py:479 +#: stock/models.py:487 msgid "Build for this stock item" msgstr "" -#: stock/models.py:490 +#: stock/models.py:498 msgid "Source Purchase Order" msgstr "" -#: stock/models.py:493 +#: stock/models.py:501 msgid "Purchase order for this stock item" msgstr "" -#: stock/models.py:499 +#: stock/models.py:507 msgid "Destination Sales Order" msgstr "" -#: stock/models.py:506 +#: stock/models.py:514 msgid "Expiry date for stock item. Stock will be considered expired after this date" msgstr "" -#: stock/models.py:519 +#: stock/models.py:527 msgid "Delete on deplete" msgstr "" -#: stock/models.py:519 +#: stock/models.py:527 msgid "Delete this Stock Item when stock is depleted" msgstr "" -#: stock/models.py:529 stock/templates/stock/item_notes.html:13 +#: stock/models.py:537 stock/templates/stock/item_notes.html:13 #: stock/templates/stock/navbar.html:54 msgid "Stock Item Notes" msgstr "" -#: stock/models.py:538 +#: stock/models.py:546 msgid "Single unit purchase price at time of purchase" msgstr "" -#: stock/models.py:1006 +#: stock/models.py:1014 msgid "Part is not set as trackable" msgstr "" -#: stock/models.py:1012 +#: stock/models.py:1020 msgid "Quantity must be integer" msgstr "" -#: stock/models.py:1018 +#: stock/models.py:1026 #, python-brace-format msgid "Quantity must not exceed available stock quantity ({n})" msgstr "" -#: stock/models.py:1021 +#: stock/models.py:1029 msgid "Serial numbers must be a list of integers" msgstr "" -#: stock/models.py:1024 +#: stock/models.py:1032 msgid "Quantity does not match serial numbers" msgstr "" -#: stock/models.py:1031 +#: stock/models.py:1039 #, python-brace-format msgid "Serial numbers already exist: {exists}" msgstr "" -#: stock/models.py:1189 +#: stock/models.py:1197 msgid "StockItem cannot be moved as it is not in stock" msgstr "" -#: stock/models.py:1663 +#: stock/models.py:1679 msgid "Entry notes" msgstr "" -#: stock/models.py:1716 +#: stock/models.py:1736 msgid "Value must be provided for this test" msgstr "" -#: stock/models.py:1722 +#: stock/models.py:1742 msgid "Attachment must be uploaded for this test" msgstr "" -#: stock/models.py:1740 +#: stock/models.py:1760 msgid "Test name" msgstr "" -#: stock/models.py:1746 templates/js/table_filters.js:217 +#: stock/models.py:1766 templates/js/table_filters.js:222 msgid "Test result" msgstr "" -#: stock/models.py:1752 +#: stock/models.py:1772 msgid "Test output value" msgstr "" -#: stock/models.py:1759 +#: stock/models.py:1779 msgid "Test result attachment" msgstr "" -#: stock/models.py:1765 +#: stock/models.py:1785 msgid "Test notes" msgstr "" @@ -5852,6 +5800,10 @@ msgstr "" msgid "No stocktake performed" msgstr "" +#: stock/templates/stock/item_base.html:499 +msgid "Edit Stock Status" +msgstr "" + #: stock/templates/stock/item_childs.html:12 msgid "Child Stock Items" msgstr "" @@ -5911,6 +5863,19 @@ msgstr "" msgid "Add Test Data" msgstr "" +#: stock/templates/stock/item_tests.html:86 +#: stock/templates/stock/item_tests.html:111 +msgid "Add Test Result" +msgstr "" + +#: stock/templates/stock/item_tests.html:131 +msgid "Edit Test Result" +msgstr "" + +#: stock/templates/stock/item_tests.html:145 +msgid "Delete Test Result" +msgstr "" + #: stock/templates/stock/location.html:20 msgid "You are not in the list of owners of this location. This stock location cannot be edited." msgstr "" @@ -5959,7 +5924,7 @@ msgid "Stock Details" msgstr "" #: stock/templates/stock/location.html:117 templates/InvenTree/search.html:279 -#: templates/stats.html:97 users/models.py:41 +#: templates/stats.html:97 users/models.py:42 msgid "Stock Locations" msgstr "" @@ -5999,7 +5964,7 @@ msgstr "" msgid "The following stock items will be uninstalled" msgstr "" -#: stock/templates/stock/stockitem_convert.html:7 stock/views.py:1364 +#: stock/templates/stock/stockitem_convert.html:7 stock/views.py:1196 msgid "Convert Stock Item" msgstr "" @@ -6032,8 +5997,8 @@ msgstr "" msgid "Edit Stock Location" msgstr "" -#: stock/views.py:230 stock/views.py:1343 stock/views.py:1465 -#: stock/views.py:1830 +#: stock/views.py:230 stock/views.py:1175 stock/views.py:1297 +#: stock/views.py:1662 msgid "Owner is required (ownership control is enabled)" msgstr "" @@ -6041,208 +6006,188 @@ msgstr "" msgid "Stock Location QR code" msgstr "" -#: stock/views.py:265 -msgid "Add Stock Item Attachment" -msgstr "" - -#: stock/views.py:311 -msgid "Edit Stock Item Attachment" -msgstr "" - -#: stock/views.py:327 -msgid "Delete Stock Item Attachment" -msgstr "" - -#: stock/views.py:343 +#: stock/views.py:264 msgid "Assign to Customer" msgstr "" -#: stock/views.py:352 +#: stock/views.py:273 msgid "Customer must be specified" msgstr "" -#: stock/views.py:376 +#: stock/views.py:297 msgid "Return to Stock" msgstr "" -#: stock/views.py:385 +#: stock/views.py:306 msgid "Specify a valid location" msgstr "" -#: stock/views.py:396 +#: stock/views.py:317 msgid "Stock item returned from customer" msgstr "" -#: stock/views.py:407 +#: stock/views.py:328 msgid "Delete All Test Data" msgstr "" -#: stock/views.py:424 +#: stock/views.py:345 msgid "Confirm test data deletion" msgstr "" -#: stock/views.py:444 -msgid "Add Test Result" -msgstr "" - -#: stock/views.py:484 -msgid "Edit Test Result" -msgstr "" - -#: stock/views.py:501 -msgid "Delete Test Result" -msgstr "" - -#: stock/views.py:509 +#: stock/views.py:362 msgid "Stock Export Options" msgstr "" -#: stock/views.py:630 +#: stock/views.py:483 msgid "Stock Item QR Code" msgstr "" -#: stock/views.py:656 +#: stock/views.py:509 msgid "Install Stock Item" msgstr "" -#: stock/views.py:755 +#: stock/views.py:608 msgid "Uninstall Stock Items" msgstr "" -#: stock/views.py:863 +#: stock/views.py:716 msgid "Uninstalled stock items" msgstr "" -#: stock/views.py:888 +#: stock/views.py:741 msgid "Adjust Stock" msgstr "" -#: stock/views.py:998 +#: stock/views.py:851 msgid "Move Stock Items" msgstr "" -#: stock/views.py:998 +#: stock/views.py:851 msgid "Move" msgstr "" -#: stock/views.py:999 +#: stock/views.py:852 msgid "Count Stock Items" msgstr "" -#: stock/views.py:999 +#: stock/views.py:852 msgid "Count" msgstr "" -#: stock/views.py:1000 +#: stock/views.py:853 msgid "Remove From Stock" msgstr "" -#: stock/views.py:1000 +#: stock/views.py:853 msgid "Take" msgstr "" -#: stock/views.py:1001 +#: stock/views.py:854 msgid "Add Stock Items" msgstr "" -#: stock/views.py:1001 users/models.py:187 +#: stock/views.py:854 users/models.py:188 msgid "Add" msgstr "" -#: stock/views.py:1002 +#: stock/views.py:855 msgid "Delete Stock Items" msgstr "" -#: stock/views.py:1031 +#: stock/views.py:884 msgid "Must enter integer value" msgstr "" -#: stock/views.py:1036 +#: stock/views.py:889 msgid "Quantity must be positive" msgstr "" -#: stock/views.py:1043 +#: stock/views.py:896 #, python-brace-format msgid "Quantity must not exceed {x}" msgstr "" -#: stock/views.py:1107 +#: stock/views.py:960 msgid "No action performed" msgstr "" -#: stock/views.py:1122 +#: stock/views.py:975 #, python-brace-format msgid "Added stock to {n} items" msgstr "" -#: stock/views.py:1137 +#: stock/views.py:990 #, python-brace-format msgid "Removed stock from {n} items" msgstr "" -#: stock/views.py:1150 +#: stock/views.py:1003 #, python-brace-format msgid "Counted stock for {n} items" msgstr "" -#: stock/views.py:1190 +#: stock/views.py:1043 msgid "No items were moved" msgstr "" -#: stock/views.py:1193 +#: stock/views.py:1046 #, python-brace-format msgid "Moved {n} items to {dest}" msgstr "" -#: stock/views.py:1212 +#: stock/views.py:1065 #, python-brace-format msgid "Deleted {n} stock items" msgstr "" -#: stock/views.py:1222 -msgid "Edit Stock Item Status" -msgstr "" - -#: stock/views.py:1245 +#: stock/views.py:1077 msgid "Edit Stock Item" msgstr "" -#: stock/views.py:1482 +#: stock/views.py:1314 msgid "Serialize Stock" msgstr "" -#: stock/views.py:1575 templates/js/build.js:327 +#: stock/views.py:1407 templates/js/build.js:327 msgid "Create new Stock Item" msgstr "" -#: stock/views.py:1717 +#: stock/views.py:1549 msgid "Duplicate Stock Item" msgstr "" -#: stock/views.py:1799 +#: stock/views.py:1631 msgid "Quantity cannot be negative" msgstr "" -#: stock/views.py:1899 +#: stock/views.py:1731 msgid "Delete Stock Location" msgstr "" -#: stock/views.py:1912 +#: stock/views.py:1744 msgid "Delete Stock Item" msgstr "" -#: stock/views.py:1923 +#: stock/views.py:1755 msgid "Delete Stock Tracking Entry" msgstr "" -#: stock/views.py:1930 +#: stock/views.py:1762 msgid "Edit Stock Tracking Entry" msgstr "" -#: stock/views.py:1939 +#: stock/views.py:1771 msgid "Add Stock Tracking Entry" msgstr "" +#: templates/403.html:5 templates/403.html:11 +msgid "Permission Denied" +msgstr "" + +#: templates/403.html:14 +msgid "You do not have permission to view this page." +msgstr "" + #: templates/404.html:5 templates/404.html:11 msgid "Page Not Found" msgstr "" @@ -6271,35 +6216,39 @@ msgstr "" msgid "Recently Updated" msgstr "" -#: templates/InvenTree/index.html:145 -msgid "Expired Stock" +#: templates/InvenTree/index.html:131 +msgid "Depleted Stock" msgstr "" #: templates/InvenTree/index.html:146 +msgid "Expired Stock" +msgstr "" + +#: templates/InvenTree/index.html:147 msgid "Stale Stock" msgstr "" -#: templates/InvenTree/index.html:184 +#: templates/InvenTree/index.html:192 msgid "Build Orders In Progress" msgstr "" -#: templates/InvenTree/index.html:185 +#: templates/InvenTree/index.html:193 msgid "Overdue Build Orders" msgstr "" -#: templates/InvenTree/index.html:206 +#: templates/InvenTree/index.html:214 msgid "Outstanding Purchase Orders" msgstr "" -#: templates/InvenTree/index.html:207 +#: templates/InvenTree/index.html:215 msgid "Overdue Purchase Orders" msgstr "" -#: templates/InvenTree/index.html:229 +#: templates/InvenTree/index.html:237 msgid "Outstanding Sales Orders" msgstr "" -#: templates/InvenTree/index.html:230 +#: templates/InvenTree/index.html:238 msgid "Overdue Sales Orders" msgstr "" @@ -6585,24 +6534,12 @@ msgstr "" msgid "copy version information" msgstr "" -#: templates/about.html:100 templates/js/modals.js:568 -#: templates/js/modals.js:861 templates/modals.html:29 templates/modals.html:54 -#: templates/modals.html:97 +#: templates/about.html:100 templates/js/modals.js:34 +#: templates/js/modals.js:677 templates/js/modals.js:970 +#: templates/modals.html:29 templates/modals.html:54 templates/modals.html:97 msgid "Close" msgstr "" -#: templates/attachment_table.html:6 -msgid "Add Attachment" -msgstr "" - -#: templates/attachment_table.html:17 -msgid "Uploaded" -msgstr "" - -#: templates/attachment_table.html:35 -msgid "Delete attachment" -msgstr "" - #: templates/image_download.html:8 msgid "Specify URL for downloading image" msgstr "" @@ -6619,6 +6556,22 @@ msgstr "" msgid "Remote image must not exceed maximum allowable file size" msgstr "" +#: templates/js/attachment.js:16 +msgid "No attachments found" +msgstr "" + +#: templates/js/attachment.js:56 +msgid "Upload Date" +msgstr "" + +#: templates/js/attachment.js:69 +msgid "Edit attachment" +msgstr "" + +#: templates/js/attachment.js:76 +msgid "Delete attachment" +msgstr "" + #: templates/js/barcode.js:8 msgid "Scan barcode data here using wedge scanner" msgstr "" @@ -6647,7 +6600,7 @@ msgstr "" msgid "Unknown response from server" msgstr "" -#: templates/js/barcode.js:119 templates/js/modals.js:921 +#: templates/js/barcode.js:119 templates/js/modals.js:1030 msgid "Invalid server response" msgstr "" @@ -6747,7 +6700,7 @@ msgstr "" msgid "Edit BOM Item" msgstr "" -#: templates/js/bom.js:372 +#: templates/js/bom.js:372 templates/js/bom.js:519 msgid "Delete BOM Item" msgstr "" @@ -6775,7 +6728,7 @@ msgstr "" msgid "No build order allocations found" msgstr "" -#: templates/js/build.js:222 templates/js/order.js:382 +#: templates/js/build.js:222 templates/js/order.js:449 msgid "Location not specified" msgstr "" @@ -6801,7 +6754,7 @@ msgid "No builds matching query" msgstr "" #: templates/js/build.js:806 templates/js/part.js:390 templates/js/part.js:635 -#: templates/js/stock.js:514 templates/js/stock.js:966 +#: templates/js/stock.js:514 templates/js/stock.js:980 msgid "Select" msgstr "" @@ -6813,45 +6766,69 @@ msgstr "" msgid "No parts allocated for" msgstr "" -#: templates/js/company.js:74 +#: templates/js/company.js:45 +msgid "Edit Company" +msgstr "" + +#: templates/js/company.js:66 +msgid "Add new Company" +msgstr "" + +#: templates/js/company.js:143 msgid "Parts Supplied" msgstr "" -#: templates/js/company.js:83 +#: templates/js/company.js:152 msgid "Parts Manufactured" msgstr "" -#: templates/js/company.js:96 +#: templates/js/company.js:165 msgid "No company information found" msgstr "" -#: templates/js/company.js:129 +#: templates/js/company.js:183 +msgid "The following manufacturer parts will be deleted" +msgstr "" + +#: templates/js/company.js:200 +msgid "Delete Manufacturer Parts" +msgstr "" + +#: templates/js/company.js:253 msgid "No manufacturer parts found" msgstr "" -#: templates/js/company.js:148 templates/js/company.js:347 +#: templates/js/company.js:272 templates/js/company.js:472 #: templates/js/part.js:68 templates/js/part.js:153 msgid "Template part" msgstr "" -#: templates/js/company.js:152 templates/js/company.js:351 +#: templates/js/company.js:276 templates/js/company.js:476 #: templates/js/part.js:72 templates/js/part.js:157 msgid "Assembled part" msgstr "" -#: templates/js/company.js:226 +#: templates/js/company.js:350 msgid "No parameters found" msgstr "" -#: templates/js/company.js:262 +#: templates/js/company.js:386 msgid "Edit parameter" msgstr "" -#: templates/js/company.js:263 +#: templates/js/company.js:387 msgid "Delete parameter" msgstr "" -#: templates/js/company.js:328 +#: templates/js/company.js:406 +msgid "Edit Parameter" +msgstr "" + +#: templates/js/company.js:417 +msgid "Delete Parameter" +msgstr "" + +#: templates/js/company.js:453 msgid "No supplier parts found" msgstr "" @@ -6879,6 +6856,83 @@ msgstr "" msgid "Create filter" msgstr "" +#: templates/js/forms.js:278 templates/js/forms.js:291 +#: templates/js/forms.js:303 templates/js/forms.js:315 +msgid "Action Prohibited" +msgstr "" + +#: templates/js/forms.js:279 +msgid "Create operation not allowed" +msgstr "" + +#: templates/js/forms.js:292 +msgid "Update operation not allowed" +msgstr "" + +#: templates/js/forms.js:304 +msgid "Delete operation not allowed" +msgstr "" + +#: templates/js/forms.js:316 +msgid "View operation not allowed" +msgstr "" + +#: templates/js/forms.js:583 templates/js/modals.js:1040 +msgid "No Response" +msgstr "" + +#: templates/js/forms.js:584 templates/js/modals.js:1041 +msgid "No response from the InvenTree server" +msgstr "" + +#: templates/js/forms.js:590 templates/js/modals.js:1050 +msgid "Error 401: Not Authenticated" +msgstr "" + +#: templates/js/forms.js:591 templates/js/modals.js:1051 +msgid "Authentication credentials not supplied" +msgstr "" + +#: templates/js/forms.js:597 templates/js/modals.js:1055 +msgid "Error 403: Permission Denied" +msgstr "" + +#: templates/js/forms.js:598 templates/js/modals.js:1056 +msgid "You do not have the required permissions to access this function" +msgstr "" + +#: templates/js/forms.js:604 templates/js/modals.js:1060 +msgid "Error 404: Resource Not Found" +msgstr "" + +#: templates/js/forms.js:605 templates/js/modals.js:1061 +msgid "The requested resource could not be located on the server" +msgstr "" + +#: templates/js/forms.js:611 templates/js/modals.js:1065 +msgid "Error 408: Timeout" +msgstr "" + +#: templates/js/forms.js:612 templates/js/modals.js:1066 +msgid "Connection timeout while requesting data from server" +msgstr "" + +#: templates/js/forms.js:618 templates/js/modals.js:1069 +msgid "Error requesting form data" +msgstr "" + +#: templates/js/forms.js:788 templates/modals.html:21 templates/modals.html:47 +msgid "Form errors exist" +msgstr "" + +#: templates/js/forms.js:1161 +msgid "Searching" +msgstr "" + +#: templates/js/forms.js:1301 +msgid "Clear input" +msgstr "" + #: templates/js/label.js:10 templates/js/report.js:98 msgid "Select Stock Items" msgstr "" @@ -6919,112 +6973,102 @@ msgstr "" msgid "Select Label Template" msgstr "" -#: templates/js/modals.js:265 -msgid "Waiting for server..." -msgstr "" - -#: templates/js/modals.js:424 -msgid "Show Error Information" -msgstr "" - -#: templates/js/modals.js:491 templates/modals.html:76 -msgid "Accept" -msgstr "" - -#: templates/js/modals.js:492 templates/modals.html:75 +#: templates/js/modals.js:59 templates/js/modals.js:105 +#: templates/js/modals.js:601 templates/modals.html:75 msgid "Cancel" msgstr "" -#: templates/js/modals.js:556 -msgid "Loading Data" -msgstr "" - -#: templates/js/modals.js:567 templates/js/modals.js:860 +#: templates/js/modals.js:60 templates/js/modals.js:104 +#: templates/js/modals.js:676 templates/js/modals.js:969 #: templates/modals.html:30 templates/modals.html:55 msgid "Submit" msgstr "" -#: templates/js/modals.js:811 +#: templates/js/modals.js:103 +msgid "Form Title" +msgstr "" + +#: templates/js/modals.js:374 +msgid "Waiting for server..." +msgstr "" + +#: templates/js/modals.js:533 +msgid "Show Error Information" +msgstr "" + +#: templates/js/modals.js:600 templates/modals.html:76 +msgid "Accept" +msgstr "" + +#: templates/js/modals.js:665 +msgid "Loading Data" +msgstr "" + +#: templates/js/modals.js:920 msgid "Invalid response from server" msgstr "" -#: templates/js/modals.js:811 +#: templates/js/modals.js:920 msgid "Form data missing from server response" msgstr "" -#: templates/js/modals.js:824 +#: templates/js/modals.js:933 msgid "Error posting form data" msgstr "" -#: templates/js/modals.js:921 +#: templates/js/modals.js:1030 msgid "JSON response missing form data" msgstr "" -#: templates/js/modals.js:931 -msgid "No Response" -msgstr "" - -#: templates/js/modals.js:932 -msgid "No response from the InvenTree server" -msgstr "" - -#: templates/js/modals.js:936 +#: templates/js/modals.js:1045 msgid "Error 400: Bad Request" msgstr "" -#: templates/js/modals.js:937 +#: templates/js/modals.js:1046 msgid "Server returned error code 400" msgstr "" -#: templates/js/modals.js:941 -msgid "Error 401: Not Authenticated" +#: templates/js/model_renderers.js:21 +msgid "Company ID" msgstr "" -#: templates/js/modals.js:942 -msgid "Authentication credentials not supplied" +#: templates/js/model_renderers.js:63 +msgid "Location ID" msgstr "" -#: templates/js/modals.js:946 -msgid "Error 403: Permission Denied" +#: templates/js/model_renderers.js:90 +msgid "Part ID" msgstr "" -#: templates/js/modals.js:947 -msgid "You do not have the required permissions to access this function" +#: templates/js/model_renderers.js:126 +msgid "Category ID" msgstr "" -#: templates/js/modals.js:951 -msgid "Error 404: Resource Not Found" +#: templates/js/model_renderers.js:150 +msgid "Supplier Part ID" msgstr "" -#: templates/js/modals.js:952 -msgid "The requested resource could not be located on the server" +#: templates/js/order.js:31 +msgid "Create Sales Order" msgstr "" -#: templates/js/modals.js:956 -msgid "Error 408: Timeout" -msgstr "" - -#: templates/js/modals.js:957 -msgid "Connection timeout while requesting data from server" -msgstr "" - -#: templates/js/modals.js:960 -msgid "Error requesting form data" -msgstr "" - -#: templates/js/order.js:138 +#: templates/js/order.js:200 msgid "No purchase orders found" msgstr "" -#: templates/js/order.js:162 templates/js/order.js:257 +#: templates/js/order.js:224 templates/js/order.js:319 msgid "Order is overdue" msgstr "" -#: templates/js/order.js:234 +#: templates/js/order.js:296 msgid "No sales orders found" msgstr "" -#: templates/js/order.js:343 +#: templates/js/order.js:333 +msgid "Invalid Customer" +msgstr "" + +#: templates/js/order.js:410 msgid "No sales order allocations found" msgstr "" @@ -7064,11 +7108,11 @@ msgstr "" msgid "No category" msgstr "" -#: templates/js/part.js:476 templates/js/table_filters.js:323 +#: templates/js/part.js:476 templates/js/table_filters.js:328 msgid "Low stock" msgstr "" -#: templates/js/part.js:660 templates/js/stock.js:990 +#: templates/js/part.js:660 templates/js/stock.js:1004 msgid "Path" msgstr "" @@ -7088,7 +7132,22 @@ msgstr "" msgid "This test is defined for a parent part" msgstr "" -#: templates/js/part.js:806 +#: templates/js/part.js:786 +#, python-brace-format +msgid "No ${human_name} information found" +msgstr "" + +#: templates/js/part.js:839 +#, python-brace-format +msgid "Edit ${human_name}" +msgstr "" + +#: templates/js/part.js:840 +#, python-brace-format +msgid "Delete ${human_name}" +msgstr "" + +#: templates/js/part.js:959 msgid "Single Price Difference" msgstr "" @@ -7266,75 +7325,75 @@ msgstr "" msgid "Stocktake" msgstr "" -#: templates/js/stock.js:853 +#: templates/js/stock.js:867 msgid "Stock Status" msgstr "" -#: templates/js/stock.js:868 +#: templates/js/stock.js:882 msgid "Set Stock Status" msgstr "" -#: templates/js/stock.js:882 +#: templates/js/stock.js:896 msgid "Select Status Code" msgstr "" -#: templates/js/stock.js:883 +#: templates/js/stock.js:897 msgid "Status code must be selected" msgstr "" -#: templates/js/stock.js:1022 +#: templates/js/stock.js:1036 msgid "Invalid date" msgstr "" -#: templates/js/stock.js:1069 +#: templates/js/stock.js:1083 msgid "Location no longer exists" msgstr "" -#: templates/js/stock.js:1088 +#: templates/js/stock.js:1102 msgid "Purchase order no longer exists" msgstr "" -#: templates/js/stock.js:1107 +#: templates/js/stock.js:1121 msgid "Customer no longer exists" msgstr "" -#: templates/js/stock.js:1125 +#: templates/js/stock.js:1139 msgid "Stock item no longer exists" msgstr "" -#: templates/js/stock.js:1148 +#: templates/js/stock.js:1162 msgid "Added" msgstr "" -#: templates/js/stock.js:1156 +#: templates/js/stock.js:1170 msgid "Removed" msgstr "" -#: templates/js/stock.js:1188 +#: templates/js/stock.js:1202 msgid "No user information" msgstr "" -#: templates/js/stock.js:1200 +#: templates/js/stock.js:1214 msgid "Edit tracking entry" msgstr "" -#: templates/js/stock.js:1201 +#: templates/js/stock.js:1215 msgid "Delete tracking entry" msgstr "" -#: templates/js/stock.js:1325 +#: templates/js/stock.js:1339 msgid "Create New Location" msgstr "" -#: templates/js/stock.js:1366 +#: templates/js/stock.js:1380 msgid "No installed items" msgstr "" -#: templates/js/stock.js:1389 +#: templates/js/stock.js:1403 msgid "Serial" msgstr "" -#: templates/js/stock.js:1417 +#: templates/js/stock.js:1431 msgid "Uninstall Stock Item" msgstr "" @@ -7355,7 +7414,7 @@ msgid "Include locations" msgstr "" #: templates/js/table_filters.js:86 templates/js/table_filters.js:87 -#: templates/js/table_filters.js:300 +#: templates/js/table_filters.js:305 msgid "Include subcategories" msgstr "" @@ -7388,7 +7447,7 @@ msgstr "" msgid "Batch code" msgstr "" -#: templates/js/table_filters.js:123 templates/js/table_filters.js:290 +#: templates/js/table_filters.js:123 templates/js/table_filters.js:295 msgid "Active parts" msgstr "" @@ -7460,43 +7519,51 @@ msgstr "" msgid "Stock status" msgstr "" -#: templates/js/table_filters.js:236 +#: templates/js/table_filters.js:211 +msgid "Has purchase price" +msgstr "" + +#: templates/js/table_filters.js:212 +msgid "Show stock items which have a purchase price set" +msgstr "" + +#: templates/js/table_filters.js:241 msgid "Build status" msgstr "" -#: templates/js/table_filters.js:255 templates/js/table_filters.js:272 +#: templates/js/table_filters.js:260 templates/js/table_filters.js:277 msgid "Order status" msgstr "" -#: templates/js/table_filters.js:260 templates/js/table_filters.js:277 +#: templates/js/table_filters.js:265 templates/js/table_filters.js:282 msgid "Outstanding" msgstr "" -#: templates/js/table_filters.js:301 +#: templates/js/table_filters.js:306 msgid "Include parts in subcategories" msgstr "" -#: templates/js/table_filters.js:305 +#: templates/js/table_filters.js:310 msgid "Has IPN" msgstr "" -#: templates/js/table_filters.js:306 +#: templates/js/table_filters.js:311 msgid "Part has internal part number" msgstr "" -#: templates/js/table_filters.js:311 +#: templates/js/table_filters.js:316 msgid "Show active parts" msgstr "" -#: templates/js/table_filters.js:319 +#: templates/js/table_filters.js:324 msgid "Stock available" msgstr "" -#: templates/js/table_filters.js:335 +#: templates/js/table_filters.js:340 msgid "Starred" msgstr "" -#: templates/js/table_filters.js:347 +#: templates/js/table_filters.js:352 msgid "Purchasable" msgstr "" @@ -7553,10 +7620,6 @@ msgstr "" msgid "All" msgstr "" -#: templates/modals.html:21 templates/modals.html:47 -msgid "Form errors exist" -msgstr "" - #: templates/navbar.html:13 msgid "Toggle navigation" msgstr "" @@ -7573,7 +7636,7 @@ msgstr "" msgid "Scan Barcode" msgstr "" -#: templates/navbar.html:77 users/models.py:38 +#: templates/navbar.html:77 users/models.py:39 msgid "Admin" msgstr "" @@ -7793,34 +7856,34 @@ msgstr "" msgid "Important dates" msgstr "" -#: users/models.py:174 +#: users/models.py:175 msgid "Permission set" msgstr "" -#: users/models.py:182 +#: users/models.py:183 msgid "Group" msgstr "" -#: users/models.py:185 +#: users/models.py:186 msgid "View" msgstr "" -#: users/models.py:185 +#: users/models.py:186 msgid "Permission to view items" msgstr "" -#: users/models.py:187 +#: users/models.py:188 msgid "Permission to add items" msgstr "" -#: users/models.py:189 +#: users/models.py:190 msgid "Change" msgstr "" -#: users/models.py:189 +#: users/models.py:190 msgid "Permissions to edit items" msgstr "" -#: users/models.py:191 +#: users/models.py:192 msgid "Permission to delete items" msgstr "" diff --git a/InvenTree/locale/es/LC_MESSAGES/django.po b/InvenTree/locale/es/LC_MESSAGES/django.po index 7c9ad06f92..9968d727ff 100644 --- a/InvenTree/locale/es/LC_MESSAGES/django.po +++ b/InvenTree/locale/es/LC_MESSAGES/django.po @@ -2,8 +2,8 @@ msgid "" msgstr "" "Project-Id-Version: inventree\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2021-07-01 22:35+0000\n" -"PO-Revision-Date: 2021-07-01 22:38\n" +"POT-Creation-Date: 2021-07-03 12:15+0000\n" +"PO-Revision-Date: 2021-07-03 12:44\n" "Last-Translator: \n" "Language-Team: Spanish\n" "Language: es_ES\n" @@ -29,14 +29,14 @@ msgstr "No se especificó ninguna acción" msgid "No matching action found" msgstr "No se encontró ninguna acción coincidente" -#: InvenTree/fields.py:84 +#: InvenTree/fields.py:99 msgid "Enter date" msgstr "Ingrese la fecha" #: InvenTree/forms.py:112 build/forms.py:102 build/forms.py:123 #: build/forms.py:145 build/forms.py:169 build/forms.py:185 build/forms.py:227 -#: order/forms.py:31 order/forms.py:42 order/forms.py:53 order/forms.py:64 -#: order/forms.py:75 part/forms.py:134 +#: order/forms.py:30 order/forms.py:41 order/forms.py:52 order/forms.py:63 +#: order/forms.py:74 part/forms.py:118 templates/js/forms.js:486 msgid "Confirm" msgstr "Confirmar" @@ -77,8 +77,8 @@ msgstr "Seleccionar Categoría" msgid "Duplicate serial: {n}" msgstr "" -#: InvenTree/helpers.py:403 order/models.py:244 order/models.py:354 -#: stock/views.py:1795 +#: InvenTree/helpers.py:403 order/models.py:311 order/models.py:421 +#: stock/views.py:1627 msgid "Invalid quantity provided" msgstr "Cantidad proporcionada no válida" @@ -106,49 +106,53 @@ msgstr "Numeros de serie no encontrados" msgid "Number of unique serial number ({s}) must match quantity ({q})" msgstr "" -#: InvenTree/models.py:59 stock/models.py:1758 +#: InvenTree/models.py:61 stock/models.py:1778 msgid "Attachment" msgstr "" -#: InvenTree/models.py:60 +#: InvenTree/models.py:62 msgid "Select file to attach" msgstr "" -#: InvenTree/models.py:62 templates/attachment_table.html:16 +#: InvenTree/models.py:64 templates/js/attachment.js:52 msgid "Comment" msgstr "Comentario" -#: InvenTree/models.py:62 +#: InvenTree/models.py:64 msgid "File comment" msgstr "" -#: InvenTree/models.py:68 InvenTree/models.py:69 part/models.py:2022 +#: InvenTree/models.py:70 InvenTree/models.py:71 part/models.py:2043 #: report/templates/report/inventree_test_report_base.html:91 -#: templates/js/stock.js:1179 +#: templates/js/stock.js:1193 msgid "User" msgstr "Usuario" -#: InvenTree/models.py:72 +#: InvenTree/models.py:74 msgid "upload date" msgstr "" -#: InvenTree/models.py:107 InvenTree/models.py:108 company/models.py:396 -#: label/models.py:102 part/models.py:671 part/models.py:2163 +#: InvenTree/models.py:102 +msgid "Invalid choice" +msgstr "" + +#: InvenTree/models.py:118 InvenTree/models.py:119 company/models.py:414 +#: label/models.py:103 part/models.py:680 part/models.py:2192 #: part/templates/part/params.html:27 report/models.py:180 #: templates/InvenTree/search.html:137 templates/InvenTree/search.html:289 -#: templates/js/company.js:235 templates/js/part.js:118 -#: templates/js/part.js:642 templates/js/stock.js:972 +#: templates/js/company.js:359 templates/js/part.js:118 +#: templates/js/part.js:642 templates/js/stock.js:986 msgid "Name" msgstr "Nombre" -#: InvenTree/models.py:114 build/models.py:135 -#: build/templates/build/detail.html:21 company/models.py:339 -#: company/models.py:532 company/templates/company/detail.html:27 +#: InvenTree/models.py:125 build/models.py:139 +#: build/templates/build/detail.html:21 company/models.py:353 +#: company/models.py:554 company/templates/company/detail.html:27 #: company/templates/company/manufacturer_part_base.html:72 #: company/templates/company/supplier_part_base.html:71 -#: company/templates/company/supplier_part_detail.html:31 label/models.py:109 -#: order/models.py:100 order/templates/order/purchase_order_detail.html:147 -#: part/models.py:695 part/templates/part/detail.html:54 +#: company/templates/company/supplier_part_detail.html:31 label/models.py:110 +#: order/models.py:154 order/templates/order/purchase_order_detail.html:174 +#: part/models.py:704 part/templates/part/detail.html:54 #: part/templates/part/set_category.html:14 report/models.py:193 #: report/models.py:530 report/models.py:569 #: report/templates/report/inventree_build_order_base.html:118 @@ -156,39 +160,43 @@ msgstr "Nombre" #: templates/InvenTree/search.html:296 #: templates/InvenTree/settings/header.html:9 templates/js/bom.js:190 #: templates/js/build.js:834 templates/js/build.js:1102 -#: templates/js/company.js:56 templates/js/order.js:183 -#: templates/js/order.js:280 templates/js/part.js:177 templates/js/part.js:260 +#: templates/js/company.js:125 templates/js/order.js:245 +#: templates/js/order.js:347 templates/js/part.js:177 templates/js/part.js:260 #: templates/js/part.js:437 templates/js/part.js:654 templates/js/part.js:722 -#: templates/js/stock.js:557 templates/js/stock.js:984 -#: templates/js/stock.js:1029 +#: templates/js/stock.js:557 templates/js/stock.js:998 +#: templates/js/stock.js:1043 msgid "Description" msgstr "Descripción" -#: InvenTree/models.py:115 +#: InvenTree/models.py:126 msgid "Description (optional)" msgstr "" -#: InvenTree/models.py:123 +#: InvenTree/models.py:134 msgid "parent" msgstr "" -#: InvenTree/settings.py:504 +#: InvenTree/serializers.py:52 +msgid "Must be a valid number" +msgstr "" + +#: InvenTree/settings.py:505 msgid "English" msgstr "Inglés" -#: InvenTree/settings.py:505 +#: InvenTree/settings.py:506 msgid "French" msgstr "Francés" -#: InvenTree/settings.py:506 +#: InvenTree/settings.py:507 msgid "German" msgstr "Alemán" -#: InvenTree/settings.py:507 +#: InvenTree/settings.py:508 msgid "Polish" msgstr "Polaco" -#: InvenTree/settings.py:508 +#: InvenTree/settings.py:509 msgid "Turkish" msgstr "Turco" @@ -446,50 +454,48 @@ msgid "Order target date" msgstr "" #: build/forms.py:42 build/templates/build/build_base.html:146 -#: build/templates/build/detail.html:121 order/forms.py:118 order/forms.py:153 +#: build/templates/build/detail.html:121 #: order/templates/order/order_base.html:124 #: order/templates/order/sales_order_base.html:119 #: report/templates/report/inventree_build_order_base.html:126 -#: templates/js/build.js:881 templates/js/order.js:200 -#: templates/js/order.js:298 +#: templates/js/build.js:881 templates/js/order.js:262 +#: templates/js/order.js:365 msgid "Target Date" msgstr "" -#: build/forms.py:43 build/models.py:225 +#: build/forms.py:43 build/models.py:229 msgid "Target date for build completion. Build will be overdue after this date." msgstr "" -#: build/forms.py:48 build/forms.py:90 build/forms.py:266 build/models.py:1346 +#: build/forms.py:48 build/forms.py:90 build/forms.py:266 build/models.py:1354 #: build/templates/build/allocation_card.html:23 #: build/templates/build/auto_allocate.html:17 #: build/templates/build/build_base.html:133 #: build/templates/build/detail.html:31 common/models.py:741 -#: company/forms.py:189 company/templates/company/supplier_part_pricing.html:77 -#: order/forms.py:197 order/forms.py:215 order/forms.py:250 order/forms.py:272 -#: order/forms.py:289 order/models.py:613 order/models.py:835 -#: order/templates/order/order_wizard/match_parts.html:30 +#: company/forms.py:124 company/templates/company/supplier_part_pricing.html:79 +#: order/forms.py:120 order/forms.py:142 order/forms.py:159 order/models.py:702 +#: order/models.py:941 order/templates/order/order_wizard/match_parts.html:30 #: order/templates/order/order_wizard/select_parts.html:34 -#: order/templates/order/purchase_order_detail.html:179 -#: order/templates/order/sales_order_detail.html:70 -#: order/templates/order/sales_order_detail.html:77 -#: order/templates/order/sales_order_detail.html:162 -#: order/templates/order/sales_order_detail.html:234 part/forms.py:342 -#: part/forms.py:372 part/forms.py:388 part/forms.py:404 part/models.py:2293 -#: part/templates/part/internal_prices.html:98 -#: part/templates/part/order_prices.html:203 -#: part/templates/part/part_pricing.html:16 -#: part/templates/part/sale_prices.html:85 +#: order/templates/order/purchase_order_detail.html:206 +#: order/templates/order/sales_order_detail.html:80 +#: order/templates/order/sales_order_detail.html:87 +#: order/templates/order/sales_order_detail.html:172 +#: order/templates/order/sales_order_detail.html:244 part/forms.py:314 +#: part/forms.py:344 part/forms.py:360 part/forms.py:376 part/models.py:2330 +#: part/templates/part/part_pricing.html:16 part/templates/part/prices.html:377 +#: part/templates/part/prices.html:474 #: report/templates/report/inventree_build_order_base.html:114 #: report/templates/report/inventree_po_report.html:91 #: report/templates/report/inventree_so_report.html:91 #: report/templates/report/inventree_test_report_base.html:77 -#: stock/forms.py:175 stock/forms.py:308 +#: stock/forms.py:142 stock/forms.py:275 #: stock/templates/stock/item_base.html:255 #: stock/templates/stock/stock_adjust.html:18 templates/js/barcode.js:364 #: templates/js/bom.js:205 templates/js/build.js:233 templates/js/build.js:572 -#: templates/js/build.js:1112 templates/js/order.js:393 -#: templates/js/part.js:796 templates/js/stock.js:1164 -#: templates/js/stock.js:1383 +#: templates/js/build.js:1112 templates/js/model_renderers.js:43 +#: templates/js/order.js:460 templates/js/part.js:827 templates/js/part.js:949 +#: templates/js/part.js:1005 templates/js/stock.js:1178 +#: templates/js/stock.js:1397 msgid "Quantity" msgstr "Cantidad" @@ -501,7 +507,7 @@ msgstr "" msgid "Enter quantity for build output" msgstr "" -#: build/forms.py:95 order/forms.py:244 stock/forms.py:118 +#: build/forms.py:95 order/forms.py:114 stock/forms.py:85 msgid "Serial Numbers" msgstr "Números de serie" @@ -530,12 +536,12 @@ msgid "Mark build as complete" msgstr "" #: build/forms.py:210 build/templates/build/auto_allocate.html:18 -#: stock/forms.py:347 stock/templates/stock/item_base.html:285 +#: stock/forms.py:314 stock/templates/stock/item_base.html:285 #: stock/templates/stock/stock_adjust.html:17 #: templates/InvenTree/search.html:260 templates/js/barcode.js:363 #: templates/js/barcode.js:531 templates/js/build.js:218 -#: templates/js/build.js:586 templates/js/order.js:378 -#: templates/js/stock.js:643 templates/js/stock.js:1056 +#: templates/js/build.js:586 templates/js/order.js:445 +#: templates/js/stock.js:643 templates/js/stock.js:1070 msgid "Location" msgstr "Unicación" @@ -544,13 +550,13 @@ msgid "Location of completed parts" msgstr "" #: build/forms.py:215 build/templates/build/build_base.html:138 -#: build/templates/build/detail.html:59 order/models.py:465 +#: build/templates/build/detail.html:59 order/models.py:545 #: order/templates/order/receive_parts.html:24 #: stock/templates/stock/item_base.html:408 templates/InvenTree/search.html:252 #: templates/js/barcode.js:119 templates/js/build.js:868 -#: templates/js/order.js:187 templates/js/order.js:285 -#: templates/js/stock.js:630 templates/js/stock.js:1133 -#: templates/js/stock.js:1399 +#: templates/js/order.js:249 templates/js/order.js:352 +#: templates/js/stock.js:630 templates/js/stock.js:1147 +#: templates/js/stock.js:1413 msgid "Status" msgstr "Estado" @@ -582,60 +588,60 @@ msgstr "" msgid "Select quantity of stock to allocate" msgstr "" -#: build/models.py:66 build/templates/build/build_base.html:9 +#: build/models.py:70 build/templates/build/build_base.html:9 #: build/templates/build/build_base.html:73 #: report/templates/report/inventree_build_order_base.html:106 #: templates/js/build.js:195 msgid "Build Order" msgstr "" -#: build/models.py:67 build/templates/build/index.html:8 +#: build/models.py:71 build/templates/build/index.html:8 #: build/templates/build/index.html:15 order/templates/order/so_builds.html:12 #: order/templates/order/so_navbar.html:19 #: order/templates/order/so_navbar.html:22 part/templates/part/navbar.html:58 -#: part/templates/part/navbar.html:61 templates/InvenTree/index.html:183 +#: part/templates/part/navbar.html:61 templates/InvenTree/index.html:191 #: templates/InvenTree/search.html:185 -#: templates/InvenTree/settings/tabs.html:34 users/models.py:43 +#: templates/InvenTree/settings/tabs.html:34 users/models.py:44 msgid "Build Orders" msgstr "" -#: build/models.py:127 +#: build/models.py:131 msgid "Build Order Reference" msgstr "" -#: build/models.py:128 order/models.py:98 order/models.py:615 -#: order/templates/order/purchase_order_detail.html:174 -#: order/templates/order/sales_order_detail.html:229 part/models.py:2302 +#: build/models.py:132 order/models.py:242 order/models.py:529 +#: order/models.py:709 order/templates/order/purchase_order_detail.html:201 +#: order/templates/order/sales_order_detail.html:239 part/models.py:2339 #: report/templates/report/inventree_po_report.html:92 #: report/templates/report/inventree_so_report.html:92 templates/js/bom.js:197 #: templates/js/build.js:661 templates/js/build.js:1106 msgid "Reference" msgstr "Referencia" -#: build/models.py:138 +#: build/models.py:142 msgid "Brief description of the build" msgstr "" -#: build/models.py:147 build/templates/build/build_base.html:163 +#: build/models.py:151 build/templates/build/build_base.html:163 #: build/templates/build/detail.html:77 msgid "Parent Build" msgstr "" -#: build/models.py:148 +#: build/models.py:152 msgid "BuildOrder to which this build is allocated" msgstr "" -#: build/models.py:153 build/templates/build/auto_allocate.html:16 +#: build/models.py:157 build/templates/build/auto_allocate.html:16 #: build/templates/build/build_base.html:128 -#: build/templates/build/detail.html:26 company/models.py:663 -#: order/models.py:657 order/models.py:712 +#: build/templates/build/detail.html:26 company/models.py:689 +#: order/models.py:755 order/models.py:814 #: order/templates/order/order_wizard/select_parts.html:32 -#: order/templates/order/purchase_order_detail.html:132 +#: order/templates/order/purchase_order_detail.html:159 #: order/templates/order/receive_parts.html:19 -#: order/templates/order/sales_order_detail.html:214 part/models.py:321 -#: part/models.py:1975 part/models.py:1987 part/models.py:2002 -#: part/models.py:2020 part/models.py:2095 part/models.py:2191 -#: part/models.py:2277 part/templates/part/part_app_base.html:8 +#: order/templates/order/sales_order_detail.html:224 part/models.py:325 +#: part/models.py:1988 part/models.py:2004 part/models.py:2023 +#: part/models.py:2041 part/models.py:2120 part/models.py:2224 +#: part/models.py:2314 part/templates/part/part_app_base.html:8 #: part/templates/part/part_pricing.html:12 part/templates/part/related.html:29 #: part/templates/part/set_category.html:13 #: report/templates/report/inventree_build_order_base.html:110 @@ -644,222 +650,222 @@ msgstr "" #: templates/InvenTree/search.html:112 templates/InvenTree/search.html:210 #: templates/js/barcode.js:362 templates/js/bom.js:163 #: templates/js/build.js:552 templates/js/build.js:839 -#: templates/js/build.js:1079 templates/js/company.js:140 -#: templates/js/company.js:339 templates/js/part.js:241 +#: templates/js/build.js:1079 templates/js/company.js:264 +#: templates/js/company.js:464 templates/js/part.js:241 #: templates/js/part.js:404 templates/js/stock.js:526 -#: templates/js/stock.js:1371 +#: templates/js/stock.js:1385 msgid "Part" msgstr "Parte" -#: build/models.py:161 +#: build/models.py:165 msgid "Select part to build" msgstr "" -#: build/models.py:166 +#: build/models.py:170 msgid "Sales Order Reference" msgstr "" -#: build/models.py:170 +#: build/models.py:174 msgid "SalesOrder to which this build is allocated" msgstr "" -#: build/models.py:175 +#: build/models.py:179 msgid "Source Location" msgstr "" -#: build/models.py:179 +#: build/models.py:183 msgid "Select location to take stock from for this build (leave blank to take from any stock location)" msgstr "" -#: build/models.py:184 +#: build/models.py:188 msgid "Destination Location" msgstr "" -#: build/models.py:188 +#: build/models.py:192 msgid "Select location where the completed items will be stored" msgstr "" -#: build/models.py:192 +#: build/models.py:196 msgid "Build Quantity" msgstr "" -#: build/models.py:195 +#: build/models.py:199 msgid "Number of stock items to build" msgstr "" -#: build/models.py:199 +#: build/models.py:203 msgid "Completed items" msgstr "Elementos completados" -#: build/models.py:201 +#: build/models.py:205 msgid "Number of stock items which have been completed" msgstr "" -#: build/models.py:205 part/templates/part/part_base.html:167 +#: build/models.py:209 part/templates/part/part_base.html:167 msgid "Build Status" msgstr "" -#: build/models.py:209 +#: build/models.py:213 msgid "Build status code" msgstr "" -#: build/models.py:213 stock/models.py:462 +#: build/models.py:217 stock/models.py:470 msgid "Batch Code" msgstr "" -#: build/models.py:217 +#: build/models.py:221 msgid "Batch code for this build output" msgstr "" -#: build/models.py:220 order/models.py:104 part/models.py:867 -#: part/templates/part/detail.html:126 templates/js/order.js:293 +#: build/models.py:224 order/models.py:158 part/models.py:876 +#: part/templates/part/detail.html:126 templates/js/order.js:360 msgid "Creation Date" msgstr "" -#: build/models.py:224 order/models.py:471 +#: build/models.py:228 order/models.py:551 msgid "Target completion date" msgstr "" -#: build/models.py:228 order/models.py:217 templates/js/build.js:886 +#: build/models.py:232 order/models.py:284 templates/js/build.js:886 msgid "Completion Date" msgstr "" -#: build/models.py:234 +#: build/models.py:238 msgid "completed by" msgstr "" -#: build/models.py:242 +#: build/models.py:246 msgid "Issued by" msgstr "" -#: build/models.py:243 +#: build/models.py:247 msgid "User who issued this build order" msgstr "" -#: build/models.py:251 build/templates/build/build_base.html:184 -#: build/templates/build/detail.html:105 order/models.py:118 +#: build/models.py:255 build/templates/build/build_base.html:184 +#: build/templates/build/detail.html:105 order/models.py:172 #: order/templates/order/order_base.html:138 -#: order/templates/order/sales_order_base.html:140 part/models.py:871 +#: order/templates/order/sales_order_base.html:140 part/models.py:880 #: report/templates/report/inventree_build_order_base.html:159 msgid "Responsible" msgstr "Responsable" -#: build/models.py:252 +#: build/models.py:256 msgid "User responsible for this build order" msgstr "" -#: build/models.py:257 build/templates/build/detail.html:91 +#: build/models.py:261 build/templates/build/detail.html:91 #: company/templates/company/manufacturer_part_base.html:79 #: company/templates/company/manufacturer_part_detail.html:28 #: company/templates/company/supplier_part_base.html:78 #: company/templates/company/supplier_part_detail.html:28 #: part/templates/part/detail.html:83 part/templates/part/part_base.html:94 -#: stock/models.py:456 stock/templates/stock/item_base.html:345 +#: stock/models.py:464 stock/templates/stock/item_base.html:345 msgid "External Link" msgstr "" -#: build/models.py:258 part/models.py:729 stock/models.py:458 +#: build/models.py:262 part/models.py:738 stock/models.py:466 msgid "Link to external URL" msgstr "" -#: build/models.py:262 build/templates/build/navbar.html:53 -#: company/models.py:132 company/models.py:539 +#: build/models.py:266 build/templates/build/navbar.html:53 +#: company/models.py:141 company/models.py:561 #: company/templates/company/navbar.html:70 -#: company/templates/company/navbar.html:73 order/models.py:122 -#: order/models.py:617 order/templates/order/po_navbar.html:38 +#: company/templates/company/navbar.html:73 order/models.py:176 +#: order/models.py:711 order/templates/order/po_navbar.html:38 #: order/templates/order/po_navbar.html:41 -#: order/templates/order/purchase_order_detail.html:243 -#: order/templates/order/sales_order_detail.html:309 +#: order/templates/order/purchase_order_detail.html:270 +#: order/templates/order/sales_order_detail.html:319 #: order/templates/order/so_navbar.html:33 -#: order/templates/order/so_navbar.html:36 part/models.py:856 -#: part/templates/part/navbar.html:145 +#: order/templates/order/so_navbar.html:36 part/models.py:865 +#: part/templates/part/navbar.html:133 #: report/templates/report/inventree_build_order_base.html:173 -#: stock/forms.py:173 stock/forms.py:317 stock/forms.py:349 stock/forms.py:377 -#: stock/models.py:528 stock/models.py:1662 stock/models.py:1764 +#: stock/forms.py:140 stock/forms.py:284 stock/forms.py:316 stock/forms.py:344 +#: stock/models.py:536 stock/models.py:1678 stock/models.py:1784 #: stock/templates/stock/navbar.html:57 templates/js/barcode.js:37 -#: templates/js/bom.js:349 templates/js/stock.js:141 templates/js/stock.js:699 +#: templates/js/bom.js:349 templates/js/stock.js:141 templates/js/stock.js:713 msgid "Notes" msgstr "Notas" -#: build/models.py:263 +#: build/models.py:267 msgid "Extra build notes" msgstr "" -#: build/models.py:740 +#: build/models.py:744 msgid "No build output specified" msgstr "" -#: build/models.py:743 +#: build/models.py:747 msgid "Build output is already completed" msgstr "" -#: build/models.py:746 +#: build/models.py:750 msgid "Build output does not match Build Order" msgstr "" -#: build/models.py:1152 +#: build/models.py:1160 msgid "BuildItem must be unique for build, stock_item and install_into" msgstr "" -#: build/models.py:1177 +#: build/models.py:1185 msgid "Build item must specify a build output, as master part is marked as trackable" msgstr "" -#: build/models.py:1181 +#: build/models.py:1189 #, python-brace-format msgid "Allocated quantity ({n}) must not exceed available quantity ({q})" msgstr "" -#: build/models.py:1188 order/models.py:809 +#: build/models.py:1196 order/models.py:915 msgid "StockItem is over-allocated" msgstr "" -#: build/models.py:1192 order/models.py:812 +#: build/models.py:1200 order/models.py:918 msgid "Allocation quantity must be greater than zero" msgstr "" -#: build/models.py:1196 +#: build/models.py:1204 msgid "Quantity must be 1 for serialized stock" msgstr "" -#: build/models.py:1256 +#: build/models.py:1264 #, python-brace-format msgid "Selected stock item not found in BOM for part '{p}'" msgstr "" -#: build/models.py:1316 stock/templates/stock/item_base.html:317 +#: build/models.py:1324 stock/templates/stock/item_base.html:317 #: templates/InvenTree/search.html:183 templates/js/build.js:812 #: templates/navbar.html:29 msgid "Build" msgstr "" -#: build/models.py:1317 +#: build/models.py:1325 msgid "Build to allocate parts" msgstr "" -#: build/models.py:1333 stock/templates/stock/item_base.html:8 +#: build/models.py:1341 stock/templates/stock/item_base.html:8 #: stock/templates/stock/item_base.html:31 #: stock/templates/stock/item_base.html:339 #: stock/templates/stock/stock_adjust.html:16 templates/js/build.js:206 #: templates/js/build.js:211 templates/js/build.js:929 -#: templates/js/order.js:366 templates/js/order.js:371 -#: templates/js/stock.js:1115 +#: templates/js/order.js:433 templates/js/order.js:438 +#: templates/js/stock.js:1129 msgid "Stock Item" msgstr "" -#: build/models.py:1334 +#: build/models.py:1342 msgid "Source stock item" msgstr "" -#: build/models.py:1347 +#: build/models.py:1355 msgid "Stock quantity to allocate to build" msgstr "" -#: build/models.py:1355 +#: build/models.py:1363 msgid "Install into" msgstr "" -#: build/models.py:1356 +#: build/models.py:1364 msgid "Destination stock item" msgstr "" @@ -893,7 +899,7 @@ msgstr "" #: build/templates/build/allocate.html:30 #: company/templates/company/detail_manufacturer_part.html:33 -#: company/templates/company/detail_supplier_part.html:32 order/views.py:992 +#: company/templates/company/detail_supplier_part.html:32 order/views.py:724 #: part/templates/part/category.html:136 msgid "Order Parts" msgstr "" @@ -912,23 +918,52 @@ msgstr "" #: build/templates/build/allocation_card.html:21 #: build/templates/build/complete_output.html:46 -#: order/templates/order/sales_order_detail.html:75 -#: order/templates/order/sales_order_detail.html:160 +#: order/templates/order/sales_order_detail.html:85 +#: order/templates/order/sales_order_detail.html:170 #: report/templates/report/inventree_test_report_base.html:75 -#: stock/models.py:450 stock/templates/stock/item_base.html:249 -#: templates/js/build.js:570 +#: stock/models.py:458 stock/templates/stock/item_base.html:249 +#: templates/js/build.js:570 templates/js/model_renderers.js:41 msgid "Serial Number" msgstr "Número de serie" #: build/templates/build/attachments.html:12 #: build/templates/build/navbar.html:43 build/templates/build/navbar.html:46 #: order/templates/order/po_navbar.html:35 -#: order/templates/order/so_navbar.html:29 part/templates/part/navbar.html:136 -#: part/templates/part/navbar.html:139 stock/templates/stock/navbar.html:47 +#: order/templates/order/so_navbar.html:29 part/templates/part/navbar.html:124 +#: part/templates/part/navbar.html:127 stock/templates/stock/navbar.html:47 #: stock/templates/stock/navbar.html:50 msgid "Attachments" msgstr "" +#: build/templates/build/attachments.html:51 +#: order/templates/order/so_attachments.html:79 +#: part/templates/part/attachments.html:81 +#: stock/templates/stock/item_attachments.html:81 +#: templates/attachment_table.html:6 +msgid "Add Attachment" +msgstr "" + +#: build/templates/build/attachments.html:69 +#: order/templates/order/so_attachments.html:52 +#: part/templates/part/attachments.html:35 +#: stock/templates/stock/item_attachments.html:49 +msgid "Edit Attachment" +msgstr "" + +#: build/templates/build/attachments.html:76 +#: order/templates/order/so_attachments.html:58 +#: part/templates/part/attachments.html:44 +#: stock/templates/stock/item_attachments.html:58 +msgid "Confirm Delete Operation" +msgstr "" + +#: build/templates/build/attachments.html:77 +#: order/templates/order/so_attachments.html:59 +#: part/templates/part/attachments.html:45 +#: stock/templates/stock/item_attachments.html:59 +msgid "Delete Attachment" +msgstr "" + #: build/templates/build/auto_allocate.html:9 msgid "Automatically Allocate Stock" msgstr "" @@ -989,8 +1024,8 @@ msgstr "" #: order/templates/order/order_base.html:86 #: order/templates/order/sales_order_base.html:43 #: order/templates/order/sales_order_base.html:88 -#: templates/js/table_filters.js:245 templates/js/table_filters.js:264 -#: templates/js/table_filters.js:281 +#: templates/js/table_filters.js:250 templates/js/table_filters.js:269 +#: templates/js/table_filters.js:286 msgid "Overdue" msgstr "" @@ -1036,13 +1071,13 @@ msgid "Progress" msgstr "Progreso" #: build/templates/build/build_base.html:170 -#: build/templates/build/detail.html:84 order/models.py:710 +#: build/templates/build/detail.html:84 order/models.py:812 #: order/templates/order/sales_order_base.html:9 #: order/templates/order/sales_order_base.html:35 #: order/templates/order/sales_order_ship.html:25 #: report/templates/report/inventree_build_order_base.html:136 #: report/templates/report/inventree_so_report.html:77 -#: stock/templates/stock/item_base.html:279 templates/js/order.js:245 +#: stock/templates/stock/item_base.html:279 templates/js/order.js:307 msgid "Sales Order" msgstr "" @@ -1183,10 +1218,10 @@ msgstr "" msgid "Stock can be taken from any available location." msgstr "" -#: build/templates/build/detail.html:46 order/forms.py:89 order/models.py:673 -#: order/templates/order/purchase_order_detail.html:239 -#: order/templates/order/receive_parts.html:25 stock/forms.py:169 -#: stock/forms.py:375 +#: build/templates/build/detail.html:46 order/forms.py:88 order/models.py:771 +#: order/templates/order/purchase_order_detail.html:266 +#: order/templates/order/receive_parts.html:25 stock/forms.py:136 +#: stock/forms.py:342 msgid "Destination" msgstr "Destinación" @@ -1196,7 +1231,7 @@ msgstr "" #: build/templates/build/detail.html:70 #: stock/templates/stock/item_base.html:303 templates/js/stock.js:638 -#: templates/js/stock.js:1406 templates/js/table_filters.js:112 +#: templates/js/stock.js:1420 templates/js/table_filters.js:112 #: templates/js/table_filters.js:206 msgid "Batch" msgstr "Lote" @@ -1251,7 +1286,7 @@ msgstr "" #: company/templates/company/navbar.html:15 #: order/templates/order/po_navbar.html:15 #: order/templates/order/so_navbar.html:15 part/templates/part/navbar.html:18 -#: templates/js/stock.js:1044 +#: templates/js/stock.js:1058 msgid "Details" msgstr "Detalles" @@ -1287,7 +1322,6 @@ msgstr "" #: order/templates/order/order_notes.html:27 #: order/templates/order/sales_order_notes.html:29 #: part/templates/part/notes.html:27 stock/templates/stock/item_base.html:487 -#: stock/templates/stock/item_base.html:497 #: stock/templates/stock/item_notes.html:26 msgid "Save" msgstr "Guardar" @@ -1316,7 +1350,7 @@ msgstr "" msgid "Maximum output quantity is " msgstr "" -#: build/views.py:184 stock/views.py:1821 +#: build/views.py:184 stock/views.py:1653 msgid "Serial numbers already exist" msgstr "" @@ -1332,7 +1366,7 @@ msgstr "" msgid "Confirm unallocation of build stock" msgstr "" -#: build/views.py:281 build/views.py:371 stock/views.py:425 +#: build/views.py:281 build/views.py:371 stock/views.py:346 msgid "Check the confirmation box" msgstr "" @@ -1429,31 +1463,6 @@ msgstr "" msgid "Updated Build Item" msgstr "" -#: build/views.py:1070 -msgid "Add Build Order Attachment" -msgstr "" - -#: build/views.py:1083 order/views.py:117 order/views.py:169 part/views.py:178 -#: stock/views.py:277 -msgid "Added attachment" -msgstr "" - -#: build/views.py:1119 order/views.py:196 order/views.py:217 -msgid "Edit Attachment" -msgstr "" - -#: build/views.py:1129 order/views.py:200 order/views.py:221 -msgid "Attachment updated" -msgstr "" - -#: build/views.py:1139 order/views.py:236 order/views.py:250 -msgid "Delete Attachment" -msgstr "" - -#: build/views.py:1144 order/views.py:242 order/views.py:256 stock/views.py:333 -msgid "Deleted attachment" -msgstr "" - #: common/files.py:66 msgid "Unsupported file format: {ext.upper()}" msgstr "" @@ -1470,7 +1479,7 @@ msgstr "" msgid "Error reading file (data could be corrupted)" msgstr "" -#: common/forms.py:34 templates/attachment_table.html:15 +#: common/forms.py:34 templates/js/attachment.js:42 msgid "File" msgstr "" @@ -1503,7 +1512,7 @@ msgstr "" msgid "Use the instance name in the title-bar" msgstr "" -#: common/models.py:72 company/models.py:94 company/models.py:95 +#: common/models.py:72 company/models.py:99 company/models.py:100 msgid "Company name" msgstr "" @@ -1607,9 +1616,9 @@ msgstr "" msgid "Number of recent parts to display on index page" msgstr "" -#: common/models.py:160 part/models.py:2193 part/templates/part/detail.html:160 -#: report/models.py:186 stock/forms.py:259 templates/js/table_filters.js:25 -#: templates/js/table_filters.js:315 +#: common/models.py:160 part/models.py:2226 part/templates/part/detail.html:160 +#: report/models.py:186 stock/forms.py:226 templates/js/table_filters.js:25 +#: templates/js/table_filters.js:320 msgid "Template" msgstr "" @@ -1617,8 +1626,8 @@ msgstr "" msgid "Parts are templates by default" msgstr "" -#: common/models.py:167 part/models.py:819 part/templates/part/detail.html:170 -#: templates/js/table_filters.js:128 templates/js/table_filters.js:327 +#: common/models.py:167 part/models.py:828 part/templates/part/detail.html:170 +#: templates/js/table_filters.js:128 templates/js/table_filters.js:332 msgid "Assembly" msgstr "" @@ -1626,8 +1635,8 @@ msgstr "" msgid "Parts can be assembled from other components by default" msgstr "" -#: common/models.py:174 part/models.py:825 part/templates/part/detail.html:180 -#: templates/js/table_filters.js:331 +#: common/models.py:174 part/models.py:834 part/templates/part/detail.html:180 +#: templates/js/table_filters.js:336 msgid "Component" msgstr "" @@ -1635,7 +1644,7 @@ msgstr "" msgid "Parts can be used as sub-components by default" msgstr "" -#: common/models.py:181 part/models.py:836 part/templates/part/detail.html:200 +#: common/models.py:181 part/models.py:845 part/templates/part/detail.html:200 msgid "Purchaseable" msgstr "" @@ -1643,8 +1652,8 @@ msgstr "" msgid "Parts are purchaseable by default" msgstr "" -#: common/models.py:188 part/models.py:841 part/templates/part/detail.html:210 -#: templates/js/table_filters.js:339 +#: common/models.py:188 part/models.py:850 part/templates/part/detail.html:210 +#: templates/js/table_filters.js:344 msgid "Salable" msgstr "" @@ -1652,8 +1661,8 @@ msgstr "" msgid "Parts are salable by default" msgstr "" -#: common/models.py:195 part/models.py:831 part/templates/part/detail.html:190 -#: templates/js/table_filters.js:33 templates/js/table_filters.js:343 +#: common/models.py:195 part/models.py:840 part/templates/part/detail.html:190 +#: templates/js/table_filters.js:33 templates/js/table_filters.js:348 msgid "Trackable" msgstr "" @@ -1661,7 +1670,7 @@ msgstr "" msgid "Parts are trackable by default" msgstr "" -#: common/models.py:202 part/models.py:851 part/templates/part/detail.html:150 +#: common/models.py:202 part/models.py:860 part/templates/part/detail.html:150 #: templates/js/table_filters.js:29 msgid "Virtual" msgstr "" @@ -1858,13 +1867,12 @@ msgstr "" msgid "Key string must be unique" msgstr "" -#: common/models.py:742 company/forms.py:190 +#: common/models.py:742 company/forms.py:125 msgid "Price break quantity" msgstr "" -#: common/models.py:749 company/templates/company/supplier_part_pricing.html:82 -#: part/templates/part/internal_prices.html:103 -#: part/templates/part/sale_prices.html:90 +#: common/models.py:749 company/templates/company/supplier_part_pricing.html:84 +#: templates/js/part.js:832 msgid "Price" msgstr "" @@ -1894,16 +1902,16 @@ msgstr "" #: common/views.py:184 order/templates/order/order_wizard/po_upload.html:42 #: order/templates/order/po_navbar.html:19 -#: order/templates/order/po_navbar.html:22 order/views.py:605 +#: order/templates/order/po_navbar.html:22 order/views.py:337 #: part/templates/part/bom_upload/upload_file.html:27 -#: part/templates/part/import_wizard/part_upload.html:45 part/views.py:761 +#: part/templates/part/import_wizard/part_upload.html:45 part/views.py:621 msgid "Upload File" msgstr "" #: common/views.py:185 order/templates/order/order_wizard/match_fields.html:52 -#: order/views.py:606 part/templates/part/bom_upload/select_fields.html:58 +#: order/views.py:338 part/templates/part/bom_upload/select_fields.html:58 #: part/templates/part/import_wizard/ajax_match_fields.html:45 -#: part/templates/part/import_wizard/match_fields.html:52 part/views.py:762 +#: part/templates/part/import_wizard/match_fields.html:52 part/views.py:622 msgid "Match Fields" msgstr "" @@ -1928,269 +1936,277 @@ msgstr "" msgid "Previous Step" msgstr "" -#: company/forms.py:37 company/models.py:142 -#: company/templates/company/detail.html:42 -msgid "Currency" -msgstr "" - -#: company/forms.py:38 company/models.py:144 -msgid "Default currency used for this company" -msgstr "" - -#: company/forms.py:76 part/forms.py:46 +#: company/forms.py:26 part/forms.py:46 msgid "URL" msgstr "" -#: company/forms.py:77 part/forms.py:47 +#: company/forms.py:27 part/forms.py:47 msgid "Image URL" msgstr "" -#: company/forms.py:132 templates/js/part.js:787 +#: company/forms.py:67 templates/js/part.js:940 msgid "Single Price" msgstr "" -#: company/forms.py:133 +#: company/forms.py:68 msgid "Single quantity price" msgstr "" -#: company/forms.py:141 company/models.py:321 +#: company/forms.py:76 company/models.py:335 msgid "Select manufacturer" msgstr "" -#: company/forms.py:147 company/models.py:328 +#: company/forms.py:82 company/models.py:342 msgid "Manufacturer Part Number" msgstr "" -#: company/forms.py:149 company/models.py:327 +#: company/forms.py:84 company/models.py:341 #: company/templates/company/manufacturer_part_base.html:89 #: company/templates/company/manufacturer_part_detail.html:26 #: company/templates/company/supplier_part_base.html:102 #: company/templates/company/supplier_part_detail.html:35 -#: order/templates/order/purchase_order_detail.html:162 part/bom.py:171 -#: part/bom.py:242 templates/js/company.js:181 templates/js/company.js:408 +#: order/templates/order/purchase_order_detail.html:189 part/bom.py:171 +#: part/bom.py:242 templates/js/company.js:305 templates/js/company.js:533 msgid "MPN" msgstr "" -#: company/models.py:99 +#: company/models.py:104 msgid "Company description" msgstr "" -#: company/models.py:100 +#: company/models.py:105 msgid "Description of the company" msgstr "" -#: company/models.py:104 company/templates/company/company_base.html:70 -#: company/templates/company/detail.html:33 templates/js/company.js:60 +#: company/models.py:111 company/templates/company/company_base.html:70 +#: company/templates/company/detail.html:33 templates/js/company.js:129 msgid "Website" msgstr "Página web" -#: company/models.py:104 +#: company/models.py:112 msgid "Company website URL" msgstr "" -#: company/models.py:107 company/templates/company/company_base.html:77 +#: company/models.py:116 company/templates/company/company_base.html:77 msgid "Address" msgstr "" -#: company/models.py:108 +#: company/models.py:117 msgid "Company address" msgstr "" -#: company/models.py:111 +#: company/models.py:120 msgid "Phone number" msgstr "Teléfono" -#: company/models.py:112 +#: company/models.py:121 msgid "Contact phone number" msgstr "Teléfono de contacto" -#: company/models.py:115 company/templates/company/company_base.html:91 +#: company/models.py:124 company/templates/company/company_base.html:91 msgid "Email" msgstr "Email" -#: company/models.py:115 +#: company/models.py:124 msgid "Contact email address" msgstr "" -#: company/models.py:118 company/templates/company/company_base.html:98 +#: company/models.py:127 company/templates/company/company_base.html:98 msgid "Contact" msgstr "Contacto" -#: company/models.py:119 +#: company/models.py:128 msgid "Point of contact" msgstr "" -#: company/models.py:121 company/models.py:333 company/models.py:526 -#: order/models.py:102 part/models.py:728 +#: company/models.py:130 company/models.py:347 company/models.py:548 +#: order/models.py:156 part/models.py:737 #: report/templates/report/inventree_build_order_base.html:165 -#: templates/js/company.js:188 templates/js/company.js:419 +#: templates/js/company.js:312 templates/js/company.js:544 #: templates/js/part.js:498 msgid "Link" msgstr "" -#: company/models.py:121 +#: company/models.py:130 msgid "Link to external company information" msgstr "" -#: company/models.py:129 part/models.py:738 +#: company/models.py:138 part/models.py:747 msgid "Image" msgstr "" -#: company/models.py:134 +#: company/models.py:143 msgid "is customer" msgstr "" -#: company/models.py:134 +#: company/models.py:143 msgid "Do you sell items to this company?" msgstr "" -#: company/models.py:136 +#: company/models.py:145 msgid "is supplier" msgstr "" -#: company/models.py:136 +#: company/models.py:145 msgid "Do you purchase items from this company?" msgstr "" -#: company/models.py:138 +#: company/models.py:147 msgid "is manufacturer" msgstr "" -#: company/models.py:138 +#: company/models.py:147 msgid "Does this company manufacture parts?" msgstr "" -#: company/models.py:305 company/models.py:497 stock/models.py:403 +#: company/models.py:151 company/serializers.py:259 +#: company/templates/company/detail.html:42 +msgid "Currency" +msgstr "" + +#: company/models.py:154 +msgid "Default currency used for this company" +msgstr "" + +#: company/models.py:319 company/models.py:519 stock/models.py:411 #: stock/templates/stock/item_base.html:235 msgid "Base Part" msgstr "" -#: company/models.py:309 company/models.py:501 order/views.py:1603 +#: company/models.py:323 company/models.py:523 order/views.py:1127 msgid "Select part" msgstr "" -#: company/models.py:320 company/templates/company/detail.html:57 +#: company/models.py:334 company/templates/company/detail.html:57 #: company/templates/company/manufacturer_part_base.html:85 #: company/templates/company/manufacturer_part_detail.html:25 #: company/templates/company/supplier_part_base.html:94 #: company/templates/company/supplier_part_detail.html:34 part/bom.py:170 #: part/bom.py:241 stock/templates/stock/item_base.html:352 -#: templates/js/company.js:44 templates/js/company.js:165 -#: templates/js/company.js:390 +#: templates/js/company.js:113 templates/js/company.js:289 +#: templates/js/company.js:515 msgid "Manufacturer" msgstr "Fabricante" -#: company/models.py:334 +#: company/models.py:348 msgid "URL for external manufacturer part link" msgstr "" -#: company/models.py:340 +#: company/models.py:354 msgid "Manufacturer part description" msgstr "" -#: company/models.py:390 company/models.py:520 +#: company/models.py:408 company/models.py:542 #: company/templates/company/manufacturer_part_base.html:6 #: company/templates/company/manufacturer_part_base.html:19 #: stock/templates/stock/item_base.html:362 msgid "Manufacturer Part" msgstr "" -#: company/models.py:397 +#: company/models.py:415 msgid "Parameter name" msgstr "" -#: company/models.py:403 part/templates/part/params.html:28 +#: company/models.py:421 part/templates/part/params.html:28 #: report/templates/report/inventree_test_report_base.html:90 -#: stock/models.py:1751 templates/InvenTree/settings/header.html:8 -#: templates/js/company.js:241 templates/js/stock.js:137 +#: stock/models.py:1771 templates/InvenTree/settings/header.html:8 +#: templates/js/company.js:365 templates/js/stock.js:137 msgid "Value" msgstr "" -#: company/models.py:404 +#: company/models.py:422 msgid "Parameter value" msgstr "" -#: company/models.py:410 part/models.py:813 part/models.py:2165 +#: company/models.py:428 part/models.py:822 part/models.py:2194 #: part/templates/part/detail.html:106 part/templates/part/params.html:29 -#: templates/js/company.js:247 +#: templates/js/company.js:371 msgid "Units" msgstr "" -#: company/models.py:411 +#: company/models.py:429 msgid "Parameter units" msgstr "" -#: company/models.py:507 company/templates/company/detail.html:62 +#: company/models.py:529 company/templates/company/detail.html:62 #: company/templates/company/supplier_part_base.html:84 -#: company/templates/company/supplier_part_detail.html:25 order/models.py:189 +#: company/templates/company/supplier_part_detail.html:25 order/models.py:256 #: order/templates/order/order_base.html:92 #: order/templates/order/order_wizard/select_pos.html:30 part/bom.py:175 #: part/bom.py:286 stock/templates/stock/item_base.html:369 -#: templates/js/company.js:48 templates/js/company.js:364 -#: templates/js/order.js:170 +#: templates/js/company.js:117 templates/js/company.js:489 +#: templates/js/order.js:232 msgid "Supplier" msgstr "Proveedor" -#: company/models.py:508 +#: company/models.py:530 msgid "Select supplier" msgstr "" -#: company/models.py:513 company/templates/company/supplier_part_base.html:88 +#: company/models.py:535 company/templates/company/supplier_part_base.html:88 #: company/templates/company/supplier_part_detail.html:26 -#: order/templates/order/purchase_order_detail.html:153 part/bom.py:176 +#: order/templates/order/purchase_order_detail.html:180 part/bom.py:176 #: part/bom.py:287 msgid "SKU" msgstr "" -#: company/models.py:514 +#: company/models.py:536 msgid "Supplier stock keeping unit" msgstr "" -#: company/models.py:521 +#: company/models.py:543 msgid "Select manufacturer part" msgstr "" -#: company/models.py:527 +#: company/models.py:549 msgid "URL for external supplier part link" msgstr "" -#: company/models.py:533 +#: company/models.py:555 msgid "Supplier part description" msgstr "" -#: company/models.py:538 company/templates/company/supplier_part_base.html:116 -#: company/templates/company/supplier_part_detail.html:38 part/models.py:2305 +#: company/models.py:560 company/templates/company/supplier_part_base.html:116 +#: company/templates/company/supplier_part_detail.html:38 part/models.py:2342 #: report/templates/report/inventree_po_report.html:93 #: report/templates/report/inventree_so_report.html:93 msgid "Note" msgstr "Nota" -#: company/models.py:542 part/models.py:1606 +#: company/models.py:564 part/models.py:1615 msgid "base cost" msgstr "" -#: company/models.py:542 part/models.py:1606 +#: company/models.py:564 part/models.py:1615 msgid "Minimum charge (e.g. stocking fee)" msgstr "" -#: company/models.py:544 company/templates/company/supplier_part_base.html:109 -#: stock/models.py:427 stock/templates/stock/item_base.html:310 -#: templates/js/stock.js:695 +#: company/models.py:566 company/templates/company/supplier_part_base.html:109 +#: stock/models.py:435 stock/templates/stock/item_base.html:310 +#: templates/js/stock.js:709 msgid "Packaging" msgstr "" -#: company/models.py:544 +#: company/models.py:566 msgid "Part packaging" msgstr "" -#: company/models.py:546 part/models.py:1608 +#: company/models.py:568 part/models.py:1617 msgid "multiple" msgstr "" -#: company/models.py:546 +#: company/models.py:568 msgid "Order multiple" msgstr "" +#: company/serializers.py:68 +msgid "Default currency used for this supplier" +msgstr "" + +#: company/serializers.py:69 +msgid "Currency Code" +msgstr "" + #: company/templates/company/assigned_stock.html:10 #: company/templates/company/navbar.html:62 #: company/templates/company/navbar.html:65 templates/js/build.js:563 @@ -2199,7 +2215,7 @@ msgstr "" #: company/templates/company/company_base.html:9 #: company/templates/company/company_base.html:35 -#: templates/InvenTree/search.html:304 templates/js/company.js:33 +#: templates/InvenTree/search.html:304 templates/js/company.js:102 msgid "Company" msgstr "" @@ -2213,7 +2229,7 @@ msgstr "" msgid "Download image from URL" msgstr "" -#: company/templates/company/company_base.html:46 order/views.py:313 +#: company/templates/company/company_base.html:46 templates/js/order.js:61 msgid "Create Purchase Order" msgstr "" @@ -2221,7 +2237,8 @@ msgstr "" msgid "Edit company information" msgstr "" -#: company/templates/company/company_base.html:56 company/views.py:326 +#: company/templates/company/company_base.html:56 +#: company/templates/company/company_base.html:126 msgid "Delete Company" msgstr "" @@ -2235,15 +2252,9 @@ msgstr "" msgid "Phone" msgstr "Teléfono" -#: company/templates/company/delete.html:7 -#, python-format -msgid "Are you sure you want to delete company '%(name)s'?" -msgstr "" - -#: company/templates/company/delete.html:12 -#, python-format -msgid "There are %(count)s parts sourced from this company.
\n" -"If this supplier is deleted, these supplier part entries will also be deleted." +#: company/templates/company/company_base.html:166 +#: part/templates/part/part_base.html:307 +msgid "Upload Image" msgstr "" #: company/templates/company/detail.html:21 @@ -2258,11 +2269,11 @@ msgstr "" msgid "Uses default currency" msgstr "" -#: company/templates/company/detail.html:67 order/models.py:460 -#: order/templates/order/sales_order_base.html:94 stock/models.py:445 -#: stock/models.py:446 stock/templates/stock/item_base.html:262 -#: templates/js/company.js:40 templates/js/order.js:267 -#: templates/js/stock.js:1097 +#: company/templates/company/detail.html:67 order/models.py:540 +#: order/templates/order/sales_order_base.html:94 stock/models.py:453 +#: stock/models.py:454 stock/templates/stock/item_base.html:262 +#: templates/js/company.js:109 templates/js/order.js:329 +#: templates/js/stock.js:1111 msgid "Customer" msgstr "Cliente" @@ -2283,6 +2294,7 @@ msgstr "" #: company/templates/company/detail_manufacturer_part.html:28 #: company/templates/company/detail_supplier_part.html:27 #: company/templates/company/manufacturer_part_suppliers.html:20 +#: company/templates/company/manufacturer_part_suppliers.html:46 #: part/templates/part/category.html:131 #: part/templates/part/manufacturer.html:22 #: part/templates/part/supplier.html:20 @@ -2305,26 +2317,25 @@ msgstr "" msgid "Delete Parts" msgstr "" -#: company/templates/company/detail_manufacturer_part.html:66 +#: company/templates/company/detail_manufacturer_part.html:68 #: company/templates/company/detail_supplier_part.html:66 #: part/templates/part/bom.html:159 part/templates/part/category.html:127 -#: templates/js/stock.js:1312 +#: templates/js/stock.js:1326 msgid "New Part" msgstr "" -#: company/templates/company/detail_manufacturer_part.html:67 +#: company/templates/company/detail_manufacturer_part.html:69 #: company/templates/company/detail_supplier_part.html:67 msgid "Create new Part" msgstr "" -#: company/templates/company/detail_manufacturer_part.html:72 -#: company/views.py:71 part/templates/part/manufacturer.html:52 -#: part/templates/part/supplier.html:56 +#: company/templates/company/detail_manufacturer_part.html:74 +#: company/views.py:66 part/templates/part/manufacturer.html:52 +#: part/templates/part/supplier.html:55 msgid "New Manufacturer" msgstr "" -#: company/templates/company/detail_manufacturer_part.html:73 -#: company/views.py:284 +#: company/templates/company/detail_manufacturer_part.html:75 msgid "Create new Manufacturer" msgstr "" @@ -2335,7 +2346,7 @@ msgstr "" #: company/templates/company/detail_stock.html:37 #: company/templates/company/supplier_part_stock.html:34 #: part/templates/part/category.html:123 part/templates/part/category.html:137 -#: part/templates/part/stock.html:54 stock/templates/stock/location.html:163 +#: part/templates/part/stock.html:55 stock/templates/stock/location.html:163 msgid "Export" msgstr "Exportar" @@ -2347,26 +2358,24 @@ msgstr "" #: company/templates/company/detail_supplier_part.html:21 #: order/templates/order/order_wizard/select_parts.html:44 -#: order/templates/order/purchase_order_detail.html:50 +#: part/templates/part/part_base.html:429 msgid "Create new supplier part" msgstr "" #: company/templates/company/detail_supplier_part.html:22 #: company/templates/company/manufacturer_part_suppliers.html:17 -#: order/templates/order/purchase_order_detail.html:49 -#: part/templates/part/supplier.html:17 templates/js/stock.js:1318 +#: part/templates/part/part_base.html:428 part/templates/part/supplier.html:17 +#: templates/js/stock.js:1332 msgid "New Supplier Part" msgstr "" #: company/templates/company/detail_supplier_part.html:72 -#: company/templates/company/manufacturer_part_suppliers.html:82 -#: company/views.py:64 order/templates/order/purchase_orders.html:185 -#: part/templates/part/supplier.html:50 +#: company/templates/company/manufacturer_part_suppliers.html:96 +#: company/views.py:60 part/templates/part/supplier.html:50 msgid "New Supplier" msgstr "" -#: company/templates/company/detail_supplier_part.html:73 company/views.py:281 -#: order/templates/order/purchase_orders.html:186 +#: company/templates/company/detail_supplier_part.html:73 msgid "Create new Supplier" msgstr "" @@ -2401,20 +2410,19 @@ msgstr "" msgid "Internal Part" msgstr "" -#: company/templates/company/manufacturer_part_delete.html:6 -msgid "Are you sure you want to delete the following Manufacturer Parts?" +#: company/templates/company/manufacturer_part_base.html:125 +msgid "Edit Manufacturer Part" msgstr "" -#: company/templates/company/manufacturer_part_delete.html:36 -#, python-format -msgid "There are %(count)s suppliers defined for this manufacturer part. If you delete it, the following supplier parts will also be deleted:" +#: company/templates/company/manufacturer_part_base.html:134 +msgid "Delete Manufacturer Part" msgstr "" #: company/templates/company/manufacturer_part_navbar.html:14 #: company/templates/company/manufacturer_part_suppliers.html:10 -#: company/views.py:63 part/templates/part/navbar.html:87 -#: part/templates/part/navbar.html:90 templates/InvenTree/search.html:316 -#: templates/navbar.html:35 +#: company/views.py:59 part/templates/part/navbar.html:87 +#: part/templates/part/navbar.html:90 part/templates/part/prices.html:153 +#: templates/InvenTree/search.html:316 templates/navbar.html:35 msgid "Suppliers" msgstr "" @@ -2425,7 +2433,7 @@ msgstr "" #: company/templates/company/manufacturer_part_navbar.html:22 #: company/templates/company/navbar.html:41 #: company/templates/company/supplier_part_navbar.html:15 -#: part/templates/part/navbar.html:39 stock/api.py:54 +#: part/templates/part/navbar.html:39 stock/api.py:53 #: stock/templates/stock/loc_link.html:7 stock/templates/stock/location.html:36 #: stock/templates/stock/stock_app_base.html:10 #: templates/InvenTree/index.html:128 templates/InvenTree/search.html:196 @@ -2451,9 +2459,11 @@ msgid "Delete supplier parts" msgstr "" #: company/templates/company/manufacturer_part_suppliers.html:22 +#: company/templates/company/manufacturer_part_suppliers.html:48 +#: company/templates/company/manufacturer_part_suppliers.html:142 #: part/templates/part/manufacturer.html:24 part/templates/part/params.html:44 #: part/templates/part/related.html:44 part/templates/part/supplier.html:22 -#: stock/views.py:1002 users/models.py:191 +#: stock/views.py:855 templates/js/company.js:203 users/models.py:192 msgid "Delete" msgstr "Eliminar" @@ -2471,11 +2481,27 @@ msgstr "" msgid "New Parameter" msgstr "" -#: company/templates/company/manufacturer_part_suppliers.html:83 +#: company/templates/company/manufacturer_part_suppliers.html:48 +msgid "Delete parameters" +msgstr "" + +#: company/templates/company/manufacturer_part_suppliers.html:80 +msgid "Add Parameter" +msgstr "" + +#: company/templates/company/manufacturer_part_suppliers.html:97 #: part/templates/part/supplier.html:51 msgid "Create new supplier" msgstr "" +#: company/templates/company/manufacturer_part_suppliers.html:127 +msgid "Selected parameters will be deleted" +msgstr "" + +#: company/templates/company/manufacturer_part_suppliers.html:139 +msgid "Delete Parameters" +msgstr "" + #: company/templates/company/navbar.html:20 #: company/templates/company/navbar.html:23 msgid "Manufactured Parts" @@ -2492,8 +2518,8 @@ msgstr "" #: stock/templates/stock/location.html:136 #: stock/templates/stock/location_navbar.html:22 #: stock/templates/stock/location_navbar.html:29 -#: templates/InvenTree/search.html:198 templates/js/stock.js:996 -#: templates/stats.html:93 templates/stats.html:102 users/models.py:42 +#: templates/InvenTree/search.html:198 templates/js/stock.js:1010 +#: templates/stats.html:93 templates/stats.html:102 users/models.py:43 msgid "Stock Items" msgstr "" @@ -2503,11 +2529,11 @@ msgstr "" #: company/templates/company/sales_orders.html:11 #: order/templates/order/sales_orders.html:8 #: order/templates/order/sales_orders.html:13 -#: part/templates/part/navbar.html:113 part/templates/part/navbar.html:116 -#: part/templates/part/sales_orders.html:10 templates/InvenTree/index.html:228 +#: part/templates/part/navbar.html:101 part/templates/part/navbar.html:104 +#: part/templates/part/sales_orders.html:10 templates/InvenTree/index.html:236 #: templates/InvenTree/search.html:345 #: templates/InvenTree/settings/tabs.html:40 templates/navbar.html:46 -#: users/models.py:45 +#: users/models.py:46 msgid "Sales Orders" msgstr "" @@ -2516,10 +2542,10 @@ msgstr "" #: order/templates/order/purchase_orders.html:8 #: order/templates/order/purchase_orders.html:13 #: part/templates/part/navbar.html:93 part/templates/part/navbar.html:96 -#: part/templates/part/orders.html:10 templates/InvenTree/index.html:205 +#: part/templates/part/orders.html:10 templates/InvenTree/index.html:213 #: templates/InvenTree/search.html:325 #: templates/InvenTree/settings/tabs.html:37 templates/navbar.html:37 -#: users/models.py:44 +#: users/models.py:45 msgid "Purchase Orders" msgstr "" @@ -2548,8 +2574,9 @@ msgid "New Sales Order" msgstr "" #: company/templates/company/supplier_part_base.html:7 -#: company/templates/company/supplier_part_base.html:20 stock/models.py:412 -#: stock/templates/stock/item_base.html:374 templates/js/company.js:380 +#: company/templates/company/supplier_part_base.html:20 stock/models.py:420 +#: stock/templates/stock/item_base.html:374 templates/js/company.js:505 +#: templates/js/stock.js:690 msgid "Supplier Part" msgstr "" @@ -2594,459 +2621,401 @@ msgid "Order Part" msgstr "" #: company/templates/company/supplier_part_pricing.html:11 +#: part/templates/part/navbar.html:74 msgid "Pricing Information" msgstr "" -#: company/templates/company/supplier_part_pricing.html:19 company/views.py:855 -#: part/templates/part/sale_prices.html:17 part/views.py:2918 +#: company/templates/company/supplier_part_pricing.html:19 +#: company/templates/company/supplier_part_pricing.html:118 +#: part/templates/part/prices.html:264 part/views.py:2788 msgid "Add Price Break" msgstr "" #: company/templates/company/supplier_part_pricing.html:38 -#: part/templates/part/sale_prices.html:46 msgid "No price break information found" msgstr "" -#: company/templates/company/supplier_part_pricing.html:89 -#: part/templates/part/sale_prices.html:97 +#: company/templates/company/supplier_part_pricing.html:52 part/views.py:2850 +msgid "Delete Price Break" +msgstr "" + +#: company/templates/company/supplier_part_pricing.html:66 part/views.py:2836 +msgid "Edit Price Break" +msgstr "" + +#: company/templates/company/supplier_part_pricing.html:91 msgid "Edit price break" msgstr "" -#: company/templates/company/supplier_part_pricing.html:90 -#: part/templates/part/sale_prices.html:98 +#: company/templates/company/supplier_part_pricing.html:92 msgid "Delete price break" msgstr "" -#: company/views.py:70 part/templates/part/navbar.html:81 -#: part/templates/part/navbar.html:84 templates/InvenTree/search.html:306 -#: templates/navbar.html:36 +#: company/views.py:65 part/templates/part/navbar.html:81 +#: part/templates/part/navbar.html:84 part/templates/part/prices.html:157 +#: templates/InvenTree/search.html:306 templates/navbar.html:36 msgid "Manufacturers" msgstr "Fabricantes" -#: company/views.py:77 templates/InvenTree/search.html:336 +#: company/views.py:71 templates/InvenTree/search.html:336 #: templates/navbar.html:45 msgid "Customers" msgstr "" -#: company/views.py:78 order/templates/order/sales_orders.html:187 +#: company/views.py:72 msgid "New Customer" msgstr "" -#: company/views.py:86 +#: company/views.py:79 msgid "Companies" msgstr "" -#: company/views.py:87 +#: company/views.py:80 msgid "New Company" msgstr "" -#: company/views.py:169 part/views.py:1115 +#: company/views.py:161 part/views.py:1007 msgid "Download Image" msgstr "" -#: company/views.py:198 part/views.py:1147 +#: company/views.py:190 part/views.py:1039 msgid "Image size exceeds maximum allowable size for download" msgstr "" -#: company/views.py:205 part/views.py:1154 +#: company/views.py:197 part/views.py:1046 #, python-brace-format msgid "Invalid response: {code}" msgstr "" -#: company/views.py:214 part/views.py:1163 +#: company/views.py:206 part/views.py:1055 msgid "Supplied URL is not a valid image file" msgstr "" -#: company/views.py:243 -msgid "Update Company Image" -msgstr "" - -#: company/views.py:249 -msgid "Updated company image" -msgstr "" - -#: company/views.py:259 -msgid "Edit Company" -msgstr "" - -#: company/views.py:264 -msgid "Edited company information" -msgstr "" - -#: company/views.py:287 order/templates/order/sales_orders.html:188 -msgid "Create new Customer" -msgstr "" - -#: company/views.py:289 -msgid "Create new Company" -msgstr "" - -#: company/views.py:316 -msgid "Created new company" -msgstr "" - -#: company/views.py:332 -msgid "Company was deleted" -msgstr "" - -#: company/views.py:357 -msgid "Edit Manufacturer Part" -msgstr "" - -#: company/views.py:366 +#: company/views.py:251 msgid "Create New Manufacturer Part" msgstr "" -#: company/views.py:440 -msgid "Delete Manufacturer Part" -msgstr "" - -#: company/views.py:514 -msgid "Add Manufacturer Part Parameter" -msgstr "" - -#: company/views.py:548 -msgid "Edit Manufacturer Part Parameter" -msgstr "" - -#: company/views.py:588 +#: company/views.py:334 msgid "Edit Supplier Part" msgstr "" -#: company/views.py:639 templates/js/stock.js:1319 +#: company/views.py:385 templates/js/stock.js:1333 msgid "Create new Supplier Part" msgstr "" -#: company/views.py:783 +#: company/views.py:529 msgid "Delete Supplier Part" msgstr "" -#: company/views.py:860 part/views.py:2922 -msgid "Added new price break" -msgstr "" - -#: company/views.py:916 part/views.py:2966 -msgid "Edit Price Break" -msgstr "" - -#: company/views.py:931 part/views.py:2980 -msgid "Delete Price Break" -msgstr "" - #: label/api.py:56 report/api.py:201 msgid "No valid objects provided to template" msgstr "" -#: label/models.py:103 +#: label/models.py:104 msgid "Label name" msgstr "" -#: label/models.py:110 +#: label/models.py:111 msgid "Label description" msgstr "" -#: label/models.py:117 stock/forms.py:202 +#: label/models.py:118 stock/forms.py:169 msgid "Label" msgstr "" -#: label/models.py:118 +#: label/models.py:119 msgid "Label template file" msgstr "" -#: label/models.py:124 report/models.py:297 +#: label/models.py:125 report/models.py:297 msgid "Enabled" msgstr "" -#: label/models.py:125 +#: label/models.py:126 msgid "Label template is enabled" msgstr "" -#: label/models.py:130 +#: label/models.py:131 msgid "Width [mm]" msgstr "" -#: label/models.py:131 +#: label/models.py:132 msgid "Label width, specified in mm" msgstr "" -#: label/models.py:137 +#: label/models.py:138 msgid "Height [mm]" msgstr "" -#: label/models.py:138 +#: label/models.py:139 msgid "Label height, specified in mm" msgstr "" -#: label/models.py:144 report/models.py:290 +#: label/models.py:145 report/models.py:290 msgid "Filename Pattern" msgstr "" -#: label/models.py:145 +#: label/models.py:146 msgid "Pattern for generating label filenames" msgstr "" -#: label/models.py:244 label/models.py:297 +#: label/models.py:249 label/models.py:306 msgid "Query filters (comma-separated list of key=value pairs" msgstr "" -#: label/models.py:245 label/models.py:298 report/models.py:317 +#: label/models.py:250 label/models.py:307 report/models.py:317 #: report/models.py:440 report/models.py:474 msgid "Filters" msgstr "" -#: order/forms.py:31 order/templates/order/order_base.html:47 +#: order/forms.py:30 order/templates/order/order_base.html:47 msgid "Place order" msgstr "" -#: order/forms.py:42 order/templates/order/order_base.html:54 +#: order/forms.py:41 order/templates/order/order_base.html:54 msgid "Mark order as complete" msgstr "" -#: order/forms.py:53 order/forms.py:64 order/templates/order/order_base.html:59 +#: order/forms.py:52 order/forms.py:63 order/templates/order/order_base.html:59 #: order/templates/order/sales_order_base.html:61 msgid "Cancel order" msgstr "" -#: order/forms.py:75 order/templates/order/sales_order_base.html:58 +#: order/forms.py:74 order/templates/order/sales_order_base.html:58 msgid "Ship order" msgstr "" -#: order/forms.py:90 +#: order/forms.py:89 msgid "Receive parts to this location" msgstr "" -#: order/forms.py:112 -msgid "Purchase Order reference" -msgstr "" - -#: order/forms.py:119 -msgid "Target date for order delivery. Order will be overdue after this date." -msgstr "" - -#: order/forms.py:147 -msgid "Enter sales order number" -msgstr "" - -#: order/forms.py:154 order/models.py:472 -msgid "Target date for order completion. Order will be overdue after this date." -msgstr "" - -#: order/forms.py:246 +#: order/forms.py:116 msgid "Enter stock item serial numbers" msgstr "" -#: order/forms.py:252 +#: order/forms.py:122 msgid "Enter quantity of stock items" msgstr "" -#: order/models.py:98 -msgid "Order reference" -msgstr "" - -#: order/models.py:100 +#: order/models.py:154 msgid "Order description" msgstr "" -#: order/models.py:102 +#: order/models.py:156 msgid "Link to external page" msgstr "" -#: order/models.py:110 part/templates/part/detail.html:132 +#: order/models.py:164 part/templates/part/detail.html:132 msgid "Created By" msgstr "" -#: order/models.py:117 +#: order/models.py:171 msgid "User or group responsible for this order" msgstr "" -#: order/models.py:122 +#: order/models.py:176 msgid "Order notes" msgstr "" -#: order/models.py:181 order/models.py:465 +#: order/models.py:243 order/models.py:530 +msgid "Order reference" +msgstr "" + +#: order/models.py:248 order/models.py:545 msgid "Purchase order status" msgstr "" -#: order/models.py:190 +#: order/models.py:257 msgid "Company from which the items are being ordered" msgstr "" -#: order/models.py:193 order/templates/order/order_base.html:98 -#: templates/js/order.js:179 +#: order/models.py:260 order/templates/order/order_base.html:98 +#: templates/js/order.js:241 msgid "Supplier Reference" msgstr "" -#: order/models.py:193 +#: order/models.py:260 msgid "Supplier order reference code" msgstr "" -#: order/models.py:200 +#: order/models.py:267 msgid "received by" msgstr "" -#: order/models.py:205 +#: order/models.py:272 msgid "Issue Date" msgstr "" -#: order/models.py:206 +#: order/models.py:273 msgid "Date order was issued" msgstr "" -#: order/models.py:211 +#: order/models.py:278 msgid "Target Delivery Date" msgstr "" -#: order/models.py:212 +#: order/models.py:279 msgid "Expected date for order delivery. Order will be overdue after this date." msgstr "" -#: order/models.py:218 +#: order/models.py:285 msgid "Date order was completed" msgstr "" -#: order/models.py:242 part/views.py:1853 stock/models.py:300 -#: stock/models.py:1015 +#: order/models.py:309 part/views.py:1730 stock/models.py:308 +#: stock/models.py:1023 msgid "Quantity must be greater than zero" msgstr "" -#: order/models.py:247 +#: order/models.py:314 msgid "Part supplier must match PO supplier" msgstr "" -#: order/models.py:345 +#: order/models.py:412 msgid "Lines can only be received against an order marked as 'Placed'" msgstr "" -#: order/models.py:349 +#: order/models.py:416 msgid "Quantity must be an integer" msgstr "" -#: order/models.py:351 +#: order/models.py:418 msgid "Quantity must be a positive number" msgstr "" -#: order/models.py:461 +#: order/models.py:541 msgid "Company to which the items are being sold" msgstr "" -#: order/models.py:467 +#: order/models.py:547 msgid "Customer Reference " msgstr "" -#: order/models.py:467 +#: order/models.py:547 msgid "Customer order reference code" msgstr "" -#: order/models.py:475 templates/js/order.js:303 +#: order/models.py:552 +msgid "Target date for order completion. Order will be overdue after this date." +msgstr "" + +#: order/models.py:555 templates/js/order.js:370 msgid "Shipment Date" msgstr "" -#: order/models.py:482 +#: order/models.py:562 msgid "shipped by" msgstr "" -#: order/models.py:526 +#: order/models.py:606 msgid "SalesOrder cannot be shipped as it is not currently pending" msgstr "" -#: order/models.py:613 +#: order/models.py:703 msgid "Item quantity" msgstr "" -#: order/models.py:615 +#: order/models.py:709 msgid "Line item reference" msgstr "" -#: order/models.py:617 +#: order/models.py:711 msgid "Line item notes" msgstr "" -#: order/models.py:643 order/models.py:710 templates/js/order.js:353 +#: order/models.py:741 order/models.py:812 templates/js/order.js:420 msgid "Order" msgstr "" -#: order/models.py:644 order/templates/order/order_base.html:9 +#: order/models.py:742 order/templates/order/order_base.html:9 #: order/templates/order/order_base.html:24 #: report/templates/report/inventree_po_report.html:77 -#: stock/templates/stock/item_base.html:324 templates/js/order.js:148 -#: templates/js/stock.js:669 templates/js/stock.js:1078 +#: stock/templates/stock/item_base.html:324 templates/js/order.js:210 +#: templates/js/stock.js:669 templates/js/stock.js:1092 msgid "Purchase Order" msgstr "" -#: order/models.py:658 +#: order/models.py:756 msgid "Supplier part" msgstr "" -#: order/models.py:661 order/templates/order/order_base.html:131 -#: order/templates/order/purchase_order_detail.html:219 +#: order/models.py:759 order/templates/order/order_base.html:131 +#: order/templates/order/purchase_order_detail.html:246 #: order/templates/order/receive_parts.html:22 #: order/templates/order/sales_order_base.html:133 msgid "Received" msgstr "" -#: order/models.py:661 +#: order/models.py:759 msgid "Number of items received" msgstr "" -#: order/models.py:667 stock/models.py:537 -#: stock/templates/stock/item_base.html:331 templates/js/stock.js:690 +#: order/models.py:765 part/templates/part/prices.html:166 stock/models.py:545 +#: stock/templates/stock/item_base.html:331 templates/js/stock.js:704 msgid "Purchase Price" msgstr "" -#: order/models.py:668 +#: order/models.py:766 msgid "Unit purchase price" msgstr "" -#: order/models.py:676 +#: order/models.py:774 msgid "Where does the Purchaser want this item to be stored?" msgstr "" -#: order/models.py:718 part/templates/part/navbar.html:110 -#: part/templates/part/order_prices.html:108 -#: part/templates/part/part_pricing.html:97 +#: order/models.py:820 part/templates/part/part_pricing.html:97 +#: part/templates/part/prices.html:103 part/templates/part/prices.html:278 msgid "Sale Price" msgstr "" -#: order/models.py:719 +#: order/models.py:821 msgid "Unit sale price" msgstr "" -#: order/models.py:794 order/models.py:796 +#: order/models.py:900 order/models.py:902 msgid "Stock item has not been assigned" msgstr "" -#: order/models.py:800 +#: order/models.py:906 msgid "Cannot allocate stock item to a line with a different part" msgstr "" -#: order/models.py:802 +#: order/models.py:908 msgid "Cannot allocate stock to a line without a part" msgstr "" -#: order/models.py:805 +#: order/models.py:911 msgid "Allocation quantity cannot exceed stock quantity" msgstr "" -#: order/models.py:815 +#: order/models.py:921 msgid "Quantity must be 1 for serialized stock item" msgstr "" -#: order/models.py:820 +#: order/models.py:926 msgid "Line" msgstr "" -#: order/models.py:831 +#: order/models.py:937 msgid "Item" msgstr "" -#: order/models.py:832 +#: order/models.py:938 msgid "Select stock item to allocate" msgstr "" -#: order/models.py:835 +#: order/models.py:941 msgid "Enter stock allocation quantity" msgstr "" +#: order/serializers.py:139 +msgid "Purchase price currency" +msgstr "" + +#: order/serializers.py:359 +msgid "Sale price currency" +msgstr "" + #: order/templates/order/delete_attachment.html:5 #: stock/templates/stock/attachment_delete.html:5 #: templates/attachment_delete.html:5 @@ -3091,16 +3060,22 @@ msgstr "" msgid "Issued" msgstr "" -#: order/templates/order/order_base.html:180 -#: order/templates/order/purchase_order_detail.html:100 +#: order/templates/order/order_base.html:188 +msgid "Edit Purchase Order" +msgstr "" + +#: order/templates/order/order_base.html:199 +#: order/templates/order/purchase_order_detail.html:127 #: part/templates/part/category.html:217 part/templates/part/category.html:259 -#: stock/templates/stock/location.html:191 templates/js/stock.js:736 -#: templates/js/stock.js:1324 +#: part/templates/part/part_base.html:415 +#: stock/templates/stock/location.html:191 templates/js/stock.js:750 +#: templates/js/stock.js:1338 msgid "New Location" msgstr "" -#: order/templates/order/order_base.html:181 -#: order/templates/order/purchase_order_detail.html:101 +#: order/templates/order/order_base.html:200 +#: order/templates/order/purchase_order_detail.html:128 +#: part/templates/part/part_base.html:416 #: stock/templates/stock/location.html:42 msgid "Create new stock location" msgstr "" @@ -3253,7 +3228,7 @@ msgid "Select existing purchase orders, or create new orders." msgstr "" #: order/templates/order/order_wizard/select_pos.html:31 -#: templates/js/order.js:205 templates/js/order.js:308 +#: templates/js/order.js:267 templates/js/order.js:375 msgid "Items" msgstr "" @@ -3277,7 +3252,6 @@ msgid "Purchase Order Attachments" msgstr "" #: order/templates/order/po_lineitem_delete.html:5 -#: order/templates/order/so_lineitem_delete.html:5 msgid "Are you sure you wish to delete this line item?" msgstr "" @@ -3295,40 +3269,52 @@ msgid "Purchase Order Items" msgstr "" #: order/templates/order/purchase_order_detail.html:24 -#: order/templates/order/sales_order_detail.html:22 order/views.py:1327 -#: order/views.py:1410 +#: order/templates/order/purchase_order_detail.html:64 +#: order/templates/order/sales_order_detail.html:22 +#: order/templates/order/sales_order_detail.html:56 msgid "Add Line Item" msgstr "" -#: order/templates/order/purchase_order_detail.html:114 +#: order/templates/order/purchase_order_detail.html:100 +#: order/templates/order/sales_order_detail.html:398 +msgid "Edit Line Item" +msgstr "" + +#: order/templates/order/purchase_order_detail.html:110 +#: order/templates/order/sales_order_detail.html:408 +msgid "Delete Line Item" +msgstr "" + +#: order/templates/order/purchase_order_detail.html:141 msgid "No line items found" msgstr "" -#: order/templates/order/purchase_order_detail.html:142 -#: order/templates/order/sales_order_detail.html:223 +#: order/templates/order/purchase_order_detail.html:169 +#: order/templates/order/sales_order_detail.html:233 msgid "Total" msgstr "" -#: order/templates/order/purchase_order_detail.html:191 -#: order/templates/order/sales_order_detail.html:246 +#: order/templates/order/purchase_order_detail.html:218 +#: order/templates/order/sales_order_detail.html:256 templates/js/part.js:807 +#: templates/js/part.js:996 msgid "Unit Price" msgstr "" -#: order/templates/order/purchase_order_detail.html:198 -#: order/templates/order/sales_order_detail.html:253 +#: order/templates/order/purchase_order_detail.html:225 +#: order/templates/order/sales_order_detail.html:263 msgid "Total price" msgstr "" -#: order/templates/order/purchase_order_detail.html:255 -#: order/templates/order/sales_order_detail.html:359 +#: order/templates/order/purchase_order_detail.html:282 +#: order/templates/order/sales_order_detail.html:369 msgid "Edit line item" msgstr "" -#: order/templates/order/purchase_order_detail.html:256 +#: order/templates/order/purchase_order_detail.html:283 msgid "Delete line item" msgstr "" -#: order/templates/order/purchase_order_detail.html:261 +#: order/templates/order/purchase_order_detail.html:288 msgid "Receive line item" msgstr "" @@ -3343,7 +3329,7 @@ msgid "Receive outstanding parts for %(order)s - %(desc)s" msgstr "" #: order/templates/order/receive_parts.html:14 part/api.py:45 -#: part/models.py:322 part/templates/part/cat_link.html:7 +#: part/models.py:326 part/templates/part/cat_link.html:7 #: part/templates/part/category.html:108 part/templates/part/category.html:157 #: part/templates/part/category_navbar.html:25 #: part/templates/part/category_navbar.html:32 @@ -3351,7 +3337,7 @@ msgstr "" #: templates/InvenTree/index.html:97 templates/InvenTree/search.html:114 #: templates/InvenTree/settings/tabs.html:28 templates/js/part.js:666 #: templates/navbar.html:23 templates/stats.html:80 templates/stats.html:89 -#: users/models.py:40 +#: users/models.py:41 msgid "Parts" msgstr "" @@ -3393,10 +3379,14 @@ msgstr "" msgid "Sales Order Details" msgstr "" -#: order/templates/order/sales_order_base.html:100 templates/js/order.js:275 +#: order/templates/order/sales_order_base.html:100 templates/js/order.js:342 msgid "Customer Reference" msgstr "" +#: order/templates/order/sales_order_base.html:177 +msgid "Edit Sales Order" +msgstr "" + #: order/templates/order/sales_order_cancel.html:8 #: order/templates/order/sales_order_ship.html:9 #: part/templates/part/bom_duplicate.html:12 @@ -3412,69 +3402,69 @@ msgstr "" msgid "Sales Order Items" msgstr "" -#: order/templates/order/sales_order_detail.html:95 templates/js/bom.js:358 +#: order/templates/order/sales_order_detail.html:105 templates/js/bom.js:358 #: templates/js/build.js:725 templates/js/build.js:1142 msgid "Actions" msgstr "" -#: order/templates/order/sales_order_detail.html:102 templates/js/build.js:611 +#: order/templates/order/sales_order_detail.html:112 templates/js/build.js:611 #: templates/js/build.js:947 msgid "Edit stock allocation" msgstr "" -#: order/templates/order/sales_order_detail.html:103 templates/js/build.js:613 +#: order/templates/order/sales_order_detail.html:113 templates/js/build.js:613 #: templates/js/build.js:948 msgid "Delete stock allocation" msgstr "" -#: order/templates/order/sales_order_detail.html:176 +#: order/templates/order/sales_order_detail.html:186 msgid "No matching line items" msgstr "" -#: order/templates/order/sales_order_detail.html:206 +#: order/templates/order/sales_order_detail.html:216 msgid "ID" msgstr "" -#: order/templates/order/sales_order_detail.html:274 templates/js/build.js:676 +#: order/templates/order/sales_order_detail.html:284 templates/js/build.js:676 #: templates/js/build.js:943 msgid "Allocated" msgstr "" -#: order/templates/order/sales_order_detail.html:276 +#: order/templates/order/sales_order_detail.html:286 msgid "Fulfilled" msgstr "" -#: order/templates/order/sales_order_detail.html:313 +#: order/templates/order/sales_order_detail.html:323 msgid "PO" msgstr "" -#: order/templates/order/sales_order_detail.html:343 +#: order/templates/order/sales_order_detail.html:353 msgid "Allocate serial numbers" msgstr "" -#: order/templates/order/sales_order_detail.html:346 templates/js/build.js:739 +#: order/templates/order/sales_order_detail.html:356 templates/js/build.js:739 msgid "Allocate stock" msgstr "" -#: order/templates/order/sales_order_detail.html:349 +#: order/templates/order/sales_order_detail.html:359 msgid "Purchase stock" msgstr "" -#: order/templates/order/sales_order_detail.html:353 templates/js/build.js:732 +#: order/templates/order/sales_order_detail.html:363 templates/js/build.js:732 #: templates/js/build.js:1150 msgid "Build stock" msgstr "" -#: order/templates/order/sales_order_detail.html:356 -#: order/templates/order/sales_order_detail.html:465 +#: order/templates/order/sales_order_detail.html:366 +#: order/templates/order/sales_order_detail.html:485 msgid "Calculate price" msgstr "" -#: order/templates/order/sales_order_detail.html:360 +#: order/templates/order/sales_order_detail.html:370 msgid "Delete line item " msgstr "" -#: order/templates/order/sales_order_detail.html:471 +#: order/templates/order/sales_order_detail.html:491 msgid "Update Unit Price" msgstr "" @@ -3515,194 +3505,154 @@ msgstr "" msgid "Sales Order Attachments" msgstr "" -#: order/views.py:106 -msgid "Add Purchase Order Attachment" -msgstr "" - -#: order/views.py:156 -msgid "Add Sales Order Attachment" -msgstr "" - -#: order/views.py:348 -msgid "Create Sales Order" -msgstr "" - -#: order/views.py:383 -msgid "Edit Purchase Order" -msgstr "" - -#: order/views.py:403 -msgid "Edit Sales Order" -msgstr "" - -#: order/views.py:419 +#: order/views.py:151 msgid "Cancel Order" msgstr "" -#: order/views.py:428 order/views.py:454 +#: order/views.py:160 order/views.py:186 msgid "Confirm order cancellation" msgstr "" -#: order/views.py:431 order/views.py:457 +#: order/views.py:163 order/views.py:189 msgid "Order cannot be cancelled" msgstr "" -#: order/views.py:445 +#: order/views.py:177 msgid "Cancel sales order" msgstr "" -#: order/views.py:471 +#: order/views.py:203 msgid "Issue Order" msgstr "" -#: order/views.py:480 +#: order/views.py:212 msgid "Confirm order placement" msgstr "" -#: order/views.py:490 +#: order/views.py:222 msgid "Purchase order issued" msgstr "" -#: order/views.py:501 +#: order/views.py:233 msgid "Complete Order" msgstr "" -#: order/views.py:517 +#: order/views.py:249 msgid "Confirm order completion" msgstr "" -#: order/views.py:528 +#: order/views.py:260 msgid "Purchase order completed" msgstr "" -#: order/views.py:538 +#: order/views.py:270 msgid "Ship Order" msgstr "" -#: order/views.py:554 +#: order/views.py:286 msgid "Confirm order shipment" msgstr "" -#: order/views.py:560 +#: order/views.py:292 msgid "Could not ship order" msgstr "" -#: order/views.py:607 +#: order/views.py:339 msgid "Match Supplier Parts" msgstr "" -#: order/views.py:804 +#: order/views.py:536 msgid "Receive Parts" msgstr "" -#: order/views.py:874 +#: order/views.py:606 msgid "Items received" msgstr "" -#: order/views.py:888 +#: order/views.py:620 msgid "No destination set" msgstr "" -#: order/views.py:933 +#: order/views.py:665 msgid "Error converting quantity to number" msgstr "" -#: order/views.py:939 +#: order/views.py:671 msgid "Receive quantity less than zero" msgstr "" -#: order/views.py:945 +#: order/views.py:677 msgid "No lines specified" msgstr "" -#: order/views.py:1018 +#: order/views.py:750 msgid "Update prices" msgstr "" -#: order/views.py:1276 +#: order/views.py:1008 #, python-brace-format msgid "Ordered {n} parts" msgstr "" -#: order/views.py:1336 -msgid "Supplier part must be specified" -msgstr "" - -#: order/views.py:1342 -msgid "Supplier must match for Part and Order" -msgstr "" - -#: order/views.py:1473 order/views.py:1491 -msgid "Edit Line Item" -msgstr "" - -#: order/views.py:1507 order/views.py:1519 -msgid "Delete Line Item" -msgstr "" - -#: order/views.py:1512 order/views.py:1524 -msgid "Deleted line item" -msgstr "" - -#: order/views.py:1537 +#: order/views.py:1061 msgid "Allocate Serial Numbers" msgstr "" -#: order/views.py:1582 +#: order/views.py:1106 #, python-brace-format msgid "Allocated {n} items" msgstr "" -#: order/views.py:1598 +#: order/views.py:1122 msgid "Select line item" msgstr "" -#: order/views.py:1629 +#: order/views.py:1153 #, python-brace-format msgid "No matching item for serial {serial}" msgstr "" -#: order/views.py:1639 +#: order/views.py:1163 #, python-brace-format msgid "{serial} is not in stock" msgstr "" -#: order/views.py:1647 +#: order/views.py:1171 #, python-brace-format msgid "{serial} already allocated to an order" msgstr "" -#: order/views.py:1701 +#: order/views.py:1225 msgid "Allocate Stock to Order" msgstr "" -#: order/views.py:1775 +#: order/views.py:1299 msgid "Edit Allocation Quantity" msgstr "" -#: order/views.py:1790 +#: order/views.py:1314 msgid "Remove allocation" msgstr "" -#: order/views.py:1862 +#: order/views.py:1386 msgid "Sales order not found" msgstr "" -#: order/views.py:1868 +#: order/views.py:1392 msgid "Price not found" msgstr "" -#: order/views.py:1871 +#: order/views.py:1395 #, python-brace-format msgid "Updated {part} unit-price to {price}" msgstr "" -#: order/views.py:1876 +#: order/views.py:1400 #, python-brace-format msgid "Updated {part} unit-price to {price} and quantity to {qty}" msgstr "" -#: part/bom.py:138 part/models.py:72 part/models.py:747 +#: part/bom.py:138 part/models.py:72 part/models.py:756 #: part/templates/part/category.html:75 part/templates/part/detail.html:90 msgid "Default Location" msgstr "" @@ -3724,143 +3674,143 @@ msgstr "" msgid "Error reading BOM file (incorrect row size)" msgstr "" -#: part/forms.py:89 stock/forms.py:265 +#: part/forms.py:73 stock/forms.py:232 msgid "File Format" msgstr "" -#: part/forms.py:89 stock/forms.py:265 +#: part/forms.py:73 stock/forms.py:232 msgid "Select output file format" msgstr "" -#: part/forms.py:91 +#: part/forms.py:75 msgid "Cascading" msgstr "" -#: part/forms.py:91 +#: part/forms.py:75 msgid "Download cascading / multi-level BOM" msgstr "" -#: part/forms.py:93 +#: part/forms.py:77 msgid "Levels" msgstr "" -#: part/forms.py:93 +#: part/forms.py:77 msgid "Select maximum number of BOM levels to export (0 = all levels)" msgstr "" -#: part/forms.py:95 +#: part/forms.py:79 msgid "Include Parameter Data" msgstr "" -#: part/forms.py:95 +#: part/forms.py:79 msgid "Include part parameters data in exported BOM" msgstr "" -#: part/forms.py:97 +#: part/forms.py:81 msgid "Include Stock Data" msgstr "" -#: part/forms.py:97 +#: part/forms.py:81 msgid "Include part stock data in exported BOM" msgstr "" -#: part/forms.py:99 +#: part/forms.py:83 msgid "Include Manufacturer Data" msgstr "" -#: part/forms.py:99 +#: part/forms.py:83 msgid "Include part manufacturer data in exported BOM" msgstr "" -#: part/forms.py:101 +#: part/forms.py:85 msgid "Include Supplier Data" msgstr "" -#: part/forms.py:101 +#: part/forms.py:85 msgid "Include part supplier data in exported BOM" msgstr "" -#: part/forms.py:122 part/models.py:2191 +#: part/forms.py:106 part/models.py:2224 msgid "Parent Part" msgstr "" -#: part/forms.py:123 part/templates/part/bom_duplicate.html:7 +#: part/forms.py:107 part/templates/part/bom_duplicate.html:7 msgid "Select parent part to copy BOM from" msgstr "" -#: part/forms.py:129 +#: part/forms.py:113 msgid "Clear existing BOM items" msgstr "" -#: part/forms.py:135 +#: part/forms.py:119 msgid "Confirm BOM duplication" msgstr "" -#: part/forms.py:153 +#: part/forms.py:137 msgid "validate" msgstr "" -#: part/forms.py:153 +#: part/forms.py:137 msgid "Confirm that the BOM is correct" msgstr "" -#: part/forms.py:165 +#: part/forms.py:149 msgid "BOM file" msgstr "" -#: part/forms.py:165 +#: part/forms.py:149 msgid "Select BOM file to upload" msgstr "" -#: part/forms.py:184 +#: part/forms.py:168 msgid "Related Part" msgstr "" -#: part/forms.py:203 +#: part/forms.py:175 msgid "Select part category" msgstr "" -#: part/forms.py:220 +#: part/forms.py:192 msgid "Duplicate all BOM data for this part" msgstr "" -#: part/forms.py:221 +#: part/forms.py:193 msgid "Copy BOM" msgstr "" -#: part/forms.py:226 +#: part/forms.py:198 msgid "Duplicate all parameter data for this part" msgstr "" -#: part/forms.py:227 +#: part/forms.py:199 msgid "Copy Parameters" msgstr "" -#: part/forms.py:232 +#: part/forms.py:204 msgid "Confirm part creation" msgstr "" -#: part/forms.py:237 +#: part/forms.py:209 msgid "Include category parameter templates" msgstr "" -#: part/forms.py:242 +#: part/forms.py:214 msgid "Include parent categories parameter templates" msgstr "" -#: part/forms.py:322 +#: part/forms.py:294 msgid "Add parameter template to same level categories" msgstr "" -#: part/forms.py:326 +#: part/forms.py:298 msgid "Add parameter template to all categories" msgstr "" -#: part/forms.py:344 part/models.py:2286 +#: part/forms.py:316 part/models.py:2323 msgid "Sub part" msgstr "" -#: part/forms.py:373 +#: part/forms.py:345 msgid "Input quantity for price calculation" msgstr "" @@ -3876,362 +3826,362 @@ msgstr "" msgid "Default keywords for parts in this category" msgstr "" -#: part/models.py:82 part/models.py:2237 +#: part/models.py:86 part/models.py:2270 #: part/templates/part/part_app_base.html:10 msgid "Part Category" msgstr "" -#: part/models.py:83 part/templates/part/category.html:32 +#: part/models.py:87 part/templates/part/category.html:32 #: part/templates/part/category.html:103 templates/InvenTree/search.html:127 -#: templates/stats.html:84 users/models.py:39 +#: templates/stats.html:84 users/models.py:40 msgid "Part Categories" msgstr "" -#: part/models.py:448 part/models.py:460 +#: part/models.py:457 part/models.py:469 #, python-brace-format msgid "Part '{p1}' is used in BOM for '{p2}' (recursive)" msgstr "" -#: part/models.py:557 +#: part/models.py:566 msgid "Next available serial numbers are" msgstr "" -#: part/models.py:561 +#: part/models.py:570 msgid "Next available serial number is" msgstr "" -#: part/models.py:566 +#: part/models.py:575 msgid "Most recent serial number is" msgstr "" -#: part/models.py:645 +#: part/models.py:654 msgid "Duplicate IPN not allowed in part settings" msgstr "" -#: part/models.py:670 part/templates/part/detail.html:22 +#: part/models.py:679 part/templates/part/detail.html:22 msgid "Part name" msgstr "" -#: part/models.py:677 +#: part/models.py:686 msgid "Is Template" msgstr "" -#: part/models.py:678 +#: part/models.py:687 msgid "Is this part a template part?" msgstr "" -#: part/models.py:689 +#: part/models.py:698 msgid "Is this part a variant of another part?" msgstr "" -#: part/models.py:690 part/templates/part/detail.html:60 +#: part/models.py:699 part/templates/part/detail.html:60 msgid "Variant Of" msgstr "" -#: part/models.py:696 +#: part/models.py:705 msgid "Part description" msgstr "" -#: part/models.py:701 part/templates/part/category.html:82 +#: part/models.py:710 part/templates/part/category.html:82 #: part/templates/part/detail.html:67 msgid "Keywords" msgstr "" -#: part/models.py:702 +#: part/models.py:711 msgid "Part keywords to improve visibility in search results" msgstr "" -#: part/models.py:709 part/models.py:2236 part/templates/part/detail.html:73 +#: part/models.py:718 part/models.py:2269 part/templates/part/detail.html:73 #: part/templates/part/set_category.html:15 templates/js/part.js:452 msgid "Category" msgstr "" -#: part/models.py:710 +#: part/models.py:719 msgid "Part category" msgstr "" -#: part/models.py:715 part/templates/part/detail.html:28 +#: part/models.py:724 part/templates/part/detail.html:28 #: part/templates/part/part_base.html:87 templates/js/part.js:169 #: templates/js/part.js:296 msgid "IPN" msgstr "" -#: part/models.py:716 +#: part/models.py:725 msgid "Internal Part Number" msgstr "" -#: part/models.py:722 +#: part/models.py:731 msgid "Part revision or version number" msgstr "" -#: part/models.py:723 part/templates/part/detail.html:35 report/models.py:199 +#: part/models.py:732 part/templates/part/detail.html:35 report/models.py:199 #: templates/js/part.js:173 msgid "Revision" msgstr "" -#: part/models.py:745 +#: part/models.py:754 msgid "Where is this item normally stored?" msgstr "" -#: part/models.py:792 part/templates/part/detail.html:97 +#: part/models.py:801 part/templates/part/detail.html:97 msgid "Default Supplier" msgstr "" -#: part/models.py:793 +#: part/models.py:802 msgid "Default supplier part" msgstr "" -#: part/models.py:800 +#: part/models.py:809 msgid "Default Expiry" msgstr "" -#: part/models.py:801 +#: part/models.py:810 msgid "Expiry time (in days) for stock items of this part" msgstr "" -#: part/models.py:806 part/templates/part/detail.html:113 +#: part/models.py:815 part/templates/part/detail.html:113 msgid "Minimum Stock" msgstr "" -#: part/models.py:807 +#: part/models.py:816 msgid "Minimum allowed stock level" msgstr "" -#: part/models.py:814 +#: part/models.py:823 msgid "Stock keeping units for this part" msgstr "" -#: part/models.py:820 +#: part/models.py:829 msgid "Can this part be built from other parts?" msgstr "" -#: part/models.py:826 +#: part/models.py:835 msgid "Can this part be used to build other parts?" msgstr "" -#: part/models.py:832 +#: part/models.py:841 msgid "Does this part have tracking for unique items?" msgstr "" -#: part/models.py:837 +#: part/models.py:846 msgid "Can this part be purchased from external suppliers?" msgstr "" -#: part/models.py:842 +#: part/models.py:851 msgid "Can this part be sold to customers?" msgstr "" -#: part/models.py:846 part/templates/part/detail.html:227 +#: part/models.py:855 part/templates/part/detail.html:227 #: templates/js/table_filters.js:21 templates/js/table_filters.js:65 -#: templates/js/table_filters.js:241 templates/js/table_filters.js:310 +#: templates/js/table_filters.js:246 templates/js/table_filters.js:315 msgid "Active" msgstr "" -#: part/models.py:847 +#: part/models.py:856 msgid "Is this part active?" msgstr "" -#: part/models.py:852 +#: part/models.py:861 msgid "Is this a virtual part, such as a software product or license?" msgstr "" -#: part/models.py:857 +#: part/models.py:866 msgid "Part notes - supports Markdown formatting" msgstr "" -#: part/models.py:860 +#: part/models.py:869 msgid "BOM checksum" msgstr "" -#: part/models.py:860 +#: part/models.py:869 msgid "Stored BOM checksum" msgstr "" -#: part/models.py:863 +#: part/models.py:872 msgid "BOM checked by" msgstr "" -#: part/models.py:865 +#: part/models.py:874 msgid "BOM checked date" msgstr "" -#: part/models.py:869 +#: part/models.py:878 msgid "Creation User" msgstr "" -#: part/models.py:1608 +#: part/models.py:1617 msgid "Sell multiple" msgstr "" -#: part/models.py:2063 +#: part/models.py:2088 msgid "Test templates can only be created for trackable parts" msgstr "" -#: part/models.py:2080 +#: part/models.py:2105 msgid "Test with this name already exists for this part" msgstr "" -#: part/models.py:2100 templates/js/part.js:717 templates/js/stock.js:117 +#: part/models.py:2125 templates/js/part.js:717 templates/js/stock.js:117 msgid "Test Name" msgstr "" -#: part/models.py:2101 +#: part/models.py:2126 msgid "Enter a name for the test" msgstr "" -#: part/models.py:2106 +#: part/models.py:2131 msgid "Test Description" msgstr "" -#: part/models.py:2107 +#: part/models.py:2132 msgid "Enter description for this test" msgstr "" -#: part/models.py:2112 templates/js/part.js:726 -#: templates/js/table_filters.js:227 +#: part/models.py:2137 templates/js/part.js:726 +#: templates/js/table_filters.js:232 msgid "Required" msgstr "" -#: part/models.py:2113 +#: part/models.py:2138 msgid "Is this test required to pass?" msgstr "" -#: part/models.py:2118 templates/js/part.js:734 +#: part/models.py:2143 templates/js/part.js:734 msgid "Requires Value" msgstr "" -#: part/models.py:2119 +#: part/models.py:2144 msgid "Does this test require a value when adding a test result?" msgstr "" -#: part/models.py:2124 templates/js/part.js:741 +#: part/models.py:2149 templates/js/part.js:741 msgid "Requires Attachment" msgstr "" -#: part/models.py:2125 +#: part/models.py:2150 msgid "Does this test require a file attachment when adding a test result?" msgstr "" -#: part/models.py:2158 +#: part/models.py:2187 msgid "Parameter template name must be unique" msgstr "" -#: part/models.py:2163 +#: part/models.py:2192 msgid "Parameter Name" msgstr "" -#: part/models.py:2165 +#: part/models.py:2194 msgid "Parameter Units" msgstr "" -#: part/models.py:2193 part/models.py:2242 part/models.py:2243 +#: part/models.py:2226 part/models.py:2275 part/models.py:2276 #: templates/InvenTree/settings/category.html:62 msgid "Parameter Template" msgstr "" -#: part/models.py:2195 +#: part/models.py:2228 msgid "Data" msgstr "" -#: part/models.py:2195 +#: part/models.py:2228 msgid "Parameter Value" msgstr "" -#: part/models.py:2247 templates/InvenTree/settings/category.html:67 +#: part/models.py:2280 templates/InvenTree/settings/category.html:67 msgid "Default Value" msgstr "" -#: part/models.py:2248 +#: part/models.py:2281 msgid "Default Parameter Value" msgstr "" -#: part/models.py:2278 +#: part/models.py:2315 msgid "Select parent part" msgstr "" -#: part/models.py:2287 +#: part/models.py:2324 msgid "Select part to be used in BOM" msgstr "" -#: part/models.py:2293 +#: part/models.py:2330 msgid "BOM quantity for this BOM item" msgstr "" -#: part/models.py:2295 templates/js/bom.js:216 templates/js/bom.js:278 +#: part/models.py:2332 templates/js/bom.js:216 templates/js/bom.js:278 msgid "Optional" msgstr "" -#: part/models.py:2295 +#: part/models.py:2332 msgid "This BOM item is optional" msgstr "" -#: part/models.py:2298 +#: part/models.py:2335 msgid "Overage" msgstr "" -#: part/models.py:2299 +#: part/models.py:2336 msgid "Estimated build wastage quantity (absolute or percentage)" msgstr "" -#: part/models.py:2302 +#: part/models.py:2339 msgid "BOM item reference" msgstr "" -#: part/models.py:2305 +#: part/models.py:2342 msgid "BOM item notes" msgstr "" -#: part/models.py:2307 +#: part/models.py:2344 msgid "Checksum" msgstr "" -#: part/models.py:2307 +#: part/models.py:2344 msgid "BOM line checksum" msgstr "" -#: part/models.py:2311 templates/js/bom.js:295 templates/js/bom.js:302 +#: part/models.py:2348 templates/js/bom.js:295 templates/js/bom.js:302 #: templates/js/table_filters.js:51 msgid "Inherited" msgstr "" -#: part/models.py:2312 +#: part/models.py:2349 msgid "This BOM item is inherited by BOMs for variant parts" msgstr "" -#: part/models.py:2317 templates/js/bom.js:287 +#: part/models.py:2354 templates/js/bom.js:287 msgid "Allow Variants" msgstr "" -#: part/models.py:2318 +#: part/models.py:2355 msgid "Stock items for variant parts can be used for this BOM item" msgstr "" -#: part/models.py:2394 part/views.py:1859 part/views.py:1911 -#: stock/models.py:290 +#: part/models.py:2431 part/views.py:1736 part/views.py:1788 +#: stock/models.py:298 msgid "Quantity must be integer value for trackable parts" msgstr "" -#: part/models.py:2403 part/models.py:2405 +#: part/models.py:2440 part/models.py:2442 msgid "Sub part must be specified" msgstr "" -#: part/models.py:2408 +#: part/models.py:2445 msgid "BOM Item" msgstr "" -#: part/models.py:2527 +#: part/models.py:2564 msgid "Part 1" msgstr "" -#: part/models.py:2531 +#: part/models.py:2568 msgid "Part 2" msgstr "" -#: part/models.py:2531 +#: part/models.py:2568 msgid "Select Related Part" msgstr "" -#: part/models.py:2563 +#: part/models.py:2600 msgid "Error creating relationship: check that the part is not related to itself and that the relationship is unique" msgstr "" @@ -4247,14 +4197,6 @@ msgstr "" msgid "Part Attachments" msgstr "" -#: part/templates/part/bom-delete.html:6 -msgid "Are you sure you want to delete this BOM item?" -msgstr "" - -#: part/templates/part/bom-delete.html:8 -msgid "Deleting this entry will remove the BOM row from the following part" -msgstr "" - #: part/templates/part/bom.html:10 part/templates/part/navbar.html:51 #: part/templates/part/navbar.html:54 msgid "Bill of Materials" @@ -4303,7 +4245,7 @@ msgstr "" msgid "Validate Bill of Materials" msgstr "" -#: part/templates/part/bom.html:61 part/views.py:2154 +#: part/templates/part/bom.html:61 part/views.py:2031 msgid "Export Bill of Materials" msgstr "" @@ -4319,8 +4261,8 @@ msgstr "" msgid "All selected BOM items will be deleted" msgstr "" -#: part/templates/part/bom.html:160 part/views.py:590 -#: templates/js/stock.js:1313 +#: part/templates/part/bom.html:160 part/views.py:450 +#: templates/js/stock.js:1327 msgid "Create New Part" msgstr "" @@ -4401,7 +4343,7 @@ msgstr "" msgid "All parts" msgstr "" -#: part/templates/part/category.html:38 part/views.py:2564 +#: part/templates/part/category.html:38 part/views.py:2441 msgid "Create new part category" msgstr "" @@ -4461,11 +4403,12 @@ msgid "View grid display" msgstr "" #: part/templates/part/category.html:218 -#: stock/templates/stock/location.html:192 templates/js/stock.js:737 +#: stock/templates/stock/location.html:192 templates/js/stock.js:751 msgid "Create new location" msgstr "" #: part/templates/part/category.html:223 part/templates/part/category.html:253 +#: part/templates/part/part_base.html:378 msgid "New Category" msgstr "" @@ -4477,10 +4420,18 @@ msgstr "" msgid "Create new Part Category" msgstr "" -#: part/templates/part/category.html:260 stock/views.py:1391 +#: part/templates/part/category.html:260 stock/views.py:1223 msgid "Create new Stock Location" msgstr "" +#: part/templates/part/category.html:279 +msgid "Select parent category" +msgstr "" + +#: part/templates/part/category.html:286 part/views.py:2389 +msgid "Edit Part Category" +msgstr "" + #: part/templates/part/category_delete.html:5 msgid "Are you sure you want to delete category" msgstr "" @@ -4526,7 +4477,7 @@ msgstr "" msgid "Part Parameters" msgstr "" -#: part/templates/part/copy_part.html:9 part/views.py:466 +#: part/templates/part/copy_part.html:9 part/views.py:326 msgid "Duplicate Part" msgstr "" @@ -4639,36 +4590,6 @@ msgstr "" msgid "Import Parts from File" msgstr "" -#: part/templates/part/internal_prices.html:11 -#: part/templates/part/navbar.html:101 -msgid "Internal Price Information" -msgstr "" - -#: part/templates/part/internal_prices.html:19 part/views.py:2989 -msgid "Add Internal Price Break" -msgstr "" - -#: part/templates/part/internal_prices.html:28 templates/403.html:5 -#: templates/403.html:11 -msgid "Permission Denied" -msgstr "" - -#: part/templates/part/internal_prices.html:31 templates/403.html:14 -msgid "You do not have permission to view this page." -msgstr "" - -#: part/templates/part/internal_prices.html:59 -msgid "No internal price break information found" -msgstr "" - -#: part/templates/part/internal_prices.html:110 -msgid "Edit internal price break" -msgstr "" - -#: part/templates/part/internal_prices.html:111 -msgid "Delete internal price break" -msgstr "" - #: part/templates/part/manufacturer.html:11 msgid "Part Manufacturers" msgstr "" @@ -4678,7 +4599,7 @@ msgid "Delete manufacturer parts" msgstr "" #: part/templates/part/manufacturer.html:53 -#: part/templates/part/supplier.html:57 +#: part/templates/part/supplier.html:56 msgid "Create new manufacturer" msgstr "" @@ -4702,125 +4623,27 @@ msgstr "" msgid "Used In" msgstr "" -#: part/templates/part/navbar.html:75 part/templates/part/order_prices.html:12 -msgid "Order Price Information" +#: part/templates/part/navbar.html:77 +msgid "Prices" msgstr "" -#: part/templates/part/navbar.html:78 -msgid "Order Price" -msgstr "" - -#: part/templates/part/navbar.html:104 part/templates/part/order_prices.html:94 -#: part/templates/part/part_pricing.html:82 -msgid "Internal Price" -msgstr "" - -#: part/templates/part/navbar.html:107 -msgid "Sales Price Information" -msgstr "" - -#: part/templates/part/navbar.html:121 part/templates/part/part_tests.html:10 +#: part/templates/part/navbar.html:109 part/templates/part/part_tests.html:10 msgid "Part Test Templates" msgstr "" -#: part/templates/part/navbar.html:124 stock/templates/stock/item_base.html:414 +#: part/templates/part/navbar.html:112 stock/templates/stock/item_base.html:414 msgid "Tests" msgstr "" -#: part/templates/part/navbar.html:129 part/templates/part/navbar.html:132 +#: part/templates/part/navbar.html:117 part/templates/part/navbar.html:120 #: part/templates/part/related.html:10 msgid "Related Parts" msgstr "" -#: part/templates/part/navbar.html:142 part/templates/part/notes.html:12 +#: part/templates/part/navbar.html:130 part/templates/part/notes.html:12 msgid "Part Notes" msgstr "" -#: part/templates/part/order_prices.html:25 -#: part/templates/part/part_base.html:282 -msgid "Calculate" -msgstr "" - -#: part/templates/part/order_prices.html:32 -msgid "Pricing ranges" -msgstr "" - -#: part/templates/part/order_prices.html:37 -#: part/templates/part/part_pricing.html:22 -msgid "Supplier Pricing" -msgstr "" - -#: part/templates/part/order_prices.html:38 -#: part/templates/part/order_prices.html:63 -#: part/templates/part/order_prices.html:95 -#: part/templates/part/order_prices.html:109 -#: part/templates/part/part_pricing.html:26 -#: part/templates/part/part_pricing.html:52 -#: part/templates/part/part_pricing.html:85 -#: part/templates/part/part_pricing.html:100 -msgid "Unit Cost" -msgstr "" - -#: part/templates/part/order_prices.html:45 -#: part/templates/part/order_prices.html:70 -#: part/templates/part/order_prices.html:100 -#: part/templates/part/order_prices.html:114 -#: part/templates/part/part_pricing.html:32 -#: part/templates/part/part_pricing.html:58 -#: part/templates/part/part_pricing.html:89 -#: part/templates/part/part_pricing.html:104 -msgid "Total Cost" -msgstr "" - -#: part/templates/part/order_prices.html:53 -#: part/templates/part/part_pricing.html:40 -msgid "No supplier pricing available" -msgstr "" - -#: part/templates/part/order_prices.html:62 -#: part/templates/part/order_prices.html:129 -#: part/templates/part/part_pricing.html:48 -msgid "BOM Pricing" -msgstr "" - -#: part/templates/part/order_prices.html:78 -#: part/templates/part/part_pricing.html:66 -msgid "Note: BOM pricing is incomplete for this part" -msgstr "" - -#: part/templates/part/order_prices.html:85 -#: part/templates/part/part_pricing.html:73 -msgid "No BOM pricing available" -msgstr "" - -#: part/templates/part/order_prices.html:123 -#: part/templates/part/part_pricing.html:113 -msgid "No pricing information is available for this part." -msgstr "" - -#: part/templates/part/order_prices.html:139 -msgid "Stock Pricing" -msgstr "" - -#: part/templates/part/order_prices.html:147 -msgid "No stock pricing history is available for this part." -msgstr "" - -#: part/templates/part/order_prices.html:166 -#, python-format -msgid "Single Price - %(currency)s" -msgstr "" - -#: part/templates/part/order_prices.html:178 -#, python-format -msgid "Single Price Difference - %(currency)s" -msgstr "" - -#: part/templates/part/order_prices.html:190 -#, python-format -msgid "Part Single Price - %(currency)s" -msgstr "" - #: part/templates/part/params.html:17 msgid "Add new parameter" msgstr "" @@ -4841,8 +4664,8 @@ msgstr "" msgid "Part List" msgstr "" -#: part/templates/part/part_base.html:26 templates/js/company.js:156 -#: templates/js/company.js:355 templates/js/part.js:84 templates/js/part.js:161 +#: part/templates/part/part_base.html:26 templates/js/company.js:280 +#: templates/js/company.js:480 templates/js/part.js:84 templates/js/part.js:161 msgid "Inactive" msgstr "" @@ -4905,7 +4728,7 @@ msgstr "" msgid "In Stock" msgstr "" -#: part/templates/part/part_base.html:143 templates/InvenTree/index.html:131 +#: part/templates/part/part_base.html:143 templates/InvenTree/index.html:132 msgid "Required for Build Orders" msgstr "" @@ -4926,10 +4749,86 @@ msgstr "" msgid "Building" msgstr "" +#: part/templates/part/part_base.html:285 part/templates/part/prices.html:131 +msgid "Calculate" +msgstr "" + +#: part/templates/part/part_base.html:379 +msgid "Create New Part Category" +msgstr "" + +#: part/templates/part/part_base.html:387 +msgid "New Parent" +msgstr "" + +#: part/templates/part/part_base.html:435 +msgid "Edit Part" +msgstr "" + +#: part/templates/part/part_pricing.html:22 part/templates/part/prices.html:27 +msgid "Supplier Pricing" +msgstr "" + +#: part/templates/part/part_pricing.html:26 +#: part/templates/part/part_pricing.html:52 +#: part/templates/part/part_pricing.html:85 +#: part/templates/part/part_pricing.html:100 part/templates/part/prices.html:31 +#: part/templates/part/prices.html:58 part/templates/part/prices.html:90 +#: part/templates/part/prices.html:107 +msgid "Unit Cost" +msgstr "" + +#: part/templates/part/part_pricing.html:32 +#: part/templates/part/part_pricing.html:58 +#: part/templates/part/part_pricing.html:89 +#: part/templates/part/part_pricing.html:104 part/templates/part/prices.html:38 +#: part/templates/part/prices.html:65 part/templates/part/prices.html:95 +#: part/templates/part/prices.html:112 +msgid "Total Cost" +msgstr "" + +#: part/templates/part/part_pricing.html:40 part/templates/part/prices.html:46 +msgid "No supplier pricing available" +msgstr "" + +#: part/templates/part/part_pricing.html:48 part/templates/part/prices.html:55 +#: part/templates/part/prices.html:235 +msgid "BOM Pricing" +msgstr "" + +#: part/templates/part/part_pricing.html:66 part/templates/part/prices.html:73 +msgid "Note: BOM pricing is incomplete for this part" +msgstr "" + +#: part/templates/part/part_pricing.html:73 part/templates/part/prices.html:80 +msgid "No BOM pricing available" +msgstr "" + +#: part/templates/part/part_pricing.html:82 part/templates/part/prices.html:89 +msgid "Internal Price" +msgstr "" + +#: part/templates/part/part_pricing.html:113 +#: part/templates/part/prices.html:121 +msgid "No pricing information is available for this part." +msgstr "" + #: part/templates/part/part_tests.html:17 msgid "Add Test Template" msgstr "" +#: part/templates/part/part_tests.html:61 +msgid "Add Test Result Template" +msgstr "" + +#: part/templates/part/part_tests.html:79 +msgid "Edit Test Result Template" +msgstr "" + +#: part/templates/part/part_tests.html:91 +msgid "Delete Test Result Template" +msgstr "" + #: part/templates/part/part_thumb.html:20 msgid "Select from existing images" msgstr "" @@ -4964,12 +4863,98 @@ msgstr "" msgid "There are %(count)s unique parts tracked for '%(full_name)s'. Deleting this part will permanently remove this tracking information." msgstr "" -#: part/templates/part/related.html:18 -msgid "Add Related" +#: part/templates/part/prices.html:12 +msgid "General Price Information" msgstr "" -#: part/templates/part/sale_prices.html:10 -msgid "Sell Price Information" +#: part/templates/part/prices.html:22 +msgid "Pricing ranges" +msgstr "" + +#: part/templates/part/prices.html:28 +msgid "Show supplier cost" +msgstr "" + +#: part/templates/part/prices.html:29 +msgid "Show purchase price" +msgstr "" + +#: part/templates/part/prices.html:56 +msgid "Show BOM cost" +msgstr "" + +#: part/templates/part/prices.html:104 +msgid "Show sale cost" +msgstr "" + +#: part/templates/part/prices.html:105 +msgid "Show sale price" +msgstr "" + +#: part/templates/part/prices.html:127 +msgid "Calculation parameters" +msgstr "" + +#: part/templates/part/prices.html:146 +msgid "Supplier Cost" +msgstr "" + +#: part/templates/part/prices.html:147 part/templates/part/prices.html:167 +#: part/templates/part/prices.html:193 part/templates/part/prices.html:224 +#: part/templates/part/prices.html:251 part/templates/part/prices.html:279 +msgid "Jump to overview" +msgstr "" + +#: part/templates/part/prices.html:172 +msgid "Stock Pricing" +msgstr "" + +#: part/templates/part/prices.html:180 +msgid "No stock pricing history is available for this part." +msgstr "" + +#: part/templates/part/prices.html:192 +msgid "Internal Cost" +msgstr "" + +#: part/templates/part/prices.html:206 part/views.py:2859 +msgid "Add Internal Price Break" +msgstr "" + +#: part/templates/part/prices.html:223 +msgid "BOM Cost" +msgstr "" + +#: part/templates/part/prices.html:250 +msgid "Sale Cost" +msgstr "" + +#: part/templates/part/prices.html:290 +msgid "No sale pice history available for this part." +msgstr "" + +#: part/templates/part/prices.html:340 +#, python-format +msgid "Single Price - %(currency)s" +msgstr "" + +#: part/templates/part/prices.html:352 +#, python-format +msgid "Single Price Difference - %(currency)s" +msgstr "" + +#: part/templates/part/prices.html:364 +#, python-format +msgid "Part Single Price - %(currency)s" +msgstr "" + +#: part/templates/part/prices.html:464 +#, python-format +msgid "Unit Price - %(currency)s" +msgstr "" + +#: part/templates/part/related.html:18 +msgid "Add Related" msgstr "" #: part/templates/part/sales_orders.html:18 @@ -5043,216 +5028,180 @@ msgstr "" msgid "Delete Related Part" msgstr "" -#: part/views.py:164 -msgid "Add part attachment" -msgstr "" - -#: part/views.py:217 templates/attachment_table.html:32 -msgid "Edit attachment" -msgstr "" - -#: part/views.py:221 -msgid "Part attachment updated" -msgstr "" - -#: part/views.py:236 -msgid "Delete Part Attachment" -msgstr "" - -#: part/views.py:244 -msgid "Deleted part attachment" -msgstr "" - -#: part/views.py:253 -msgid "Create Test Template" -msgstr "" - -#: part/views.py:280 -msgid "Edit Test Template" -msgstr "" - -#: part/views.py:294 -msgid "Delete Test Template" -msgstr "" - -#: part/views.py:301 +#: part/views.py:161 msgid "Set Part Category" msgstr "" -#: part/views.py:351 +#: part/views.py:211 #, python-brace-format msgid "Set category for {n} parts" msgstr "" -#: part/views.py:386 +#: part/views.py:246 msgid "Create Variant" msgstr "" -#: part/views.py:471 +#: part/views.py:331 msgid "Copied part" msgstr "" -#: part/views.py:525 part/views.py:663 +#: part/views.py:385 part/views.py:523 msgid "Possible matches exist - confirm creation of new part" msgstr "" -#: part/views.py:595 +#: part/views.py:455 msgid "Created new part" msgstr "" -#: part/views.py:763 +#: part/views.py:623 msgid "Match References" msgstr "" -#: part/views.py:1092 +#: part/views.py:925 +msgid "None" +msgstr "" + +#: part/views.py:984 msgid "Part QR Code" msgstr "" -#: part/views.py:1194 -msgid "Upload Part Image" -msgstr "" - -#: part/views.py:1200 part/views.py:1235 -msgid "Updated part image" -msgstr "" - -#: part/views.py:1209 +#: part/views.py:1086 msgid "Select Part Image" msgstr "" -#: part/views.py:1238 +#: part/views.py:1112 +msgid "Updated part image" +msgstr "" + +#: part/views.py:1115 msgid "Part image not found" msgstr "" -#: part/views.py:1249 +#: part/views.py:1126 msgid "Edit Part Properties" msgstr "" -#: part/views.py:1284 +#: part/views.py:1161 msgid "Duplicate BOM" msgstr "" -#: part/views.py:1314 +#: part/views.py:1191 msgid "Confirm duplication of BOM from parent" msgstr "" -#: part/views.py:1335 +#: part/views.py:1212 msgid "Validate BOM" msgstr "" -#: part/views.py:1356 +#: part/views.py:1233 msgid "Confirm that the BOM is valid" msgstr "" -#: part/views.py:1367 +#: part/views.py:1244 msgid "Validated Bill of Materials" msgstr "" -#: part/views.py:1501 +#: part/views.py:1378 msgid "No BOM file provided" msgstr "" -#: part/views.py:1862 +#: part/views.py:1739 msgid "Enter a valid quantity" msgstr "" -#: part/views.py:1887 part/views.py:1890 +#: part/views.py:1764 part/views.py:1767 msgid "Select valid part" msgstr "" -#: part/views.py:1896 +#: part/views.py:1773 msgid "Duplicate part selected" msgstr "" -#: part/views.py:1934 +#: part/views.py:1811 msgid "Select a part" msgstr "" -#: part/views.py:1940 +#: part/views.py:1817 msgid "Selected part creates a circular BOM" msgstr "" -#: part/views.py:1944 +#: part/views.py:1821 msgid "Specify quantity" msgstr "" -#: part/views.py:2206 +#: part/views.py:2083 msgid "Confirm Part Deletion" msgstr "" -#: part/views.py:2213 +#: part/views.py:2090 msgid "Part was deleted" msgstr "" -#: part/views.py:2222 +#: part/views.py:2099 msgid "Part Pricing" msgstr "" -#: part/views.py:2363 +#: part/views.py:2240 msgid "Create Part Parameter Template" msgstr "" -#: part/views.py:2373 +#: part/views.py:2250 msgid "Edit Part Parameter Template" msgstr "" -#: part/views.py:2380 +#: part/views.py:2257 msgid "Delete Part Parameter Template" msgstr "" -#: part/views.py:2388 +#: part/views.py:2265 msgid "Create Part Parameter" msgstr "" -#: part/views.py:2438 +#: part/views.py:2315 msgid "Edit Part Parameter" msgstr "" -#: part/views.py:2452 +#: part/views.py:2329 msgid "Delete Part Parameter" msgstr "" -#: part/views.py:2512 -msgid "Edit Part Category" -msgstr "" - -#: part/views.py:2550 +#: part/views.py:2427 msgid "Delete Part Category" msgstr "" -#: part/views.py:2556 +#: part/views.py:2433 msgid "Part category was deleted" msgstr "" -#: part/views.py:2608 +#: part/views.py:2485 msgid "Create Category Parameter Template" msgstr "" -#: part/views.py:2709 +#: part/views.py:2586 msgid "Edit Category Parameter Template" msgstr "" -#: part/views.py:2765 +#: part/views.py:2642 msgid "Delete Category Parameter Template" msgstr "" -#: part/views.py:2784 +#: part/views.py:2661 msgid "Create BOM Item" msgstr "" -#: part/views.py:2854 +#: part/views.py:2731 msgid "Edit BOM item" msgstr "" -#: part/views.py:2910 -msgid "Confim BOM item deletion" +#: part/views.py:2792 +msgid "Added new price break" msgstr "" -#: part/views.py:2998 +#: part/views.py:2868 msgid "Edit Internal Price Break" msgstr "" -#: part/views.py:3006 +#: part/views.py:2876 msgid "Delete Internal Price Break" msgstr "" @@ -5358,17 +5307,17 @@ msgid "Test Results" msgstr "" #: report/templates/report/inventree_test_report_base.html:88 -#: stock/models.py:1739 +#: stock/models.py:1759 msgid "Test" msgstr "" #: report/templates/report/inventree_test_report_base.html:89 -#: stock/models.py:1745 +#: stock/models.py:1765 msgid "Result" msgstr "" #: report/templates/report/inventree_test_report_base.html:92 -#: templates/js/order.js:195 templates/js/stock.js:1012 +#: templates/js/order.js:257 templates/js/stock.js:1026 msgid "Date" msgstr "" @@ -5380,287 +5329,287 @@ msgstr "" msgid "Fail" msgstr "" -#: stock/api.py:212 +#: stock/api.py:211 #, python-brace-format msgid "Updated stock for {n} items" msgstr "" -#: stock/api.py:281 +#: stock/api.py:280 #, python-brace-format msgid "Moved {n} parts to {loc}" msgstr "" -#: stock/forms.py:114 stock/forms.py:418 stock/models.py:505 +#: stock/forms.py:81 stock/forms.py:385 stock/models.py:513 #: stock/templates/stock/item_base.html:381 templates/js/stock.js:658 msgid "Expiry Date" msgstr "" -#: stock/forms.py:115 stock/forms.py:419 +#: stock/forms.py:82 stock/forms.py:386 msgid "Expiration date for this stock item" msgstr "" -#: stock/forms.py:118 +#: stock/forms.py:85 msgid "Enter unique serial numbers (or leave blank)" msgstr "" -#: stock/forms.py:169 +#: stock/forms.py:136 msgid "Destination for serialized stock (by default, will remain in current location)" msgstr "" -#: stock/forms.py:171 +#: stock/forms.py:138 msgid "Serial numbers" msgstr "" -#: stock/forms.py:171 +#: stock/forms.py:138 msgid "Unique serial numbers (must match quantity)" msgstr "" -#: stock/forms.py:173 stock/forms.py:349 +#: stock/forms.py:140 stock/forms.py:316 msgid "Add transaction note (optional)" msgstr "" -#: stock/forms.py:203 stock/forms.py:259 +#: stock/forms.py:170 stock/forms.py:226 msgid "Select test report template" msgstr "" -#: stock/forms.py:267 templates/js/table_filters.js:75 +#: stock/forms.py:234 templates/js/table_filters.js:75 #: templates/js/table_filters.js:138 msgid "Include sublocations" msgstr "" -#: stock/forms.py:267 +#: stock/forms.py:234 msgid "Include stock items in sub locations" msgstr "" -#: stock/forms.py:302 +#: stock/forms.py:269 msgid "Stock item to install" msgstr "" -#: stock/forms.py:309 +#: stock/forms.py:276 msgid "Stock quantity to assign" msgstr "" -#: stock/forms.py:337 +#: stock/forms.py:304 msgid "Must not exceed available quantity" msgstr "" -#: stock/forms.py:347 +#: stock/forms.py:314 msgid "Destination location for uninstalled items" msgstr "" -#: stock/forms.py:351 +#: stock/forms.py:318 msgid "Confirm uninstall" msgstr "" -#: stock/forms.py:351 +#: stock/forms.py:318 msgid "Confirm removal of installed stock items" msgstr "" -#: stock/forms.py:375 +#: stock/forms.py:342 msgid "Destination stock location" msgstr "" -#: stock/forms.py:377 +#: stock/forms.py:344 msgid "Add note (required)" msgstr "" -#: stock/forms.py:381 stock/views.py:852 stock/views.py:1051 +#: stock/forms.py:348 stock/views.py:705 stock/views.py:904 msgid "Confirm stock adjustment" msgstr "" -#: stock/forms.py:381 +#: stock/forms.py:348 msgid "Confirm movement of stock items" msgstr "" -#: stock/forms.py:383 +#: stock/forms.py:350 msgid "Set Default Location" msgstr "" -#: stock/forms.py:383 +#: stock/forms.py:350 msgid "Set the destination as the default location for selected parts" msgstr "" -#: stock/models.py:52 stock/models.py:542 +#: stock/models.py:56 stock/models.py:550 msgid "Owner" msgstr "" -#: stock/models.py:53 stock/models.py:543 +#: stock/models.py:57 stock/models.py:551 msgid "Select Owner" msgstr "" -#: stock/models.py:271 +#: stock/models.py:279 msgid "StockItem with this serial number already exists" msgstr "" -#: stock/models.py:307 +#: stock/models.py:315 #, python-brace-format msgid "Part type ('{pf}') must be {pe}" msgstr "" -#: stock/models.py:317 stock/models.py:326 +#: stock/models.py:325 stock/models.py:334 msgid "Quantity must be 1 for item with a serial number" msgstr "" -#: stock/models.py:318 +#: stock/models.py:326 msgid "Serial number cannot be set if quantity greater than 1" msgstr "" -#: stock/models.py:340 +#: stock/models.py:348 msgid "Item cannot belong to itself" msgstr "" -#: stock/models.py:346 +#: stock/models.py:354 msgid "Item must have a build reference if is_building=True" msgstr "" -#: stock/models.py:353 +#: stock/models.py:361 msgid "Build reference does not point to the same part object" msgstr "" -#: stock/models.py:395 +#: stock/models.py:403 msgid "Parent Stock Item" msgstr "" -#: stock/models.py:404 +#: stock/models.py:412 msgid "Base part" msgstr "" -#: stock/models.py:413 +#: stock/models.py:421 msgid "Select a matching supplier part for this stock item" msgstr "" -#: stock/models.py:418 stock/templates/stock/stock_app_base.html:8 +#: stock/models.py:426 stock/templates/stock/stock_app_base.html:8 msgid "Stock Location" msgstr "" -#: stock/models.py:421 +#: stock/models.py:429 msgid "Where is this stock item located?" msgstr "" -#: stock/models.py:428 +#: stock/models.py:436 msgid "Packaging this stock item is stored in" msgstr "" -#: stock/models.py:433 stock/templates/stock/item_base.html:270 +#: stock/models.py:441 stock/templates/stock/item_base.html:270 msgid "Installed In" msgstr "" -#: stock/models.py:436 +#: stock/models.py:444 msgid "Is this item installed in another item?" msgstr "" -#: stock/models.py:452 +#: stock/models.py:460 msgid "Serial number for this item" msgstr "" -#: stock/models.py:464 +#: stock/models.py:472 msgid "Batch code for this stock item" msgstr "" -#: stock/models.py:468 +#: stock/models.py:476 msgid "Stock Quantity" msgstr "" -#: stock/models.py:477 +#: stock/models.py:485 msgid "Source Build" msgstr "" -#: stock/models.py:479 +#: stock/models.py:487 msgid "Build for this stock item" msgstr "" -#: stock/models.py:490 +#: stock/models.py:498 msgid "Source Purchase Order" msgstr "" -#: stock/models.py:493 +#: stock/models.py:501 msgid "Purchase order for this stock item" msgstr "" -#: stock/models.py:499 +#: stock/models.py:507 msgid "Destination Sales Order" msgstr "" -#: stock/models.py:506 +#: stock/models.py:514 msgid "Expiry date for stock item. Stock will be considered expired after this date" msgstr "" -#: stock/models.py:519 +#: stock/models.py:527 msgid "Delete on deplete" msgstr "" -#: stock/models.py:519 +#: stock/models.py:527 msgid "Delete this Stock Item when stock is depleted" msgstr "" -#: stock/models.py:529 stock/templates/stock/item_notes.html:13 +#: stock/models.py:537 stock/templates/stock/item_notes.html:13 #: stock/templates/stock/navbar.html:54 msgid "Stock Item Notes" msgstr "" -#: stock/models.py:538 +#: stock/models.py:546 msgid "Single unit purchase price at time of purchase" msgstr "" -#: stock/models.py:1006 +#: stock/models.py:1014 msgid "Part is not set as trackable" msgstr "" -#: stock/models.py:1012 +#: stock/models.py:1020 msgid "Quantity must be integer" msgstr "" -#: stock/models.py:1018 +#: stock/models.py:1026 #, python-brace-format msgid "Quantity must not exceed available stock quantity ({n})" msgstr "" -#: stock/models.py:1021 +#: stock/models.py:1029 msgid "Serial numbers must be a list of integers" msgstr "" -#: stock/models.py:1024 +#: stock/models.py:1032 msgid "Quantity does not match serial numbers" msgstr "" -#: stock/models.py:1031 +#: stock/models.py:1039 #, python-brace-format msgid "Serial numbers already exist: {exists}" msgstr "" -#: stock/models.py:1189 +#: stock/models.py:1197 msgid "StockItem cannot be moved as it is not in stock" msgstr "" -#: stock/models.py:1663 +#: stock/models.py:1679 msgid "Entry notes" msgstr "" -#: stock/models.py:1716 +#: stock/models.py:1736 msgid "Value must be provided for this test" msgstr "" -#: stock/models.py:1722 +#: stock/models.py:1742 msgid "Attachment must be uploaded for this test" msgstr "" -#: stock/models.py:1740 +#: stock/models.py:1760 msgid "Test name" msgstr "" -#: stock/models.py:1746 templates/js/table_filters.js:217 +#: stock/models.py:1766 templates/js/table_filters.js:222 msgid "Test result" msgstr "" -#: stock/models.py:1752 +#: stock/models.py:1772 msgid "Test output value" msgstr "" -#: stock/models.py:1759 +#: stock/models.py:1779 msgid "Test result attachment" msgstr "" -#: stock/models.py:1765 +#: stock/models.py:1785 msgid "Test notes" msgstr "" @@ -5850,6 +5799,10 @@ msgstr "" msgid "No stocktake performed" msgstr "" +#: stock/templates/stock/item_base.html:499 +msgid "Edit Stock Status" +msgstr "" + #: stock/templates/stock/item_childs.html:12 msgid "Child Stock Items" msgstr "" @@ -5909,6 +5862,19 @@ msgstr "" msgid "Add Test Data" msgstr "" +#: stock/templates/stock/item_tests.html:86 +#: stock/templates/stock/item_tests.html:111 +msgid "Add Test Result" +msgstr "" + +#: stock/templates/stock/item_tests.html:131 +msgid "Edit Test Result" +msgstr "" + +#: stock/templates/stock/item_tests.html:145 +msgid "Delete Test Result" +msgstr "" + #: stock/templates/stock/location.html:20 msgid "You are not in the list of owners of this location. This stock location cannot be edited." msgstr "" @@ -5957,7 +5923,7 @@ msgid "Stock Details" msgstr "" #: stock/templates/stock/location.html:117 templates/InvenTree/search.html:279 -#: templates/stats.html:97 users/models.py:41 +#: templates/stats.html:97 users/models.py:42 msgid "Stock Locations" msgstr "" @@ -5997,7 +5963,7 @@ msgstr "" msgid "The following stock items will be uninstalled" msgstr "" -#: stock/templates/stock/stockitem_convert.html:7 stock/views.py:1364 +#: stock/templates/stock/stockitem_convert.html:7 stock/views.py:1196 msgid "Convert Stock Item" msgstr "" @@ -6030,8 +5996,8 @@ msgstr "" msgid "Edit Stock Location" msgstr "" -#: stock/views.py:230 stock/views.py:1343 stock/views.py:1465 -#: stock/views.py:1830 +#: stock/views.py:230 stock/views.py:1175 stock/views.py:1297 +#: stock/views.py:1662 msgid "Owner is required (ownership control is enabled)" msgstr "" @@ -6039,208 +6005,188 @@ msgstr "" msgid "Stock Location QR code" msgstr "" -#: stock/views.py:265 -msgid "Add Stock Item Attachment" -msgstr "" - -#: stock/views.py:311 -msgid "Edit Stock Item Attachment" -msgstr "" - -#: stock/views.py:327 -msgid "Delete Stock Item Attachment" -msgstr "" - -#: stock/views.py:343 +#: stock/views.py:264 msgid "Assign to Customer" msgstr "" -#: stock/views.py:352 +#: stock/views.py:273 msgid "Customer must be specified" msgstr "" -#: stock/views.py:376 +#: stock/views.py:297 msgid "Return to Stock" msgstr "" -#: stock/views.py:385 +#: stock/views.py:306 msgid "Specify a valid location" msgstr "" -#: stock/views.py:396 +#: stock/views.py:317 msgid "Stock item returned from customer" msgstr "" -#: stock/views.py:407 +#: stock/views.py:328 msgid "Delete All Test Data" msgstr "" -#: stock/views.py:424 +#: stock/views.py:345 msgid "Confirm test data deletion" msgstr "" -#: stock/views.py:444 -msgid "Add Test Result" -msgstr "" - -#: stock/views.py:484 -msgid "Edit Test Result" -msgstr "" - -#: stock/views.py:501 -msgid "Delete Test Result" -msgstr "" - -#: stock/views.py:509 +#: stock/views.py:362 msgid "Stock Export Options" msgstr "" -#: stock/views.py:630 +#: stock/views.py:483 msgid "Stock Item QR Code" msgstr "" -#: stock/views.py:656 +#: stock/views.py:509 msgid "Install Stock Item" msgstr "" -#: stock/views.py:755 +#: stock/views.py:608 msgid "Uninstall Stock Items" msgstr "" -#: stock/views.py:863 +#: stock/views.py:716 msgid "Uninstalled stock items" msgstr "" -#: stock/views.py:888 +#: stock/views.py:741 msgid "Adjust Stock" msgstr "" -#: stock/views.py:998 +#: stock/views.py:851 msgid "Move Stock Items" msgstr "" -#: stock/views.py:998 +#: stock/views.py:851 msgid "Move" msgstr "" -#: stock/views.py:999 +#: stock/views.py:852 msgid "Count Stock Items" msgstr "" -#: stock/views.py:999 +#: stock/views.py:852 msgid "Count" msgstr "" -#: stock/views.py:1000 +#: stock/views.py:853 msgid "Remove From Stock" msgstr "" -#: stock/views.py:1000 +#: stock/views.py:853 msgid "Take" msgstr "" -#: stock/views.py:1001 +#: stock/views.py:854 msgid "Add Stock Items" msgstr "" -#: stock/views.py:1001 users/models.py:187 +#: stock/views.py:854 users/models.py:188 msgid "Add" msgstr "" -#: stock/views.py:1002 +#: stock/views.py:855 msgid "Delete Stock Items" msgstr "" -#: stock/views.py:1031 +#: stock/views.py:884 msgid "Must enter integer value" msgstr "" -#: stock/views.py:1036 +#: stock/views.py:889 msgid "Quantity must be positive" msgstr "" -#: stock/views.py:1043 +#: stock/views.py:896 #, python-brace-format msgid "Quantity must not exceed {x}" msgstr "" -#: stock/views.py:1107 +#: stock/views.py:960 msgid "No action performed" msgstr "" -#: stock/views.py:1122 +#: stock/views.py:975 #, python-brace-format msgid "Added stock to {n} items" msgstr "" -#: stock/views.py:1137 +#: stock/views.py:990 #, python-brace-format msgid "Removed stock from {n} items" msgstr "" -#: stock/views.py:1150 +#: stock/views.py:1003 #, python-brace-format msgid "Counted stock for {n} items" msgstr "" -#: stock/views.py:1190 +#: stock/views.py:1043 msgid "No items were moved" msgstr "" -#: stock/views.py:1193 +#: stock/views.py:1046 #, python-brace-format msgid "Moved {n} items to {dest}" msgstr "" -#: stock/views.py:1212 +#: stock/views.py:1065 #, python-brace-format msgid "Deleted {n} stock items" msgstr "" -#: stock/views.py:1222 -msgid "Edit Stock Item Status" -msgstr "" - -#: stock/views.py:1245 +#: stock/views.py:1077 msgid "Edit Stock Item" msgstr "" -#: stock/views.py:1482 +#: stock/views.py:1314 msgid "Serialize Stock" msgstr "" -#: stock/views.py:1575 templates/js/build.js:327 +#: stock/views.py:1407 templates/js/build.js:327 msgid "Create new Stock Item" msgstr "" -#: stock/views.py:1717 +#: stock/views.py:1549 msgid "Duplicate Stock Item" msgstr "" -#: stock/views.py:1799 +#: stock/views.py:1631 msgid "Quantity cannot be negative" msgstr "" -#: stock/views.py:1899 +#: stock/views.py:1731 msgid "Delete Stock Location" msgstr "" -#: stock/views.py:1912 +#: stock/views.py:1744 msgid "Delete Stock Item" msgstr "" -#: stock/views.py:1923 +#: stock/views.py:1755 msgid "Delete Stock Tracking Entry" msgstr "" -#: stock/views.py:1930 +#: stock/views.py:1762 msgid "Edit Stock Tracking Entry" msgstr "" -#: stock/views.py:1939 +#: stock/views.py:1771 msgid "Add Stock Tracking Entry" msgstr "" +#: templates/403.html:5 templates/403.html:11 +msgid "Permission Denied" +msgstr "" + +#: templates/403.html:14 +msgid "You do not have permission to view this page." +msgstr "" + #: templates/404.html:5 templates/404.html:11 msgid "Page Not Found" msgstr "" @@ -6269,35 +6215,39 @@ msgstr "" msgid "Recently Updated" msgstr "" -#: templates/InvenTree/index.html:145 -msgid "Expired Stock" +#: templates/InvenTree/index.html:131 +msgid "Depleted Stock" msgstr "" #: templates/InvenTree/index.html:146 +msgid "Expired Stock" +msgstr "" + +#: templates/InvenTree/index.html:147 msgid "Stale Stock" msgstr "" -#: templates/InvenTree/index.html:184 +#: templates/InvenTree/index.html:192 msgid "Build Orders In Progress" msgstr "" -#: templates/InvenTree/index.html:185 +#: templates/InvenTree/index.html:193 msgid "Overdue Build Orders" msgstr "" -#: templates/InvenTree/index.html:206 +#: templates/InvenTree/index.html:214 msgid "Outstanding Purchase Orders" msgstr "" -#: templates/InvenTree/index.html:207 +#: templates/InvenTree/index.html:215 msgid "Overdue Purchase Orders" msgstr "" -#: templates/InvenTree/index.html:229 +#: templates/InvenTree/index.html:237 msgid "Outstanding Sales Orders" msgstr "" -#: templates/InvenTree/index.html:230 +#: templates/InvenTree/index.html:238 msgid "Overdue Sales Orders" msgstr "" @@ -6582,24 +6532,12 @@ msgstr "" msgid "copy version information" msgstr "" -#: templates/about.html:100 templates/js/modals.js:568 -#: templates/js/modals.js:861 templates/modals.html:29 templates/modals.html:54 -#: templates/modals.html:97 +#: templates/about.html:100 templates/js/modals.js:34 +#: templates/js/modals.js:677 templates/js/modals.js:970 +#: templates/modals.html:29 templates/modals.html:54 templates/modals.html:97 msgid "Close" msgstr "" -#: templates/attachment_table.html:6 -msgid "Add Attachment" -msgstr "" - -#: templates/attachment_table.html:17 -msgid "Uploaded" -msgstr "" - -#: templates/attachment_table.html:35 -msgid "Delete attachment" -msgstr "" - #: templates/image_download.html:8 msgid "Specify URL for downloading image" msgstr "" @@ -6616,6 +6554,22 @@ msgstr "" msgid "Remote image must not exceed maximum allowable file size" msgstr "" +#: templates/js/attachment.js:16 +msgid "No attachments found" +msgstr "" + +#: templates/js/attachment.js:56 +msgid "Upload Date" +msgstr "" + +#: templates/js/attachment.js:69 +msgid "Edit attachment" +msgstr "" + +#: templates/js/attachment.js:76 +msgid "Delete attachment" +msgstr "" + #: templates/js/barcode.js:8 msgid "Scan barcode data here using wedge scanner" msgstr "" @@ -6644,7 +6598,7 @@ msgstr "" msgid "Unknown response from server" msgstr "" -#: templates/js/barcode.js:119 templates/js/modals.js:921 +#: templates/js/barcode.js:119 templates/js/modals.js:1030 msgid "Invalid server response" msgstr "" @@ -6744,7 +6698,7 @@ msgstr "" msgid "Edit BOM Item" msgstr "" -#: templates/js/bom.js:372 +#: templates/js/bom.js:372 templates/js/bom.js:519 msgid "Delete BOM Item" msgstr "" @@ -6772,7 +6726,7 @@ msgstr "" msgid "No build order allocations found" msgstr "" -#: templates/js/build.js:222 templates/js/order.js:382 +#: templates/js/build.js:222 templates/js/order.js:449 msgid "Location not specified" msgstr "" @@ -6798,7 +6752,7 @@ msgid "No builds matching query" msgstr "" #: templates/js/build.js:806 templates/js/part.js:390 templates/js/part.js:635 -#: templates/js/stock.js:514 templates/js/stock.js:966 +#: templates/js/stock.js:514 templates/js/stock.js:980 msgid "Select" msgstr "" @@ -6810,45 +6764,69 @@ msgstr "" msgid "No parts allocated for" msgstr "" -#: templates/js/company.js:74 +#: templates/js/company.js:45 +msgid "Edit Company" +msgstr "" + +#: templates/js/company.js:66 +msgid "Add new Company" +msgstr "" + +#: templates/js/company.js:143 msgid "Parts Supplied" msgstr "" -#: templates/js/company.js:83 +#: templates/js/company.js:152 msgid "Parts Manufactured" msgstr "" -#: templates/js/company.js:96 +#: templates/js/company.js:165 msgid "No company information found" msgstr "" -#: templates/js/company.js:129 +#: templates/js/company.js:183 +msgid "The following manufacturer parts will be deleted" +msgstr "" + +#: templates/js/company.js:200 +msgid "Delete Manufacturer Parts" +msgstr "" + +#: templates/js/company.js:253 msgid "No manufacturer parts found" msgstr "" -#: templates/js/company.js:148 templates/js/company.js:347 +#: templates/js/company.js:272 templates/js/company.js:472 #: templates/js/part.js:68 templates/js/part.js:153 msgid "Template part" msgstr "" -#: templates/js/company.js:152 templates/js/company.js:351 +#: templates/js/company.js:276 templates/js/company.js:476 #: templates/js/part.js:72 templates/js/part.js:157 msgid "Assembled part" msgstr "" -#: templates/js/company.js:226 +#: templates/js/company.js:350 msgid "No parameters found" msgstr "" -#: templates/js/company.js:262 +#: templates/js/company.js:386 msgid "Edit parameter" msgstr "" -#: templates/js/company.js:263 +#: templates/js/company.js:387 msgid "Delete parameter" msgstr "" -#: templates/js/company.js:328 +#: templates/js/company.js:406 +msgid "Edit Parameter" +msgstr "" + +#: templates/js/company.js:417 +msgid "Delete Parameter" +msgstr "" + +#: templates/js/company.js:453 msgid "No supplier parts found" msgstr "" @@ -6876,6 +6854,83 @@ msgstr "" msgid "Create filter" msgstr "" +#: templates/js/forms.js:278 templates/js/forms.js:291 +#: templates/js/forms.js:303 templates/js/forms.js:315 +msgid "Action Prohibited" +msgstr "" + +#: templates/js/forms.js:279 +msgid "Create operation not allowed" +msgstr "" + +#: templates/js/forms.js:292 +msgid "Update operation not allowed" +msgstr "" + +#: templates/js/forms.js:304 +msgid "Delete operation not allowed" +msgstr "" + +#: templates/js/forms.js:316 +msgid "View operation not allowed" +msgstr "" + +#: templates/js/forms.js:583 templates/js/modals.js:1040 +msgid "No Response" +msgstr "" + +#: templates/js/forms.js:584 templates/js/modals.js:1041 +msgid "No response from the InvenTree server" +msgstr "" + +#: templates/js/forms.js:590 templates/js/modals.js:1050 +msgid "Error 401: Not Authenticated" +msgstr "" + +#: templates/js/forms.js:591 templates/js/modals.js:1051 +msgid "Authentication credentials not supplied" +msgstr "" + +#: templates/js/forms.js:597 templates/js/modals.js:1055 +msgid "Error 403: Permission Denied" +msgstr "" + +#: templates/js/forms.js:598 templates/js/modals.js:1056 +msgid "You do not have the required permissions to access this function" +msgstr "" + +#: templates/js/forms.js:604 templates/js/modals.js:1060 +msgid "Error 404: Resource Not Found" +msgstr "" + +#: templates/js/forms.js:605 templates/js/modals.js:1061 +msgid "The requested resource could not be located on the server" +msgstr "" + +#: templates/js/forms.js:611 templates/js/modals.js:1065 +msgid "Error 408: Timeout" +msgstr "" + +#: templates/js/forms.js:612 templates/js/modals.js:1066 +msgid "Connection timeout while requesting data from server" +msgstr "" + +#: templates/js/forms.js:618 templates/js/modals.js:1069 +msgid "Error requesting form data" +msgstr "" + +#: templates/js/forms.js:788 templates/modals.html:21 templates/modals.html:47 +msgid "Form errors exist" +msgstr "" + +#: templates/js/forms.js:1161 +msgid "Searching" +msgstr "" + +#: templates/js/forms.js:1301 +msgid "Clear input" +msgstr "" + #: templates/js/label.js:10 templates/js/report.js:98 msgid "Select Stock Items" msgstr "" @@ -6916,112 +6971,102 @@ msgstr "" msgid "Select Label Template" msgstr "" -#: templates/js/modals.js:265 -msgid "Waiting for server..." -msgstr "" - -#: templates/js/modals.js:424 -msgid "Show Error Information" -msgstr "" - -#: templates/js/modals.js:491 templates/modals.html:76 -msgid "Accept" -msgstr "" - -#: templates/js/modals.js:492 templates/modals.html:75 +#: templates/js/modals.js:59 templates/js/modals.js:105 +#: templates/js/modals.js:601 templates/modals.html:75 msgid "Cancel" msgstr "" -#: templates/js/modals.js:556 -msgid "Loading Data" -msgstr "" - -#: templates/js/modals.js:567 templates/js/modals.js:860 +#: templates/js/modals.js:60 templates/js/modals.js:104 +#: templates/js/modals.js:676 templates/js/modals.js:969 #: templates/modals.html:30 templates/modals.html:55 msgid "Submit" msgstr "" -#: templates/js/modals.js:811 +#: templates/js/modals.js:103 +msgid "Form Title" +msgstr "" + +#: templates/js/modals.js:374 +msgid "Waiting for server..." +msgstr "" + +#: templates/js/modals.js:533 +msgid "Show Error Information" +msgstr "" + +#: templates/js/modals.js:600 templates/modals.html:76 +msgid "Accept" +msgstr "" + +#: templates/js/modals.js:665 +msgid "Loading Data" +msgstr "" + +#: templates/js/modals.js:920 msgid "Invalid response from server" msgstr "" -#: templates/js/modals.js:811 +#: templates/js/modals.js:920 msgid "Form data missing from server response" msgstr "" -#: templates/js/modals.js:824 +#: templates/js/modals.js:933 msgid "Error posting form data" msgstr "" -#: templates/js/modals.js:921 +#: templates/js/modals.js:1030 msgid "JSON response missing form data" msgstr "" -#: templates/js/modals.js:931 -msgid "No Response" -msgstr "" - -#: templates/js/modals.js:932 -msgid "No response from the InvenTree server" -msgstr "" - -#: templates/js/modals.js:936 +#: templates/js/modals.js:1045 msgid "Error 400: Bad Request" msgstr "" -#: templates/js/modals.js:937 +#: templates/js/modals.js:1046 msgid "Server returned error code 400" msgstr "" -#: templates/js/modals.js:941 -msgid "Error 401: Not Authenticated" +#: templates/js/model_renderers.js:21 +msgid "Company ID" msgstr "" -#: templates/js/modals.js:942 -msgid "Authentication credentials not supplied" +#: templates/js/model_renderers.js:63 +msgid "Location ID" msgstr "" -#: templates/js/modals.js:946 -msgid "Error 403: Permission Denied" +#: templates/js/model_renderers.js:90 +msgid "Part ID" msgstr "" -#: templates/js/modals.js:947 -msgid "You do not have the required permissions to access this function" +#: templates/js/model_renderers.js:126 +msgid "Category ID" msgstr "" -#: templates/js/modals.js:951 -msgid "Error 404: Resource Not Found" +#: templates/js/model_renderers.js:150 +msgid "Supplier Part ID" msgstr "" -#: templates/js/modals.js:952 -msgid "The requested resource could not be located on the server" +#: templates/js/order.js:31 +msgid "Create Sales Order" msgstr "" -#: templates/js/modals.js:956 -msgid "Error 408: Timeout" -msgstr "" - -#: templates/js/modals.js:957 -msgid "Connection timeout while requesting data from server" -msgstr "" - -#: templates/js/modals.js:960 -msgid "Error requesting form data" -msgstr "" - -#: templates/js/order.js:138 +#: templates/js/order.js:200 msgid "No purchase orders found" msgstr "" -#: templates/js/order.js:162 templates/js/order.js:257 +#: templates/js/order.js:224 templates/js/order.js:319 msgid "Order is overdue" msgstr "" -#: templates/js/order.js:234 +#: templates/js/order.js:296 msgid "No sales orders found" msgstr "" -#: templates/js/order.js:343 +#: templates/js/order.js:333 +msgid "Invalid Customer" +msgstr "" + +#: templates/js/order.js:410 msgid "No sales order allocations found" msgstr "" @@ -7061,11 +7106,11 @@ msgstr "" msgid "No category" msgstr "" -#: templates/js/part.js:476 templates/js/table_filters.js:323 +#: templates/js/part.js:476 templates/js/table_filters.js:328 msgid "Low stock" msgstr "" -#: templates/js/part.js:660 templates/js/stock.js:990 +#: templates/js/part.js:660 templates/js/stock.js:1004 msgid "Path" msgstr "" @@ -7085,7 +7130,22 @@ msgstr "" msgid "This test is defined for a parent part" msgstr "" -#: templates/js/part.js:806 +#: templates/js/part.js:786 +#, python-brace-format +msgid "No ${human_name} information found" +msgstr "" + +#: templates/js/part.js:839 +#, python-brace-format +msgid "Edit ${human_name}" +msgstr "" + +#: templates/js/part.js:840 +#, python-brace-format +msgid "Delete ${human_name}" +msgstr "" + +#: templates/js/part.js:959 msgid "Single Price Difference" msgstr "" @@ -7263,75 +7323,75 @@ msgstr "" msgid "Stocktake" msgstr "" -#: templates/js/stock.js:853 +#: templates/js/stock.js:867 msgid "Stock Status" msgstr "" -#: templates/js/stock.js:868 +#: templates/js/stock.js:882 msgid "Set Stock Status" msgstr "" -#: templates/js/stock.js:882 +#: templates/js/stock.js:896 msgid "Select Status Code" msgstr "" -#: templates/js/stock.js:883 +#: templates/js/stock.js:897 msgid "Status code must be selected" msgstr "" -#: templates/js/stock.js:1022 +#: templates/js/stock.js:1036 msgid "Invalid date" msgstr "" -#: templates/js/stock.js:1069 +#: templates/js/stock.js:1083 msgid "Location no longer exists" msgstr "" -#: templates/js/stock.js:1088 +#: templates/js/stock.js:1102 msgid "Purchase order no longer exists" msgstr "" -#: templates/js/stock.js:1107 +#: templates/js/stock.js:1121 msgid "Customer no longer exists" msgstr "" -#: templates/js/stock.js:1125 +#: templates/js/stock.js:1139 msgid "Stock item no longer exists" msgstr "" -#: templates/js/stock.js:1148 +#: templates/js/stock.js:1162 msgid "Added" msgstr "" -#: templates/js/stock.js:1156 +#: templates/js/stock.js:1170 msgid "Removed" msgstr "" -#: templates/js/stock.js:1188 +#: templates/js/stock.js:1202 msgid "No user information" msgstr "" -#: templates/js/stock.js:1200 +#: templates/js/stock.js:1214 msgid "Edit tracking entry" msgstr "" -#: templates/js/stock.js:1201 +#: templates/js/stock.js:1215 msgid "Delete tracking entry" msgstr "" -#: templates/js/stock.js:1325 +#: templates/js/stock.js:1339 msgid "Create New Location" msgstr "" -#: templates/js/stock.js:1366 +#: templates/js/stock.js:1380 msgid "No installed items" msgstr "" -#: templates/js/stock.js:1389 +#: templates/js/stock.js:1403 msgid "Serial" msgstr "" -#: templates/js/stock.js:1417 +#: templates/js/stock.js:1431 msgid "Uninstall Stock Item" msgstr "" @@ -7352,7 +7412,7 @@ msgid "Include locations" msgstr "" #: templates/js/table_filters.js:86 templates/js/table_filters.js:87 -#: templates/js/table_filters.js:300 +#: templates/js/table_filters.js:305 msgid "Include subcategories" msgstr "" @@ -7385,7 +7445,7 @@ msgstr "" msgid "Batch code" msgstr "" -#: templates/js/table_filters.js:123 templates/js/table_filters.js:290 +#: templates/js/table_filters.js:123 templates/js/table_filters.js:295 msgid "Active parts" msgstr "" @@ -7457,43 +7517,51 @@ msgstr "" msgid "Stock status" msgstr "" -#: templates/js/table_filters.js:236 +#: templates/js/table_filters.js:211 +msgid "Has purchase price" +msgstr "" + +#: templates/js/table_filters.js:212 +msgid "Show stock items which have a purchase price set" +msgstr "" + +#: templates/js/table_filters.js:241 msgid "Build status" msgstr "" -#: templates/js/table_filters.js:255 templates/js/table_filters.js:272 +#: templates/js/table_filters.js:260 templates/js/table_filters.js:277 msgid "Order status" msgstr "" -#: templates/js/table_filters.js:260 templates/js/table_filters.js:277 +#: templates/js/table_filters.js:265 templates/js/table_filters.js:282 msgid "Outstanding" msgstr "" -#: templates/js/table_filters.js:301 +#: templates/js/table_filters.js:306 msgid "Include parts in subcategories" msgstr "" -#: templates/js/table_filters.js:305 +#: templates/js/table_filters.js:310 msgid "Has IPN" msgstr "" -#: templates/js/table_filters.js:306 +#: templates/js/table_filters.js:311 msgid "Part has internal part number" msgstr "" -#: templates/js/table_filters.js:311 +#: templates/js/table_filters.js:316 msgid "Show active parts" msgstr "" -#: templates/js/table_filters.js:319 +#: templates/js/table_filters.js:324 msgid "Stock available" msgstr "" -#: templates/js/table_filters.js:335 +#: templates/js/table_filters.js:340 msgid "Starred" msgstr "" -#: templates/js/table_filters.js:347 +#: templates/js/table_filters.js:352 msgid "Purchasable" msgstr "" @@ -7550,10 +7618,6 @@ msgstr "" msgid "All" msgstr "" -#: templates/modals.html:21 templates/modals.html:47 -msgid "Form errors exist" -msgstr "" - #: templates/navbar.html:13 msgid "Toggle navigation" msgstr "" @@ -7570,7 +7634,7 @@ msgstr "" msgid "Scan Barcode" msgstr "" -#: templates/navbar.html:77 users/models.py:38 +#: templates/navbar.html:77 users/models.py:39 msgid "Admin" msgstr "" @@ -7790,35 +7854,35 @@ msgstr "" msgid "Important dates" msgstr "" -#: users/models.py:174 +#: users/models.py:175 msgid "Permission set" msgstr "" -#: users/models.py:182 +#: users/models.py:183 msgid "Group" msgstr "" -#: users/models.py:185 +#: users/models.py:186 msgid "View" msgstr "" -#: users/models.py:185 +#: users/models.py:186 msgid "Permission to view items" msgstr "" -#: users/models.py:187 +#: users/models.py:188 msgid "Permission to add items" msgstr "" -#: users/models.py:189 +#: users/models.py:190 msgid "Change" msgstr "" -#: users/models.py:189 +#: users/models.py:190 msgid "Permissions to edit items" msgstr "" -#: users/models.py:191 +#: users/models.py:192 msgid "Permission to delete items" msgstr "" diff --git a/InvenTree/locale/fr/LC_MESSAGES/django.po b/InvenTree/locale/fr/LC_MESSAGES/django.po index 44f96424bc..3b11868014 100644 --- a/InvenTree/locale/fr/LC_MESSAGES/django.po +++ b/InvenTree/locale/fr/LC_MESSAGES/django.po @@ -2,8 +2,8 @@ msgid "" msgstr "" "Project-Id-Version: inventree\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2021-07-01 22:35+0000\n" -"PO-Revision-Date: 2021-07-01 22:38\n" +"POT-Creation-Date: 2021-07-03 12:15+0000\n" +"PO-Revision-Date: 2021-07-03 12:44\n" "Last-Translator: \n" "Language-Team: French\n" "Language: fr_FR\n" @@ -29,14 +29,14 @@ msgstr "Aucune action spécifiée" msgid "No matching action found" msgstr "Aucune action correspondante trouvée" -#: InvenTree/fields.py:84 +#: InvenTree/fields.py:99 msgid "Enter date" msgstr "Entrer la date" #: InvenTree/forms.py:112 build/forms.py:102 build/forms.py:123 #: build/forms.py:145 build/forms.py:169 build/forms.py:185 build/forms.py:227 -#: order/forms.py:31 order/forms.py:42 order/forms.py:53 order/forms.py:64 -#: order/forms.py:75 part/forms.py:134 +#: order/forms.py:30 order/forms.py:41 order/forms.py:52 order/forms.py:63 +#: order/forms.py:74 part/forms.py:118 templates/js/forms.js:486 msgid "Confirm" msgstr "Confirmer" @@ -77,8 +77,8 @@ msgstr "Sélectionnez une catégorie" msgid "Duplicate serial: {n}" msgstr "Dupliquer le numéro de série: {n}" -#: InvenTree/helpers.py:403 order/models.py:244 order/models.py:354 -#: stock/views.py:1795 +#: InvenTree/helpers.py:403 order/models.py:311 order/models.py:421 +#: stock/views.py:1627 msgid "Invalid quantity provided" msgstr "Quantité fournie invalide" @@ -106,49 +106,53 @@ msgstr "Aucun numéro de série trouvé" msgid "Number of unique serial number ({s}) must match quantity ({q})" msgstr "Le nombre de numéros de série uniques ({s}) doit correspondre à la quantité ({q})" -#: InvenTree/models.py:59 stock/models.py:1758 +#: InvenTree/models.py:61 stock/models.py:1778 msgid "Attachment" msgstr "Pièce jointe" -#: InvenTree/models.py:60 +#: InvenTree/models.py:62 msgid "Select file to attach" msgstr "Sélectionnez un fichier à joindre" -#: InvenTree/models.py:62 templates/attachment_table.html:16 +#: InvenTree/models.py:64 templates/js/attachment.js:52 msgid "Comment" msgstr "Commentaire" -#: InvenTree/models.py:62 +#: InvenTree/models.py:64 msgid "File comment" msgstr "Commentaire du fichier" -#: InvenTree/models.py:68 InvenTree/models.py:69 part/models.py:2022 +#: InvenTree/models.py:70 InvenTree/models.py:71 part/models.py:2043 #: report/templates/report/inventree_test_report_base.html:91 -#: templates/js/stock.js:1179 +#: templates/js/stock.js:1193 msgid "User" msgstr "Utilisateur" -#: InvenTree/models.py:72 +#: InvenTree/models.py:74 msgid "upload date" msgstr "date de chargement" -#: InvenTree/models.py:107 InvenTree/models.py:108 company/models.py:396 -#: label/models.py:102 part/models.py:671 part/models.py:2163 +#: InvenTree/models.py:102 +msgid "Invalid choice" +msgstr "" + +#: InvenTree/models.py:118 InvenTree/models.py:119 company/models.py:414 +#: label/models.py:103 part/models.py:680 part/models.py:2192 #: part/templates/part/params.html:27 report/models.py:180 #: templates/InvenTree/search.html:137 templates/InvenTree/search.html:289 -#: templates/js/company.js:235 templates/js/part.js:118 -#: templates/js/part.js:642 templates/js/stock.js:972 +#: templates/js/company.js:359 templates/js/part.js:118 +#: templates/js/part.js:642 templates/js/stock.js:986 msgid "Name" msgstr "Nom" -#: InvenTree/models.py:114 build/models.py:135 -#: build/templates/build/detail.html:21 company/models.py:339 -#: company/models.py:532 company/templates/company/detail.html:27 +#: InvenTree/models.py:125 build/models.py:139 +#: build/templates/build/detail.html:21 company/models.py:353 +#: company/models.py:554 company/templates/company/detail.html:27 #: company/templates/company/manufacturer_part_base.html:72 #: company/templates/company/supplier_part_base.html:71 -#: company/templates/company/supplier_part_detail.html:31 label/models.py:109 -#: order/models.py:100 order/templates/order/purchase_order_detail.html:147 -#: part/models.py:695 part/templates/part/detail.html:54 +#: company/templates/company/supplier_part_detail.html:31 label/models.py:110 +#: order/models.py:154 order/templates/order/purchase_order_detail.html:174 +#: part/models.py:704 part/templates/part/detail.html:54 #: part/templates/part/set_category.html:14 report/models.py:193 #: report/models.py:530 report/models.py:569 #: report/templates/report/inventree_build_order_base.html:118 @@ -156,39 +160,43 @@ msgstr "Nom" #: templates/InvenTree/search.html:296 #: templates/InvenTree/settings/header.html:9 templates/js/bom.js:190 #: templates/js/build.js:834 templates/js/build.js:1102 -#: templates/js/company.js:56 templates/js/order.js:183 -#: templates/js/order.js:280 templates/js/part.js:177 templates/js/part.js:260 +#: templates/js/company.js:125 templates/js/order.js:245 +#: templates/js/order.js:347 templates/js/part.js:177 templates/js/part.js:260 #: templates/js/part.js:437 templates/js/part.js:654 templates/js/part.js:722 -#: templates/js/stock.js:557 templates/js/stock.js:984 -#: templates/js/stock.js:1029 +#: templates/js/stock.js:557 templates/js/stock.js:998 +#: templates/js/stock.js:1043 msgid "Description" msgstr "Description" -#: InvenTree/models.py:115 +#: InvenTree/models.py:126 msgid "Description (optional)" msgstr "Description (facultative)" -#: InvenTree/models.py:123 +#: InvenTree/models.py:134 msgid "parent" msgstr "parent" -#: InvenTree/settings.py:504 +#: InvenTree/serializers.py:52 +msgid "Must be a valid number" +msgstr "" + +#: InvenTree/settings.py:505 msgid "English" msgstr "Anglais" -#: InvenTree/settings.py:505 +#: InvenTree/settings.py:506 msgid "French" msgstr "Français" -#: InvenTree/settings.py:506 +#: InvenTree/settings.py:507 msgid "German" msgstr "Allemand" -#: InvenTree/settings.py:507 +#: InvenTree/settings.py:508 msgid "Polish" msgstr "Polonais" -#: InvenTree/settings.py:508 +#: InvenTree/settings.py:509 msgid "Turkish" msgstr "Turc" @@ -446,50 +454,48 @@ msgid "Order target date" msgstr "" #: build/forms.py:42 build/templates/build/build_base.html:146 -#: build/templates/build/detail.html:121 order/forms.py:118 order/forms.py:153 +#: build/templates/build/detail.html:121 #: order/templates/order/order_base.html:124 #: order/templates/order/sales_order_base.html:119 #: report/templates/report/inventree_build_order_base.html:126 -#: templates/js/build.js:881 templates/js/order.js:200 -#: templates/js/order.js:298 +#: templates/js/build.js:881 templates/js/order.js:262 +#: templates/js/order.js:365 msgid "Target Date" msgstr "" -#: build/forms.py:43 build/models.py:225 +#: build/forms.py:43 build/models.py:229 msgid "Target date for build completion. Build will be overdue after this date." msgstr "" -#: build/forms.py:48 build/forms.py:90 build/forms.py:266 build/models.py:1346 +#: build/forms.py:48 build/forms.py:90 build/forms.py:266 build/models.py:1354 #: build/templates/build/allocation_card.html:23 #: build/templates/build/auto_allocate.html:17 #: build/templates/build/build_base.html:133 #: build/templates/build/detail.html:31 common/models.py:741 -#: company/forms.py:189 company/templates/company/supplier_part_pricing.html:77 -#: order/forms.py:197 order/forms.py:215 order/forms.py:250 order/forms.py:272 -#: order/forms.py:289 order/models.py:613 order/models.py:835 -#: order/templates/order/order_wizard/match_parts.html:30 +#: company/forms.py:124 company/templates/company/supplier_part_pricing.html:79 +#: order/forms.py:120 order/forms.py:142 order/forms.py:159 order/models.py:702 +#: order/models.py:941 order/templates/order/order_wizard/match_parts.html:30 #: order/templates/order/order_wizard/select_parts.html:34 -#: order/templates/order/purchase_order_detail.html:179 -#: order/templates/order/sales_order_detail.html:70 -#: order/templates/order/sales_order_detail.html:77 -#: order/templates/order/sales_order_detail.html:162 -#: order/templates/order/sales_order_detail.html:234 part/forms.py:342 -#: part/forms.py:372 part/forms.py:388 part/forms.py:404 part/models.py:2293 -#: part/templates/part/internal_prices.html:98 -#: part/templates/part/order_prices.html:203 -#: part/templates/part/part_pricing.html:16 -#: part/templates/part/sale_prices.html:85 +#: order/templates/order/purchase_order_detail.html:206 +#: order/templates/order/sales_order_detail.html:80 +#: order/templates/order/sales_order_detail.html:87 +#: order/templates/order/sales_order_detail.html:172 +#: order/templates/order/sales_order_detail.html:244 part/forms.py:314 +#: part/forms.py:344 part/forms.py:360 part/forms.py:376 part/models.py:2330 +#: part/templates/part/part_pricing.html:16 part/templates/part/prices.html:377 +#: part/templates/part/prices.html:474 #: report/templates/report/inventree_build_order_base.html:114 #: report/templates/report/inventree_po_report.html:91 #: report/templates/report/inventree_so_report.html:91 #: report/templates/report/inventree_test_report_base.html:77 -#: stock/forms.py:175 stock/forms.py:308 +#: stock/forms.py:142 stock/forms.py:275 #: stock/templates/stock/item_base.html:255 #: stock/templates/stock/stock_adjust.html:18 templates/js/barcode.js:364 #: templates/js/bom.js:205 templates/js/build.js:233 templates/js/build.js:572 -#: templates/js/build.js:1112 templates/js/order.js:393 -#: templates/js/part.js:796 templates/js/stock.js:1164 -#: templates/js/stock.js:1383 +#: templates/js/build.js:1112 templates/js/model_renderers.js:43 +#: templates/js/order.js:460 templates/js/part.js:827 templates/js/part.js:949 +#: templates/js/part.js:1005 templates/js/stock.js:1178 +#: templates/js/stock.js:1397 msgid "Quantity" msgstr "Quantité" @@ -501,7 +507,7 @@ msgstr "" msgid "Enter quantity for build output" msgstr "" -#: build/forms.py:95 order/forms.py:244 stock/forms.py:118 +#: build/forms.py:95 order/forms.py:114 stock/forms.py:85 msgid "Serial Numbers" msgstr "Numéros de série" @@ -530,12 +536,12 @@ msgid "Mark build as complete" msgstr "" #: build/forms.py:210 build/templates/build/auto_allocate.html:18 -#: stock/forms.py:347 stock/templates/stock/item_base.html:285 +#: stock/forms.py:314 stock/templates/stock/item_base.html:285 #: stock/templates/stock/stock_adjust.html:17 #: templates/InvenTree/search.html:260 templates/js/barcode.js:363 #: templates/js/barcode.js:531 templates/js/build.js:218 -#: templates/js/build.js:586 templates/js/order.js:378 -#: templates/js/stock.js:643 templates/js/stock.js:1056 +#: templates/js/build.js:586 templates/js/order.js:445 +#: templates/js/stock.js:643 templates/js/stock.js:1070 msgid "Location" msgstr "" @@ -544,13 +550,13 @@ msgid "Location of completed parts" msgstr "Emplacement des pièces terminées" #: build/forms.py:215 build/templates/build/build_base.html:138 -#: build/templates/build/detail.html:59 order/models.py:465 +#: build/templates/build/detail.html:59 order/models.py:545 #: order/templates/order/receive_parts.html:24 #: stock/templates/stock/item_base.html:408 templates/InvenTree/search.html:252 #: templates/js/barcode.js:119 templates/js/build.js:868 -#: templates/js/order.js:187 templates/js/order.js:285 -#: templates/js/stock.js:630 templates/js/stock.js:1133 -#: templates/js/stock.js:1399 +#: templates/js/order.js:249 templates/js/order.js:352 +#: templates/js/stock.js:630 templates/js/stock.js:1147 +#: templates/js/stock.js:1413 msgid "Status" msgstr "" @@ -582,60 +588,60 @@ msgstr "" msgid "Select quantity of stock to allocate" msgstr "" -#: build/models.py:66 build/templates/build/build_base.html:9 +#: build/models.py:70 build/templates/build/build_base.html:9 #: build/templates/build/build_base.html:73 #: report/templates/report/inventree_build_order_base.html:106 #: templates/js/build.js:195 msgid "Build Order" msgstr "" -#: build/models.py:67 build/templates/build/index.html:8 +#: build/models.py:71 build/templates/build/index.html:8 #: build/templates/build/index.html:15 order/templates/order/so_builds.html:12 #: order/templates/order/so_navbar.html:19 #: order/templates/order/so_navbar.html:22 part/templates/part/navbar.html:58 -#: part/templates/part/navbar.html:61 templates/InvenTree/index.html:183 +#: part/templates/part/navbar.html:61 templates/InvenTree/index.html:191 #: templates/InvenTree/search.html:185 -#: templates/InvenTree/settings/tabs.html:34 users/models.py:43 +#: templates/InvenTree/settings/tabs.html:34 users/models.py:44 msgid "Build Orders" msgstr "" -#: build/models.py:127 +#: build/models.py:131 msgid "Build Order Reference" msgstr "" -#: build/models.py:128 order/models.py:98 order/models.py:615 -#: order/templates/order/purchase_order_detail.html:174 -#: order/templates/order/sales_order_detail.html:229 part/models.py:2302 +#: build/models.py:132 order/models.py:242 order/models.py:529 +#: order/models.py:709 order/templates/order/purchase_order_detail.html:201 +#: order/templates/order/sales_order_detail.html:239 part/models.py:2339 #: report/templates/report/inventree_po_report.html:92 #: report/templates/report/inventree_so_report.html:92 templates/js/bom.js:197 #: templates/js/build.js:661 templates/js/build.js:1106 msgid "Reference" msgstr "Référence" -#: build/models.py:138 +#: build/models.py:142 msgid "Brief description of the build" msgstr "" -#: build/models.py:147 build/templates/build/build_base.html:163 +#: build/models.py:151 build/templates/build/build_base.html:163 #: build/templates/build/detail.html:77 msgid "Parent Build" msgstr "" -#: build/models.py:148 +#: build/models.py:152 msgid "BuildOrder to which this build is allocated" msgstr "" -#: build/models.py:153 build/templates/build/auto_allocate.html:16 +#: build/models.py:157 build/templates/build/auto_allocate.html:16 #: build/templates/build/build_base.html:128 -#: build/templates/build/detail.html:26 company/models.py:663 -#: order/models.py:657 order/models.py:712 +#: build/templates/build/detail.html:26 company/models.py:689 +#: order/models.py:755 order/models.py:814 #: order/templates/order/order_wizard/select_parts.html:32 -#: order/templates/order/purchase_order_detail.html:132 +#: order/templates/order/purchase_order_detail.html:159 #: order/templates/order/receive_parts.html:19 -#: order/templates/order/sales_order_detail.html:214 part/models.py:321 -#: part/models.py:1975 part/models.py:1987 part/models.py:2002 -#: part/models.py:2020 part/models.py:2095 part/models.py:2191 -#: part/models.py:2277 part/templates/part/part_app_base.html:8 +#: order/templates/order/sales_order_detail.html:224 part/models.py:325 +#: part/models.py:1988 part/models.py:2004 part/models.py:2023 +#: part/models.py:2041 part/models.py:2120 part/models.py:2224 +#: part/models.py:2314 part/templates/part/part_app_base.html:8 #: part/templates/part/part_pricing.html:12 part/templates/part/related.html:29 #: part/templates/part/set_category.html:13 #: report/templates/report/inventree_build_order_base.html:110 @@ -644,222 +650,222 @@ msgstr "" #: templates/InvenTree/search.html:112 templates/InvenTree/search.html:210 #: templates/js/barcode.js:362 templates/js/bom.js:163 #: templates/js/build.js:552 templates/js/build.js:839 -#: templates/js/build.js:1079 templates/js/company.js:140 -#: templates/js/company.js:339 templates/js/part.js:241 +#: templates/js/build.js:1079 templates/js/company.js:264 +#: templates/js/company.js:464 templates/js/part.js:241 #: templates/js/part.js:404 templates/js/stock.js:526 -#: templates/js/stock.js:1371 +#: templates/js/stock.js:1385 msgid "Part" msgstr "Pièce" -#: build/models.py:161 +#: build/models.py:165 msgid "Select part to build" msgstr "Sélectionnez la pièce à construire" -#: build/models.py:166 +#: build/models.py:170 msgid "Sales Order Reference" msgstr "" -#: build/models.py:170 +#: build/models.py:174 msgid "SalesOrder to which this build is allocated" msgstr "" -#: build/models.py:175 +#: build/models.py:179 msgid "Source Location" msgstr "" -#: build/models.py:179 +#: build/models.py:183 msgid "Select location to take stock from for this build (leave blank to take from any stock location)" msgstr "" -#: build/models.py:184 +#: build/models.py:188 msgid "Destination Location" msgstr "" -#: build/models.py:188 +#: build/models.py:192 msgid "Select location where the completed items will be stored" msgstr "" -#: build/models.py:192 +#: build/models.py:196 msgid "Build Quantity" msgstr "" -#: build/models.py:195 +#: build/models.py:199 msgid "Number of stock items to build" msgstr "" -#: build/models.py:199 +#: build/models.py:203 msgid "Completed items" msgstr "" -#: build/models.py:201 +#: build/models.py:205 msgid "Number of stock items which have been completed" msgstr "" -#: build/models.py:205 part/templates/part/part_base.html:167 +#: build/models.py:209 part/templates/part/part_base.html:167 msgid "Build Status" msgstr "" -#: build/models.py:209 +#: build/models.py:213 msgid "Build status code" msgstr "" -#: build/models.py:213 stock/models.py:462 +#: build/models.py:217 stock/models.py:470 msgid "Batch Code" msgstr "" -#: build/models.py:217 +#: build/models.py:221 msgid "Batch code for this build output" msgstr "" -#: build/models.py:220 order/models.py:104 part/models.py:867 -#: part/templates/part/detail.html:126 templates/js/order.js:293 +#: build/models.py:224 order/models.py:158 part/models.py:876 +#: part/templates/part/detail.html:126 templates/js/order.js:360 msgid "Creation Date" msgstr "Date de création" -#: build/models.py:224 order/models.py:471 +#: build/models.py:228 order/models.py:551 msgid "Target completion date" msgstr "" -#: build/models.py:228 order/models.py:217 templates/js/build.js:886 +#: build/models.py:232 order/models.py:284 templates/js/build.js:886 msgid "Completion Date" msgstr "" -#: build/models.py:234 +#: build/models.py:238 msgid "completed by" msgstr "" -#: build/models.py:242 +#: build/models.py:246 msgid "Issued by" msgstr "" -#: build/models.py:243 +#: build/models.py:247 msgid "User who issued this build order" msgstr "" -#: build/models.py:251 build/templates/build/build_base.html:184 -#: build/templates/build/detail.html:105 order/models.py:118 +#: build/models.py:255 build/templates/build/build_base.html:184 +#: build/templates/build/detail.html:105 order/models.py:172 #: order/templates/order/order_base.html:138 -#: order/templates/order/sales_order_base.html:140 part/models.py:871 +#: order/templates/order/sales_order_base.html:140 part/models.py:880 #: report/templates/report/inventree_build_order_base.html:159 msgid "Responsible" msgstr "" -#: build/models.py:252 +#: build/models.py:256 msgid "User responsible for this build order" msgstr "" -#: build/models.py:257 build/templates/build/detail.html:91 +#: build/models.py:261 build/templates/build/detail.html:91 #: company/templates/company/manufacturer_part_base.html:79 #: company/templates/company/manufacturer_part_detail.html:28 #: company/templates/company/supplier_part_base.html:78 #: company/templates/company/supplier_part_detail.html:28 #: part/templates/part/detail.html:83 part/templates/part/part_base.html:94 -#: stock/models.py:456 stock/templates/stock/item_base.html:345 +#: stock/models.py:464 stock/templates/stock/item_base.html:345 msgid "External Link" msgstr "Lien Externe" -#: build/models.py:258 part/models.py:729 stock/models.py:458 +#: build/models.py:262 part/models.py:738 stock/models.py:466 msgid "Link to external URL" msgstr "" -#: build/models.py:262 build/templates/build/navbar.html:53 -#: company/models.py:132 company/models.py:539 +#: build/models.py:266 build/templates/build/navbar.html:53 +#: company/models.py:141 company/models.py:561 #: company/templates/company/navbar.html:70 -#: company/templates/company/navbar.html:73 order/models.py:122 -#: order/models.py:617 order/templates/order/po_navbar.html:38 +#: company/templates/company/navbar.html:73 order/models.py:176 +#: order/models.py:711 order/templates/order/po_navbar.html:38 #: order/templates/order/po_navbar.html:41 -#: order/templates/order/purchase_order_detail.html:243 -#: order/templates/order/sales_order_detail.html:309 +#: order/templates/order/purchase_order_detail.html:270 +#: order/templates/order/sales_order_detail.html:319 #: order/templates/order/so_navbar.html:33 -#: order/templates/order/so_navbar.html:36 part/models.py:856 -#: part/templates/part/navbar.html:145 +#: order/templates/order/so_navbar.html:36 part/models.py:865 +#: part/templates/part/navbar.html:133 #: report/templates/report/inventree_build_order_base.html:173 -#: stock/forms.py:173 stock/forms.py:317 stock/forms.py:349 stock/forms.py:377 -#: stock/models.py:528 stock/models.py:1662 stock/models.py:1764 +#: stock/forms.py:140 stock/forms.py:284 stock/forms.py:316 stock/forms.py:344 +#: stock/models.py:536 stock/models.py:1678 stock/models.py:1784 #: stock/templates/stock/navbar.html:57 templates/js/barcode.js:37 -#: templates/js/bom.js:349 templates/js/stock.js:141 templates/js/stock.js:699 +#: templates/js/bom.js:349 templates/js/stock.js:141 templates/js/stock.js:713 msgid "Notes" msgstr "Notes" -#: build/models.py:263 +#: build/models.py:267 msgid "Extra build notes" msgstr "" -#: build/models.py:740 +#: build/models.py:744 msgid "No build output specified" msgstr "" -#: build/models.py:743 +#: build/models.py:747 msgid "Build output is already completed" msgstr "" -#: build/models.py:746 +#: build/models.py:750 msgid "Build output does not match Build Order" msgstr "" -#: build/models.py:1152 +#: build/models.py:1160 msgid "BuildItem must be unique for build, stock_item and install_into" msgstr "" -#: build/models.py:1177 +#: build/models.py:1185 msgid "Build item must specify a build output, as master part is marked as trackable" msgstr "L'élément de construction doit spécifier une sortie de construction, la pièce maîtresse étant marquée comme objet traçable" -#: build/models.py:1181 +#: build/models.py:1189 #, python-brace-format msgid "Allocated quantity ({n}) must not exceed available quantity ({q})" msgstr "" -#: build/models.py:1188 order/models.py:809 +#: build/models.py:1196 order/models.py:915 msgid "StockItem is over-allocated" msgstr "" -#: build/models.py:1192 order/models.py:812 +#: build/models.py:1200 order/models.py:918 msgid "Allocation quantity must be greater than zero" msgstr "" -#: build/models.py:1196 +#: build/models.py:1204 msgid "Quantity must be 1 for serialized stock" msgstr "" -#: build/models.py:1256 +#: build/models.py:1264 #, python-brace-format msgid "Selected stock item not found in BOM for part '{p}'" msgstr "L'article en stock sélectionné n'a pas été trouvé dans la BOM pour la pièce '{p}'" -#: build/models.py:1316 stock/templates/stock/item_base.html:317 +#: build/models.py:1324 stock/templates/stock/item_base.html:317 #: templates/InvenTree/search.html:183 templates/js/build.js:812 #: templates/navbar.html:29 msgid "Build" msgstr "" -#: build/models.py:1317 +#: build/models.py:1325 msgid "Build to allocate parts" msgstr "" -#: build/models.py:1333 stock/templates/stock/item_base.html:8 +#: build/models.py:1341 stock/templates/stock/item_base.html:8 #: stock/templates/stock/item_base.html:31 #: stock/templates/stock/item_base.html:339 #: stock/templates/stock/stock_adjust.html:16 templates/js/build.js:206 #: templates/js/build.js:211 templates/js/build.js:929 -#: templates/js/order.js:366 templates/js/order.js:371 -#: templates/js/stock.js:1115 +#: templates/js/order.js:433 templates/js/order.js:438 +#: templates/js/stock.js:1129 msgid "Stock Item" msgstr "" -#: build/models.py:1334 +#: build/models.py:1342 msgid "Source stock item" msgstr "" -#: build/models.py:1347 +#: build/models.py:1355 msgid "Stock quantity to allocate to build" msgstr "" -#: build/models.py:1355 +#: build/models.py:1363 msgid "Install into" msgstr "" -#: build/models.py:1356 +#: build/models.py:1364 msgid "Destination stock item" msgstr "" @@ -893,7 +899,7 @@ msgstr "Commander les pièces requises" #: build/templates/build/allocate.html:30 #: company/templates/company/detail_manufacturer_part.html:33 -#: company/templates/company/detail_supplier_part.html:32 order/views.py:992 +#: company/templates/company/detail_supplier_part.html:32 order/views.py:724 #: part/templates/part/category.html:136 msgid "Order Parts" msgstr "Commander des pièces" @@ -912,23 +918,52 @@ msgstr "" #: build/templates/build/allocation_card.html:21 #: build/templates/build/complete_output.html:46 -#: order/templates/order/sales_order_detail.html:75 -#: order/templates/order/sales_order_detail.html:160 +#: order/templates/order/sales_order_detail.html:85 +#: order/templates/order/sales_order_detail.html:170 #: report/templates/report/inventree_test_report_base.html:75 -#: stock/models.py:450 stock/templates/stock/item_base.html:249 -#: templates/js/build.js:570 +#: stock/models.py:458 stock/templates/stock/item_base.html:249 +#: templates/js/build.js:570 templates/js/model_renderers.js:41 msgid "Serial Number" msgstr "" #: build/templates/build/attachments.html:12 #: build/templates/build/navbar.html:43 build/templates/build/navbar.html:46 #: order/templates/order/po_navbar.html:35 -#: order/templates/order/so_navbar.html:29 part/templates/part/navbar.html:136 -#: part/templates/part/navbar.html:139 stock/templates/stock/navbar.html:47 +#: order/templates/order/so_navbar.html:29 part/templates/part/navbar.html:124 +#: part/templates/part/navbar.html:127 stock/templates/stock/navbar.html:47 #: stock/templates/stock/navbar.html:50 msgid "Attachments" msgstr "Pieces jointes" +#: build/templates/build/attachments.html:51 +#: order/templates/order/so_attachments.html:79 +#: part/templates/part/attachments.html:81 +#: stock/templates/stock/item_attachments.html:81 +#: templates/attachment_table.html:6 +msgid "Add Attachment" +msgstr "" + +#: build/templates/build/attachments.html:69 +#: order/templates/order/so_attachments.html:52 +#: part/templates/part/attachments.html:35 +#: stock/templates/stock/item_attachments.html:49 +msgid "Edit Attachment" +msgstr "" + +#: build/templates/build/attachments.html:76 +#: order/templates/order/so_attachments.html:58 +#: part/templates/part/attachments.html:44 +#: stock/templates/stock/item_attachments.html:58 +msgid "Confirm Delete Operation" +msgstr "" + +#: build/templates/build/attachments.html:77 +#: order/templates/order/so_attachments.html:59 +#: part/templates/part/attachments.html:45 +#: stock/templates/stock/item_attachments.html:59 +msgid "Delete Attachment" +msgstr "" + #: build/templates/build/auto_allocate.html:9 msgid "Automatically Allocate Stock" msgstr "" @@ -989,8 +1024,8 @@ msgstr "" #: order/templates/order/order_base.html:86 #: order/templates/order/sales_order_base.html:43 #: order/templates/order/sales_order_base.html:88 -#: templates/js/table_filters.js:245 templates/js/table_filters.js:264 -#: templates/js/table_filters.js:281 +#: templates/js/table_filters.js:250 templates/js/table_filters.js:269 +#: templates/js/table_filters.js:286 msgid "Overdue" msgstr "" @@ -1036,13 +1071,13 @@ msgid "Progress" msgstr "" #: build/templates/build/build_base.html:170 -#: build/templates/build/detail.html:84 order/models.py:710 +#: build/templates/build/detail.html:84 order/models.py:812 #: order/templates/order/sales_order_base.html:9 #: order/templates/order/sales_order_base.html:35 #: order/templates/order/sales_order_ship.html:25 #: report/templates/report/inventree_build_order_base.html:136 #: report/templates/report/inventree_so_report.html:77 -#: stock/templates/stock/item_base.html:279 templates/js/order.js:245 +#: stock/templates/stock/item_base.html:279 templates/js/order.js:307 msgid "Sales Order" msgstr "" @@ -1183,10 +1218,10 @@ msgstr "" msgid "Stock can be taken from any available location." msgstr "" -#: build/templates/build/detail.html:46 order/forms.py:89 order/models.py:673 -#: order/templates/order/purchase_order_detail.html:239 -#: order/templates/order/receive_parts.html:25 stock/forms.py:169 -#: stock/forms.py:375 +#: build/templates/build/detail.html:46 order/forms.py:88 order/models.py:771 +#: order/templates/order/purchase_order_detail.html:266 +#: order/templates/order/receive_parts.html:25 stock/forms.py:136 +#: stock/forms.py:342 msgid "Destination" msgstr "" @@ -1196,7 +1231,7 @@ msgstr "" #: build/templates/build/detail.html:70 #: stock/templates/stock/item_base.html:303 templates/js/stock.js:638 -#: templates/js/stock.js:1406 templates/js/table_filters.js:112 +#: templates/js/stock.js:1420 templates/js/table_filters.js:112 #: templates/js/table_filters.js:206 msgid "Batch" msgstr "" @@ -1251,7 +1286,7 @@ msgstr "" #: company/templates/company/navbar.html:15 #: order/templates/order/po_navbar.html:15 #: order/templates/order/so_navbar.html:15 part/templates/part/navbar.html:18 -#: templates/js/stock.js:1044 +#: templates/js/stock.js:1058 msgid "Details" msgstr "Détails" @@ -1287,7 +1322,6 @@ msgstr "" #: order/templates/order/order_notes.html:27 #: order/templates/order/sales_order_notes.html:29 #: part/templates/part/notes.html:27 stock/templates/stock/item_base.html:487 -#: stock/templates/stock/item_base.html:497 #: stock/templates/stock/item_notes.html:26 msgid "Save" msgstr "Enregistrer" @@ -1316,7 +1350,7 @@ msgstr "" msgid "Maximum output quantity is " msgstr "" -#: build/views.py:184 stock/views.py:1821 +#: build/views.py:184 stock/views.py:1653 msgid "Serial numbers already exist" msgstr "" @@ -1332,7 +1366,7 @@ msgstr "" msgid "Confirm unallocation of build stock" msgstr "" -#: build/views.py:281 build/views.py:371 stock/views.py:425 +#: build/views.py:281 build/views.py:371 stock/views.py:346 msgid "Check the confirmation box" msgstr "" @@ -1429,31 +1463,6 @@ msgstr "" msgid "Updated Build Item" msgstr "" -#: build/views.py:1070 -msgid "Add Build Order Attachment" -msgstr "" - -#: build/views.py:1083 order/views.py:117 order/views.py:169 part/views.py:178 -#: stock/views.py:277 -msgid "Added attachment" -msgstr "Pièce jointe ajoutée" - -#: build/views.py:1119 order/views.py:196 order/views.py:217 -msgid "Edit Attachment" -msgstr "" - -#: build/views.py:1129 order/views.py:200 order/views.py:221 -msgid "Attachment updated" -msgstr "" - -#: build/views.py:1139 order/views.py:236 order/views.py:250 -msgid "Delete Attachment" -msgstr "" - -#: build/views.py:1144 order/views.py:242 order/views.py:256 stock/views.py:333 -msgid "Deleted attachment" -msgstr "" - #: common/files.py:66 msgid "Unsupported file format: {ext.upper()}" msgstr "" @@ -1470,7 +1479,7 @@ msgstr "" msgid "Error reading file (data could be corrupted)" msgstr "" -#: common/forms.py:34 templates/attachment_table.html:15 +#: common/forms.py:34 templates/js/attachment.js:42 msgid "File" msgstr "" @@ -1503,7 +1512,7 @@ msgstr "" msgid "Use the instance name in the title-bar" msgstr "" -#: common/models.py:72 company/models.py:94 company/models.py:95 +#: common/models.py:72 company/models.py:99 company/models.py:100 msgid "Company name" msgstr "" @@ -1607,9 +1616,9 @@ msgstr "" msgid "Number of recent parts to display on index page" msgstr "" -#: common/models.py:160 part/models.py:2193 part/templates/part/detail.html:160 -#: report/models.py:186 stock/forms.py:259 templates/js/table_filters.js:25 -#: templates/js/table_filters.js:315 +#: common/models.py:160 part/models.py:2226 part/templates/part/detail.html:160 +#: report/models.py:186 stock/forms.py:226 templates/js/table_filters.js:25 +#: templates/js/table_filters.js:320 msgid "Template" msgstr "" @@ -1617,8 +1626,8 @@ msgstr "" msgid "Parts are templates by default" msgstr "" -#: common/models.py:167 part/models.py:819 part/templates/part/detail.html:170 -#: templates/js/table_filters.js:128 templates/js/table_filters.js:327 +#: common/models.py:167 part/models.py:828 part/templates/part/detail.html:170 +#: templates/js/table_filters.js:128 templates/js/table_filters.js:332 msgid "Assembly" msgstr "" @@ -1626,8 +1635,8 @@ msgstr "" msgid "Parts can be assembled from other components by default" msgstr "" -#: common/models.py:174 part/models.py:825 part/templates/part/detail.html:180 -#: templates/js/table_filters.js:331 +#: common/models.py:174 part/models.py:834 part/templates/part/detail.html:180 +#: templates/js/table_filters.js:336 msgid "Component" msgstr "" @@ -1635,7 +1644,7 @@ msgstr "" msgid "Parts can be used as sub-components by default" msgstr "" -#: common/models.py:181 part/models.py:836 part/templates/part/detail.html:200 +#: common/models.py:181 part/models.py:845 part/templates/part/detail.html:200 msgid "Purchaseable" msgstr "" @@ -1643,8 +1652,8 @@ msgstr "" msgid "Parts are purchaseable by default" msgstr "" -#: common/models.py:188 part/models.py:841 part/templates/part/detail.html:210 -#: templates/js/table_filters.js:339 +#: common/models.py:188 part/models.py:850 part/templates/part/detail.html:210 +#: templates/js/table_filters.js:344 msgid "Salable" msgstr "" @@ -1652,8 +1661,8 @@ msgstr "" msgid "Parts are salable by default" msgstr "" -#: common/models.py:195 part/models.py:831 part/templates/part/detail.html:190 -#: templates/js/table_filters.js:33 templates/js/table_filters.js:343 +#: common/models.py:195 part/models.py:840 part/templates/part/detail.html:190 +#: templates/js/table_filters.js:33 templates/js/table_filters.js:348 msgid "Trackable" msgstr "" @@ -1661,7 +1670,7 @@ msgstr "" msgid "Parts are trackable by default" msgstr "" -#: common/models.py:202 part/models.py:851 part/templates/part/detail.html:150 +#: common/models.py:202 part/models.py:860 part/templates/part/detail.html:150 #: templates/js/table_filters.js:29 msgid "Virtual" msgstr "" @@ -1858,13 +1867,12 @@ msgstr "" msgid "Key string must be unique" msgstr "" -#: common/models.py:742 company/forms.py:190 +#: common/models.py:742 company/forms.py:125 msgid "Price break quantity" msgstr "" -#: common/models.py:749 company/templates/company/supplier_part_pricing.html:82 -#: part/templates/part/internal_prices.html:103 -#: part/templates/part/sale_prices.html:90 +#: common/models.py:749 company/templates/company/supplier_part_pricing.html:84 +#: templates/js/part.js:832 msgid "Price" msgstr "" @@ -1894,16 +1902,16 @@ msgstr "" #: common/views.py:184 order/templates/order/order_wizard/po_upload.html:42 #: order/templates/order/po_navbar.html:19 -#: order/templates/order/po_navbar.html:22 order/views.py:605 +#: order/templates/order/po_navbar.html:22 order/views.py:337 #: part/templates/part/bom_upload/upload_file.html:27 -#: part/templates/part/import_wizard/part_upload.html:45 part/views.py:761 +#: part/templates/part/import_wizard/part_upload.html:45 part/views.py:621 msgid "Upload File" msgstr "" #: common/views.py:185 order/templates/order/order_wizard/match_fields.html:52 -#: order/views.py:606 part/templates/part/bom_upload/select_fields.html:58 +#: order/views.py:338 part/templates/part/bom_upload/select_fields.html:58 #: part/templates/part/import_wizard/ajax_match_fields.html:45 -#: part/templates/part/import_wizard/match_fields.html:52 part/views.py:762 +#: part/templates/part/import_wizard/match_fields.html:52 part/views.py:622 msgid "Match Fields" msgstr "" @@ -1928,269 +1936,277 @@ msgstr "" msgid "Previous Step" msgstr "" -#: company/forms.py:37 company/models.py:142 -#: company/templates/company/detail.html:42 -msgid "Currency" -msgstr "" - -#: company/forms.py:38 company/models.py:144 -msgid "Default currency used for this company" -msgstr "" - -#: company/forms.py:76 part/forms.py:46 +#: company/forms.py:26 part/forms.py:46 msgid "URL" msgstr "" -#: company/forms.py:77 part/forms.py:47 +#: company/forms.py:27 part/forms.py:47 msgid "Image URL" msgstr "" -#: company/forms.py:132 templates/js/part.js:787 +#: company/forms.py:67 templates/js/part.js:940 msgid "Single Price" msgstr "" -#: company/forms.py:133 +#: company/forms.py:68 msgid "Single quantity price" msgstr "" -#: company/forms.py:141 company/models.py:321 +#: company/forms.py:76 company/models.py:335 msgid "Select manufacturer" msgstr "" -#: company/forms.py:147 company/models.py:328 +#: company/forms.py:82 company/models.py:342 msgid "Manufacturer Part Number" msgstr "" -#: company/forms.py:149 company/models.py:327 +#: company/forms.py:84 company/models.py:341 #: company/templates/company/manufacturer_part_base.html:89 #: company/templates/company/manufacturer_part_detail.html:26 #: company/templates/company/supplier_part_base.html:102 #: company/templates/company/supplier_part_detail.html:35 -#: order/templates/order/purchase_order_detail.html:162 part/bom.py:171 -#: part/bom.py:242 templates/js/company.js:181 templates/js/company.js:408 +#: order/templates/order/purchase_order_detail.html:189 part/bom.py:171 +#: part/bom.py:242 templates/js/company.js:305 templates/js/company.js:533 msgid "MPN" msgstr "" -#: company/models.py:99 +#: company/models.py:104 msgid "Company description" msgstr "" -#: company/models.py:100 +#: company/models.py:105 msgid "Description of the company" msgstr "" -#: company/models.py:104 company/templates/company/company_base.html:70 -#: company/templates/company/detail.html:33 templates/js/company.js:60 +#: company/models.py:111 company/templates/company/company_base.html:70 +#: company/templates/company/detail.html:33 templates/js/company.js:129 msgid "Website" msgstr "" -#: company/models.py:104 +#: company/models.py:112 msgid "Company website URL" msgstr "" -#: company/models.py:107 company/templates/company/company_base.html:77 +#: company/models.py:116 company/templates/company/company_base.html:77 msgid "Address" msgstr "" -#: company/models.py:108 +#: company/models.py:117 msgid "Company address" msgstr "" -#: company/models.py:111 +#: company/models.py:120 msgid "Phone number" msgstr "" -#: company/models.py:112 +#: company/models.py:121 msgid "Contact phone number" msgstr "" -#: company/models.py:115 company/templates/company/company_base.html:91 +#: company/models.py:124 company/templates/company/company_base.html:91 msgid "Email" msgstr "" -#: company/models.py:115 +#: company/models.py:124 msgid "Contact email address" msgstr "" -#: company/models.py:118 company/templates/company/company_base.html:98 +#: company/models.py:127 company/templates/company/company_base.html:98 msgid "Contact" msgstr "" -#: company/models.py:119 +#: company/models.py:128 msgid "Point of contact" msgstr "" -#: company/models.py:121 company/models.py:333 company/models.py:526 -#: order/models.py:102 part/models.py:728 +#: company/models.py:130 company/models.py:347 company/models.py:548 +#: order/models.py:156 part/models.py:737 #: report/templates/report/inventree_build_order_base.html:165 -#: templates/js/company.js:188 templates/js/company.js:419 +#: templates/js/company.js:312 templates/js/company.js:544 #: templates/js/part.js:498 msgid "Link" msgstr "" -#: company/models.py:121 +#: company/models.py:130 msgid "Link to external company information" msgstr "" -#: company/models.py:129 part/models.py:738 +#: company/models.py:138 part/models.py:747 msgid "Image" msgstr "" -#: company/models.py:134 +#: company/models.py:143 msgid "is customer" msgstr "" -#: company/models.py:134 +#: company/models.py:143 msgid "Do you sell items to this company?" msgstr "" -#: company/models.py:136 +#: company/models.py:145 msgid "is supplier" msgstr "" -#: company/models.py:136 +#: company/models.py:145 msgid "Do you purchase items from this company?" msgstr "" -#: company/models.py:138 +#: company/models.py:147 msgid "is manufacturer" msgstr "" -#: company/models.py:138 +#: company/models.py:147 msgid "Does this company manufacture parts?" msgstr "" -#: company/models.py:305 company/models.py:497 stock/models.py:403 +#: company/models.py:151 company/serializers.py:259 +#: company/templates/company/detail.html:42 +msgid "Currency" +msgstr "" + +#: company/models.py:154 +msgid "Default currency used for this company" +msgstr "" + +#: company/models.py:319 company/models.py:519 stock/models.py:411 #: stock/templates/stock/item_base.html:235 msgid "Base Part" msgstr "" -#: company/models.py:309 company/models.py:501 order/views.py:1603 +#: company/models.py:323 company/models.py:523 order/views.py:1127 msgid "Select part" msgstr "" -#: company/models.py:320 company/templates/company/detail.html:57 +#: company/models.py:334 company/templates/company/detail.html:57 #: company/templates/company/manufacturer_part_base.html:85 #: company/templates/company/manufacturer_part_detail.html:25 #: company/templates/company/supplier_part_base.html:94 #: company/templates/company/supplier_part_detail.html:34 part/bom.py:170 #: part/bom.py:241 stock/templates/stock/item_base.html:352 -#: templates/js/company.js:44 templates/js/company.js:165 -#: templates/js/company.js:390 +#: templates/js/company.js:113 templates/js/company.js:289 +#: templates/js/company.js:515 msgid "Manufacturer" msgstr "" -#: company/models.py:334 +#: company/models.py:348 msgid "URL for external manufacturer part link" msgstr "" -#: company/models.py:340 +#: company/models.py:354 msgid "Manufacturer part description" msgstr "" -#: company/models.py:390 company/models.py:520 +#: company/models.py:408 company/models.py:542 #: company/templates/company/manufacturer_part_base.html:6 #: company/templates/company/manufacturer_part_base.html:19 #: stock/templates/stock/item_base.html:362 msgid "Manufacturer Part" msgstr "" -#: company/models.py:397 +#: company/models.py:415 msgid "Parameter name" msgstr "" -#: company/models.py:403 part/templates/part/params.html:28 +#: company/models.py:421 part/templates/part/params.html:28 #: report/templates/report/inventree_test_report_base.html:90 -#: stock/models.py:1751 templates/InvenTree/settings/header.html:8 -#: templates/js/company.js:241 templates/js/stock.js:137 +#: stock/models.py:1771 templates/InvenTree/settings/header.html:8 +#: templates/js/company.js:365 templates/js/stock.js:137 msgid "Value" msgstr "" -#: company/models.py:404 +#: company/models.py:422 msgid "Parameter value" msgstr "" -#: company/models.py:410 part/models.py:813 part/models.py:2165 +#: company/models.py:428 part/models.py:822 part/models.py:2194 #: part/templates/part/detail.html:106 part/templates/part/params.html:29 -#: templates/js/company.js:247 +#: templates/js/company.js:371 msgid "Units" msgstr "" -#: company/models.py:411 +#: company/models.py:429 msgid "Parameter units" msgstr "" -#: company/models.py:507 company/templates/company/detail.html:62 +#: company/models.py:529 company/templates/company/detail.html:62 #: company/templates/company/supplier_part_base.html:84 -#: company/templates/company/supplier_part_detail.html:25 order/models.py:189 +#: company/templates/company/supplier_part_detail.html:25 order/models.py:256 #: order/templates/order/order_base.html:92 #: order/templates/order/order_wizard/select_pos.html:30 part/bom.py:175 #: part/bom.py:286 stock/templates/stock/item_base.html:369 -#: templates/js/company.js:48 templates/js/company.js:364 -#: templates/js/order.js:170 +#: templates/js/company.js:117 templates/js/company.js:489 +#: templates/js/order.js:232 msgid "Supplier" msgstr "" -#: company/models.py:508 +#: company/models.py:530 msgid "Select supplier" msgstr "" -#: company/models.py:513 company/templates/company/supplier_part_base.html:88 +#: company/models.py:535 company/templates/company/supplier_part_base.html:88 #: company/templates/company/supplier_part_detail.html:26 -#: order/templates/order/purchase_order_detail.html:153 part/bom.py:176 +#: order/templates/order/purchase_order_detail.html:180 part/bom.py:176 #: part/bom.py:287 msgid "SKU" msgstr "" -#: company/models.py:514 +#: company/models.py:536 msgid "Supplier stock keeping unit" msgstr "" -#: company/models.py:521 +#: company/models.py:543 msgid "Select manufacturer part" msgstr "" -#: company/models.py:527 +#: company/models.py:549 msgid "URL for external supplier part link" msgstr "" -#: company/models.py:533 +#: company/models.py:555 msgid "Supplier part description" msgstr "" -#: company/models.py:538 company/templates/company/supplier_part_base.html:116 -#: company/templates/company/supplier_part_detail.html:38 part/models.py:2305 +#: company/models.py:560 company/templates/company/supplier_part_base.html:116 +#: company/templates/company/supplier_part_detail.html:38 part/models.py:2342 #: report/templates/report/inventree_po_report.html:93 #: report/templates/report/inventree_so_report.html:93 msgid "Note" msgstr "" -#: company/models.py:542 part/models.py:1606 +#: company/models.py:564 part/models.py:1615 msgid "base cost" msgstr "" -#: company/models.py:542 part/models.py:1606 +#: company/models.py:564 part/models.py:1615 msgid "Minimum charge (e.g. stocking fee)" msgstr "" -#: company/models.py:544 company/templates/company/supplier_part_base.html:109 -#: stock/models.py:427 stock/templates/stock/item_base.html:310 -#: templates/js/stock.js:695 +#: company/models.py:566 company/templates/company/supplier_part_base.html:109 +#: stock/models.py:435 stock/templates/stock/item_base.html:310 +#: templates/js/stock.js:709 msgid "Packaging" msgstr "" -#: company/models.py:544 +#: company/models.py:566 msgid "Part packaging" msgstr "" -#: company/models.py:546 part/models.py:1608 +#: company/models.py:568 part/models.py:1617 msgid "multiple" msgstr "" -#: company/models.py:546 +#: company/models.py:568 msgid "Order multiple" msgstr "" +#: company/serializers.py:68 +msgid "Default currency used for this supplier" +msgstr "" + +#: company/serializers.py:69 +msgid "Currency Code" +msgstr "" + #: company/templates/company/assigned_stock.html:10 #: company/templates/company/navbar.html:62 #: company/templates/company/navbar.html:65 templates/js/build.js:563 @@ -2199,7 +2215,7 @@ msgstr "" #: company/templates/company/company_base.html:9 #: company/templates/company/company_base.html:35 -#: templates/InvenTree/search.html:304 templates/js/company.js:33 +#: templates/InvenTree/search.html:304 templates/js/company.js:102 msgid "Company" msgstr "" @@ -2213,7 +2229,7 @@ msgstr "" msgid "Download image from URL" msgstr "" -#: company/templates/company/company_base.html:46 order/views.py:313 +#: company/templates/company/company_base.html:46 templates/js/order.js:61 msgid "Create Purchase Order" msgstr "" @@ -2221,7 +2237,8 @@ msgstr "" msgid "Edit company information" msgstr "" -#: company/templates/company/company_base.html:56 company/views.py:326 +#: company/templates/company/company_base.html:56 +#: company/templates/company/company_base.html:126 msgid "Delete Company" msgstr "" @@ -2235,15 +2252,9 @@ msgstr "" msgid "Phone" msgstr "" -#: company/templates/company/delete.html:7 -#, python-format -msgid "Are you sure you want to delete company '%(name)s'?" -msgstr "" - -#: company/templates/company/delete.html:12 -#, python-format -msgid "There are %(count)s parts sourced from this company.
\n" -"If this supplier is deleted, these supplier part entries will also be deleted." +#: company/templates/company/company_base.html:166 +#: part/templates/part/part_base.html:307 +msgid "Upload Image" msgstr "" #: company/templates/company/detail.html:21 @@ -2258,11 +2269,11 @@ msgstr "" msgid "Uses default currency" msgstr "" -#: company/templates/company/detail.html:67 order/models.py:460 -#: order/templates/order/sales_order_base.html:94 stock/models.py:445 -#: stock/models.py:446 stock/templates/stock/item_base.html:262 -#: templates/js/company.js:40 templates/js/order.js:267 -#: templates/js/stock.js:1097 +#: company/templates/company/detail.html:67 order/models.py:540 +#: order/templates/order/sales_order_base.html:94 stock/models.py:453 +#: stock/models.py:454 stock/templates/stock/item_base.html:262 +#: templates/js/company.js:109 templates/js/order.js:329 +#: templates/js/stock.js:1111 msgid "Customer" msgstr "" @@ -2283,6 +2294,7 @@ msgstr "" #: company/templates/company/detail_manufacturer_part.html:28 #: company/templates/company/detail_supplier_part.html:27 #: company/templates/company/manufacturer_part_suppliers.html:20 +#: company/templates/company/manufacturer_part_suppliers.html:46 #: part/templates/part/category.html:131 #: part/templates/part/manufacturer.html:22 #: part/templates/part/supplier.html:20 @@ -2305,26 +2317,25 @@ msgstr "" msgid "Delete Parts" msgstr "" -#: company/templates/company/detail_manufacturer_part.html:66 +#: company/templates/company/detail_manufacturer_part.html:68 #: company/templates/company/detail_supplier_part.html:66 #: part/templates/part/bom.html:159 part/templates/part/category.html:127 -#: templates/js/stock.js:1312 +#: templates/js/stock.js:1326 msgid "New Part" msgstr "" -#: company/templates/company/detail_manufacturer_part.html:67 +#: company/templates/company/detail_manufacturer_part.html:69 #: company/templates/company/detail_supplier_part.html:67 msgid "Create new Part" msgstr "" -#: company/templates/company/detail_manufacturer_part.html:72 -#: company/views.py:71 part/templates/part/manufacturer.html:52 -#: part/templates/part/supplier.html:56 +#: company/templates/company/detail_manufacturer_part.html:74 +#: company/views.py:66 part/templates/part/manufacturer.html:52 +#: part/templates/part/supplier.html:55 msgid "New Manufacturer" msgstr "" -#: company/templates/company/detail_manufacturer_part.html:73 -#: company/views.py:284 +#: company/templates/company/detail_manufacturer_part.html:75 msgid "Create new Manufacturer" msgstr "" @@ -2335,7 +2346,7 @@ msgstr "" #: company/templates/company/detail_stock.html:37 #: company/templates/company/supplier_part_stock.html:34 #: part/templates/part/category.html:123 part/templates/part/category.html:137 -#: part/templates/part/stock.html:54 stock/templates/stock/location.html:163 +#: part/templates/part/stock.html:55 stock/templates/stock/location.html:163 msgid "Export" msgstr "" @@ -2347,26 +2358,24 @@ msgstr "" #: company/templates/company/detail_supplier_part.html:21 #: order/templates/order/order_wizard/select_parts.html:44 -#: order/templates/order/purchase_order_detail.html:50 +#: part/templates/part/part_base.html:429 msgid "Create new supplier part" msgstr "" #: company/templates/company/detail_supplier_part.html:22 #: company/templates/company/manufacturer_part_suppliers.html:17 -#: order/templates/order/purchase_order_detail.html:49 -#: part/templates/part/supplier.html:17 templates/js/stock.js:1318 +#: part/templates/part/part_base.html:428 part/templates/part/supplier.html:17 +#: templates/js/stock.js:1332 msgid "New Supplier Part" msgstr "" #: company/templates/company/detail_supplier_part.html:72 -#: company/templates/company/manufacturer_part_suppliers.html:82 -#: company/views.py:64 order/templates/order/purchase_orders.html:185 -#: part/templates/part/supplier.html:50 +#: company/templates/company/manufacturer_part_suppliers.html:96 +#: company/views.py:60 part/templates/part/supplier.html:50 msgid "New Supplier" msgstr "" -#: company/templates/company/detail_supplier_part.html:73 company/views.py:281 -#: order/templates/order/purchase_orders.html:186 +#: company/templates/company/detail_supplier_part.html:73 msgid "Create new Supplier" msgstr "" @@ -2401,20 +2410,19 @@ msgstr "" msgid "Internal Part" msgstr "" -#: company/templates/company/manufacturer_part_delete.html:6 -msgid "Are you sure you want to delete the following Manufacturer Parts?" +#: company/templates/company/manufacturer_part_base.html:125 +msgid "Edit Manufacturer Part" msgstr "" -#: company/templates/company/manufacturer_part_delete.html:36 -#, python-format -msgid "There are %(count)s suppliers defined for this manufacturer part. If you delete it, the following supplier parts will also be deleted:" +#: company/templates/company/manufacturer_part_base.html:134 +msgid "Delete Manufacturer Part" msgstr "" #: company/templates/company/manufacturer_part_navbar.html:14 #: company/templates/company/manufacturer_part_suppliers.html:10 -#: company/views.py:63 part/templates/part/navbar.html:87 -#: part/templates/part/navbar.html:90 templates/InvenTree/search.html:316 -#: templates/navbar.html:35 +#: company/views.py:59 part/templates/part/navbar.html:87 +#: part/templates/part/navbar.html:90 part/templates/part/prices.html:153 +#: templates/InvenTree/search.html:316 templates/navbar.html:35 msgid "Suppliers" msgstr "" @@ -2425,7 +2433,7 @@ msgstr "" #: company/templates/company/manufacturer_part_navbar.html:22 #: company/templates/company/navbar.html:41 #: company/templates/company/supplier_part_navbar.html:15 -#: part/templates/part/navbar.html:39 stock/api.py:54 +#: part/templates/part/navbar.html:39 stock/api.py:53 #: stock/templates/stock/loc_link.html:7 stock/templates/stock/location.html:36 #: stock/templates/stock/stock_app_base.html:10 #: templates/InvenTree/index.html:128 templates/InvenTree/search.html:196 @@ -2451,9 +2459,11 @@ msgid "Delete supplier parts" msgstr "" #: company/templates/company/manufacturer_part_suppliers.html:22 +#: company/templates/company/manufacturer_part_suppliers.html:48 +#: company/templates/company/manufacturer_part_suppliers.html:142 #: part/templates/part/manufacturer.html:24 part/templates/part/params.html:44 #: part/templates/part/related.html:44 part/templates/part/supplier.html:22 -#: stock/views.py:1002 users/models.py:191 +#: stock/views.py:855 templates/js/company.js:203 users/models.py:192 msgid "Delete" msgstr "" @@ -2471,11 +2481,27 @@ msgstr "" msgid "New Parameter" msgstr "" -#: company/templates/company/manufacturer_part_suppliers.html:83 +#: company/templates/company/manufacturer_part_suppliers.html:48 +msgid "Delete parameters" +msgstr "" + +#: company/templates/company/manufacturer_part_suppliers.html:80 +msgid "Add Parameter" +msgstr "" + +#: company/templates/company/manufacturer_part_suppliers.html:97 #: part/templates/part/supplier.html:51 msgid "Create new supplier" msgstr "" +#: company/templates/company/manufacturer_part_suppliers.html:127 +msgid "Selected parameters will be deleted" +msgstr "" + +#: company/templates/company/manufacturer_part_suppliers.html:139 +msgid "Delete Parameters" +msgstr "" + #: company/templates/company/navbar.html:20 #: company/templates/company/navbar.html:23 msgid "Manufactured Parts" @@ -2492,8 +2518,8 @@ msgstr "" #: stock/templates/stock/location.html:136 #: stock/templates/stock/location_navbar.html:22 #: stock/templates/stock/location_navbar.html:29 -#: templates/InvenTree/search.html:198 templates/js/stock.js:996 -#: templates/stats.html:93 templates/stats.html:102 users/models.py:42 +#: templates/InvenTree/search.html:198 templates/js/stock.js:1010 +#: templates/stats.html:93 templates/stats.html:102 users/models.py:43 msgid "Stock Items" msgstr "" @@ -2503,11 +2529,11 @@ msgstr "" #: company/templates/company/sales_orders.html:11 #: order/templates/order/sales_orders.html:8 #: order/templates/order/sales_orders.html:13 -#: part/templates/part/navbar.html:113 part/templates/part/navbar.html:116 -#: part/templates/part/sales_orders.html:10 templates/InvenTree/index.html:228 +#: part/templates/part/navbar.html:101 part/templates/part/navbar.html:104 +#: part/templates/part/sales_orders.html:10 templates/InvenTree/index.html:236 #: templates/InvenTree/search.html:345 #: templates/InvenTree/settings/tabs.html:40 templates/navbar.html:46 -#: users/models.py:45 +#: users/models.py:46 msgid "Sales Orders" msgstr "" @@ -2516,10 +2542,10 @@ msgstr "" #: order/templates/order/purchase_orders.html:8 #: order/templates/order/purchase_orders.html:13 #: part/templates/part/navbar.html:93 part/templates/part/navbar.html:96 -#: part/templates/part/orders.html:10 templates/InvenTree/index.html:205 +#: part/templates/part/orders.html:10 templates/InvenTree/index.html:213 #: templates/InvenTree/search.html:325 #: templates/InvenTree/settings/tabs.html:37 templates/navbar.html:37 -#: users/models.py:44 +#: users/models.py:45 msgid "Purchase Orders" msgstr "" @@ -2548,8 +2574,9 @@ msgid "New Sales Order" msgstr "" #: company/templates/company/supplier_part_base.html:7 -#: company/templates/company/supplier_part_base.html:20 stock/models.py:412 -#: stock/templates/stock/item_base.html:374 templates/js/company.js:380 +#: company/templates/company/supplier_part_base.html:20 stock/models.py:420 +#: stock/templates/stock/item_base.html:374 templates/js/company.js:505 +#: templates/js/stock.js:690 msgid "Supplier Part" msgstr "" @@ -2594,459 +2621,401 @@ msgid "Order Part" msgstr "" #: company/templates/company/supplier_part_pricing.html:11 +#: part/templates/part/navbar.html:74 msgid "Pricing Information" msgstr "" -#: company/templates/company/supplier_part_pricing.html:19 company/views.py:855 -#: part/templates/part/sale_prices.html:17 part/views.py:2918 +#: company/templates/company/supplier_part_pricing.html:19 +#: company/templates/company/supplier_part_pricing.html:118 +#: part/templates/part/prices.html:264 part/views.py:2788 msgid "Add Price Break" msgstr "" #: company/templates/company/supplier_part_pricing.html:38 -#: part/templates/part/sale_prices.html:46 msgid "No price break information found" msgstr "" -#: company/templates/company/supplier_part_pricing.html:89 -#: part/templates/part/sale_prices.html:97 +#: company/templates/company/supplier_part_pricing.html:52 part/views.py:2850 +msgid "Delete Price Break" +msgstr "" + +#: company/templates/company/supplier_part_pricing.html:66 part/views.py:2836 +msgid "Edit Price Break" +msgstr "" + +#: company/templates/company/supplier_part_pricing.html:91 msgid "Edit price break" msgstr "" -#: company/templates/company/supplier_part_pricing.html:90 -#: part/templates/part/sale_prices.html:98 +#: company/templates/company/supplier_part_pricing.html:92 msgid "Delete price break" msgstr "" -#: company/views.py:70 part/templates/part/navbar.html:81 -#: part/templates/part/navbar.html:84 templates/InvenTree/search.html:306 -#: templates/navbar.html:36 +#: company/views.py:65 part/templates/part/navbar.html:81 +#: part/templates/part/navbar.html:84 part/templates/part/prices.html:157 +#: templates/InvenTree/search.html:306 templates/navbar.html:36 msgid "Manufacturers" msgstr "" -#: company/views.py:77 templates/InvenTree/search.html:336 +#: company/views.py:71 templates/InvenTree/search.html:336 #: templates/navbar.html:45 msgid "Customers" msgstr "" -#: company/views.py:78 order/templates/order/sales_orders.html:187 +#: company/views.py:72 msgid "New Customer" msgstr "" -#: company/views.py:86 +#: company/views.py:79 msgid "Companies" msgstr "" -#: company/views.py:87 +#: company/views.py:80 msgid "New Company" msgstr "" -#: company/views.py:169 part/views.py:1115 +#: company/views.py:161 part/views.py:1007 msgid "Download Image" msgstr "" -#: company/views.py:198 part/views.py:1147 +#: company/views.py:190 part/views.py:1039 msgid "Image size exceeds maximum allowable size for download" msgstr "" -#: company/views.py:205 part/views.py:1154 +#: company/views.py:197 part/views.py:1046 #, python-brace-format msgid "Invalid response: {code}" msgstr "" -#: company/views.py:214 part/views.py:1163 +#: company/views.py:206 part/views.py:1055 msgid "Supplied URL is not a valid image file" msgstr "" -#: company/views.py:243 -msgid "Update Company Image" -msgstr "" - -#: company/views.py:249 -msgid "Updated company image" -msgstr "" - -#: company/views.py:259 -msgid "Edit Company" -msgstr "" - -#: company/views.py:264 -msgid "Edited company information" -msgstr "" - -#: company/views.py:287 order/templates/order/sales_orders.html:188 -msgid "Create new Customer" -msgstr "" - -#: company/views.py:289 -msgid "Create new Company" -msgstr "" - -#: company/views.py:316 -msgid "Created new company" -msgstr "" - -#: company/views.py:332 -msgid "Company was deleted" -msgstr "" - -#: company/views.py:357 -msgid "Edit Manufacturer Part" -msgstr "" - -#: company/views.py:366 +#: company/views.py:251 msgid "Create New Manufacturer Part" msgstr "" -#: company/views.py:440 -msgid "Delete Manufacturer Part" -msgstr "" - -#: company/views.py:514 -msgid "Add Manufacturer Part Parameter" -msgstr "" - -#: company/views.py:548 -msgid "Edit Manufacturer Part Parameter" -msgstr "" - -#: company/views.py:588 +#: company/views.py:334 msgid "Edit Supplier Part" msgstr "" -#: company/views.py:639 templates/js/stock.js:1319 +#: company/views.py:385 templates/js/stock.js:1333 msgid "Create new Supplier Part" msgstr "" -#: company/views.py:783 +#: company/views.py:529 msgid "Delete Supplier Part" msgstr "" -#: company/views.py:860 part/views.py:2922 -msgid "Added new price break" -msgstr "" - -#: company/views.py:916 part/views.py:2966 -msgid "Edit Price Break" -msgstr "" - -#: company/views.py:931 part/views.py:2980 -msgid "Delete Price Break" -msgstr "" - #: label/api.py:56 report/api.py:201 msgid "No valid objects provided to template" msgstr "" -#: label/models.py:103 +#: label/models.py:104 msgid "Label name" msgstr "" -#: label/models.py:110 +#: label/models.py:111 msgid "Label description" msgstr "" -#: label/models.py:117 stock/forms.py:202 +#: label/models.py:118 stock/forms.py:169 msgid "Label" msgstr "" -#: label/models.py:118 +#: label/models.py:119 msgid "Label template file" msgstr "" -#: label/models.py:124 report/models.py:297 +#: label/models.py:125 report/models.py:297 msgid "Enabled" msgstr "" -#: label/models.py:125 +#: label/models.py:126 msgid "Label template is enabled" msgstr "" -#: label/models.py:130 +#: label/models.py:131 msgid "Width [mm]" msgstr "" -#: label/models.py:131 +#: label/models.py:132 msgid "Label width, specified in mm" msgstr "" -#: label/models.py:137 +#: label/models.py:138 msgid "Height [mm]" msgstr "" -#: label/models.py:138 +#: label/models.py:139 msgid "Label height, specified in mm" msgstr "" -#: label/models.py:144 report/models.py:290 +#: label/models.py:145 report/models.py:290 msgid "Filename Pattern" msgstr "" -#: label/models.py:145 +#: label/models.py:146 msgid "Pattern for generating label filenames" msgstr "" -#: label/models.py:244 label/models.py:297 +#: label/models.py:249 label/models.py:306 msgid "Query filters (comma-separated list of key=value pairs" msgstr "" -#: label/models.py:245 label/models.py:298 report/models.py:317 +#: label/models.py:250 label/models.py:307 report/models.py:317 #: report/models.py:440 report/models.py:474 msgid "Filters" msgstr "" -#: order/forms.py:31 order/templates/order/order_base.html:47 +#: order/forms.py:30 order/templates/order/order_base.html:47 msgid "Place order" msgstr "" -#: order/forms.py:42 order/templates/order/order_base.html:54 +#: order/forms.py:41 order/templates/order/order_base.html:54 msgid "Mark order as complete" msgstr "" -#: order/forms.py:53 order/forms.py:64 order/templates/order/order_base.html:59 +#: order/forms.py:52 order/forms.py:63 order/templates/order/order_base.html:59 #: order/templates/order/sales_order_base.html:61 msgid "Cancel order" msgstr "" -#: order/forms.py:75 order/templates/order/sales_order_base.html:58 +#: order/forms.py:74 order/templates/order/sales_order_base.html:58 msgid "Ship order" msgstr "" -#: order/forms.py:90 +#: order/forms.py:89 msgid "Receive parts to this location" msgstr "" -#: order/forms.py:112 -msgid "Purchase Order reference" -msgstr "" - -#: order/forms.py:119 -msgid "Target date for order delivery. Order will be overdue after this date." -msgstr "" - -#: order/forms.py:147 -msgid "Enter sales order number" -msgstr "" - -#: order/forms.py:154 order/models.py:472 -msgid "Target date for order completion. Order will be overdue after this date." -msgstr "" - -#: order/forms.py:246 +#: order/forms.py:116 msgid "Enter stock item serial numbers" msgstr "" -#: order/forms.py:252 +#: order/forms.py:122 msgid "Enter quantity of stock items" msgstr "" -#: order/models.py:98 -msgid "Order reference" -msgstr "" - -#: order/models.py:100 +#: order/models.py:154 msgid "Order description" msgstr "" -#: order/models.py:102 +#: order/models.py:156 msgid "Link to external page" msgstr "" -#: order/models.py:110 part/templates/part/detail.html:132 +#: order/models.py:164 part/templates/part/detail.html:132 msgid "Created By" msgstr "" -#: order/models.py:117 +#: order/models.py:171 msgid "User or group responsible for this order" msgstr "" -#: order/models.py:122 +#: order/models.py:176 msgid "Order notes" msgstr "" -#: order/models.py:181 order/models.py:465 +#: order/models.py:243 order/models.py:530 +msgid "Order reference" +msgstr "" + +#: order/models.py:248 order/models.py:545 msgid "Purchase order status" msgstr "" -#: order/models.py:190 +#: order/models.py:257 msgid "Company from which the items are being ordered" msgstr "" -#: order/models.py:193 order/templates/order/order_base.html:98 -#: templates/js/order.js:179 +#: order/models.py:260 order/templates/order/order_base.html:98 +#: templates/js/order.js:241 msgid "Supplier Reference" msgstr "" -#: order/models.py:193 +#: order/models.py:260 msgid "Supplier order reference code" msgstr "" -#: order/models.py:200 +#: order/models.py:267 msgid "received by" msgstr "" -#: order/models.py:205 +#: order/models.py:272 msgid "Issue Date" msgstr "" -#: order/models.py:206 +#: order/models.py:273 msgid "Date order was issued" msgstr "" -#: order/models.py:211 +#: order/models.py:278 msgid "Target Delivery Date" msgstr "" -#: order/models.py:212 +#: order/models.py:279 msgid "Expected date for order delivery. Order will be overdue after this date." msgstr "" -#: order/models.py:218 +#: order/models.py:285 msgid "Date order was completed" msgstr "" -#: order/models.py:242 part/views.py:1853 stock/models.py:300 -#: stock/models.py:1015 +#: order/models.py:309 part/views.py:1730 stock/models.py:308 +#: stock/models.py:1023 msgid "Quantity must be greater than zero" msgstr "" -#: order/models.py:247 +#: order/models.py:314 msgid "Part supplier must match PO supplier" msgstr "" -#: order/models.py:345 +#: order/models.py:412 msgid "Lines can only be received against an order marked as 'Placed'" msgstr "" -#: order/models.py:349 +#: order/models.py:416 msgid "Quantity must be an integer" msgstr "" -#: order/models.py:351 +#: order/models.py:418 msgid "Quantity must be a positive number" msgstr "" -#: order/models.py:461 +#: order/models.py:541 msgid "Company to which the items are being sold" msgstr "" -#: order/models.py:467 +#: order/models.py:547 msgid "Customer Reference " msgstr "" -#: order/models.py:467 +#: order/models.py:547 msgid "Customer order reference code" msgstr "" -#: order/models.py:475 templates/js/order.js:303 +#: order/models.py:552 +msgid "Target date for order completion. Order will be overdue after this date." +msgstr "" + +#: order/models.py:555 templates/js/order.js:370 msgid "Shipment Date" msgstr "" -#: order/models.py:482 +#: order/models.py:562 msgid "shipped by" msgstr "" -#: order/models.py:526 +#: order/models.py:606 msgid "SalesOrder cannot be shipped as it is not currently pending" msgstr "" -#: order/models.py:613 +#: order/models.py:703 msgid "Item quantity" msgstr "" -#: order/models.py:615 +#: order/models.py:709 msgid "Line item reference" msgstr "" -#: order/models.py:617 +#: order/models.py:711 msgid "Line item notes" msgstr "" -#: order/models.py:643 order/models.py:710 templates/js/order.js:353 +#: order/models.py:741 order/models.py:812 templates/js/order.js:420 msgid "Order" msgstr "" -#: order/models.py:644 order/templates/order/order_base.html:9 +#: order/models.py:742 order/templates/order/order_base.html:9 #: order/templates/order/order_base.html:24 #: report/templates/report/inventree_po_report.html:77 -#: stock/templates/stock/item_base.html:324 templates/js/order.js:148 -#: templates/js/stock.js:669 templates/js/stock.js:1078 +#: stock/templates/stock/item_base.html:324 templates/js/order.js:210 +#: templates/js/stock.js:669 templates/js/stock.js:1092 msgid "Purchase Order" msgstr "" -#: order/models.py:658 +#: order/models.py:756 msgid "Supplier part" msgstr "" -#: order/models.py:661 order/templates/order/order_base.html:131 -#: order/templates/order/purchase_order_detail.html:219 +#: order/models.py:759 order/templates/order/order_base.html:131 +#: order/templates/order/purchase_order_detail.html:246 #: order/templates/order/receive_parts.html:22 #: order/templates/order/sales_order_base.html:133 msgid "Received" msgstr "" -#: order/models.py:661 +#: order/models.py:759 msgid "Number of items received" msgstr "" -#: order/models.py:667 stock/models.py:537 -#: stock/templates/stock/item_base.html:331 templates/js/stock.js:690 +#: order/models.py:765 part/templates/part/prices.html:166 stock/models.py:545 +#: stock/templates/stock/item_base.html:331 templates/js/stock.js:704 msgid "Purchase Price" msgstr "" -#: order/models.py:668 +#: order/models.py:766 msgid "Unit purchase price" msgstr "" -#: order/models.py:676 +#: order/models.py:774 msgid "Where does the Purchaser want this item to be stored?" msgstr "" -#: order/models.py:718 part/templates/part/navbar.html:110 -#: part/templates/part/order_prices.html:108 -#: part/templates/part/part_pricing.html:97 +#: order/models.py:820 part/templates/part/part_pricing.html:97 +#: part/templates/part/prices.html:103 part/templates/part/prices.html:278 msgid "Sale Price" msgstr "" -#: order/models.py:719 +#: order/models.py:821 msgid "Unit sale price" msgstr "" -#: order/models.py:794 order/models.py:796 +#: order/models.py:900 order/models.py:902 msgid "Stock item has not been assigned" msgstr "" -#: order/models.py:800 +#: order/models.py:906 msgid "Cannot allocate stock item to a line with a different part" msgstr "" -#: order/models.py:802 +#: order/models.py:908 msgid "Cannot allocate stock to a line without a part" msgstr "" -#: order/models.py:805 +#: order/models.py:911 msgid "Allocation quantity cannot exceed stock quantity" msgstr "" -#: order/models.py:815 +#: order/models.py:921 msgid "Quantity must be 1 for serialized stock item" msgstr "" -#: order/models.py:820 +#: order/models.py:926 msgid "Line" msgstr "" -#: order/models.py:831 +#: order/models.py:937 msgid "Item" msgstr "" -#: order/models.py:832 +#: order/models.py:938 msgid "Select stock item to allocate" msgstr "" -#: order/models.py:835 +#: order/models.py:941 msgid "Enter stock allocation quantity" msgstr "" +#: order/serializers.py:139 +msgid "Purchase price currency" +msgstr "" + +#: order/serializers.py:359 +msgid "Sale price currency" +msgstr "" + #: order/templates/order/delete_attachment.html:5 #: stock/templates/stock/attachment_delete.html:5 #: templates/attachment_delete.html:5 @@ -3091,16 +3060,22 @@ msgstr "" msgid "Issued" msgstr "" -#: order/templates/order/order_base.html:180 -#: order/templates/order/purchase_order_detail.html:100 +#: order/templates/order/order_base.html:188 +msgid "Edit Purchase Order" +msgstr "" + +#: order/templates/order/order_base.html:199 +#: order/templates/order/purchase_order_detail.html:127 #: part/templates/part/category.html:217 part/templates/part/category.html:259 -#: stock/templates/stock/location.html:191 templates/js/stock.js:736 -#: templates/js/stock.js:1324 +#: part/templates/part/part_base.html:415 +#: stock/templates/stock/location.html:191 templates/js/stock.js:750 +#: templates/js/stock.js:1338 msgid "New Location" msgstr "" -#: order/templates/order/order_base.html:181 -#: order/templates/order/purchase_order_detail.html:101 +#: order/templates/order/order_base.html:200 +#: order/templates/order/purchase_order_detail.html:128 +#: part/templates/part/part_base.html:416 #: stock/templates/stock/location.html:42 msgid "Create new stock location" msgstr "" @@ -3253,7 +3228,7 @@ msgid "Select existing purchase orders, or create new orders." msgstr "" #: order/templates/order/order_wizard/select_pos.html:31 -#: templates/js/order.js:205 templates/js/order.js:308 +#: templates/js/order.js:267 templates/js/order.js:375 msgid "Items" msgstr "" @@ -3277,7 +3252,6 @@ msgid "Purchase Order Attachments" msgstr "" #: order/templates/order/po_lineitem_delete.html:5 -#: order/templates/order/so_lineitem_delete.html:5 msgid "Are you sure you wish to delete this line item?" msgstr "" @@ -3295,40 +3269,52 @@ msgid "Purchase Order Items" msgstr "" #: order/templates/order/purchase_order_detail.html:24 -#: order/templates/order/sales_order_detail.html:22 order/views.py:1327 -#: order/views.py:1410 +#: order/templates/order/purchase_order_detail.html:64 +#: order/templates/order/sales_order_detail.html:22 +#: order/templates/order/sales_order_detail.html:56 msgid "Add Line Item" msgstr "" -#: order/templates/order/purchase_order_detail.html:114 +#: order/templates/order/purchase_order_detail.html:100 +#: order/templates/order/sales_order_detail.html:398 +msgid "Edit Line Item" +msgstr "" + +#: order/templates/order/purchase_order_detail.html:110 +#: order/templates/order/sales_order_detail.html:408 +msgid "Delete Line Item" +msgstr "" + +#: order/templates/order/purchase_order_detail.html:141 msgid "No line items found" msgstr "" -#: order/templates/order/purchase_order_detail.html:142 -#: order/templates/order/sales_order_detail.html:223 +#: order/templates/order/purchase_order_detail.html:169 +#: order/templates/order/sales_order_detail.html:233 msgid "Total" msgstr "" -#: order/templates/order/purchase_order_detail.html:191 -#: order/templates/order/sales_order_detail.html:246 +#: order/templates/order/purchase_order_detail.html:218 +#: order/templates/order/sales_order_detail.html:256 templates/js/part.js:807 +#: templates/js/part.js:996 msgid "Unit Price" msgstr "" -#: order/templates/order/purchase_order_detail.html:198 -#: order/templates/order/sales_order_detail.html:253 +#: order/templates/order/purchase_order_detail.html:225 +#: order/templates/order/sales_order_detail.html:263 msgid "Total price" msgstr "" -#: order/templates/order/purchase_order_detail.html:255 -#: order/templates/order/sales_order_detail.html:359 +#: order/templates/order/purchase_order_detail.html:282 +#: order/templates/order/sales_order_detail.html:369 msgid "Edit line item" msgstr "" -#: order/templates/order/purchase_order_detail.html:256 +#: order/templates/order/purchase_order_detail.html:283 msgid "Delete line item" msgstr "" -#: order/templates/order/purchase_order_detail.html:261 +#: order/templates/order/purchase_order_detail.html:288 msgid "Receive line item" msgstr "" @@ -3343,7 +3329,7 @@ msgid "Receive outstanding parts for %(order)s - %(desc)s" msgstr "" #: order/templates/order/receive_parts.html:14 part/api.py:45 -#: part/models.py:322 part/templates/part/cat_link.html:7 +#: part/models.py:326 part/templates/part/cat_link.html:7 #: part/templates/part/category.html:108 part/templates/part/category.html:157 #: part/templates/part/category_navbar.html:25 #: part/templates/part/category_navbar.html:32 @@ -3351,7 +3337,7 @@ msgstr "" #: templates/InvenTree/index.html:97 templates/InvenTree/search.html:114 #: templates/InvenTree/settings/tabs.html:28 templates/js/part.js:666 #: templates/navbar.html:23 templates/stats.html:80 templates/stats.html:89 -#: users/models.py:40 +#: users/models.py:41 msgid "Parts" msgstr "" @@ -3393,10 +3379,14 @@ msgstr "" msgid "Sales Order Details" msgstr "" -#: order/templates/order/sales_order_base.html:100 templates/js/order.js:275 +#: order/templates/order/sales_order_base.html:100 templates/js/order.js:342 msgid "Customer Reference" msgstr "" +#: order/templates/order/sales_order_base.html:177 +msgid "Edit Sales Order" +msgstr "" + #: order/templates/order/sales_order_cancel.html:8 #: order/templates/order/sales_order_ship.html:9 #: part/templates/part/bom_duplicate.html:12 @@ -3412,69 +3402,69 @@ msgstr "" msgid "Sales Order Items" msgstr "" -#: order/templates/order/sales_order_detail.html:95 templates/js/bom.js:358 +#: order/templates/order/sales_order_detail.html:105 templates/js/bom.js:358 #: templates/js/build.js:725 templates/js/build.js:1142 msgid "Actions" msgstr "" -#: order/templates/order/sales_order_detail.html:102 templates/js/build.js:611 +#: order/templates/order/sales_order_detail.html:112 templates/js/build.js:611 #: templates/js/build.js:947 msgid "Edit stock allocation" msgstr "" -#: order/templates/order/sales_order_detail.html:103 templates/js/build.js:613 +#: order/templates/order/sales_order_detail.html:113 templates/js/build.js:613 #: templates/js/build.js:948 msgid "Delete stock allocation" msgstr "" -#: order/templates/order/sales_order_detail.html:176 +#: order/templates/order/sales_order_detail.html:186 msgid "No matching line items" msgstr "" -#: order/templates/order/sales_order_detail.html:206 +#: order/templates/order/sales_order_detail.html:216 msgid "ID" msgstr "" -#: order/templates/order/sales_order_detail.html:274 templates/js/build.js:676 +#: order/templates/order/sales_order_detail.html:284 templates/js/build.js:676 #: templates/js/build.js:943 msgid "Allocated" msgstr "" -#: order/templates/order/sales_order_detail.html:276 +#: order/templates/order/sales_order_detail.html:286 msgid "Fulfilled" msgstr "" -#: order/templates/order/sales_order_detail.html:313 +#: order/templates/order/sales_order_detail.html:323 msgid "PO" msgstr "" -#: order/templates/order/sales_order_detail.html:343 +#: order/templates/order/sales_order_detail.html:353 msgid "Allocate serial numbers" msgstr "" -#: order/templates/order/sales_order_detail.html:346 templates/js/build.js:739 +#: order/templates/order/sales_order_detail.html:356 templates/js/build.js:739 msgid "Allocate stock" msgstr "" -#: order/templates/order/sales_order_detail.html:349 +#: order/templates/order/sales_order_detail.html:359 msgid "Purchase stock" msgstr "" -#: order/templates/order/sales_order_detail.html:353 templates/js/build.js:732 +#: order/templates/order/sales_order_detail.html:363 templates/js/build.js:732 #: templates/js/build.js:1150 msgid "Build stock" msgstr "" -#: order/templates/order/sales_order_detail.html:356 -#: order/templates/order/sales_order_detail.html:465 +#: order/templates/order/sales_order_detail.html:366 +#: order/templates/order/sales_order_detail.html:485 msgid "Calculate price" msgstr "" -#: order/templates/order/sales_order_detail.html:360 +#: order/templates/order/sales_order_detail.html:370 msgid "Delete line item " msgstr "" -#: order/templates/order/sales_order_detail.html:471 +#: order/templates/order/sales_order_detail.html:491 msgid "Update Unit Price" msgstr "" @@ -3515,194 +3505,154 @@ msgstr "" msgid "Sales Order Attachments" msgstr "" -#: order/views.py:106 -msgid "Add Purchase Order Attachment" -msgstr "" - -#: order/views.py:156 -msgid "Add Sales Order Attachment" -msgstr "" - -#: order/views.py:348 -msgid "Create Sales Order" -msgstr "" - -#: order/views.py:383 -msgid "Edit Purchase Order" -msgstr "" - -#: order/views.py:403 -msgid "Edit Sales Order" -msgstr "" - -#: order/views.py:419 +#: order/views.py:151 msgid "Cancel Order" msgstr "" -#: order/views.py:428 order/views.py:454 +#: order/views.py:160 order/views.py:186 msgid "Confirm order cancellation" msgstr "" -#: order/views.py:431 order/views.py:457 +#: order/views.py:163 order/views.py:189 msgid "Order cannot be cancelled" msgstr "" -#: order/views.py:445 +#: order/views.py:177 msgid "Cancel sales order" msgstr "" -#: order/views.py:471 +#: order/views.py:203 msgid "Issue Order" msgstr "" -#: order/views.py:480 +#: order/views.py:212 msgid "Confirm order placement" msgstr "" -#: order/views.py:490 +#: order/views.py:222 msgid "Purchase order issued" msgstr "" -#: order/views.py:501 +#: order/views.py:233 msgid "Complete Order" msgstr "" -#: order/views.py:517 +#: order/views.py:249 msgid "Confirm order completion" msgstr "" -#: order/views.py:528 +#: order/views.py:260 msgid "Purchase order completed" msgstr "" -#: order/views.py:538 +#: order/views.py:270 msgid "Ship Order" msgstr "" -#: order/views.py:554 +#: order/views.py:286 msgid "Confirm order shipment" msgstr "" -#: order/views.py:560 +#: order/views.py:292 msgid "Could not ship order" msgstr "" -#: order/views.py:607 +#: order/views.py:339 msgid "Match Supplier Parts" msgstr "" -#: order/views.py:804 +#: order/views.py:536 msgid "Receive Parts" msgstr "" -#: order/views.py:874 +#: order/views.py:606 msgid "Items received" msgstr "" -#: order/views.py:888 +#: order/views.py:620 msgid "No destination set" msgstr "" -#: order/views.py:933 +#: order/views.py:665 msgid "Error converting quantity to number" msgstr "" -#: order/views.py:939 +#: order/views.py:671 msgid "Receive quantity less than zero" msgstr "" -#: order/views.py:945 +#: order/views.py:677 msgid "No lines specified" msgstr "" -#: order/views.py:1018 +#: order/views.py:750 msgid "Update prices" msgstr "" -#: order/views.py:1276 +#: order/views.py:1008 #, python-brace-format msgid "Ordered {n} parts" msgstr "" -#: order/views.py:1336 -msgid "Supplier part must be specified" -msgstr "" - -#: order/views.py:1342 -msgid "Supplier must match for Part and Order" -msgstr "" - -#: order/views.py:1473 order/views.py:1491 -msgid "Edit Line Item" -msgstr "" - -#: order/views.py:1507 order/views.py:1519 -msgid "Delete Line Item" -msgstr "" - -#: order/views.py:1512 order/views.py:1524 -msgid "Deleted line item" -msgstr "" - -#: order/views.py:1537 +#: order/views.py:1061 msgid "Allocate Serial Numbers" msgstr "" -#: order/views.py:1582 +#: order/views.py:1106 #, python-brace-format msgid "Allocated {n} items" msgstr "" -#: order/views.py:1598 +#: order/views.py:1122 msgid "Select line item" msgstr "" -#: order/views.py:1629 +#: order/views.py:1153 #, python-brace-format msgid "No matching item for serial {serial}" msgstr "" -#: order/views.py:1639 +#: order/views.py:1163 #, python-brace-format msgid "{serial} is not in stock" msgstr "" -#: order/views.py:1647 +#: order/views.py:1171 #, python-brace-format msgid "{serial} already allocated to an order" msgstr "" -#: order/views.py:1701 +#: order/views.py:1225 msgid "Allocate Stock to Order" msgstr "" -#: order/views.py:1775 +#: order/views.py:1299 msgid "Edit Allocation Quantity" msgstr "" -#: order/views.py:1790 +#: order/views.py:1314 msgid "Remove allocation" msgstr "" -#: order/views.py:1862 +#: order/views.py:1386 msgid "Sales order not found" msgstr "" -#: order/views.py:1868 +#: order/views.py:1392 msgid "Price not found" msgstr "" -#: order/views.py:1871 +#: order/views.py:1395 #, python-brace-format msgid "Updated {part} unit-price to {price}" msgstr "" -#: order/views.py:1876 +#: order/views.py:1400 #, python-brace-format msgid "Updated {part} unit-price to {price} and quantity to {qty}" msgstr "" -#: part/bom.py:138 part/models.py:72 part/models.py:747 +#: part/bom.py:138 part/models.py:72 part/models.py:756 #: part/templates/part/category.html:75 part/templates/part/detail.html:90 msgid "Default Location" msgstr "" @@ -3724,143 +3674,143 @@ msgstr "" msgid "Error reading BOM file (incorrect row size)" msgstr "" -#: part/forms.py:89 stock/forms.py:265 +#: part/forms.py:73 stock/forms.py:232 msgid "File Format" msgstr "" -#: part/forms.py:89 stock/forms.py:265 +#: part/forms.py:73 stock/forms.py:232 msgid "Select output file format" msgstr "" -#: part/forms.py:91 +#: part/forms.py:75 msgid "Cascading" msgstr "" -#: part/forms.py:91 +#: part/forms.py:75 msgid "Download cascading / multi-level BOM" msgstr "" -#: part/forms.py:93 +#: part/forms.py:77 msgid "Levels" msgstr "" -#: part/forms.py:93 +#: part/forms.py:77 msgid "Select maximum number of BOM levels to export (0 = all levels)" msgstr "" -#: part/forms.py:95 +#: part/forms.py:79 msgid "Include Parameter Data" msgstr "" -#: part/forms.py:95 +#: part/forms.py:79 msgid "Include part parameters data in exported BOM" msgstr "" -#: part/forms.py:97 +#: part/forms.py:81 msgid "Include Stock Data" msgstr "" -#: part/forms.py:97 +#: part/forms.py:81 msgid "Include part stock data in exported BOM" msgstr "" -#: part/forms.py:99 +#: part/forms.py:83 msgid "Include Manufacturer Data" msgstr "" -#: part/forms.py:99 +#: part/forms.py:83 msgid "Include part manufacturer data in exported BOM" msgstr "" -#: part/forms.py:101 +#: part/forms.py:85 msgid "Include Supplier Data" msgstr "" -#: part/forms.py:101 +#: part/forms.py:85 msgid "Include part supplier data in exported BOM" msgstr "" -#: part/forms.py:122 part/models.py:2191 +#: part/forms.py:106 part/models.py:2224 msgid "Parent Part" msgstr "" -#: part/forms.py:123 part/templates/part/bom_duplicate.html:7 +#: part/forms.py:107 part/templates/part/bom_duplicate.html:7 msgid "Select parent part to copy BOM from" msgstr "" -#: part/forms.py:129 +#: part/forms.py:113 msgid "Clear existing BOM items" msgstr "" -#: part/forms.py:135 +#: part/forms.py:119 msgid "Confirm BOM duplication" msgstr "" -#: part/forms.py:153 +#: part/forms.py:137 msgid "validate" msgstr "" -#: part/forms.py:153 +#: part/forms.py:137 msgid "Confirm that the BOM is correct" msgstr "" -#: part/forms.py:165 +#: part/forms.py:149 msgid "BOM file" msgstr "" -#: part/forms.py:165 +#: part/forms.py:149 msgid "Select BOM file to upload" msgstr "" -#: part/forms.py:184 +#: part/forms.py:168 msgid "Related Part" msgstr "" -#: part/forms.py:203 +#: part/forms.py:175 msgid "Select part category" msgstr "" -#: part/forms.py:220 +#: part/forms.py:192 msgid "Duplicate all BOM data for this part" msgstr "" -#: part/forms.py:221 +#: part/forms.py:193 msgid "Copy BOM" msgstr "" -#: part/forms.py:226 +#: part/forms.py:198 msgid "Duplicate all parameter data for this part" msgstr "" -#: part/forms.py:227 +#: part/forms.py:199 msgid "Copy Parameters" msgstr "" -#: part/forms.py:232 +#: part/forms.py:204 msgid "Confirm part creation" msgstr "" -#: part/forms.py:237 +#: part/forms.py:209 msgid "Include category parameter templates" msgstr "" -#: part/forms.py:242 +#: part/forms.py:214 msgid "Include parent categories parameter templates" msgstr "" -#: part/forms.py:322 +#: part/forms.py:294 msgid "Add parameter template to same level categories" msgstr "" -#: part/forms.py:326 +#: part/forms.py:298 msgid "Add parameter template to all categories" msgstr "" -#: part/forms.py:344 part/models.py:2286 +#: part/forms.py:316 part/models.py:2323 msgid "Sub part" msgstr "" -#: part/forms.py:373 +#: part/forms.py:345 msgid "Input quantity for price calculation" msgstr "" @@ -3876,362 +3826,362 @@ msgstr "" msgid "Default keywords for parts in this category" msgstr "" -#: part/models.py:82 part/models.py:2237 +#: part/models.py:86 part/models.py:2270 #: part/templates/part/part_app_base.html:10 msgid "Part Category" msgstr "" -#: part/models.py:83 part/templates/part/category.html:32 +#: part/models.py:87 part/templates/part/category.html:32 #: part/templates/part/category.html:103 templates/InvenTree/search.html:127 -#: templates/stats.html:84 users/models.py:39 +#: templates/stats.html:84 users/models.py:40 msgid "Part Categories" msgstr "" -#: part/models.py:448 part/models.py:460 +#: part/models.py:457 part/models.py:469 #, python-brace-format msgid "Part '{p1}' is used in BOM for '{p2}' (recursive)" msgstr "" -#: part/models.py:557 +#: part/models.py:566 msgid "Next available serial numbers are" msgstr "" -#: part/models.py:561 +#: part/models.py:570 msgid "Next available serial number is" msgstr "" -#: part/models.py:566 +#: part/models.py:575 msgid "Most recent serial number is" msgstr "" -#: part/models.py:645 +#: part/models.py:654 msgid "Duplicate IPN not allowed in part settings" msgstr "IPN dupliqué non autorisé dans les paramètres de la pièce" -#: part/models.py:670 part/templates/part/detail.html:22 +#: part/models.py:679 part/templates/part/detail.html:22 msgid "Part name" msgstr "" -#: part/models.py:677 +#: part/models.py:686 msgid "Is Template" msgstr "" -#: part/models.py:678 +#: part/models.py:687 msgid "Is this part a template part?" msgstr "" -#: part/models.py:689 +#: part/models.py:698 msgid "Is this part a variant of another part?" msgstr "" -#: part/models.py:690 part/templates/part/detail.html:60 +#: part/models.py:699 part/templates/part/detail.html:60 msgid "Variant Of" msgstr "" -#: part/models.py:696 +#: part/models.py:705 msgid "Part description" msgstr "" -#: part/models.py:701 part/templates/part/category.html:82 +#: part/models.py:710 part/templates/part/category.html:82 #: part/templates/part/detail.html:67 msgid "Keywords" msgstr "" -#: part/models.py:702 +#: part/models.py:711 msgid "Part keywords to improve visibility in search results" msgstr "" -#: part/models.py:709 part/models.py:2236 part/templates/part/detail.html:73 +#: part/models.py:718 part/models.py:2269 part/templates/part/detail.html:73 #: part/templates/part/set_category.html:15 templates/js/part.js:452 msgid "Category" msgstr "" -#: part/models.py:710 +#: part/models.py:719 msgid "Part category" msgstr "" -#: part/models.py:715 part/templates/part/detail.html:28 +#: part/models.py:724 part/templates/part/detail.html:28 #: part/templates/part/part_base.html:87 templates/js/part.js:169 #: templates/js/part.js:296 msgid "IPN" msgstr "IPN" -#: part/models.py:716 +#: part/models.py:725 msgid "Internal Part Number" msgstr "" -#: part/models.py:722 +#: part/models.py:731 msgid "Part revision or version number" msgstr "" -#: part/models.py:723 part/templates/part/detail.html:35 report/models.py:199 +#: part/models.py:732 part/templates/part/detail.html:35 report/models.py:199 #: templates/js/part.js:173 msgid "Revision" msgstr "" -#: part/models.py:745 +#: part/models.py:754 msgid "Where is this item normally stored?" msgstr "" -#: part/models.py:792 part/templates/part/detail.html:97 +#: part/models.py:801 part/templates/part/detail.html:97 msgid "Default Supplier" msgstr "" -#: part/models.py:793 +#: part/models.py:802 msgid "Default supplier part" msgstr "" -#: part/models.py:800 +#: part/models.py:809 msgid "Default Expiry" msgstr "" -#: part/models.py:801 +#: part/models.py:810 msgid "Expiry time (in days) for stock items of this part" msgstr "" -#: part/models.py:806 part/templates/part/detail.html:113 +#: part/models.py:815 part/templates/part/detail.html:113 msgid "Minimum Stock" msgstr "" -#: part/models.py:807 +#: part/models.py:816 msgid "Minimum allowed stock level" msgstr "" -#: part/models.py:814 +#: part/models.py:823 msgid "Stock keeping units for this part" msgstr "" -#: part/models.py:820 +#: part/models.py:829 msgid "Can this part be built from other parts?" msgstr "" -#: part/models.py:826 +#: part/models.py:835 msgid "Can this part be used to build other parts?" msgstr "" -#: part/models.py:832 +#: part/models.py:841 msgid "Does this part have tracking for unique items?" msgstr "" -#: part/models.py:837 +#: part/models.py:846 msgid "Can this part be purchased from external suppliers?" msgstr "" -#: part/models.py:842 +#: part/models.py:851 msgid "Can this part be sold to customers?" msgstr "" -#: part/models.py:846 part/templates/part/detail.html:227 +#: part/models.py:855 part/templates/part/detail.html:227 #: templates/js/table_filters.js:21 templates/js/table_filters.js:65 -#: templates/js/table_filters.js:241 templates/js/table_filters.js:310 +#: templates/js/table_filters.js:246 templates/js/table_filters.js:315 msgid "Active" msgstr "" -#: part/models.py:847 +#: part/models.py:856 msgid "Is this part active?" msgstr "" -#: part/models.py:852 +#: part/models.py:861 msgid "Is this a virtual part, such as a software product or license?" msgstr "" -#: part/models.py:857 +#: part/models.py:866 msgid "Part notes - supports Markdown formatting" msgstr "" -#: part/models.py:860 +#: part/models.py:869 msgid "BOM checksum" msgstr "" -#: part/models.py:860 +#: part/models.py:869 msgid "Stored BOM checksum" msgstr "" -#: part/models.py:863 +#: part/models.py:872 msgid "BOM checked by" msgstr "" -#: part/models.py:865 +#: part/models.py:874 msgid "BOM checked date" msgstr "" -#: part/models.py:869 +#: part/models.py:878 msgid "Creation User" msgstr "" -#: part/models.py:1608 +#: part/models.py:1617 msgid "Sell multiple" msgstr "" -#: part/models.py:2063 +#: part/models.py:2088 msgid "Test templates can only be created for trackable parts" msgstr "" -#: part/models.py:2080 +#: part/models.py:2105 msgid "Test with this name already exists for this part" msgstr "" -#: part/models.py:2100 templates/js/part.js:717 templates/js/stock.js:117 +#: part/models.py:2125 templates/js/part.js:717 templates/js/stock.js:117 msgid "Test Name" msgstr "" -#: part/models.py:2101 +#: part/models.py:2126 msgid "Enter a name for the test" msgstr "" -#: part/models.py:2106 +#: part/models.py:2131 msgid "Test Description" msgstr "" -#: part/models.py:2107 +#: part/models.py:2132 msgid "Enter description for this test" msgstr "" -#: part/models.py:2112 templates/js/part.js:726 -#: templates/js/table_filters.js:227 +#: part/models.py:2137 templates/js/part.js:726 +#: templates/js/table_filters.js:232 msgid "Required" msgstr "" -#: part/models.py:2113 +#: part/models.py:2138 msgid "Is this test required to pass?" msgstr "" -#: part/models.py:2118 templates/js/part.js:734 +#: part/models.py:2143 templates/js/part.js:734 msgid "Requires Value" msgstr "" -#: part/models.py:2119 +#: part/models.py:2144 msgid "Does this test require a value when adding a test result?" msgstr "" -#: part/models.py:2124 templates/js/part.js:741 +#: part/models.py:2149 templates/js/part.js:741 msgid "Requires Attachment" msgstr "" -#: part/models.py:2125 +#: part/models.py:2150 msgid "Does this test require a file attachment when adding a test result?" msgstr "" -#: part/models.py:2158 +#: part/models.py:2187 msgid "Parameter template name must be unique" msgstr "" -#: part/models.py:2163 +#: part/models.py:2192 msgid "Parameter Name" msgstr "" -#: part/models.py:2165 +#: part/models.py:2194 msgid "Parameter Units" msgstr "" -#: part/models.py:2193 part/models.py:2242 part/models.py:2243 +#: part/models.py:2226 part/models.py:2275 part/models.py:2276 #: templates/InvenTree/settings/category.html:62 msgid "Parameter Template" msgstr "" -#: part/models.py:2195 +#: part/models.py:2228 msgid "Data" msgstr "" -#: part/models.py:2195 +#: part/models.py:2228 msgid "Parameter Value" msgstr "" -#: part/models.py:2247 templates/InvenTree/settings/category.html:67 +#: part/models.py:2280 templates/InvenTree/settings/category.html:67 msgid "Default Value" msgstr "" -#: part/models.py:2248 +#: part/models.py:2281 msgid "Default Parameter Value" msgstr "" -#: part/models.py:2278 +#: part/models.py:2315 msgid "Select parent part" msgstr "" -#: part/models.py:2287 +#: part/models.py:2324 msgid "Select part to be used in BOM" msgstr "" -#: part/models.py:2293 +#: part/models.py:2330 msgid "BOM quantity for this BOM item" msgstr "" -#: part/models.py:2295 templates/js/bom.js:216 templates/js/bom.js:278 +#: part/models.py:2332 templates/js/bom.js:216 templates/js/bom.js:278 msgid "Optional" msgstr "" -#: part/models.py:2295 +#: part/models.py:2332 msgid "This BOM item is optional" msgstr "" -#: part/models.py:2298 +#: part/models.py:2335 msgid "Overage" msgstr "" -#: part/models.py:2299 +#: part/models.py:2336 msgid "Estimated build wastage quantity (absolute or percentage)" msgstr "" -#: part/models.py:2302 +#: part/models.py:2339 msgid "BOM item reference" msgstr "" -#: part/models.py:2305 +#: part/models.py:2342 msgid "BOM item notes" msgstr "" -#: part/models.py:2307 +#: part/models.py:2344 msgid "Checksum" msgstr "" -#: part/models.py:2307 +#: part/models.py:2344 msgid "BOM line checksum" msgstr "" -#: part/models.py:2311 templates/js/bom.js:295 templates/js/bom.js:302 +#: part/models.py:2348 templates/js/bom.js:295 templates/js/bom.js:302 #: templates/js/table_filters.js:51 msgid "Inherited" msgstr "" -#: part/models.py:2312 +#: part/models.py:2349 msgid "This BOM item is inherited by BOMs for variant parts" msgstr "" -#: part/models.py:2317 templates/js/bom.js:287 +#: part/models.py:2354 templates/js/bom.js:287 msgid "Allow Variants" msgstr "" -#: part/models.py:2318 +#: part/models.py:2355 msgid "Stock items for variant parts can be used for this BOM item" msgstr "" -#: part/models.py:2394 part/views.py:1859 part/views.py:1911 -#: stock/models.py:290 +#: part/models.py:2431 part/views.py:1736 part/views.py:1788 +#: stock/models.py:298 msgid "Quantity must be integer value for trackable parts" msgstr "" -#: part/models.py:2403 part/models.py:2405 +#: part/models.py:2440 part/models.py:2442 msgid "Sub part must be specified" msgstr "" -#: part/models.py:2408 +#: part/models.py:2445 msgid "BOM Item" msgstr "" -#: part/models.py:2527 +#: part/models.py:2564 msgid "Part 1" msgstr "" -#: part/models.py:2531 +#: part/models.py:2568 msgid "Part 2" msgstr "" -#: part/models.py:2531 +#: part/models.py:2568 msgid "Select Related Part" msgstr "" -#: part/models.py:2563 +#: part/models.py:2600 msgid "Error creating relationship: check that the part is not related to itself and that the relationship is unique" msgstr "" @@ -4247,14 +4197,6 @@ msgstr "" msgid "Part Attachments" msgstr "" -#: part/templates/part/bom-delete.html:6 -msgid "Are you sure you want to delete this BOM item?" -msgstr "" - -#: part/templates/part/bom-delete.html:8 -msgid "Deleting this entry will remove the BOM row from the following part" -msgstr "" - #: part/templates/part/bom.html:10 part/templates/part/navbar.html:51 #: part/templates/part/navbar.html:54 msgid "Bill of Materials" @@ -4303,7 +4245,7 @@ msgstr "" msgid "Validate Bill of Materials" msgstr "" -#: part/templates/part/bom.html:61 part/views.py:2154 +#: part/templates/part/bom.html:61 part/views.py:2031 msgid "Export Bill of Materials" msgstr "" @@ -4319,8 +4261,8 @@ msgstr "" msgid "All selected BOM items will be deleted" msgstr "" -#: part/templates/part/bom.html:160 part/views.py:590 -#: templates/js/stock.js:1313 +#: part/templates/part/bom.html:160 part/views.py:450 +#: templates/js/stock.js:1327 msgid "Create New Part" msgstr "" @@ -4401,7 +4343,7 @@ msgstr "" msgid "All parts" msgstr "" -#: part/templates/part/category.html:38 part/views.py:2564 +#: part/templates/part/category.html:38 part/views.py:2441 msgid "Create new part category" msgstr "" @@ -4461,11 +4403,12 @@ msgid "View grid display" msgstr "" #: part/templates/part/category.html:218 -#: stock/templates/stock/location.html:192 templates/js/stock.js:737 +#: stock/templates/stock/location.html:192 templates/js/stock.js:751 msgid "Create new location" msgstr "" #: part/templates/part/category.html:223 part/templates/part/category.html:253 +#: part/templates/part/part_base.html:378 msgid "New Category" msgstr "" @@ -4477,10 +4420,18 @@ msgstr "" msgid "Create new Part Category" msgstr "" -#: part/templates/part/category.html:260 stock/views.py:1391 +#: part/templates/part/category.html:260 stock/views.py:1223 msgid "Create new Stock Location" msgstr "" +#: part/templates/part/category.html:279 +msgid "Select parent category" +msgstr "" + +#: part/templates/part/category.html:286 part/views.py:2389 +msgid "Edit Part Category" +msgstr "" + #: part/templates/part/category_delete.html:5 msgid "Are you sure you want to delete category" msgstr "" @@ -4526,7 +4477,7 @@ msgstr "" msgid "Part Parameters" msgstr "" -#: part/templates/part/copy_part.html:9 part/views.py:466 +#: part/templates/part/copy_part.html:9 part/views.py:326 msgid "Duplicate Part" msgstr "" @@ -4639,36 +4590,6 @@ msgstr "" msgid "Import Parts from File" msgstr "" -#: part/templates/part/internal_prices.html:11 -#: part/templates/part/navbar.html:101 -msgid "Internal Price Information" -msgstr "" - -#: part/templates/part/internal_prices.html:19 part/views.py:2989 -msgid "Add Internal Price Break" -msgstr "" - -#: part/templates/part/internal_prices.html:28 templates/403.html:5 -#: templates/403.html:11 -msgid "Permission Denied" -msgstr "" - -#: part/templates/part/internal_prices.html:31 templates/403.html:14 -msgid "You do not have permission to view this page." -msgstr "" - -#: part/templates/part/internal_prices.html:59 -msgid "No internal price break information found" -msgstr "" - -#: part/templates/part/internal_prices.html:110 -msgid "Edit internal price break" -msgstr "" - -#: part/templates/part/internal_prices.html:111 -msgid "Delete internal price break" -msgstr "" - #: part/templates/part/manufacturer.html:11 msgid "Part Manufacturers" msgstr "" @@ -4678,7 +4599,7 @@ msgid "Delete manufacturer parts" msgstr "" #: part/templates/part/manufacturer.html:53 -#: part/templates/part/supplier.html:57 +#: part/templates/part/supplier.html:56 msgid "Create new manufacturer" msgstr "" @@ -4702,125 +4623,27 @@ msgstr "" msgid "Used In" msgstr "" -#: part/templates/part/navbar.html:75 part/templates/part/order_prices.html:12 -msgid "Order Price Information" +#: part/templates/part/navbar.html:77 +msgid "Prices" msgstr "" -#: part/templates/part/navbar.html:78 -msgid "Order Price" -msgstr "" - -#: part/templates/part/navbar.html:104 part/templates/part/order_prices.html:94 -#: part/templates/part/part_pricing.html:82 -msgid "Internal Price" -msgstr "" - -#: part/templates/part/navbar.html:107 -msgid "Sales Price Information" -msgstr "" - -#: part/templates/part/navbar.html:121 part/templates/part/part_tests.html:10 +#: part/templates/part/navbar.html:109 part/templates/part/part_tests.html:10 msgid "Part Test Templates" msgstr "" -#: part/templates/part/navbar.html:124 stock/templates/stock/item_base.html:414 +#: part/templates/part/navbar.html:112 stock/templates/stock/item_base.html:414 msgid "Tests" msgstr "" -#: part/templates/part/navbar.html:129 part/templates/part/navbar.html:132 +#: part/templates/part/navbar.html:117 part/templates/part/navbar.html:120 #: part/templates/part/related.html:10 msgid "Related Parts" msgstr "" -#: part/templates/part/navbar.html:142 part/templates/part/notes.html:12 +#: part/templates/part/navbar.html:130 part/templates/part/notes.html:12 msgid "Part Notes" msgstr "" -#: part/templates/part/order_prices.html:25 -#: part/templates/part/part_base.html:282 -msgid "Calculate" -msgstr "" - -#: part/templates/part/order_prices.html:32 -msgid "Pricing ranges" -msgstr "" - -#: part/templates/part/order_prices.html:37 -#: part/templates/part/part_pricing.html:22 -msgid "Supplier Pricing" -msgstr "" - -#: part/templates/part/order_prices.html:38 -#: part/templates/part/order_prices.html:63 -#: part/templates/part/order_prices.html:95 -#: part/templates/part/order_prices.html:109 -#: part/templates/part/part_pricing.html:26 -#: part/templates/part/part_pricing.html:52 -#: part/templates/part/part_pricing.html:85 -#: part/templates/part/part_pricing.html:100 -msgid "Unit Cost" -msgstr "" - -#: part/templates/part/order_prices.html:45 -#: part/templates/part/order_prices.html:70 -#: part/templates/part/order_prices.html:100 -#: part/templates/part/order_prices.html:114 -#: part/templates/part/part_pricing.html:32 -#: part/templates/part/part_pricing.html:58 -#: part/templates/part/part_pricing.html:89 -#: part/templates/part/part_pricing.html:104 -msgid "Total Cost" -msgstr "" - -#: part/templates/part/order_prices.html:53 -#: part/templates/part/part_pricing.html:40 -msgid "No supplier pricing available" -msgstr "" - -#: part/templates/part/order_prices.html:62 -#: part/templates/part/order_prices.html:129 -#: part/templates/part/part_pricing.html:48 -msgid "BOM Pricing" -msgstr "" - -#: part/templates/part/order_prices.html:78 -#: part/templates/part/part_pricing.html:66 -msgid "Note: BOM pricing is incomplete for this part" -msgstr "" - -#: part/templates/part/order_prices.html:85 -#: part/templates/part/part_pricing.html:73 -msgid "No BOM pricing available" -msgstr "" - -#: part/templates/part/order_prices.html:123 -#: part/templates/part/part_pricing.html:113 -msgid "No pricing information is available for this part." -msgstr "" - -#: part/templates/part/order_prices.html:139 -msgid "Stock Pricing" -msgstr "" - -#: part/templates/part/order_prices.html:147 -msgid "No stock pricing history is available for this part." -msgstr "" - -#: part/templates/part/order_prices.html:166 -#, python-format -msgid "Single Price - %(currency)s" -msgstr "" - -#: part/templates/part/order_prices.html:178 -#, python-format -msgid "Single Price Difference - %(currency)s" -msgstr "" - -#: part/templates/part/order_prices.html:190 -#, python-format -msgid "Part Single Price - %(currency)s" -msgstr "" - #: part/templates/part/params.html:17 msgid "Add new parameter" msgstr "" @@ -4841,8 +4664,8 @@ msgstr "" msgid "Part List" msgstr "" -#: part/templates/part/part_base.html:26 templates/js/company.js:156 -#: templates/js/company.js:355 templates/js/part.js:84 templates/js/part.js:161 +#: part/templates/part/part_base.html:26 templates/js/company.js:280 +#: templates/js/company.js:480 templates/js/part.js:84 templates/js/part.js:161 msgid "Inactive" msgstr "" @@ -4905,7 +4728,7 @@ msgstr "" msgid "In Stock" msgstr "" -#: part/templates/part/part_base.html:143 templates/InvenTree/index.html:131 +#: part/templates/part/part_base.html:143 templates/InvenTree/index.html:132 msgid "Required for Build Orders" msgstr "" @@ -4926,10 +4749,86 @@ msgstr "" msgid "Building" msgstr "" +#: part/templates/part/part_base.html:285 part/templates/part/prices.html:131 +msgid "Calculate" +msgstr "" + +#: part/templates/part/part_base.html:379 +msgid "Create New Part Category" +msgstr "" + +#: part/templates/part/part_base.html:387 +msgid "New Parent" +msgstr "" + +#: part/templates/part/part_base.html:435 +msgid "Edit Part" +msgstr "" + +#: part/templates/part/part_pricing.html:22 part/templates/part/prices.html:27 +msgid "Supplier Pricing" +msgstr "" + +#: part/templates/part/part_pricing.html:26 +#: part/templates/part/part_pricing.html:52 +#: part/templates/part/part_pricing.html:85 +#: part/templates/part/part_pricing.html:100 part/templates/part/prices.html:31 +#: part/templates/part/prices.html:58 part/templates/part/prices.html:90 +#: part/templates/part/prices.html:107 +msgid "Unit Cost" +msgstr "" + +#: part/templates/part/part_pricing.html:32 +#: part/templates/part/part_pricing.html:58 +#: part/templates/part/part_pricing.html:89 +#: part/templates/part/part_pricing.html:104 part/templates/part/prices.html:38 +#: part/templates/part/prices.html:65 part/templates/part/prices.html:95 +#: part/templates/part/prices.html:112 +msgid "Total Cost" +msgstr "" + +#: part/templates/part/part_pricing.html:40 part/templates/part/prices.html:46 +msgid "No supplier pricing available" +msgstr "" + +#: part/templates/part/part_pricing.html:48 part/templates/part/prices.html:55 +#: part/templates/part/prices.html:235 +msgid "BOM Pricing" +msgstr "" + +#: part/templates/part/part_pricing.html:66 part/templates/part/prices.html:73 +msgid "Note: BOM pricing is incomplete for this part" +msgstr "" + +#: part/templates/part/part_pricing.html:73 part/templates/part/prices.html:80 +msgid "No BOM pricing available" +msgstr "" + +#: part/templates/part/part_pricing.html:82 part/templates/part/prices.html:89 +msgid "Internal Price" +msgstr "" + +#: part/templates/part/part_pricing.html:113 +#: part/templates/part/prices.html:121 +msgid "No pricing information is available for this part." +msgstr "" + #: part/templates/part/part_tests.html:17 msgid "Add Test Template" msgstr "" +#: part/templates/part/part_tests.html:61 +msgid "Add Test Result Template" +msgstr "" + +#: part/templates/part/part_tests.html:79 +msgid "Edit Test Result Template" +msgstr "" + +#: part/templates/part/part_tests.html:91 +msgid "Delete Test Result Template" +msgstr "" + #: part/templates/part/part_thumb.html:20 msgid "Select from existing images" msgstr "" @@ -4964,12 +4863,98 @@ msgstr "" msgid "There are %(count)s unique parts tracked for '%(full_name)s'. Deleting this part will permanently remove this tracking information." msgstr "" -#: part/templates/part/related.html:18 -msgid "Add Related" +#: part/templates/part/prices.html:12 +msgid "General Price Information" msgstr "" -#: part/templates/part/sale_prices.html:10 -msgid "Sell Price Information" +#: part/templates/part/prices.html:22 +msgid "Pricing ranges" +msgstr "" + +#: part/templates/part/prices.html:28 +msgid "Show supplier cost" +msgstr "" + +#: part/templates/part/prices.html:29 +msgid "Show purchase price" +msgstr "" + +#: part/templates/part/prices.html:56 +msgid "Show BOM cost" +msgstr "" + +#: part/templates/part/prices.html:104 +msgid "Show sale cost" +msgstr "" + +#: part/templates/part/prices.html:105 +msgid "Show sale price" +msgstr "" + +#: part/templates/part/prices.html:127 +msgid "Calculation parameters" +msgstr "" + +#: part/templates/part/prices.html:146 +msgid "Supplier Cost" +msgstr "" + +#: part/templates/part/prices.html:147 part/templates/part/prices.html:167 +#: part/templates/part/prices.html:193 part/templates/part/prices.html:224 +#: part/templates/part/prices.html:251 part/templates/part/prices.html:279 +msgid "Jump to overview" +msgstr "" + +#: part/templates/part/prices.html:172 +msgid "Stock Pricing" +msgstr "" + +#: part/templates/part/prices.html:180 +msgid "No stock pricing history is available for this part." +msgstr "" + +#: part/templates/part/prices.html:192 +msgid "Internal Cost" +msgstr "" + +#: part/templates/part/prices.html:206 part/views.py:2859 +msgid "Add Internal Price Break" +msgstr "" + +#: part/templates/part/prices.html:223 +msgid "BOM Cost" +msgstr "" + +#: part/templates/part/prices.html:250 +msgid "Sale Cost" +msgstr "" + +#: part/templates/part/prices.html:290 +msgid "No sale pice history available for this part." +msgstr "" + +#: part/templates/part/prices.html:340 +#, python-format +msgid "Single Price - %(currency)s" +msgstr "" + +#: part/templates/part/prices.html:352 +#, python-format +msgid "Single Price Difference - %(currency)s" +msgstr "" + +#: part/templates/part/prices.html:364 +#, python-format +msgid "Part Single Price - %(currency)s" +msgstr "" + +#: part/templates/part/prices.html:464 +#, python-format +msgid "Unit Price - %(currency)s" +msgstr "" + +#: part/templates/part/related.html:18 +msgid "Add Related" msgstr "" #: part/templates/part/sales_orders.html:18 @@ -5043,216 +5028,180 @@ msgstr "" msgid "Delete Related Part" msgstr "" -#: part/views.py:164 -msgid "Add part attachment" -msgstr "" - -#: part/views.py:217 templates/attachment_table.html:32 -msgid "Edit attachment" -msgstr "" - -#: part/views.py:221 -msgid "Part attachment updated" -msgstr "" - -#: part/views.py:236 -msgid "Delete Part Attachment" -msgstr "" - -#: part/views.py:244 -msgid "Deleted part attachment" -msgstr "" - -#: part/views.py:253 -msgid "Create Test Template" -msgstr "" - -#: part/views.py:280 -msgid "Edit Test Template" -msgstr "" - -#: part/views.py:294 -msgid "Delete Test Template" -msgstr "" - -#: part/views.py:301 +#: part/views.py:161 msgid "Set Part Category" msgstr "" -#: part/views.py:351 +#: part/views.py:211 #, python-brace-format msgid "Set category for {n} parts" msgstr "" -#: part/views.py:386 +#: part/views.py:246 msgid "Create Variant" msgstr "" -#: part/views.py:471 +#: part/views.py:331 msgid "Copied part" msgstr "" -#: part/views.py:525 part/views.py:663 +#: part/views.py:385 part/views.py:523 msgid "Possible matches exist - confirm creation of new part" msgstr "" -#: part/views.py:595 +#: part/views.py:455 msgid "Created new part" msgstr "" -#: part/views.py:763 +#: part/views.py:623 msgid "Match References" msgstr "" -#: part/views.py:1092 +#: part/views.py:925 +msgid "None" +msgstr "" + +#: part/views.py:984 msgid "Part QR Code" msgstr "" -#: part/views.py:1194 -msgid "Upload Part Image" -msgstr "" - -#: part/views.py:1200 part/views.py:1235 -msgid "Updated part image" -msgstr "" - -#: part/views.py:1209 +#: part/views.py:1086 msgid "Select Part Image" msgstr "" -#: part/views.py:1238 +#: part/views.py:1112 +msgid "Updated part image" +msgstr "" + +#: part/views.py:1115 msgid "Part image not found" msgstr "" -#: part/views.py:1249 +#: part/views.py:1126 msgid "Edit Part Properties" msgstr "" -#: part/views.py:1284 +#: part/views.py:1161 msgid "Duplicate BOM" msgstr "" -#: part/views.py:1314 +#: part/views.py:1191 msgid "Confirm duplication of BOM from parent" msgstr "" -#: part/views.py:1335 +#: part/views.py:1212 msgid "Validate BOM" msgstr "" -#: part/views.py:1356 +#: part/views.py:1233 msgid "Confirm that the BOM is valid" msgstr "" -#: part/views.py:1367 +#: part/views.py:1244 msgid "Validated Bill of Materials" msgstr "" -#: part/views.py:1501 +#: part/views.py:1378 msgid "No BOM file provided" msgstr "" -#: part/views.py:1862 +#: part/views.py:1739 msgid "Enter a valid quantity" msgstr "" -#: part/views.py:1887 part/views.py:1890 +#: part/views.py:1764 part/views.py:1767 msgid "Select valid part" msgstr "" -#: part/views.py:1896 +#: part/views.py:1773 msgid "Duplicate part selected" msgstr "" -#: part/views.py:1934 +#: part/views.py:1811 msgid "Select a part" msgstr "" -#: part/views.py:1940 +#: part/views.py:1817 msgid "Selected part creates a circular BOM" msgstr "" -#: part/views.py:1944 +#: part/views.py:1821 msgid "Specify quantity" msgstr "" -#: part/views.py:2206 +#: part/views.py:2083 msgid "Confirm Part Deletion" msgstr "" -#: part/views.py:2213 +#: part/views.py:2090 msgid "Part was deleted" msgstr "" -#: part/views.py:2222 +#: part/views.py:2099 msgid "Part Pricing" msgstr "" -#: part/views.py:2363 +#: part/views.py:2240 msgid "Create Part Parameter Template" msgstr "" -#: part/views.py:2373 +#: part/views.py:2250 msgid "Edit Part Parameter Template" msgstr "" -#: part/views.py:2380 +#: part/views.py:2257 msgid "Delete Part Parameter Template" msgstr "" -#: part/views.py:2388 +#: part/views.py:2265 msgid "Create Part Parameter" msgstr "" -#: part/views.py:2438 +#: part/views.py:2315 msgid "Edit Part Parameter" msgstr "" -#: part/views.py:2452 +#: part/views.py:2329 msgid "Delete Part Parameter" msgstr "" -#: part/views.py:2512 -msgid "Edit Part Category" -msgstr "" - -#: part/views.py:2550 +#: part/views.py:2427 msgid "Delete Part Category" msgstr "" -#: part/views.py:2556 +#: part/views.py:2433 msgid "Part category was deleted" msgstr "" -#: part/views.py:2608 +#: part/views.py:2485 msgid "Create Category Parameter Template" msgstr "" -#: part/views.py:2709 +#: part/views.py:2586 msgid "Edit Category Parameter Template" msgstr "" -#: part/views.py:2765 +#: part/views.py:2642 msgid "Delete Category Parameter Template" msgstr "" -#: part/views.py:2784 +#: part/views.py:2661 msgid "Create BOM Item" msgstr "" -#: part/views.py:2854 +#: part/views.py:2731 msgid "Edit BOM item" msgstr "" -#: part/views.py:2910 -msgid "Confim BOM item deletion" +#: part/views.py:2792 +msgid "Added new price break" msgstr "" -#: part/views.py:2998 +#: part/views.py:2868 msgid "Edit Internal Price Break" msgstr "" -#: part/views.py:3006 +#: part/views.py:2876 msgid "Delete Internal Price Break" msgstr "" @@ -5358,17 +5307,17 @@ msgid "Test Results" msgstr "" #: report/templates/report/inventree_test_report_base.html:88 -#: stock/models.py:1739 +#: stock/models.py:1759 msgid "Test" msgstr "" #: report/templates/report/inventree_test_report_base.html:89 -#: stock/models.py:1745 +#: stock/models.py:1765 msgid "Result" msgstr "" #: report/templates/report/inventree_test_report_base.html:92 -#: templates/js/order.js:195 templates/js/stock.js:1012 +#: templates/js/order.js:257 templates/js/stock.js:1026 msgid "Date" msgstr "" @@ -5380,287 +5329,287 @@ msgstr "" msgid "Fail" msgstr "" -#: stock/api.py:212 +#: stock/api.py:211 #, python-brace-format msgid "Updated stock for {n} items" msgstr "" -#: stock/api.py:281 +#: stock/api.py:280 #, python-brace-format msgid "Moved {n} parts to {loc}" msgstr "" -#: stock/forms.py:114 stock/forms.py:418 stock/models.py:505 +#: stock/forms.py:81 stock/forms.py:385 stock/models.py:513 #: stock/templates/stock/item_base.html:381 templates/js/stock.js:658 msgid "Expiry Date" msgstr "" -#: stock/forms.py:115 stock/forms.py:419 +#: stock/forms.py:82 stock/forms.py:386 msgid "Expiration date for this stock item" msgstr "" -#: stock/forms.py:118 +#: stock/forms.py:85 msgid "Enter unique serial numbers (or leave blank)" msgstr "" -#: stock/forms.py:169 +#: stock/forms.py:136 msgid "Destination for serialized stock (by default, will remain in current location)" msgstr "" -#: stock/forms.py:171 +#: stock/forms.py:138 msgid "Serial numbers" msgstr "" -#: stock/forms.py:171 +#: stock/forms.py:138 msgid "Unique serial numbers (must match quantity)" msgstr "" -#: stock/forms.py:173 stock/forms.py:349 +#: stock/forms.py:140 stock/forms.py:316 msgid "Add transaction note (optional)" msgstr "" -#: stock/forms.py:203 stock/forms.py:259 +#: stock/forms.py:170 stock/forms.py:226 msgid "Select test report template" msgstr "" -#: stock/forms.py:267 templates/js/table_filters.js:75 +#: stock/forms.py:234 templates/js/table_filters.js:75 #: templates/js/table_filters.js:138 msgid "Include sublocations" msgstr "" -#: stock/forms.py:267 +#: stock/forms.py:234 msgid "Include stock items in sub locations" msgstr "" -#: stock/forms.py:302 +#: stock/forms.py:269 msgid "Stock item to install" msgstr "" -#: stock/forms.py:309 +#: stock/forms.py:276 msgid "Stock quantity to assign" msgstr "" -#: stock/forms.py:337 +#: stock/forms.py:304 msgid "Must not exceed available quantity" msgstr "" -#: stock/forms.py:347 +#: stock/forms.py:314 msgid "Destination location for uninstalled items" msgstr "" -#: stock/forms.py:351 +#: stock/forms.py:318 msgid "Confirm uninstall" msgstr "" -#: stock/forms.py:351 +#: stock/forms.py:318 msgid "Confirm removal of installed stock items" msgstr "" -#: stock/forms.py:375 +#: stock/forms.py:342 msgid "Destination stock location" msgstr "" -#: stock/forms.py:377 +#: stock/forms.py:344 msgid "Add note (required)" msgstr "" -#: stock/forms.py:381 stock/views.py:852 stock/views.py:1051 +#: stock/forms.py:348 stock/views.py:705 stock/views.py:904 msgid "Confirm stock adjustment" msgstr "" -#: stock/forms.py:381 +#: stock/forms.py:348 msgid "Confirm movement of stock items" msgstr "" -#: stock/forms.py:383 +#: stock/forms.py:350 msgid "Set Default Location" msgstr "" -#: stock/forms.py:383 +#: stock/forms.py:350 msgid "Set the destination as the default location for selected parts" msgstr "" -#: stock/models.py:52 stock/models.py:542 +#: stock/models.py:56 stock/models.py:550 msgid "Owner" msgstr "" -#: stock/models.py:53 stock/models.py:543 +#: stock/models.py:57 stock/models.py:551 msgid "Select Owner" msgstr "" -#: stock/models.py:271 +#: stock/models.py:279 msgid "StockItem with this serial number already exists" msgstr "" -#: stock/models.py:307 +#: stock/models.py:315 #, python-brace-format msgid "Part type ('{pf}') must be {pe}" msgstr "" -#: stock/models.py:317 stock/models.py:326 +#: stock/models.py:325 stock/models.py:334 msgid "Quantity must be 1 for item with a serial number" msgstr "" -#: stock/models.py:318 +#: stock/models.py:326 msgid "Serial number cannot be set if quantity greater than 1" msgstr "" -#: stock/models.py:340 +#: stock/models.py:348 msgid "Item cannot belong to itself" msgstr "" -#: stock/models.py:346 +#: stock/models.py:354 msgid "Item must have a build reference if is_building=True" msgstr "" -#: stock/models.py:353 +#: stock/models.py:361 msgid "Build reference does not point to the same part object" msgstr "" -#: stock/models.py:395 +#: stock/models.py:403 msgid "Parent Stock Item" msgstr "" -#: stock/models.py:404 +#: stock/models.py:412 msgid "Base part" msgstr "" -#: stock/models.py:413 +#: stock/models.py:421 msgid "Select a matching supplier part for this stock item" msgstr "" -#: stock/models.py:418 stock/templates/stock/stock_app_base.html:8 +#: stock/models.py:426 stock/templates/stock/stock_app_base.html:8 msgid "Stock Location" msgstr "" -#: stock/models.py:421 +#: stock/models.py:429 msgid "Where is this stock item located?" msgstr "" -#: stock/models.py:428 +#: stock/models.py:436 msgid "Packaging this stock item is stored in" msgstr "" -#: stock/models.py:433 stock/templates/stock/item_base.html:270 +#: stock/models.py:441 stock/templates/stock/item_base.html:270 msgid "Installed In" msgstr "" -#: stock/models.py:436 +#: stock/models.py:444 msgid "Is this item installed in another item?" msgstr "" -#: stock/models.py:452 +#: stock/models.py:460 msgid "Serial number for this item" msgstr "" -#: stock/models.py:464 +#: stock/models.py:472 msgid "Batch code for this stock item" msgstr "" -#: stock/models.py:468 +#: stock/models.py:476 msgid "Stock Quantity" msgstr "" -#: stock/models.py:477 +#: stock/models.py:485 msgid "Source Build" msgstr "" -#: stock/models.py:479 +#: stock/models.py:487 msgid "Build for this stock item" msgstr "" -#: stock/models.py:490 +#: stock/models.py:498 msgid "Source Purchase Order" msgstr "" -#: stock/models.py:493 +#: stock/models.py:501 msgid "Purchase order for this stock item" msgstr "" -#: stock/models.py:499 +#: stock/models.py:507 msgid "Destination Sales Order" msgstr "" -#: stock/models.py:506 +#: stock/models.py:514 msgid "Expiry date for stock item. Stock will be considered expired after this date" msgstr "" -#: stock/models.py:519 +#: stock/models.py:527 msgid "Delete on deplete" msgstr "" -#: stock/models.py:519 +#: stock/models.py:527 msgid "Delete this Stock Item when stock is depleted" msgstr "" -#: stock/models.py:529 stock/templates/stock/item_notes.html:13 +#: stock/models.py:537 stock/templates/stock/item_notes.html:13 #: stock/templates/stock/navbar.html:54 msgid "Stock Item Notes" msgstr "" -#: stock/models.py:538 +#: stock/models.py:546 msgid "Single unit purchase price at time of purchase" msgstr "" -#: stock/models.py:1006 +#: stock/models.py:1014 msgid "Part is not set as trackable" msgstr "" -#: stock/models.py:1012 +#: stock/models.py:1020 msgid "Quantity must be integer" msgstr "" -#: stock/models.py:1018 +#: stock/models.py:1026 #, python-brace-format msgid "Quantity must not exceed available stock quantity ({n})" msgstr "" -#: stock/models.py:1021 +#: stock/models.py:1029 msgid "Serial numbers must be a list of integers" msgstr "" -#: stock/models.py:1024 +#: stock/models.py:1032 msgid "Quantity does not match serial numbers" msgstr "" -#: stock/models.py:1031 +#: stock/models.py:1039 #, python-brace-format msgid "Serial numbers already exist: {exists}" msgstr "" -#: stock/models.py:1189 +#: stock/models.py:1197 msgid "StockItem cannot be moved as it is not in stock" msgstr "" -#: stock/models.py:1663 +#: stock/models.py:1679 msgid "Entry notes" msgstr "" -#: stock/models.py:1716 +#: stock/models.py:1736 msgid "Value must be provided for this test" msgstr "" -#: stock/models.py:1722 +#: stock/models.py:1742 msgid "Attachment must be uploaded for this test" msgstr "" -#: stock/models.py:1740 +#: stock/models.py:1760 msgid "Test name" msgstr "" -#: stock/models.py:1746 templates/js/table_filters.js:217 +#: stock/models.py:1766 templates/js/table_filters.js:222 msgid "Test result" msgstr "" -#: stock/models.py:1752 +#: stock/models.py:1772 msgid "Test output value" msgstr "" -#: stock/models.py:1759 +#: stock/models.py:1779 msgid "Test result attachment" msgstr "" -#: stock/models.py:1765 +#: stock/models.py:1785 msgid "Test notes" msgstr "" @@ -5850,6 +5799,10 @@ msgstr "" msgid "No stocktake performed" msgstr "" +#: stock/templates/stock/item_base.html:499 +msgid "Edit Stock Status" +msgstr "" + #: stock/templates/stock/item_childs.html:12 msgid "Child Stock Items" msgstr "" @@ -5909,6 +5862,19 @@ msgstr "" msgid "Add Test Data" msgstr "" +#: stock/templates/stock/item_tests.html:86 +#: stock/templates/stock/item_tests.html:111 +msgid "Add Test Result" +msgstr "" + +#: stock/templates/stock/item_tests.html:131 +msgid "Edit Test Result" +msgstr "" + +#: stock/templates/stock/item_tests.html:145 +msgid "Delete Test Result" +msgstr "" + #: stock/templates/stock/location.html:20 msgid "You are not in the list of owners of this location. This stock location cannot be edited." msgstr "" @@ -5957,7 +5923,7 @@ msgid "Stock Details" msgstr "" #: stock/templates/stock/location.html:117 templates/InvenTree/search.html:279 -#: templates/stats.html:97 users/models.py:41 +#: templates/stats.html:97 users/models.py:42 msgid "Stock Locations" msgstr "" @@ -5997,7 +5963,7 @@ msgstr "" msgid "The following stock items will be uninstalled" msgstr "" -#: stock/templates/stock/stockitem_convert.html:7 stock/views.py:1364 +#: stock/templates/stock/stockitem_convert.html:7 stock/views.py:1196 msgid "Convert Stock Item" msgstr "" @@ -6030,8 +5996,8 @@ msgstr "" msgid "Edit Stock Location" msgstr "" -#: stock/views.py:230 stock/views.py:1343 stock/views.py:1465 -#: stock/views.py:1830 +#: stock/views.py:230 stock/views.py:1175 stock/views.py:1297 +#: stock/views.py:1662 msgid "Owner is required (ownership control is enabled)" msgstr "" @@ -6039,208 +6005,188 @@ msgstr "" msgid "Stock Location QR code" msgstr "" -#: stock/views.py:265 -msgid "Add Stock Item Attachment" -msgstr "" - -#: stock/views.py:311 -msgid "Edit Stock Item Attachment" -msgstr "" - -#: stock/views.py:327 -msgid "Delete Stock Item Attachment" -msgstr "" - -#: stock/views.py:343 +#: stock/views.py:264 msgid "Assign to Customer" msgstr "" -#: stock/views.py:352 +#: stock/views.py:273 msgid "Customer must be specified" msgstr "" -#: stock/views.py:376 +#: stock/views.py:297 msgid "Return to Stock" msgstr "" -#: stock/views.py:385 +#: stock/views.py:306 msgid "Specify a valid location" msgstr "" -#: stock/views.py:396 +#: stock/views.py:317 msgid "Stock item returned from customer" msgstr "" -#: stock/views.py:407 +#: stock/views.py:328 msgid "Delete All Test Data" msgstr "" -#: stock/views.py:424 +#: stock/views.py:345 msgid "Confirm test data deletion" msgstr "" -#: stock/views.py:444 -msgid "Add Test Result" -msgstr "" - -#: stock/views.py:484 -msgid "Edit Test Result" -msgstr "" - -#: stock/views.py:501 -msgid "Delete Test Result" -msgstr "" - -#: stock/views.py:509 +#: stock/views.py:362 msgid "Stock Export Options" msgstr "" -#: stock/views.py:630 +#: stock/views.py:483 msgid "Stock Item QR Code" msgstr "" -#: stock/views.py:656 +#: stock/views.py:509 msgid "Install Stock Item" msgstr "" -#: stock/views.py:755 +#: stock/views.py:608 msgid "Uninstall Stock Items" msgstr "" -#: stock/views.py:863 +#: stock/views.py:716 msgid "Uninstalled stock items" msgstr "" -#: stock/views.py:888 +#: stock/views.py:741 msgid "Adjust Stock" msgstr "" -#: stock/views.py:998 +#: stock/views.py:851 msgid "Move Stock Items" msgstr "" -#: stock/views.py:998 +#: stock/views.py:851 msgid "Move" msgstr "" -#: stock/views.py:999 +#: stock/views.py:852 msgid "Count Stock Items" msgstr "" -#: stock/views.py:999 +#: stock/views.py:852 msgid "Count" msgstr "" -#: stock/views.py:1000 +#: stock/views.py:853 msgid "Remove From Stock" msgstr "" -#: stock/views.py:1000 +#: stock/views.py:853 msgid "Take" msgstr "" -#: stock/views.py:1001 +#: stock/views.py:854 msgid "Add Stock Items" msgstr "" -#: stock/views.py:1001 users/models.py:187 +#: stock/views.py:854 users/models.py:188 msgid "Add" msgstr "" -#: stock/views.py:1002 +#: stock/views.py:855 msgid "Delete Stock Items" msgstr "" -#: stock/views.py:1031 +#: stock/views.py:884 msgid "Must enter integer value" msgstr "" -#: stock/views.py:1036 +#: stock/views.py:889 msgid "Quantity must be positive" msgstr "" -#: stock/views.py:1043 +#: stock/views.py:896 #, python-brace-format msgid "Quantity must not exceed {x}" msgstr "" -#: stock/views.py:1107 +#: stock/views.py:960 msgid "No action performed" msgstr "" -#: stock/views.py:1122 +#: stock/views.py:975 #, python-brace-format msgid "Added stock to {n} items" msgstr "" -#: stock/views.py:1137 +#: stock/views.py:990 #, python-brace-format msgid "Removed stock from {n} items" msgstr "" -#: stock/views.py:1150 +#: stock/views.py:1003 #, python-brace-format msgid "Counted stock for {n} items" msgstr "" -#: stock/views.py:1190 +#: stock/views.py:1043 msgid "No items were moved" msgstr "" -#: stock/views.py:1193 +#: stock/views.py:1046 #, python-brace-format msgid "Moved {n} items to {dest}" msgstr "" -#: stock/views.py:1212 +#: stock/views.py:1065 #, python-brace-format msgid "Deleted {n} stock items" msgstr "" -#: stock/views.py:1222 -msgid "Edit Stock Item Status" -msgstr "" - -#: stock/views.py:1245 +#: stock/views.py:1077 msgid "Edit Stock Item" msgstr "" -#: stock/views.py:1482 +#: stock/views.py:1314 msgid "Serialize Stock" msgstr "" -#: stock/views.py:1575 templates/js/build.js:327 +#: stock/views.py:1407 templates/js/build.js:327 msgid "Create new Stock Item" msgstr "" -#: stock/views.py:1717 +#: stock/views.py:1549 msgid "Duplicate Stock Item" msgstr "" -#: stock/views.py:1799 +#: stock/views.py:1631 msgid "Quantity cannot be negative" msgstr "" -#: stock/views.py:1899 +#: stock/views.py:1731 msgid "Delete Stock Location" msgstr "" -#: stock/views.py:1912 +#: stock/views.py:1744 msgid "Delete Stock Item" msgstr "" -#: stock/views.py:1923 +#: stock/views.py:1755 msgid "Delete Stock Tracking Entry" msgstr "" -#: stock/views.py:1930 +#: stock/views.py:1762 msgid "Edit Stock Tracking Entry" msgstr "" -#: stock/views.py:1939 +#: stock/views.py:1771 msgid "Add Stock Tracking Entry" msgstr "" +#: templates/403.html:5 templates/403.html:11 +msgid "Permission Denied" +msgstr "" + +#: templates/403.html:14 +msgid "You do not have permission to view this page." +msgstr "" + #: templates/404.html:5 templates/404.html:11 msgid "Page Not Found" msgstr "" @@ -6269,35 +6215,39 @@ msgstr "" msgid "Recently Updated" msgstr "" -#: templates/InvenTree/index.html:145 -msgid "Expired Stock" +#: templates/InvenTree/index.html:131 +msgid "Depleted Stock" msgstr "" #: templates/InvenTree/index.html:146 +msgid "Expired Stock" +msgstr "" + +#: templates/InvenTree/index.html:147 msgid "Stale Stock" msgstr "" -#: templates/InvenTree/index.html:184 +#: templates/InvenTree/index.html:192 msgid "Build Orders In Progress" msgstr "" -#: templates/InvenTree/index.html:185 +#: templates/InvenTree/index.html:193 msgid "Overdue Build Orders" msgstr "" -#: templates/InvenTree/index.html:206 +#: templates/InvenTree/index.html:214 msgid "Outstanding Purchase Orders" msgstr "" -#: templates/InvenTree/index.html:207 +#: templates/InvenTree/index.html:215 msgid "Overdue Purchase Orders" msgstr "" -#: templates/InvenTree/index.html:229 +#: templates/InvenTree/index.html:237 msgid "Outstanding Sales Orders" msgstr "" -#: templates/InvenTree/index.html:230 +#: templates/InvenTree/index.html:238 msgid "Overdue Sales Orders" msgstr "" @@ -6582,24 +6532,12 @@ msgstr "" msgid "copy version information" msgstr "" -#: templates/about.html:100 templates/js/modals.js:568 -#: templates/js/modals.js:861 templates/modals.html:29 templates/modals.html:54 -#: templates/modals.html:97 +#: templates/about.html:100 templates/js/modals.js:34 +#: templates/js/modals.js:677 templates/js/modals.js:970 +#: templates/modals.html:29 templates/modals.html:54 templates/modals.html:97 msgid "Close" msgstr "" -#: templates/attachment_table.html:6 -msgid "Add Attachment" -msgstr "" - -#: templates/attachment_table.html:17 -msgid "Uploaded" -msgstr "" - -#: templates/attachment_table.html:35 -msgid "Delete attachment" -msgstr "" - #: templates/image_download.html:8 msgid "Specify URL for downloading image" msgstr "" @@ -6616,6 +6554,22 @@ msgstr "" msgid "Remote image must not exceed maximum allowable file size" msgstr "" +#: templates/js/attachment.js:16 +msgid "No attachments found" +msgstr "" + +#: templates/js/attachment.js:56 +msgid "Upload Date" +msgstr "" + +#: templates/js/attachment.js:69 +msgid "Edit attachment" +msgstr "" + +#: templates/js/attachment.js:76 +msgid "Delete attachment" +msgstr "" + #: templates/js/barcode.js:8 msgid "Scan barcode data here using wedge scanner" msgstr "" @@ -6644,7 +6598,7 @@ msgstr "" msgid "Unknown response from server" msgstr "" -#: templates/js/barcode.js:119 templates/js/modals.js:921 +#: templates/js/barcode.js:119 templates/js/modals.js:1030 msgid "Invalid server response" msgstr "" @@ -6744,7 +6698,7 @@ msgstr "" msgid "Edit BOM Item" msgstr "" -#: templates/js/bom.js:372 +#: templates/js/bom.js:372 templates/js/bom.js:519 msgid "Delete BOM Item" msgstr "" @@ -6772,7 +6726,7 @@ msgstr "" msgid "No build order allocations found" msgstr "" -#: templates/js/build.js:222 templates/js/order.js:382 +#: templates/js/build.js:222 templates/js/order.js:449 msgid "Location not specified" msgstr "" @@ -6798,7 +6752,7 @@ msgid "No builds matching query" msgstr "" #: templates/js/build.js:806 templates/js/part.js:390 templates/js/part.js:635 -#: templates/js/stock.js:514 templates/js/stock.js:966 +#: templates/js/stock.js:514 templates/js/stock.js:980 msgid "Select" msgstr "" @@ -6810,45 +6764,69 @@ msgstr "" msgid "No parts allocated for" msgstr "" -#: templates/js/company.js:74 +#: templates/js/company.js:45 +msgid "Edit Company" +msgstr "" + +#: templates/js/company.js:66 +msgid "Add new Company" +msgstr "" + +#: templates/js/company.js:143 msgid "Parts Supplied" msgstr "" -#: templates/js/company.js:83 +#: templates/js/company.js:152 msgid "Parts Manufactured" msgstr "" -#: templates/js/company.js:96 +#: templates/js/company.js:165 msgid "No company information found" msgstr "" -#: templates/js/company.js:129 +#: templates/js/company.js:183 +msgid "The following manufacturer parts will be deleted" +msgstr "" + +#: templates/js/company.js:200 +msgid "Delete Manufacturer Parts" +msgstr "" + +#: templates/js/company.js:253 msgid "No manufacturer parts found" msgstr "" -#: templates/js/company.js:148 templates/js/company.js:347 +#: templates/js/company.js:272 templates/js/company.js:472 #: templates/js/part.js:68 templates/js/part.js:153 msgid "Template part" msgstr "" -#: templates/js/company.js:152 templates/js/company.js:351 +#: templates/js/company.js:276 templates/js/company.js:476 #: templates/js/part.js:72 templates/js/part.js:157 msgid "Assembled part" msgstr "" -#: templates/js/company.js:226 +#: templates/js/company.js:350 msgid "No parameters found" msgstr "" -#: templates/js/company.js:262 +#: templates/js/company.js:386 msgid "Edit parameter" msgstr "" -#: templates/js/company.js:263 +#: templates/js/company.js:387 msgid "Delete parameter" msgstr "" -#: templates/js/company.js:328 +#: templates/js/company.js:406 +msgid "Edit Parameter" +msgstr "" + +#: templates/js/company.js:417 +msgid "Delete Parameter" +msgstr "" + +#: templates/js/company.js:453 msgid "No supplier parts found" msgstr "" @@ -6876,6 +6854,83 @@ msgstr "" msgid "Create filter" msgstr "" +#: templates/js/forms.js:278 templates/js/forms.js:291 +#: templates/js/forms.js:303 templates/js/forms.js:315 +msgid "Action Prohibited" +msgstr "" + +#: templates/js/forms.js:279 +msgid "Create operation not allowed" +msgstr "" + +#: templates/js/forms.js:292 +msgid "Update operation not allowed" +msgstr "" + +#: templates/js/forms.js:304 +msgid "Delete operation not allowed" +msgstr "" + +#: templates/js/forms.js:316 +msgid "View operation not allowed" +msgstr "" + +#: templates/js/forms.js:583 templates/js/modals.js:1040 +msgid "No Response" +msgstr "" + +#: templates/js/forms.js:584 templates/js/modals.js:1041 +msgid "No response from the InvenTree server" +msgstr "" + +#: templates/js/forms.js:590 templates/js/modals.js:1050 +msgid "Error 401: Not Authenticated" +msgstr "" + +#: templates/js/forms.js:591 templates/js/modals.js:1051 +msgid "Authentication credentials not supplied" +msgstr "" + +#: templates/js/forms.js:597 templates/js/modals.js:1055 +msgid "Error 403: Permission Denied" +msgstr "" + +#: templates/js/forms.js:598 templates/js/modals.js:1056 +msgid "You do not have the required permissions to access this function" +msgstr "" + +#: templates/js/forms.js:604 templates/js/modals.js:1060 +msgid "Error 404: Resource Not Found" +msgstr "" + +#: templates/js/forms.js:605 templates/js/modals.js:1061 +msgid "The requested resource could not be located on the server" +msgstr "" + +#: templates/js/forms.js:611 templates/js/modals.js:1065 +msgid "Error 408: Timeout" +msgstr "" + +#: templates/js/forms.js:612 templates/js/modals.js:1066 +msgid "Connection timeout while requesting data from server" +msgstr "" + +#: templates/js/forms.js:618 templates/js/modals.js:1069 +msgid "Error requesting form data" +msgstr "" + +#: templates/js/forms.js:788 templates/modals.html:21 templates/modals.html:47 +msgid "Form errors exist" +msgstr "" + +#: templates/js/forms.js:1161 +msgid "Searching" +msgstr "" + +#: templates/js/forms.js:1301 +msgid "Clear input" +msgstr "" + #: templates/js/label.js:10 templates/js/report.js:98 msgid "Select Stock Items" msgstr "" @@ -6916,112 +6971,102 @@ msgstr "" msgid "Select Label Template" msgstr "" -#: templates/js/modals.js:265 -msgid "Waiting for server..." -msgstr "" - -#: templates/js/modals.js:424 -msgid "Show Error Information" -msgstr "" - -#: templates/js/modals.js:491 templates/modals.html:76 -msgid "Accept" -msgstr "" - -#: templates/js/modals.js:492 templates/modals.html:75 +#: templates/js/modals.js:59 templates/js/modals.js:105 +#: templates/js/modals.js:601 templates/modals.html:75 msgid "Cancel" msgstr "" -#: templates/js/modals.js:556 -msgid "Loading Data" -msgstr "" - -#: templates/js/modals.js:567 templates/js/modals.js:860 +#: templates/js/modals.js:60 templates/js/modals.js:104 +#: templates/js/modals.js:676 templates/js/modals.js:969 #: templates/modals.html:30 templates/modals.html:55 msgid "Submit" msgstr "" -#: templates/js/modals.js:811 +#: templates/js/modals.js:103 +msgid "Form Title" +msgstr "" + +#: templates/js/modals.js:374 +msgid "Waiting for server..." +msgstr "" + +#: templates/js/modals.js:533 +msgid "Show Error Information" +msgstr "" + +#: templates/js/modals.js:600 templates/modals.html:76 +msgid "Accept" +msgstr "" + +#: templates/js/modals.js:665 +msgid "Loading Data" +msgstr "" + +#: templates/js/modals.js:920 msgid "Invalid response from server" msgstr "" -#: templates/js/modals.js:811 +#: templates/js/modals.js:920 msgid "Form data missing from server response" msgstr "" -#: templates/js/modals.js:824 +#: templates/js/modals.js:933 msgid "Error posting form data" msgstr "" -#: templates/js/modals.js:921 +#: templates/js/modals.js:1030 msgid "JSON response missing form data" msgstr "" -#: templates/js/modals.js:931 -msgid "No Response" -msgstr "" - -#: templates/js/modals.js:932 -msgid "No response from the InvenTree server" -msgstr "" - -#: templates/js/modals.js:936 +#: templates/js/modals.js:1045 msgid "Error 400: Bad Request" msgstr "" -#: templates/js/modals.js:937 +#: templates/js/modals.js:1046 msgid "Server returned error code 400" msgstr "" -#: templates/js/modals.js:941 -msgid "Error 401: Not Authenticated" +#: templates/js/model_renderers.js:21 +msgid "Company ID" msgstr "" -#: templates/js/modals.js:942 -msgid "Authentication credentials not supplied" +#: templates/js/model_renderers.js:63 +msgid "Location ID" msgstr "" -#: templates/js/modals.js:946 -msgid "Error 403: Permission Denied" +#: templates/js/model_renderers.js:90 +msgid "Part ID" msgstr "" -#: templates/js/modals.js:947 -msgid "You do not have the required permissions to access this function" +#: templates/js/model_renderers.js:126 +msgid "Category ID" msgstr "" -#: templates/js/modals.js:951 -msgid "Error 404: Resource Not Found" +#: templates/js/model_renderers.js:150 +msgid "Supplier Part ID" msgstr "" -#: templates/js/modals.js:952 -msgid "The requested resource could not be located on the server" +#: templates/js/order.js:31 +msgid "Create Sales Order" msgstr "" -#: templates/js/modals.js:956 -msgid "Error 408: Timeout" -msgstr "" - -#: templates/js/modals.js:957 -msgid "Connection timeout while requesting data from server" -msgstr "" - -#: templates/js/modals.js:960 -msgid "Error requesting form data" -msgstr "" - -#: templates/js/order.js:138 +#: templates/js/order.js:200 msgid "No purchase orders found" msgstr "" -#: templates/js/order.js:162 templates/js/order.js:257 +#: templates/js/order.js:224 templates/js/order.js:319 msgid "Order is overdue" msgstr "" -#: templates/js/order.js:234 +#: templates/js/order.js:296 msgid "No sales orders found" msgstr "" -#: templates/js/order.js:343 +#: templates/js/order.js:333 +msgid "Invalid Customer" +msgstr "" + +#: templates/js/order.js:410 msgid "No sales order allocations found" msgstr "" @@ -7061,11 +7106,11 @@ msgstr "" msgid "No category" msgstr "" -#: templates/js/part.js:476 templates/js/table_filters.js:323 +#: templates/js/part.js:476 templates/js/table_filters.js:328 msgid "Low stock" msgstr "" -#: templates/js/part.js:660 templates/js/stock.js:990 +#: templates/js/part.js:660 templates/js/stock.js:1004 msgid "Path" msgstr "" @@ -7085,7 +7130,22 @@ msgstr "" msgid "This test is defined for a parent part" msgstr "" -#: templates/js/part.js:806 +#: templates/js/part.js:786 +#, python-brace-format +msgid "No ${human_name} information found" +msgstr "" + +#: templates/js/part.js:839 +#, python-brace-format +msgid "Edit ${human_name}" +msgstr "" + +#: templates/js/part.js:840 +#, python-brace-format +msgid "Delete ${human_name}" +msgstr "" + +#: templates/js/part.js:959 msgid "Single Price Difference" msgstr "" @@ -7263,75 +7323,75 @@ msgstr "" msgid "Stocktake" msgstr "" -#: templates/js/stock.js:853 +#: templates/js/stock.js:867 msgid "Stock Status" msgstr "" -#: templates/js/stock.js:868 +#: templates/js/stock.js:882 msgid "Set Stock Status" msgstr "" -#: templates/js/stock.js:882 +#: templates/js/stock.js:896 msgid "Select Status Code" msgstr "" -#: templates/js/stock.js:883 +#: templates/js/stock.js:897 msgid "Status code must be selected" msgstr "" -#: templates/js/stock.js:1022 +#: templates/js/stock.js:1036 msgid "Invalid date" msgstr "" -#: templates/js/stock.js:1069 +#: templates/js/stock.js:1083 msgid "Location no longer exists" msgstr "" -#: templates/js/stock.js:1088 +#: templates/js/stock.js:1102 msgid "Purchase order no longer exists" msgstr "" -#: templates/js/stock.js:1107 +#: templates/js/stock.js:1121 msgid "Customer no longer exists" msgstr "" -#: templates/js/stock.js:1125 +#: templates/js/stock.js:1139 msgid "Stock item no longer exists" msgstr "" -#: templates/js/stock.js:1148 +#: templates/js/stock.js:1162 msgid "Added" msgstr "" -#: templates/js/stock.js:1156 +#: templates/js/stock.js:1170 msgid "Removed" msgstr "" -#: templates/js/stock.js:1188 +#: templates/js/stock.js:1202 msgid "No user information" msgstr "" -#: templates/js/stock.js:1200 +#: templates/js/stock.js:1214 msgid "Edit tracking entry" msgstr "" -#: templates/js/stock.js:1201 +#: templates/js/stock.js:1215 msgid "Delete tracking entry" msgstr "" -#: templates/js/stock.js:1325 +#: templates/js/stock.js:1339 msgid "Create New Location" msgstr "" -#: templates/js/stock.js:1366 +#: templates/js/stock.js:1380 msgid "No installed items" msgstr "" -#: templates/js/stock.js:1389 +#: templates/js/stock.js:1403 msgid "Serial" msgstr "" -#: templates/js/stock.js:1417 +#: templates/js/stock.js:1431 msgid "Uninstall Stock Item" msgstr "" @@ -7352,7 +7412,7 @@ msgid "Include locations" msgstr "" #: templates/js/table_filters.js:86 templates/js/table_filters.js:87 -#: templates/js/table_filters.js:300 +#: templates/js/table_filters.js:305 msgid "Include subcategories" msgstr "" @@ -7385,7 +7445,7 @@ msgstr "" msgid "Batch code" msgstr "" -#: templates/js/table_filters.js:123 templates/js/table_filters.js:290 +#: templates/js/table_filters.js:123 templates/js/table_filters.js:295 msgid "Active parts" msgstr "" @@ -7457,43 +7517,51 @@ msgstr "" msgid "Stock status" msgstr "" -#: templates/js/table_filters.js:236 +#: templates/js/table_filters.js:211 +msgid "Has purchase price" +msgstr "" + +#: templates/js/table_filters.js:212 +msgid "Show stock items which have a purchase price set" +msgstr "" + +#: templates/js/table_filters.js:241 msgid "Build status" msgstr "" -#: templates/js/table_filters.js:255 templates/js/table_filters.js:272 +#: templates/js/table_filters.js:260 templates/js/table_filters.js:277 msgid "Order status" msgstr "" -#: templates/js/table_filters.js:260 templates/js/table_filters.js:277 +#: templates/js/table_filters.js:265 templates/js/table_filters.js:282 msgid "Outstanding" msgstr "" -#: templates/js/table_filters.js:301 +#: templates/js/table_filters.js:306 msgid "Include parts in subcategories" msgstr "" -#: templates/js/table_filters.js:305 +#: templates/js/table_filters.js:310 msgid "Has IPN" msgstr "A un IPN" -#: templates/js/table_filters.js:306 +#: templates/js/table_filters.js:311 msgid "Part has internal part number" msgstr "" -#: templates/js/table_filters.js:311 +#: templates/js/table_filters.js:316 msgid "Show active parts" msgstr "" -#: templates/js/table_filters.js:319 +#: templates/js/table_filters.js:324 msgid "Stock available" msgstr "" -#: templates/js/table_filters.js:335 +#: templates/js/table_filters.js:340 msgid "Starred" msgstr "" -#: templates/js/table_filters.js:347 +#: templates/js/table_filters.js:352 msgid "Purchasable" msgstr "" @@ -7550,10 +7618,6 @@ msgstr "" msgid "All" msgstr "" -#: templates/modals.html:21 templates/modals.html:47 -msgid "Form errors exist" -msgstr "" - #: templates/navbar.html:13 msgid "Toggle navigation" msgstr "" @@ -7570,7 +7634,7 @@ msgstr "" msgid "Scan Barcode" msgstr "" -#: templates/navbar.html:77 users/models.py:38 +#: templates/navbar.html:77 users/models.py:39 msgid "Admin" msgstr "" @@ -7790,35 +7854,35 @@ msgstr "" msgid "Important dates" msgstr "" -#: users/models.py:174 +#: users/models.py:175 msgid "Permission set" msgstr "" -#: users/models.py:182 +#: users/models.py:183 msgid "Group" msgstr "" -#: users/models.py:185 +#: users/models.py:186 msgid "View" msgstr "" -#: users/models.py:185 +#: users/models.py:186 msgid "Permission to view items" msgstr "" -#: users/models.py:187 +#: users/models.py:188 msgid "Permission to add items" msgstr "" -#: users/models.py:189 +#: users/models.py:190 msgid "Change" msgstr "" -#: users/models.py:189 +#: users/models.py:190 msgid "Permissions to edit items" msgstr "" -#: users/models.py:191 +#: users/models.py:192 msgid "Permission to delete items" msgstr "" diff --git a/InvenTree/locale/it/LC_MESSAGES/django.po b/InvenTree/locale/it/LC_MESSAGES/django.po index fdb3b7ca79..ae1f42af1e 100644 --- a/InvenTree/locale/it/LC_MESSAGES/django.po +++ b/InvenTree/locale/it/LC_MESSAGES/django.po @@ -2,8 +2,8 @@ msgid "" msgstr "" "Project-Id-Version: inventree\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2021-07-01 22:35+0000\n" -"PO-Revision-Date: 2021-07-01 22:38\n" +"POT-Creation-Date: 2021-07-03 12:15+0000\n" +"PO-Revision-Date: 2021-07-03 12:44\n" "Last-Translator: \n" "Language-Team: Italian\n" "Language: it_IT\n" @@ -29,14 +29,14 @@ msgstr "" msgid "No matching action found" msgstr "" -#: InvenTree/fields.py:84 +#: InvenTree/fields.py:99 msgid "Enter date" msgstr "" #: InvenTree/forms.py:112 build/forms.py:102 build/forms.py:123 #: build/forms.py:145 build/forms.py:169 build/forms.py:185 build/forms.py:227 -#: order/forms.py:31 order/forms.py:42 order/forms.py:53 order/forms.py:64 -#: order/forms.py:75 part/forms.py:134 +#: order/forms.py:30 order/forms.py:41 order/forms.py:52 order/forms.py:63 +#: order/forms.py:74 part/forms.py:118 templates/js/forms.js:486 msgid "Confirm" msgstr "" @@ -77,8 +77,8 @@ msgstr "" msgid "Duplicate serial: {n}" msgstr "" -#: InvenTree/helpers.py:403 order/models.py:244 order/models.py:354 -#: stock/views.py:1795 +#: InvenTree/helpers.py:403 order/models.py:311 order/models.py:421 +#: stock/views.py:1627 msgid "Invalid quantity provided" msgstr "" @@ -106,49 +106,53 @@ msgstr "" msgid "Number of unique serial number ({s}) must match quantity ({q})" msgstr "" -#: InvenTree/models.py:59 stock/models.py:1758 +#: InvenTree/models.py:61 stock/models.py:1778 msgid "Attachment" msgstr "" -#: InvenTree/models.py:60 +#: InvenTree/models.py:62 msgid "Select file to attach" msgstr "" -#: InvenTree/models.py:62 templates/attachment_table.html:16 +#: InvenTree/models.py:64 templates/js/attachment.js:52 msgid "Comment" msgstr "" -#: InvenTree/models.py:62 +#: InvenTree/models.py:64 msgid "File comment" msgstr "" -#: InvenTree/models.py:68 InvenTree/models.py:69 part/models.py:2022 +#: InvenTree/models.py:70 InvenTree/models.py:71 part/models.py:2043 #: report/templates/report/inventree_test_report_base.html:91 -#: templates/js/stock.js:1179 +#: templates/js/stock.js:1193 msgid "User" msgstr "" -#: InvenTree/models.py:72 +#: InvenTree/models.py:74 msgid "upload date" msgstr "" -#: InvenTree/models.py:107 InvenTree/models.py:108 company/models.py:396 -#: label/models.py:102 part/models.py:671 part/models.py:2163 +#: InvenTree/models.py:102 +msgid "Invalid choice" +msgstr "" + +#: InvenTree/models.py:118 InvenTree/models.py:119 company/models.py:414 +#: label/models.py:103 part/models.py:680 part/models.py:2192 #: part/templates/part/params.html:27 report/models.py:180 #: templates/InvenTree/search.html:137 templates/InvenTree/search.html:289 -#: templates/js/company.js:235 templates/js/part.js:118 -#: templates/js/part.js:642 templates/js/stock.js:972 +#: templates/js/company.js:359 templates/js/part.js:118 +#: templates/js/part.js:642 templates/js/stock.js:986 msgid "Name" msgstr "" -#: InvenTree/models.py:114 build/models.py:135 -#: build/templates/build/detail.html:21 company/models.py:339 -#: company/models.py:532 company/templates/company/detail.html:27 +#: InvenTree/models.py:125 build/models.py:139 +#: build/templates/build/detail.html:21 company/models.py:353 +#: company/models.py:554 company/templates/company/detail.html:27 #: company/templates/company/manufacturer_part_base.html:72 #: company/templates/company/supplier_part_base.html:71 -#: company/templates/company/supplier_part_detail.html:31 label/models.py:109 -#: order/models.py:100 order/templates/order/purchase_order_detail.html:147 -#: part/models.py:695 part/templates/part/detail.html:54 +#: company/templates/company/supplier_part_detail.html:31 label/models.py:110 +#: order/models.py:154 order/templates/order/purchase_order_detail.html:174 +#: part/models.py:704 part/templates/part/detail.html:54 #: part/templates/part/set_category.html:14 report/models.py:193 #: report/models.py:530 report/models.py:569 #: report/templates/report/inventree_build_order_base.html:118 @@ -156,39 +160,43 @@ msgstr "" #: templates/InvenTree/search.html:296 #: templates/InvenTree/settings/header.html:9 templates/js/bom.js:190 #: templates/js/build.js:834 templates/js/build.js:1102 -#: templates/js/company.js:56 templates/js/order.js:183 -#: templates/js/order.js:280 templates/js/part.js:177 templates/js/part.js:260 +#: templates/js/company.js:125 templates/js/order.js:245 +#: templates/js/order.js:347 templates/js/part.js:177 templates/js/part.js:260 #: templates/js/part.js:437 templates/js/part.js:654 templates/js/part.js:722 -#: templates/js/stock.js:557 templates/js/stock.js:984 -#: templates/js/stock.js:1029 +#: templates/js/stock.js:557 templates/js/stock.js:998 +#: templates/js/stock.js:1043 msgid "Description" msgstr "" -#: InvenTree/models.py:115 +#: InvenTree/models.py:126 msgid "Description (optional)" msgstr "" -#: InvenTree/models.py:123 +#: InvenTree/models.py:134 msgid "parent" msgstr "" -#: InvenTree/settings.py:504 -msgid "English" +#: InvenTree/serializers.py:52 +msgid "Must be a valid number" msgstr "" #: InvenTree/settings.py:505 -msgid "French" +msgid "English" msgstr "" #: InvenTree/settings.py:506 -msgid "German" +msgid "French" msgstr "" #: InvenTree/settings.py:507 -msgid "Polish" +msgid "German" msgstr "" #: InvenTree/settings.py:508 +msgid "Polish" +msgstr "" + +#: InvenTree/settings.py:509 msgid "Turkish" msgstr "" @@ -446,50 +454,48 @@ msgid "Order target date" msgstr "" #: build/forms.py:42 build/templates/build/build_base.html:146 -#: build/templates/build/detail.html:121 order/forms.py:118 order/forms.py:153 +#: build/templates/build/detail.html:121 #: order/templates/order/order_base.html:124 #: order/templates/order/sales_order_base.html:119 #: report/templates/report/inventree_build_order_base.html:126 -#: templates/js/build.js:881 templates/js/order.js:200 -#: templates/js/order.js:298 +#: templates/js/build.js:881 templates/js/order.js:262 +#: templates/js/order.js:365 msgid "Target Date" msgstr "" -#: build/forms.py:43 build/models.py:225 +#: build/forms.py:43 build/models.py:229 msgid "Target date for build completion. Build will be overdue after this date." msgstr "" -#: build/forms.py:48 build/forms.py:90 build/forms.py:266 build/models.py:1346 +#: build/forms.py:48 build/forms.py:90 build/forms.py:266 build/models.py:1354 #: build/templates/build/allocation_card.html:23 #: build/templates/build/auto_allocate.html:17 #: build/templates/build/build_base.html:133 #: build/templates/build/detail.html:31 common/models.py:741 -#: company/forms.py:189 company/templates/company/supplier_part_pricing.html:77 -#: order/forms.py:197 order/forms.py:215 order/forms.py:250 order/forms.py:272 -#: order/forms.py:289 order/models.py:613 order/models.py:835 -#: order/templates/order/order_wizard/match_parts.html:30 +#: company/forms.py:124 company/templates/company/supplier_part_pricing.html:79 +#: order/forms.py:120 order/forms.py:142 order/forms.py:159 order/models.py:702 +#: order/models.py:941 order/templates/order/order_wizard/match_parts.html:30 #: order/templates/order/order_wizard/select_parts.html:34 -#: order/templates/order/purchase_order_detail.html:179 -#: order/templates/order/sales_order_detail.html:70 -#: order/templates/order/sales_order_detail.html:77 -#: order/templates/order/sales_order_detail.html:162 -#: order/templates/order/sales_order_detail.html:234 part/forms.py:342 -#: part/forms.py:372 part/forms.py:388 part/forms.py:404 part/models.py:2293 -#: part/templates/part/internal_prices.html:98 -#: part/templates/part/order_prices.html:203 -#: part/templates/part/part_pricing.html:16 -#: part/templates/part/sale_prices.html:85 +#: order/templates/order/purchase_order_detail.html:206 +#: order/templates/order/sales_order_detail.html:80 +#: order/templates/order/sales_order_detail.html:87 +#: order/templates/order/sales_order_detail.html:172 +#: order/templates/order/sales_order_detail.html:244 part/forms.py:314 +#: part/forms.py:344 part/forms.py:360 part/forms.py:376 part/models.py:2330 +#: part/templates/part/part_pricing.html:16 part/templates/part/prices.html:377 +#: part/templates/part/prices.html:474 #: report/templates/report/inventree_build_order_base.html:114 #: report/templates/report/inventree_po_report.html:91 #: report/templates/report/inventree_so_report.html:91 #: report/templates/report/inventree_test_report_base.html:77 -#: stock/forms.py:175 stock/forms.py:308 +#: stock/forms.py:142 stock/forms.py:275 #: stock/templates/stock/item_base.html:255 #: stock/templates/stock/stock_adjust.html:18 templates/js/barcode.js:364 #: templates/js/bom.js:205 templates/js/build.js:233 templates/js/build.js:572 -#: templates/js/build.js:1112 templates/js/order.js:393 -#: templates/js/part.js:796 templates/js/stock.js:1164 -#: templates/js/stock.js:1383 +#: templates/js/build.js:1112 templates/js/model_renderers.js:43 +#: templates/js/order.js:460 templates/js/part.js:827 templates/js/part.js:949 +#: templates/js/part.js:1005 templates/js/stock.js:1178 +#: templates/js/stock.js:1397 msgid "Quantity" msgstr "" @@ -501,7 +507,7 @@ msgstr "" msgid "Enter quantity for build output" msgstr "" -#: build/forms.py:95 order/forms.py:244 stock/forms.py:118 +#: build/forms.py:95 order/forms.py:114 stock/forms.py:85 msgid "Serial Numbers" msgstr "" @@ -530,12 +536,12 @@ msgid "Mark build as complete" msgstr "" #: build/forms.py:210 build/templates/build/auto_allocate.html:18 -#: stock/forms.py:347 stock/templates/stock/item_base.html:285 +#: stock/forms.py:314 stock/templates/stock/item_base.html:285 #: stock/templates/stock/stock_adjust.html:17 #: templates/InvenTree/search.html:260 templates/js/barcode.js:363 #: templates/js/barcode.js:531 templates/js/build.js:218 -#: templates/js/build.js:586 templates/js/order.js:378 -#: templates/js/stock.js:643 templates/js/stock.js:1056 +#: templates/js/build.js:586 templates/js/order.js:445 +#: templates/js/stock.js:643 templates/js/stock.js:1070 msgid "Location" msgstr "" @@ -544,13 +550,13 @@ msgid "Location of completed parts" msgstr "" #: build/forms.py:215 build/templates/build/build_base.html:138 -#: build/templates/build/detail.html:59 order/models.py:465 +#: build/templates/build/detail.html:59 order/models.py:545 #: order/templates/order/receive_parts.html:24 #: stock/templates/stock/item_base.html:408 templates/InvenTree/search.html:252 #: templates/js/barcode.js:119 templates/js/build.js:868 -#: templates/js/order.js:187 templates/js/order.js:285 -#: templates/js/stock.js:630 templates/js/stock.js:1133 -#: templates/js/stock.js:1399 +#: templates/js/order.js:249 templates/js/order.js:352 +#: templates/js/stock.js:630 templates/js/stock.js:1147 +#: templates/js/stock.js:1413 msgid "Status" msgstr "" @@ -582,60 +588,60 @@ msgstr "" msgid "Select quantity of stock to allocate" msgstr "" -#: build/models.py:66 build/templates/build/build_base.html:9 +#: build/models.py:70 build/templates/build/build_base.html:9 #: build/templates/build/build_base.html:73 #: report/templates/report/inventree_build_order_base.html:106 #: templates/js/build.js:195 msgid "Build Order" msgstr "" -#: build/models.py:67 build/templates/build/index.html:8 +#: build/models.py:71 build/templates/build/index.html:8 #: build/templates/build/index.html:15 order/templates/order/so_builds.html:12 #: order/templates/order/so_navbar.html:19 #: order/templates/order/so_navbar.html:22 part/templates/part/navbar.html:58 -#: part/templates/part/navbar.html:61 templates/InvenTree/index.html:183 +#: part/templates/part/navbar.html:61 templates/InvenTree/index.html:191 #: templates/InvenTree/search.html:185 -#: templates/InvenTree/settings/tabs.html:34 users/models.py:43 +#: templates/InvenTree/settings/tabs.html:34 users/models.py:44 msgid "Build Orders" msgstr "" -#: build/models.py:127 +#: build/models.py:131 msgid "Build Order Reference" msgstr "" -#: build/models.py:128 order/models.py:98 order/models.py:615 -#: order/templates/order/purchase_order_detail.html:174 -#: order/templates/order/sales_order_detail.html:229 part/models.py:2302 +#: build/models.py:132 order/models.py:242 order/models.py:529 +#: order/models.py:709 order/templates/order/purchase_order_detail.html:201 +#: order/templates/order/sales_order_detail.html:239 part/models.py:2339 #: report/templates/report/inventree_po_report.html:92 #: report/templates/report/inventree_so_report.html:92 templates/js/bom.js:197 #: templates/js/build.js:661 templates/js/build.js:1106 msgid "Reference" msgstr "" -#: build/models.py:138 +#: build/models.py:142 msgid "Brief description of the build" msgstr "" -#: build/models.py:147 build/templates/build/build_base.html:163 +#: build/models.py:151 build/templates/build/build_base.html:163 #: build/templates/build/detail.html:77 msgid "Parent Build" msgstr "" -#: build/models.py:148 +#: build/models.py:152 msgid "BuildOrder to which this build is allocated" msgstr "" -#: build/models.py:153 build/templates/build/auto_allocate.html:16 +#: build/models.py:157 build/templates/build/auto_allocate.html:16 #: build/templates/build/build_base.html:128 -#: build/templates/build/detail.html:26 company/models.py:663 -#: order/models.py:657 order/models.py:712 +#: build/templates/build/detail.html:26 company/models.py:689 +#: order/models.py:755 order/models.py:814 #: order/templates/order/order_wizard/select_parts.html:32 -#: order/templates/order/purchase_order_detail.html:132 +#: order/templates/order/purchase_order_detail.html:159 #: order/templates/order/receive_parts.html:19 -#: order/templates/order/sales_order_detail.html:214 part/models.py:321 -#: part/models.py:1975 part/models.py:1987 part/models.py:2002 -#: part/models.py:2020 part/models.py:2095 part/models.py:2191 -#: part/models.py:2277 part/templates/part/part_app_base.html:8 +#: order/templates/order/sales_order_detail.html:224 part/models.py:325 +#: part/models.py:1988 part/models.py:2004 part/models.py:2023 +#: part/models.py:2041 part/models.py:2120 part/models.py:2224 +#: part/models.py:2314 part/templates/part/part_app_base.html:8 #: part/templates/part/part_pricing.html:12 part/templates/part/related.html:29 #: part/templates/part/set_category.html:13 #: report/templates/report/inventree_build_order_base.html:110 @@ -644,222 +650,222 @@ msgstr "" #: templates/InvenTree/search.html:112 templates/InvenTree/search.html:210 #: templates/js/barcode.js:362 templates/js/bom.js:163 #: templates/js/build.js:552 templates/js/build.js:839 -#: templates/js/build.js:1079 templates/js/company.js:140 -#: templates/js/company.js:339 templates/js/part.js:241 +#: templates/js/build.js:1079 templates/js/company.js:264 +#: templates/js/company.js:464 templates/js/part.js:241 #: templates/js/part.js:404 templates/js/stock.js:526 -#: templates/js/stock.js:1371 +#: templates/js/stock.js:1385 msgid "Part" msgstr "" -#: build/models.py:161 +#: build/models.py:165 msgid "Select part to build" msgstr "" -#: build/models.py:166 +#: build/models.py:170 msgid "Sales Order Reference" msgstr "" -#: build/models.py:170 +#: build/models.py:174 msgid "SalesOrder to which this build is allocated" msgstr "" -#: build/models.py:175 +#: build/models.py:179 msgid "Source Location" msgstr "" -#: build/models.py:179 +#: build/models.py:183 msgid "Select location to take stock from for this build (leave blank to take from any stock location)" msgstr "" -#: build/models.py:184 +#: build/models.py:188 msgid "Destination Location" msgstr "" -#: build/models.py:188 +#: build/models.py:192 msgid "Select location where the completed items will be stored" msgstr "" -#: build/models.py:192 +#: build/models.py:196 msgid "Build Quantity" msgstr "" -#: build/models.py:195 +#: build/models.py:199 msgid "Number of stock items to build" msgstr "" -#: build/models.py:199 +#: build/models.py:203 msgid "Completed items" msgstr "" -#: build/models.py:201 +#: build/models.py:205 msgid "Number of stock items which have been completed" msgstr "" -#: build/models.py:205 part/templates/part/part_base.html:167 +#: build/models.py:209 part/templates/part/part_base.html:167 msgid "Build Status" msgstr "" -#: build/models.py:209 +#: build/models.py:213 msgid "Build status code" msgstr "" -#: build/models.py:213 stock/models.py:462 +#: build/models.py:217 stock/models.py:470 msgid "Batch Code" msgstr "" -#: build/models.py:217 +#: build/models.py:221 msgid "Batch code for this build output" msgstr "" -#: build/models.py:220 order/models.py:104 part/models.py:867 -#: part/templates/part/detail.html:126 templates/js/order.js:293 +#: build/models.py:224 order/models.py:158 part/models.py:876 +#: part/templates/part/detail.html:126 templates/js/order.js:360 msgid "Creation Date" msgstr "" -#: build/models.py:224 order/models.py:471 +#: build/models.py:228 order/models.py:551 msgid "Target completion date" msgstr "" -#: build/models.py:228 order/models.py:217 templates/js/build.js:886 +#: build/models.py:232 order/models.py:284 templates/js/build.js:886 msgid "Completion Date" msgstr "" -#: build/models.py:234 +#: build/models.py:238 msgid "completed by" msgstr "" -#: build/models.py:242 +#: build/models.py:246 msgid "Issued by" msgstr "" -#: build/models.py:243 +#: build/models.py:247 msgid "User who issued this build order" msgstr "" -#: build/models.py:251 build/templates/build/build_base.html:184 -#: build/templates/build/detail.html:105 order/models.py:118 +#: build/models.py:255 build/templates/build/build_base.html:184 +#: build/templates/build/detail.html:105 order/models.py:172 #: order/templates/order/order_base.html:138 -#: order/templates/order/sales_order_base.html:140 part/models.py:871 +#: order/templates/order/sales_order_base.html:140 part/models.py:880 #: report/templates/report/inventree_build_order_base.html:159 msgid "Responsible" msgstr "" -#: build/models.py:252 +#: build/models.py:256 msgid "User responsible for this build order" msgstr "" -#: build/models.py:257 build/templates/build/detail.html:91 +#: build/models.py:261 build/templates/build/detail.html:91 #: company/templates/company/manufacturer_part_base.html:79 #: company/templates/company/manufacturer_part_detail.html:28 #: company/templates/company/supplier_part_base.html:78 #: company/templates/company/supplier_part_detail.html:28 #: part/templates/part/detail.html:83 part/templates/part/part_base.html:94 -#: stock/models.py:456 stock/templates/stock/item_base.html:345 +#: stock/models.py:464 stock/templates/stock/item_base.html:345 msgid "External Link" msgstr "" -#: build/models.py:258 part/models.py:729 stock/models.py:458 +#: build/models.py:262 part/models.py:738 stock/models.py:466 msgid "Link to external URL" msgstr "" -#: build/models.py:262 build/templates/build/navbar.html:53 -#: company/models.py:132 company/models.py:539 +#: build/models.py:266 build/templates/build/navbar.html:53 +#: company/models.py:141 company/models.py:561 #: company/templates/company/navbar.html:70 -#: company/templates/company/navbar.html:73 order/models.py:122 -#: order/models.py:617 order/templates/order/po_navbar.html:38 +#: company/templates/company/navbar.html:73 order/models.py:176 +#: order/models.py:711 order/templates/order/po_navbar.html:38 #: order/templates/order/po_navbar.html:41 -#: order/templates/order/purchase_order_detail.html:243 -#: order/templates/order/sales_order_detail.html:309 +#: order/templates/order/purchase_order_detail.html:270 +#: order/templates/order/sales_order_detail.html:319 #: order/templates/order/so_navbar.html:33 -#: order/templates/order/so_navbar.html:36 part/models.py:856 -#: part/templates/part/navbar.html:145 +#: order/templates/order/so_navbar.html:36 part/models.py:865 +#: part/templates/part/navbar.html:133 #: report/templates/report/inventree_build_order_base.html:173 -#: stock/forms.py:173 stock/forms.py:317 stock/forms.py:349 stock/forms.py:377 -#: stock/models.py:528 stock/models.py:1662 stock/models.py:1764 +#: stock/forms.py:140 stock/forms.py:284 stock/forms.py:316 stock/forms.py:344 +#: stock/models.py:536 stock/models.py:1678 stock/models.py:1784 #: stock/templates/stock/navbar.html:57 templates/js/barcode.js:37 -#: templates/js/bom.js:349 templates/js/stock.js:141 templates/js/stock.js:699 +#: templates/js/bom.js:349 templates/js/stock.js:141 templates/js/stock.js:713 msgid "Notes" msgstr "" -#: build/models.py:263 +#: build/models.py:267 msgid "Extra build notes" msgstr "" -#: build/models.py:740 +#: build/models.py:744 msgid "No build output specified" msgstr "" -#: build/models.py:743 +#: build/models.py:747 msgid "Build output is already completed" msgstr "" -#: build/models.py:746 +#: build/models.py:750 msgid "Build output does not match Build Order" msgstr "" -#: build/models.py:1152 +#: build/models.py:1160 msgid "BuildItem must be unique for build, stock_item and install_into" msgstr "" -#: build/models.py:1177 +#: build/models.py:1185 msgid "Build item must specify a build output, as master part is marked as trackable" msgstr "" -#: build/models.py:1181 +#: build/models.py:1189 #, python-brace-format msgid "Allocated quantity ({n}) must not exceed available quantity ({q})" msgstr "" -#: build/models.py:1188 order/models.py:809 +#: build/models.py:1196 order/models.py:915 msgid "StockItem is over-allocated" msgstr "" -#: build/models.py:1192 order/models.py:812 +#: build/models.py:1200 order/models.py:918 msgid "Allocation quantity must be greater than zero" msgstr "" -#: build/models.py:1196 +#: build/models.py:1204 msgid "Quantity must be 1 for serialized stock" msgstr "" -#: build/models.py:1256 +#: build/models.py:1264 #, python-brace-format msgid "Selected stock item not found in BOM for part '{p}'" msgstr "" -#: build/models.py:1316 stock/templates/stock/item_base.html:317 +#: build/models.py:1324 stock/templates/stock/item_base.html:317 #: templates/InvenTree/search.html:183 templates/js/build.js:812 #: templates/navbar.html:29 msgid "Build" msgstr "" -#: build/models.py:1317 +#: build/models.py:1325 msgid "Build to allocate parts" msgstr "" -#: build/models.py:1333 stock/templates/stock/item_base.html:8 +#: build/models.py:1341 stock/templates/stock/item_base.html:8 #: stock/templates/stock/item_base.html:31 #: stock/templates/stock/item_base.html:339 #: stock/templates/stock/stock_adjust.html:16 templates/js/build.js:206 #: templates/js/build.js:211 templates/js/build.js:929 -#: templates/js/order.js:366 templates/js/order.js:371 -#: templates/js/stock.js:1115 +#: templates/js/order.js:433 templates/js/order.js:438 +#: templates/js/stock.js:1129 msgid "Stock Item" msgstr "" -#: build/models.py:1334 +#: build/models.py:1342 msgid "Source stock item" msgstr "" -#: build/models.py:1347 +#: build/models.py:1355 msgid "Stock quantity to allocate to build" msgstr "" -#: build/models.py:1355 +#: build/models.py:1363 msgid "Install into" msgstr "" -#: build/models.py:1356 +#: build/models.py:1364 msgid "Destination stock item" msgstr "" @@ -893,7 +899,7 @@ msgstr "" #: build/templates/build/allocate.html:30 #: company/templates/company/detail_manufacturer_part.html:33 -#: company/templates/company/detail_supplier_part.html:32 order/views.py:992 +#: company/templates/company/detail_supplier_part.html:32 order/views.py:724 #: part/templates/part/category.html:136 msgid "Order Parts" msgstr "" @@ -912,23 +918,52 @@ msgstr "" #: build/templates/build/allocation_card.html:21 #: build/templates/build/complete_output.html:46 -#: order/templates/order/sales_order_detail.html:75 -#: order/templates/order/sales_order_detail.html:160 +#: order/templates/order/sales_order_detail.html:85 +#: order/templates/order/sales_order_detail.html:170 #: report/templates/report/inventree_test_report_base.html:75 -#: stock/models.py:450 stock/templates/stock/item_base.html:249 -#: templates/js/build.js:570 +#: stock/models.py:458 stock/templates/stock/item_base.html:249 +#: templates/js/build.js:570 templates/js/model_renderers.js:41 msgid "Serial Number" msgstr "" #: build/templates/build/attachments.html:12 #: build/templates/build/navbar.html:43 build/templates/build/navbar.html:46 #: order/templates/order/po_navbar.html:35 -#: order/templates/order/so_navbar.html:29 part/templates/part/navbar.html:136 -#: part/templates/part/navbar.html:139 stock/templates/stock/navbar.html:47 +#: order/templates/order/so_navbar.html:29 part/templates/part/navbar.html:124 +#: part/templates/part/navbar.html:127 stock/templates/stock/navbar.html:47 #: stock/templates/stock/navbar.html:50 msgid "Attachments" msgstr "" +#: build/templates/build/attachments.html:51 +#: order/templates/order/so_attachments.html:79 +#: part/templates/part/attachments.html:81 +#: stock/templates/stock/item_attachments.html:81 +#: templates/attachment_table.html:6 +msgid "Add Attachment" +msgstr "" + +#: build/templates/build/attachments.html:69 +#: order/templates/order/so_attachments.html:52 +#: part/templates/part/attachments.html:35 +#: stock/templates/stock/item_attachments.html:49 +msgid "Edit Attachment" +msgstr "" + +#: build/templates/build/attachments.html:76 +#: order/templates/order/so_attachments.html:58 +#: part/templates/part/attachments.html:44 +#: stock/templates/stock/item_attachments.html:58 +msgid "Confirm Delete Operation" +msgstr "" + +#: build/templates/build/attachments.html:77 +#: order/templates/order/so_attachments.html:59 +#: part/templates/part/attachments.html:45 +#: stock/templates/stock/item_attachments.html:59 +msgid "Delete Attachment" +msgstr "" + #: build/templates/build/auto_allocate.html:9 msgid "Automatically Allocate Stock" msgstr "" @@ -989,8 +1024,8 @@ msgstr "" #: order/templates/order/order_base.html:86 #: order/templates/order/sales_order_base.html:43 #: order/templates/order/sales_order_base.html:88 -#: templates/js/table_filters.js:245 templates/js/table_filters.js:264 -#: templates/js/table_filters.js:281 +#: templates/js/table_filters.js:250 templates/js/table_filters.js:269 +#: templates/js/table_filters.js:286 msgid "Overdue" msgstr "" @@ -1036,13 +1071,13 @@ msgid "Progress" msgstr "" #: build/templates/build/build_base.html:170 -#: build/templates/build/detail.html:84 order/models.py:710 +#: build/templates/build/detail.html:84 order/models.py:812 #: order/templates/order/sales_order_base.html:9 #: order/templates/order/sales_order_base.html:35 #: order/templates/order/sales_order_ship.html:25 #: report/templates/report/inventree_build_order_base.html:136 #: report/templates/report/inventree_so_report.html:77 -#: stock/templates/stock/item_base.html:279 templates/js/order.js:245 +#: stock/templates/stock/item_base.html:279 templates/js/order.js:307 msgid "Sales Order" msgstr "" @@ -1183,10 +1218,10 @@ msgstr "" msgid "Stock can be taken from any available location." msgstr "" -#: build/templates/build/detail.html:46 order/forms.py:89 order/models.py:673 -#: order/templates/order/purchase_order_detail.html:239 -#: order/templates/order/receive_parts.html:25 stock/forms.py:169 -#: stock/forms.py:375 +#: build/templates/build/detail.html:46 order/forms.py:88 order/models.py:771 +#: order/templates/order/purchase_order_detail.html:266 +#: order/templates/order/receive_parts.html:25 stock/forms.py:136 +#: stock/forms.py:342 msgid "Destination" msgstr "" @@ -1196,7 +1231,7 @@ msgstr "" #: build/templates/build/detail.html:70 #: stock/templates/stock/item_base.html:303 templates/js/stock.js:638 -#: templates/js/stock.js:1406 templates/js/table_filters.js:112 +#: templates/js/stock.js:1420 templates/js/table_filters.js:112 #: templates/js/table_filters.js:206 msgid "Batch" msgstr "" @@ -1251,7 +1286,7 @@ msgstr "" #: company/templates/company/navbar.html:15 #: order/templates/order/po_navbar.html:15 #: order/templates/order/so_navbar.html:15 part/templates/part/navbar.html:18 -#: templates/js/stock.js:1044 +#: templates/js/stock.js:1058 msgid "Details" msgstr "" @@ -1287,7 +1322,6 @@ msgstr "" #: order/templates/order/order_notes.html:27 #: order/templates/order/sales_order_notes.html:29 #: part/templates/part/notes.html:27 stock/templates/stock/item_base.html:487 -#: stock/templates/stock/item_base.html:497 #: stock/templates/stock/item_notes.html:26 msgid "Save" msgstr "" @@ -1316,7 +1350,7 @@ msgstr "" msgid "Maximum output quantity is " msgstr "" -#: build/views.py:184 stock/views.py:1821 +#: build/views.py:184 stock/views.py:1653 msgid "Serial numbers already exist" msgstr "" @@ -1332,7 +1366,7 @@ msgstr "" msgid "Confirm unallocation of build stock" msgstr "" -#: build/views.py:281 build/views.py:371 stock/views.py:425 +#: build/views.py:281 build/views.py:371 stock/views.py:346 msgid "Check the confirmation box" msgstr "" @@ -1429,31 +1463,6 @@ msgstr "" msgid "Updated Build Item" msgstr "" -#: build/views.py:1070 -msgid "Add Build Order Attachment" -msgstr "" - -#: build/views.py:1083 order/views.py:117 order/views.py:169 part/views.py:178 -#: stock/views.py:277 -msgid "Added attachment" -msgstr "" - -#: build/views.py:1119 order/views.py:196 order/views.py:217 -msgid "Edit Attachment" -msgstr "" - -#: build/views.py:1129 order/views.py:200 order/views.py:221 -msgid "Attachment updated" -msgstr "" - -#: build/views.py:1139 order/views.py:236 order/views.py:250 -msgid "Delete Attachment" -msgstr "" - -#: build/views.py:1144 order/views.py:242 order/views.py:256 stock/views.py:333 -msgid "Deleted attachment" -msgstr "" - #: common/files.py:66 msgid "Unsupported file format: {ext.upper()}" msgstr "" @@ -1470,7 +1479,7 @@ msgstr "" msgid "Error reading file (data could be corrupted)" msgstr "" -#: common/forms.py:34 templates/attachment_table.html:15 +#: common/forms.py:34 templates/js/attachment.js:42 msgid "File" msgstr "" @@ -1503,7 +1512,7 @@ msgstr "" msgid "Use the instance name in the title-bar" msgstr "" -#: common/models.py:72 company/models.py:94 company/models.py:95 +#: common/models.py:72 company/models.py:99 company/models.py:100 msgid "Company name" msgstr "" @@ -1607,9 +1616,9 @@ msgstr "" msgid "Number of recent parts to display on index page" msgstr "" -#: common/models.py:160 part/models.py:2193 part/templates/part/detail.html:160 -#: report/models.py:186 stock/forms.py:259 templates/js/table_filters.js:25 -#: templates/js/table_filters.js:315 +#: common/models.py:160 part/models.py:2226 part/templates/part/detail.html:160 +#: report/models.py:186 stock/forms.py:226 templates/js/table_filters.js:25 +#: templates/js/table_filters.js:320 msgid "Template" msgstr "" @@ -1617,8 +1626,8 @@ msgstr "" msgid "Parts are templates by default" msgstr "" -#: common/models.py:167 part/models.py:819 part/templates/part/detail.html:170 -#: templates/js/table_filters.js:128 templates/js/table_filters.js:327 +#: common/models.py:167 part/models.py:828 part/templates/part/detail.html:170 +#: templates/js/table_filters.js:128 templates/js/table_filters.js:332 msgid "Assembly" msgstr "" @@ -1626,8 +1635,8 @@ msgstr "" msgid "Parts can be assembled from other components by default" msgstr "" -#: common/models.py:174 part/models.py:825 part/templates/part/detail.html:180 -#: templates/js/table_filters.js:331 +#: common/models.py:174 part/models.py:834 part/templates/part/detail.html:180 +#: templates/js/table_filters.js:336 msgid "Component" msgstr "" @@ -1635,7 +1644,7 @@ msgstr "" msgid "Parts can be used as sub-components by default" msgstr "" -#: common/models.py:181 part/models.py:836 part/templates/part/detail.html:200 +#: common/models.py:181 part/models.py:845 part/templates/part/detail.html:200 msgid "Purchaseable" msgstr "" @@ -1643,8 +1652,8 @@ msgstr "" msgid "Parts are purchaseable by default" msgstr "" -#: common/models.py:188 part/models.py:841 part/templates/part/detail.html:210 -#: templates/js/table_filters.js:339 +#: common/models.py:188 part/models.py:850 part/templates/part/detail.html:210 +#: templates/js/table_filters.js:344 msgid "Salable" msgstr "" @@ -1652,8 +1661,8 @@ msgstr "" msgid "Parts are salable by default" msgstr "" -#: common/models.py:195 part/models.py:831 part/templates/part/detail.html:190 -#: templates/js/table_filters.js:33 templates/js/table_filters.js:343 +#: common/models.py:195 part/models.py:840 part/templates/part/detail.html:190 +#: templates/js/table_filters.js:33 templates/js/table_filters.js:348 msgid "Trackable" msgstr "" @@ -1661,7 +1670,7 @@ msgstr "" msgid "Parts are trackable by default" msgstr "" -#: common/models.py:202 part/models.py:851 part/templates/part/detail.html:150 +#: common/models.py:202 part/models.py:860 part/templates/part/detail.html:150 #: templates/js/table_filters.js:29 msgid "Virtual" msgstr "" @@ -1858,13 +1867,12 @@ msgstr "" msgid "Key string must be unique" msgstr "" -#: common/models.py:742 company/forms.py:190 +#: common/models.py:742 company/forms.py:125 msgid "Price break quantity" msgstr "" -#: common/models.py:749 company/templates/company/supplier_part_pricing.html:82 -#: part/templates/part/internal_prices.html:103 -#: part/templates/part/sale_prices.html:90 +#: common/models.py:749 company/templates/company/supplier_part_pricing.html:84 +#: templates/js/part.js:832 msgid "Price" msgstr "" @@ -1894,16 +1902,16 @@ msgstr "" #: common/views.py:184 order/templates/order/order_wizard/po_upload.html:42 #: order/templates/order/po_navbar.html:19 -#: order/templates/order/po_navbar.html:22 order/views.py:605 +#: order/templates/order/po_navbar.html:22 order/views.py:337 #: part/templates/part/bom_upload/upload_file.html:27 -#: part/templates/part/import_wizard/part_upload.html:45 part/views.py:761 +#: part/templates/part/import_wizard/part_upload.html:45 part/views.py:621 msgid "Upload File" msgstr "" #: common/views.py:185 order/templates/order/order_wizard/match_fields.html:52 -#: order/views.py:606 part/templates/part/bom_upload/select_fields.html:58 +#: order/views.py:338 part/templates/part/bom_upload/select_fields.html:58 #: part/templates/part/import_wizard/ajax_match_fields.html:45 -#: part/templates/part/import_wizard/match_fields.html:52 part/views.py:762 +#: part/templates/part/import_wizard/match_fields.html:52 part/views.py:622 msgid "Match Fields" msgstr "" @@ -1928,269 +1936,277 @@ msgstr "" msgid "Previous Step" msgstr "" -#: company/forms.py:37 company/models.py:142 -#: company/templates/company/detail.html:42 -msgid "Currency" -msgstr "" - -#: company/forms.py:38 company/models.py:144 -msgid "Default currency used for this company" -msgstr "" - -#: company/forms.py:76 part/forms.py:46 +#: company/forms.py:26 part/forms.py:46 msgid "URL" msgstr "" -#: company/forms.py:77 part/forms.py:47 +#: company/forms.py:27 part/forms.py:47 msgid "Image URL" msgstr "" -#: company/forms.py:132 templates/js/part.js:787 +#: company/forms.py:67 templates/js/part.js:940 msgid "Single Price" msgstr "" -#: company/forms.py:133 +#: company/forms.py:68 msgid "Single quantity price" msgstr "" -#: company/forms.py:141 company/models.py:321 +#: company/forms.py:76 company/models.py:335 msgid "Select manufacturer" msgstr "" -#: company/forms.py:147 company/models.py:328 +#: company/forms.py:82 company/models.py:342 msgid "Manufacturer Part Number" msgstr "" -#: company/forms.py:149 company/models.py:327 +#: company/forms.py:84 company/models.py:341 #: company/templates/company/manufacturer_part_base.html:89 #: company/templates/company/manufacturer_part_detail.html:26 #: company/templates/company/supplier_part_base.html:102 #: company/templates/company/supplier_part_detail.html:35 -#: order/templates/order/purchase_order_detail.html:162 part/bom.py:171 -#: part/bom.py:242 templates/js/company.js:181 templates/js/company.js:408 +#: order/templates/order/purchase_order_detail.html:189 part/bom.py:171 +#: part/bom.py:242 templates/js/company.js:305 templates/js/company.js:533 msgid "MPN" msgstr "" -#: company/models.py:99 +#: company/models.py:104 msgid "Company description" msgstr "" -#: company/models.py:100 +#: company/models.py:105 msgid "Description of the company" msgstr "" -#: company/models.py:104 company/templates/company/company_base.html:70 -#: company/templates/company/detail.html:33 templates/js/company.js:60 +#: company/models.py:111 company/templates/company/company_base.html:70 +#: company/templates/company/detail.html:33 templates/js/company.js:129 msgid "Website" msgstr "" -#: company/models.py:104 +#: company/models.py:112 msgid "Company website URL" msgstr "" -#: company/models.py:107 company/templates/company/company_base.html:77 +#: company/models.py:116 company/templates/company/company_base.html:77 msgid "Address" msgstr "" -#: company/models.py:108 +#: company/models.py:117 msgid "Company address" msgstr "" -#: company/models.py:111 +#: company/models.py:120 msgid "Phone number" msgstr "" -#: company/models.py:112 +#: company/models.py:121 msgid "Contact phone number" msgstr "" -#: company/models.py:115 company/templates/company/company_base.html:91 +#: company/models.py:124 company/templates/company/company_base.html:91 msgid "Email" msgstr "" -#: company/models.py:115 +#: company/models.py:124 msgid "Contact email address" msgstr "" -#: company/models.py:118 company/templates/company/company_base.html:98 +#: company/models.py:127 company/templates/company/company_base.html:98 msgid "Contact" msgstr "" -#: company/models.py:119 +#: company/models.py:128 msgid "Point of contact" msgstr "" -#: company/models.py:121 company/models.py:333 company/models.py:526 -#: order/models.py:102 part/models.py:728 +#: company/models.py:130 company/models.py:347 company/models.py:548 +#: order/models.py:156 part/models.py:737 #: report/templates/report/inventree_build_order_base.html:165 -#: templates/js/company.js:188 templates/js/company.js:419 +#: templates/js/company.js:312 templates/js/company.js:544 #: templates/js/part.js:498 msgid "Link" msgstr "" -#: company/models.py:121 +#: company/models.py:130 msgid "Link to external company information" msgstr "" -#: company/models.py:129 part/models.py:738 +#: company/models.py:138 part/models.py:747 msgid "Image" msgstr "" -#: company/models.py:134 +#: company/models.py:143 msgid "is customer" msgstr "" -#: company/models.py:134 +#: company/models.py:143 msgid "Do you sell items to this company?" msgstr "" -#: company/models.py:136 +#: company/models.py:145 msgid "is supplier" msgstr "" -#: company/models.py:136 +#: company/models.py:145 msgid "Do you purchase items from this company?" msgstr "" -#: company/models.py:138 +#: company/models.py:147 msgid "is manufacturer" msgstr "" -#: company/models.py:138 +#: company/models.py:147 msgid "Does this company manufacture parts?" msgstr "" -#: company/models.py:305 company/models.py:497 stock/models.py:403 +#: company/models.py:151 company/serializers.py:259 +#: company/templates/company/detail.html:42 +msgid "Currency" +msgstr "" + +#: company/models.py:154 +msgid "Default currency used for this company" +msgstr "" + +#: company/models.py:319 company/models.py:519 stock/models.py:411 #: stock/templates/stock/item_base.html:235 msgid "Base Part" msgstr "" -#: company/models.py:309 company/models.py:501 order/views.py:1603 +#: company/models.py:323 company/models.py:523 order/views.py:1127 msgid "Select part" msgstr "" -#: company/models.py:320 company/templates/company/detail.html:57 +#: company/models.py:334 company/templates/company/detail.html:57 #: company/templates/company/manufacturer_part_base.html:85 #: company/templates/company/manufacturer_part_detail.html:25 #: company/templates/company/supplier_part_base.html:94 #: company/templates/company/supplier_part_detail.html:34 part/bom.py:170 #: part/bom.py:241 stock/templates/stock/item_base.html:352 -#: templates/js/company.js:44 templates/js/company.js:165 -#: templates/js/company.js:390 +#: templates/js/company.js:113 templates/js/company.js:289 +#: templates/js/company.js:515 msgid "Manufacturer" msgstr "" -#: company/models.py:334 +#: company/models.py:348 msgid "URL for external manufacturer part link" msgstr "" -#: company/models.py:340 +#: company/models.py:354 msgid "Manufacturer part description" msgstr "" -#: company/models.py:390 company/models.py:520 +#: company/models.py:408 company/models.py:542 #: company/templates/company/manufacturer_part_base.html:6 #: company/templates/company/manufacturer_part_base.html:19 #: stock/templates/stock/item_base.html:362 msgid "Manufacturer Part" msgstr "" -#: company/models.py:397 +#: company/models.py:415 msgid "Parameter name" msgstr "" -#: company/models.py:403 part/templates/part/params.html:28 +#: company/models.py:421 part/templates/part/params.html:28 #: report/templates/report/inventree_test_report_base.html:90 -#: stock/models.py:1751 templates/InvenTree/settings/header.html:8 -#: templates/js/company.js:241 templates/js/stock.js:137 +#: stock/models.py:1771 templates/InvenTree/settings/header.html:8 +#: templates/js/company.js:365 templates/js/stock.js:137 msgid "Value" msgstr "" -#: company/models.py:404 +#: company/models.py:422 msgid "Parameter value" msgstr "" -#: company/models.py:410 part/models.py:813 part/models.py:2165 +#: company/models.py:428 part/models.py:822 part/models.py:2194 #: part/templates/part/detail.html:106 part/templates/part/params.html:29 -#: templates/js/company.js:247 +#: templates/js/company.js:371 msgid "Units" msgstr "" -#: company/models.py:411 +#: company/models.py:429 msgid "Parameter units" msgstr "" -#: company/models.py:507 company/templates/company/detail.html:62 +#: company/models.py:529 company/templates/company/detail.html:62 #: company/templates/company/supplier_part_base.html:84 -#: company/templates/company/supplier_part_detail.html:25 order/models.py:189 +#: company/templates/company/supplier_part_detail.html:25 order/models.py:256 #: order/templates/order/order_base.html:92 #: order/templates/order/order_wizard/select_pos.html:30 part/bom.py:175 #: part/bom.py:286 stock/templates/stock/item_base.html:369 -#: templates/js/company.js:48 templates/js/company.js:364 -#: templates/js/order.js:170 +#: templates/js/company.js:117 templates/js/company.js:489 +#: templates/js/order.js:232 msgid "Supplier" msgstr "" -#: company/models.py:508 +#: company/models.py:530 msgid "Select supplier" msgstr "" -#: company/models.py:513 company/templates/company/supplier_part_base.html:88 +#: company/models.py:535 company/templates/company/supplier_part_base.html:88 #: company/templates/company/supplier_part_detail.html:26 -#: order/templates/order/purchase_order_detail.html:153 part/bom.py:176 +#: order/templates/order/purchase_order_detail.html:180 part/bom.py:176 #: part/bom.py:287 msgid "SKU" msgstr "" -#: company/models.py:514 +#: company/models.py:536 msgid "Supplier stock keeping unit" msgstr "" -#: company/models.py:521 +#: company/models.py:543 msgid "Select manufacturer part" msgstr "" -#: company/models.py:527 +#: company/models.py:549 msgid "URL for external supplier part link" msgstr "" -#: company/models.py:533 +#: company/models.py:555 msgid "Supplier part description" msgstr "" -#: company/models.py:538 company/templates/company/supplier_part_base.html:116 -#: company/templates/company/supplier_part_detail.html:38 part/models.py:2305 +#: company/models.py:560 company/templates/company/supplier_part_base.html:116 +#: company/templates/company/supplier_part_detail.html:38 part/models.py:2342 #: report/templates/report/inventree_po_report.html:93 #: report/templates/report/inventree_so_report.html:93 msgid "Note" msgstr "" -#: company/models.py:542 part/models.py:1606 +#: company/models.py:564 part/models.py:1615 msgid "base cost" msgstr "" -#: company/models.py:542 part/models.py:1606 +#: company/models.py:564 part/models.py:1615 msgid "Minimum charge (e.g. stocking fee)" msgstr "" -#: company/models.py:544 company/templates/company/supplier_part_base.html:109 -#: stock/models.py:427 stock/templates/stock/item_base.html:310 -#: templates/js/stock.js:695 +#: company/models.py:566 company/templates/company/supplier_part_base.html:109 +#: stock/models.py:435 stock/templates/stock/item_base.html:310 +#: templates/js/stock.js:709 msgid "Packaging" msgstr "" -#: company/models.py:544 +#: company/models.py:566 msgid "Part packaging" msgstr "" -#: company/models.py:546 part/models.py:1608 +#: company/models.py:568 part/models.py:1617 msgid "multiple" msgstr "" -#: company/models.py:546 +#: company/models.py:568 msgid "Order multiple" msgstr "" +#: company/serializers.py:68 +msgid "Default currency used for this supplier" +msgstr "" + +#: company/serializers.py:69 +msgid "Currency Code" +msgstr "" + #: company/templates/company/assigned_stock.html:10 #: company/templates/company/navbar.html:62 #: company/templates/company/navbar.html:65 templates/js/build.js:563 @@ -2199,7 +2215,7 @@ msgstr "" #: company/templates/company/company_base.html:9 #: company/templates/company/company_base.html:35 -#: templates/InvenTree/search.html:304 templates/js/company.js:33 +#: templates/InvenTree/search.html:304 templates/js/company.js:102 msgid "Company" msgstr "" @@ -2213,7 +2229,7 @@ msgstr "" msgid "Download image from URL" msgstr "" -#: company/templates/company/company_base.html:46 order/views.py:313 +#: company/templates/company/company_base.html:46 templates/js/order.js:61 msgid "Create Purchase Order" msgstr "" @@ -2221,7 +2237,8 @@ msgstr "" msgid "Edit company information" msgstr "" -#: company/templates/company/company_base.html:56 company/views.py:326 +#: company/templates/company/company_base.html:56 +#: company/templates/company/company_base.html:126 msgid "Delete Company" msgstr "" @@ -2235,15 +2252,9 @@ msgstr "" msgid "Phone" msgstr "" -#: company/templates/company/delete.html:7 -#, python-format -msgid "Are you sure you want to delete company '%(name)s'?" -msgstr "" - -#: company/templates/company/delete.html:12 -#, python-format -msgid "There are %(count)s parts sourced from this company.
\n" -"If this supplier is deleted, these supplier part entries will also be deleted." +#: company/templates/company/company_base.html:166 +#: part/templates/part/part_base.html:307 +msgid "Upload Image" msgstr "" #: company/templates/company/detail.html:21 @@ -2258,11 +2269,11 @@ msgstr "" msgid "Uses default currency" msgstr "" -#: company/templates/company/detail.html:67 order/models.py:460 -#: order/templates/order/sales_order_base.html:94 stock/models.py:445 -#: stock/models.py:446 stock/templates/stock/item_base.html:262 -#: templates/js/company.js:40 templates/js/order.js:267 -#: templates/js/stock.js:1097 +#: company/templates/company/detail.html:67 order/models.py:540 +#: order/templates/order/sales_order_base.html:94 stock/models.py:453 +#: stock/models.py:454 stock/templates/stock/item_base.html:262 +#: templates/js/company.js:109 templates/js/order.js:329 +#: templates/js/stock.js:1111 msgid "Customer" msgstr "" @@ -2283,6 +2294,7 @@ msgstr "" #: company/templates/company/detail_manufacturer_part.html:28 #: company/templates/company/detail_supplier_part.html:27 #: company/templates/company/manufacturer_part_suppliers.html:20 +#: company/templates/company/manufacturer_part_suppliers.html:46 #: part/templates/part/category.html:131 #: part/templates/part/manufacturer.html:22 #: part/templates/part/supplier.html:20 @@ -2305,26 +2317,25 @@ msgstr "" msgid "Delete Parts" msgstr "" -#: company/templates/company/detail_manufacturer_part.html:66 +#: company/templates/company/detail_manufacturer_part.html:68 #: company/templates/company/detail_supplier_part.html:66 #: part/templates/part/bom.html:159 part/templates/part/category.html:127 -#: templates/js/stock.js:1312 +#: templates/js/stock.js:1326 msgid "New Part" msgstr "" -#: company/templates/company/detail_manufacturer_part.html:67 +#: company/templates/company/detail_manufacturer_part.html:69 #: company/templates/company/detail_supplier_part.html:67 msgid "Create new Part" msgstr "" -#: company/templates/company/detail_manufacturer_part.html:72 -#: company/views.py:71 part/templates/part/manufacturer.html:52 -#: part/templates/part/supplier.html:56 +#: company/templates/company/detail_manufacturer_part.html:74 +#: company/views.py:66 part/templates/part/manufacturer.html:52 +#: part/templates/part/supplier.html:55 msgid "New Manufacturer" msgstr "" -#: company/templates/company/detail_manufacturer_part.html:73 -#: company/views.py:284 +#: company/templates/company/detail_manufacturer_part.html:75 msgid "Create new Manufacturer" msgstr "" @@ -2335,7 +2346,7 @@ msgstr "" #: company/templates/company/detail_stock.html:37 #: company/templates/company/supplier_part_stock.html:34 #: part/templates/part/category.html:123 part/templates/part/category.html:137 -#: part/templates/part/stock.html:54 stock/templates/stock/location.html:163 +#: part/templates/part/stock.html:55 stock/templates/stock/location.html:163 msgid "Export" msgstr "" @@ -2347,26 +2358,24 @@ msgstr "" #: company/templates/company/detail_supplier_part.html:21 #: order/templates/order/order_wizard/select_parts.html:44 -#: order/templates/order/purchase_order_detail.html:50 +#: part/templates/part/part_base.html:429 msgid "Create new supplier part" msgstr "" #: company/templates/company/detail_supplier_part.html:22 #: company/templates/company/manufacturer_part_suppliers.html:17 -#: order/templates/order/purchase_order_detail.html:49 -#: part/templates/part/supplier.html:17 templates/js/stock.js:1318 +#: part/templates/part/part_base.html:428 part/templates/part/supplier.html:17 +#: templates/js/stock.js:1332 msgid "New Supplier Part" msgstr "" #: company/templates/company/detail_supplier_part.html:72 -#: company/templates/company/manufacturer_part_suppliers.html:82 -#: company/views.py:64 order/templates/order/purchase_orders.html:185 -#: part/templates/part/supplier.html:50 +#: company/templates/company/manufacturer_part_suppliers.html:96 +#: company/views.py:60 part/templates/part/supplier.html:50 msgid "New Supplier" msgstr "" -#: company/templates/company/detail_supplier_part.html:73 company/views.py:281 -#: order/templates/order/purchase_orders.html:186 +#: company/templates/company/detail_supplier_part.html:73 msgid "Create new Supplier" msgstr "" @@ -2401,20 +2410,19 @@ msgstr "" msgid "Internal Part" msgstr "" -#: company/templates/company/manufacturer_part_delete.html:6 -msgid "Are you sure you want to delete the following Manufacturer Parts?" +#: company/templates/company/manufacturer_part_base.html:125 +msgid "Edit Manufacturer Part" msgstr "" -#: company/templates/company/manufacturer_part_delete.html:36 -#, python-format -msgid "There are %(count)s suppliers defined for this manufacturer part. If you delete it, the following supplier parts will also be deleted:" +#: company/templates/company/manufacturer_part_base.html:134 +msgid "Delete Manufacturer Part" msgstr "" #: company/templates/company/manufacturer_part_navbar.html:14 #: company/templates/company/manufacturer_part_suppliers.html:10 -#: company/views.py:63 part/templates/part/navbar.html:87 -#: part/templates/part/navbar.html:90 templates/InvenTree/search.html:316 -#: templates/navbar.html:35 +#: company/views.py:59 part/templates/part/navbar.html:87 +#: part/templates/part/navbar.html:90 part/templates/part/prices.html:153 +#: templates/InvenTree/search.html:316 templates/navbar.html:35 msgid "Suppliers" msgstr "" @@ -2425,7 +2433,7 @@ msgstr "" #: company/templates/company/manufacturer_part_navbar.html:22 #: company/templates/company/navbar.html:41 #: company/templates/company/supplier_part_navbar.html:15 -#: part/templates/part/navbar.html:39 stock/api.py:54 +#: part/templates/part/navbar.html:39 stock/api.py:53 #: stock/templates/stock/loc_link.html:7 stock/templates/stock/location.html:36 #: stock/templates/stock/stock_app_base.html:10 #: templates/InvenTree/index.html:128 templates/InvenTree/search.html:196 @@ -2451,9 +2459,11 @@ msgid "Delete supplier parts" msgstr "" #: company/templates/company/manufacturer_part_suppliers.html:22 +#: company/templates/company/manufacturer_part_suppliers.html:48 +#: company/templates/company/manufacturer_part_suppliers.html:142 #: part/templates/part/manufacturer.html:24 part/templates/part/params.html:44 #: part/templates/part/related.html:44 part/templates/part/supplier.html:22 -#: stock/views.py:1002 users/models.py:191 +#: stock/views.py:855 templates/js/company.js:203 users/models.py:192 msgid "Delete" msgstr "" @@ -2471,11 +2481,27 @@ msgstr "" msgid "New Parameter" msgstr "" -#: company/templates/company/manufacturer_part_suppliers.html:83 +#: company/templates/company/manufacturer_part_suppliers.html:48 +msgid "Delete parameters" +msgstr "" + +#: company/templates/company/manufacturer_part_suppliers.html:80 +msgid "Add Parameter" +msgstr "" + +#: company/templates/company/manufacturer_part_suppliers.html:97 #: part/templates/part/supplier.html:51 msgid "Create new supplier" msgstr "" +#: company/templates/company/manufacturer_part_suppliers.html:127 +msgid "Selected parameters will be deleted" +msgstr "" + +#: company/templates/company/manufacturer_part_suppliers.html:139 +msgid "Delete Parameters" +msgstr "" + #: company/templates/company/navbar.html:20 #: company/templates/company/navbar.html:23 msgid "Manufactured Parts" @@ -2492,8 +2518,8 @@ msgstr "" #: stock/templates/stock/location.html:136 #: stock/templates/stock/location_navbar.html:22 #: stock/templates/stock/location_navbar.html:29 -#: templates/InvenTree/search.html:198 templates/js/stock.js:996 -#: templates/stats.html:93 templates/stats.html:102 users/models.py:42 +#: templates/InvenTree/search.html:198 templates/js/stock.js:1010 +#: templates/stats.html:93 templates/stats.html:102 users/models.py:43 msgid "Stock Items" msgstr "" @@ -2503,11 +2529,11 @@ msgstr "" #: company/templates/company/sales_orders.html:11 #: order/templates/order/sales_orders.html:8 #: order/templates/order/sales_orders.html:13 -#: part/templates/part/navbar.html:113 part/templates/part/navbar.html:116 -#: part/templates/part/sales_orders.html:10 templates/InvenTree/index.html:228 +#: part/templates/part/navbar.html:101 part/templates/part/navbar.html:104 +#: part/templates/part/sales_orders.html:10 templates/InvenTree/index.html:236 #: templates/InvenTree/search.html:345 #: templates/InvenTree/settings/tabs.html:40 templates/navbar.html:46 -#: users/models.py:45 +#: users/models.py:46 msgid "Sales Orders" msgstr "" @@ -2516,10 +2542,10 @@ msgstr "" #: order/templates/order/purchase_orders.html:8 #: order/templates/order/purchase_orders.html:13 #: part/templates/part/navbar.html:93 part/templates/part/navbar.html:96 -#: part/templates/part/orders.html:10 templates/InvenTree/index.html:205 +#: part/templates/part/orders.html:10 templates/InvenTree/index.html:213 #: templates/InvenTree/search.html:325 #: templates/InvenTree/settings/tabs.html:37 templates/navbar.html:37 -#: users/models.py:44 +#: users/models.py:45 msgid "Purchase Orders" msgstr "" @@ -2548,8 +2574,9 @@ msgid "New Sales Order" msgstr "" #: company/templates/company/supplier_part_base.html:7 -#: company/templates/company/supplier_part_base.html:20 stock/models.py:412 -#: stock/templates/stock/item_base.html:374 templates/js/company.js:380 +#: company/templates/company/supplier_part_base.html:20 stock/models.py:420 +#: stock/templates/stock/item_base.html:374 templates/js/company.js:505 +#: templates/js/stock.js:690 msgid "Supplier Part" msgstr "" @@ -2594,459 +2621,401 @@ msgid "Order Part" msgstr "" #: company/templates/company/supplier_part_pricing.html:11 +#: part/templates/part/navbar.html:74 msgid "Pricing Information" msgstr "" -#: company/templates/company/supplier_part_pricing.html:19 company/views.py:855 -#: part/templates/part/sale_prices.html:17 part/views.py:2918 +#: company/templates/company/supplier_part_pricing.html:19 +#: company/templates/company/supplier_part_pricing.html:118 +#: part/templates/part/prices.html:264 part/views.py:2788 msgid "Add Price Break" msgstr "" #: company/templates/company/supplier_part_pricing.html:38 -#: part/templates/part/sale_prices.html:46 msgid "No price break information found" msgstr "" -#: company/templates/company/supplier_part_pricing.html:89 -#: part/templates/part/sale_prices.html:97 +#: company/templates/company/supplier_part_pricing.html:52 part/views.py:2850 +msgid "Delete Price Break" +msgstr "" + +#: company/templates/company/supplier_part_pricing.html:66 part/views.py:2836 +msgid "Edit Price Break" +msgstr "" + +#: company/templates/company/supplier_part_pricing.html:91 msgid "Edit price break" msgstr "" -#: company/templates/company/supplier_part_pricing.html:90 -#: part/templates/part/sale_prices.html:98 +#: company/templates/company/supplier_part_pricing.html:92 msgid "Delete price break" msgstr "" -#: company/views.py:70 part/templates/part/navbar.html:81 -#: part/templates/part/navbar.html:84 templates/InvenTree/search.html:306 -#: templates/navbar.html:36 +#: company/views.py:65 part/templates/part/navbar.html:81 +#: part/templates/part/navbar.html:84 part/templates/part/prices.html:157 +#: templates/InvenTree/search.html:306 templates/navbar.html:36 msgid "Manufacturers" msgstr "" -#: company/views.py:77 templates/InvenTree/search.html:336 +#: company/views.py:71 templates/InvenTree/search.html:336 #: templates/navbar.html:45 msgid "Customers" msgstr "" -#: company/views.py:78 order/templates/order/sales_orders.html:187 +#: company/views.py:72 msgid "New Customer" msgstr "" -#: company/views.py:86 +#: company/views.py:79 msgid "Companies" msgstr "" -#: company/views.py:87 +#: company/views.py:80 msgid "New Company" msgstr "" -#: company/views.py:169 part/views.py:1115 +#: company/views.py:161 part/views.py:1007 msgid "Download Image" msgstr "" -#: company/views.py:198 part/views.py:1147 +#: company/views.py:190 part/views.py:1039 msgid "Image size exceeds maximum allowable size for download" msgstr "" -#: company/views.py:205 part/views.py:1154 +#: company/views.py:197 part/views.py:1046 #, python-brace-format msgid "Invalid response: {code}" msgstr "" -#: company/views.py:214 part/views.py:1163 +#: company/views.py:206 part/views.py:1055 msgid "Supplied URL is not a valid image file" msgstr "" -#: company/views.py:243 -msgid "Update Company Image" -msgstr "" - -#: company/views.py:249 -msgid "Updated company image" -msgstr "" - -#: company/views.py:259 -msgid "Edit Company" -msgstr "" - -#: company/views.py:264 -msgid "Edited company information" -msgstr "" - -#: company/views.py:287 order/templates/order/sales_orders.html:188 -msgid "Create new Customer" -msgstr "" - -#: company/views.py:289 -msgid "Create new Company" -msgstr "" - -#: company/views.py:316 -msgid "Created new company" -msgstr "" - -#: company/views.py:332 -msgid "Company was deleted" -msgstr "" - -#: company/views.py:357 -msgid "Edit Manufacturer Part" -msgstr "" - -#: company/views.py:366 +#: company/views.py:251 msgid "Create New Manufacturer Part" msgstr "" -#: company/views.py:440 -msgid "Delete Manufacturer Part" -msgstr "" - -#: company/views.py:514 -msgid "Add Manufacturer Part Parameter" -msgstr "" - -#: company/views.py:548 -msgid "Edit Manufacturer Part Parameter" -msgstr "" - -#: company/views.py:588 +#: company/views.py:334 msgid "Edit Supplier Part" msgstr "" -#: company/views.py:639 templates/js/stock.js:1319 +#: company/views.py:385 templates/js/stock.js:1333 msgid "Create new Supplier Part" msgstr "" -#: company/views.py:783 +#: company/views.py:529 msgid "Delete Supplier Part" msgstr "" -#: company/views.py:860 part/views.py:2922 -msgid "Added new price break" -msgstr "" - -#: company/views.py:916 part/views.py:2966 -msgid "Edit Price Break" -msgstr "" - -#: company/views.py:931 part/views.py:2980 -msgid "Delete Price Break" -msgstr "" - #: label/api.py:56 report/api.py:201 msgid "No valid objects provided to template" msgstr "" -#: label/models.py:103 +#: label/models.py:104 msgid "Label name" msgstr "" -#: label/models.py:110 +#: label/models.py:111 msgid "Label description" msgstr "" -#: label/models.py:117 stock/forms.py:202 +#: label/models.py:118 stock/forms.py:169 msgid "Label" msgstr "" -#: label/models.py:118 +#: label/models.py:119 msgid "Label template file" msgstr "" -#: label/models.py:124 report/models.py:297 +#: label/models.py:125 report/models.py:297 msgid "Enabled" msgstr "" -#: label/models.py:125 +#: label/models.py:126 msgid "Label template is enabled" msgstr "" -#: label/models.py:130 +#: label/models.py:131 msgid "Width [mm]" msgstr "" -#: label/models.py:131 +#: label/models.py:132 msgid "Label width, specified in mm" msgstr "" -#: label/models.py:137 +#: label/models.py:138 msgid "Height [mm]" msgstr "" -#: label/models.py:138 +#: label/models.py:139 msgid "Label height, specified in mm" msgstr "" -#: label/models.py:144 report/models.py:290 +#: label/models.py:145 report/models.py:290 msgid "Filename Pattern" msgstr "" -#: label/models.py:145 +#: label/models.py:146 msgid "Pattern for generating label filenames" msgstr "" -#: label/models.py:244 label/models.py:297 +#: label/models.py:249 label/models.py:306 msgid "Query filters (comma-separated list of key=value pairs" msgstr "" -#: label/models.py:245 label/models.py:298 report/models.py:317 +#: label/models.py:250 label/models.py:307 report/models.py:317 #: report/models.py:440 report/models.py:474 msgid "Filters" msgstr "" -#: order/forms.py:31 order/templates/order/order_base.html:47 +#: order/forms.py:30 order/templates/order/order_base.html:47 msgid "Place order" msgstr "" -#: order/forms.py:42 order/templates/order/order_base.html:54 +#: order/forms.py:41 order/templates/order/order_base.html:54 msgid "Mark order as complete" msgstr "" -#: order/forms.py:53 order/forms.py:64 order/templates/order/order_base.html:59 +#: order/forms.py:52 order/forms.py:63 order/templates/order/order_base.html:59 #: order/templates/order/sales_order_base.html:61 msgid "Cancel order" msgstr "" -#: order/forms.py:75 order/templates/order/sales_order_base.html:58 +#: order/forms.py:74 order/templates/order/sales_order_base.html:58 msgid "Ship order" msgstr "" -#: order/forms.py:90 +#: order/forms.py:89 msgid "Receive parts to this location" msgstr "" -#: order/forms.py:112 -msgid "Purchase Order reference" -msgstr "" - -#: order/forms.py:119 -msgid "Target date for order delivery. Order will be overdue after this date." -msgstr "" - -#: order/forms.py:147 -msgid "Enter sales order number" -msgstr "" - -#: order/forms.py:154 order/models.py:472 -msgid "Target date for order completion. Order will be overdue after this date." -msgstr "" - -#: order/forms.py:246 +#: order/forms.py:116 msgid "Enter stock item serial numbers" msgstr "" -#: order/forms.py:252 +#: order/forms.py:122 msgid "Enter quantity of stock items" msgstr "" -#: order/models.py:98 -msgid "Order reference" -msgstr "" - -#: order/models.py:100 +#: order/models.py:154 msgid "Order description" msgstr "" -#: order/models.py:102 +#: order/models.py:156 msgid "Link to external page" msgstr "" -#: order/models.py:110 part/templates/part/detail.html:132 +#: order/models.py:164 part/templates/part/detail.html:132 msgid "Created By" msgstr "" -#: order/models.py:117 +#: order/models.py:171 msgid "User or group responsible for this order" msgstr "" -#: order/models.py:122 +#: order/models.py:176 msgid "Order notes" msgstr "" -#: order/models.py:181 order/models.py:465 +#: order/models.py:243 order/models.py:530 +msgid "Order reference" +msgstr "" + +#: order/models.py:248 order/models.py:545 msgid "Purchase order status" msgstr "" -#: order/models.py:190 +#: order/models.py:257 msgid "Company from which the items are being ordered" msgstr "" -#: order/models.py:193 order/templates/order/order_base.html:98 -#: templates/js/order.js:179 +#: order/models.py:260 order/templates/order/order_base.html:98 +#: templates/js/order.js:241 msgid "Supplier Reference" msgstr "" -#: order/models.py:193 +#: order/models.py:260 msgid "Supplier order reference code" msgstr "" -#: order/models.py:200 +#: order/models.py:267 msgid "received by" msgstr "" -#: order/models.py:205 +#: order/models.py:272 msgid "Issue Date" msgstr "" -#: order/models.py:206 +#: order/models.py:273 msgid "Date order was issued" msgstr "" -#: order/models.py:211 +#: order/models.py:278 msgid "Target Delivery Date" msgstr "" -#: order/models.py:212 +#: order/models.py:279 msgid "Expected date for order delivery. Order will be overdue after this date." msgstr "" -#: order/models.py:218 +#: order/models.py:285 msgid "Date order was completed" msgstr "" -#: order/models.py:242 part/views.py:1853 stock/models.py:300 -#: stock/models.py:1015 +#: order/models.py:309 part/views.py:1730 stock/models.py:308 +#: stock/models.py:1023 msgid "Quantity must be greater than zero" msgstr "" -#: order/models.py:247 +#: order/models.py:314 msgid "Part supplier must match PO supplier" msgstr "" -#: order/models.py:345 +#: order/models.py:412 msgid "Lines can only be received against an order marked as 'Placed'" msgstr "" -#: order/models.py:349 +#: order/models.py:416 msgid "Quantity must be an integer" msgstr "" -#: order/models.py:351 +#: order/models.py:418 msgid "Quantity must be a positive number" msgstr "" -#: order/models.py:461 +#: order/models.py:541 msgid "Company to which the items are being sold" msgstr "" -#: order/models.py:467 +#: order/models.py:547 msgid "Customer Reference " msgstr "" -#: order/models.py:467 +#: order/models.py:547 msgid "Customer order reference code" msgstr "" -#: order/models.py:475 templates/js/order.js:303 +#: order/models.py:552 +msgid "Target date for order completion. Order will be overdue after this date." +msgstr "" + +#: order/models.py:555 templates/js/order.js:370 msgid "Shipment Date" msgstr "" -#: order/models.py:482 +#: order/models.py:562 msgid "shipped by" msgstr "" -#: order/models.py:526 +#: order/models.py:606 msgid "SalesOrder cannot be shipped as it is not currently pending" msgstr "" -#: order/models.py:613 +#: order/models.py:703 msgid "Item quantity" msgstr "" -#: order/models.py:615 +#: order/models.py:709 msgid "Line item reference" msgstr "" -#: order/models.py:617 +#: order/models.py:711 msgid "Line item notes" msgstr "" -#: order/models.py:643 order/models.py:710 templates/js/order.js:353 +#: order/models.py:741 order/models.py:812 templates/js/order.js:420 msgid "Order" msgstr "" -#: order/models.py:644 order/templates/order/order_base.html:9 +#: order/models.py:742 order/templates/order/order_base.html:9 #: order/templates/order/order_base.html:24 #: report/templates/report/inventree_po_report.html:77 -#: stock/templates/stock/item_base.html:324 templates/js/order.js:148 -#: templates/js/stock.js:669 templates/js/stock.js:1078 +#: stock/templates/stock/item_base.html:324 templates/js/order.js:210 +#: templates/js/stock.js:669 templates/js/stock.js:1092 msgid "Purchase Order" msgstr "" -#: order/models.py:658 +#: order/models.py:756 msgid "Supplier part" msgstr "" -#: order/models.py:661 order/templates/order/order_base.html:131 -#: order/templates/order/purchase_order_detail.html:219 +#: order/models.py:759 order/templates/order/order_base.html:131 +#: order/templates/order/purchase_order_detail.html:246 #: order/templates/order/receive_parts.html:22 #: order/templates/order/sales_order_base.html:133 msgid "Received" msgstr "" -#: order/models.py:661 +#: order/models.py:759 msgid "Number of items received" msgstr "" -#: order/models.py:667 stock/models.py:537 -#: stock/templates/stock/item_base.html:331 templates/js/stock.js:690 +#: order/models.py:765 part/templates/part/prices.html:166 stock/models.py:545 +#: stock/templates/stock/item_base.html:331 templates/js/stock.js:704 msgid "Purchase Price" msgstr "" -#: order/models.py:668 +#: order/models.py:766 msgid "Unit purchase price" msgstr "" -#: order/models.py:676 +#: order/models.py:774 msgid "Where does the Purchaser want this item to be stored?" msgstr "" -#: order/models.py:718 part/templates/part/navbar.html:110 -#: part/templates/part/order_prices.html:108 -#: part/templates/part/part_pricing.html:97 +#: order/models.py:820 part/templates/part/part_pricing.html:97 +#: part/templates/part/prices.html:103 part/templates/part/prices.html:278 msgid "Sale Price" msgstr "" -#: order/models.py:719 +#: order/models.py:821 msgid "Unit sale price" msgstr "" -#: order/models.py:794 order/models.py:796 +#: order/models.py:900 order/models.py:902 msgid "Stock item has not been assigned" msgstr "" -#: order/models.py:800 +#: order/models.py:906 msgid "Cannot allocate stock item to a line with a different part" msgstr "" -#: order/models.py:802 +#: order/models.py:908 msgid "Cannot allocate stock to a line without a part" msgstr "" -#: order/models.py:805 +#: order/models.py:911 msgid "Allocation quantity cannot exceed stock quantity" msgstr "" -#: order/models.py:815 +#: order/models.py:921 msgid "Quantity must be 1 for serialized stock item" msgstr "" -#: order/models.py:820 +#: order/models.py:926 msgid "Line" msgstr "" -#: order/models.py:831 +#: order/models.py:937 msgid "Item" msgstr "" -#: order/models.py:832 +#: order/models.py:938 msgid "Select stock item to allocate" msgstr "" -#: order/models.py:835 +#: order/models.py:941 msgid "Enter stock allocation quantity" msgstr "" +#: order/serializers.py:139 +msgid "Purchase price currency" +msgstr "" + +#: order/serializers.py:359 +msgid "Sale price currency" +msgstr "" + #: order/templates/order/delete_attachment.html:5 #: stock/templates/stock/attachment_delete.html:5 #: templates/attachment_delete.html:5 @@ -3091,16 +3060,22 @@ msgstr "" msgid "Issued" msgstr "" -#: order/templates/order/order_base.html:180 -#: order/templates/order/purchase_order_detail.html:100 +#: order/templates/order/order_base.html:188 +msgid "Edit Purchase Order" +msgstr "" + +#: order/templates/order/order_base.html:199 +#: order/templates/order/purchase_order_detail.html:127 #: part/templates/part/category.html:217 part/templates/part/category.html:259 -#: stock/templates/stock/location.html:191 templates/js/stock.js:736 -#: templates/js/stock.js:1324 +#: part/templates/part/part_base.html:415 +#: stock/templates/stock/location.html:191 templates/js/stock.js:750 +#: templates/js/stock.js:1338 msgid "New Location" msgstr "" -#: order/templates/order/order_base.html:181 -#: order/templates/order/purchase_order_detail.html:101 +#: order/templates/order/order_base.html:200 +#: order/templates/order/purchase_order_detail.html:128 +#: part/templates/part/part_base.html:416 #: stock/templates/stock/location.html:42 msgid "Create new stock location" msgstr "" @@ -3253,7 +3228,7 @@ msgid "Select existing purchase orders, or create new orders." msgstr "" #: order/templates/order/order_wizard/select_pos.html:31 -#: templates/js/order.js:205 templates/js/order.js:308 +#: templates/js/order.js:267 templates/js/order.js:375 msgid "Items" msgstr "" @@ -3277,7 +3252,6 @@ msgid "Purchase Order Attachments" msgstr "" #: order/templates/order/po_lineitem_delete.html:5 -#: order/templates/order/so_lineitem_delete.html:5 msgid "Are you sure you wish to delete this line item?" msgstr "" @@ -3295,40 +3269,52 @@ msgid "Purchase Order Items" msgstr "" #: order/templates/order/purchase_order_detail.html:24 -#: order/templates/order/sales_order_detail.html:22 order/views.py:1327 -#: order/views.py:1410 +#: order/templates/order/purchase_order_detail.html:64 +#: order/templates/order/sales_order_detail.html:22 +#: order/templates/order/sales_order_detail.html:56 msgid "Add Line Item" msgstr "" -#: order/templates/order/purchase_order_detail.html:114 +#: order/templates/order/purchase_order_detail.html:100 +#: order/templates/order/sales_order_detail.html:398 +msgid "Edit Line Item" +msgstr "" + +#: order/templates/order/purchase_order_detail.html:110 +#: order/templates/order/sales_order_detail.html:408 +msgid "Delete Line Item" +msgstr "" + +#: order/templates/order/purchase_order_detail.html:141 msgid "No line items found" msgstr "" -#: order/templates/order/purchase_order_detail.html:142 -#: order/templates/order/sales_order_detail.html:223 +#: order/templates/order/purchase_order_detail.html:169 +#: order/templates/order/sales_order_detail.html:233 msgid "Total" msgstr "" -#: order/templates/order/purchase_order_detail.html:191 -#: order/templates/order/sales_order_detail.html:246 +#: order/templates/order/purchase_order_detail.html:218 +#: order/templates/order/sales_order_detail.html:256 templates/js/part.js:807 +#: templates/js/part.js:996 msgid "Unit Price" msgstr "" -#: order/templates/order/purchase_order_detail.html:198 -#: order/templates/order/sales_order_detail.html:253 +#: order/templates/order/purchase_order_detail.html:225 +#: order/templates/order/sales_order_detail.html:263 msgid "Total price" msgstr "" -#: order/templates/order/purchase_order_detail.html:255 -#: order/templates/order/sales_order_detail.html:359 +#: order/templates/order/purchase_order_detail.html:282 +#: order/templates/order/sales_order_detail.html:369 msgid "Edit line item" msgstr "" -#: order/templates/order/purchase_order_detail.html:256 +#: order/templates/order/purchase_order_detail.html:283 msgid "Delete line item" msgstr "" -#: order/templates/order/purchase_order_detail.html:261 +#: order/templates/order/purchase_order_detail.html:288 msgid "Receive line item" msgstr "" @@ -3343,7 +3329,7 @@ msgid "Receive outstanding parts for %(order)s - %(desc)s" msgstr "" #: order/templates/order/receive_parts.html:14 part/api.py:45 -#: part/models.py:322 part/templates/part/cat_link.html:7 +#: part/models.py:326 part/templates/part/cat_link.html:7 #: part/templates/part/category.html:108 part/templates/part/category.html:157 #: part/templates/part/category_navbar.html:25 #: part/templates/part/category_navbar.html:32 @@ -3351,7 +3337,7 @@ msgstr "" #: templates/InvenTree/index.html:97 templates/InvenTree/search.html:114 #: templates/InvenTree/settings/tabs.html:28 templates/js/part.js:666 #: templates/navbar.html:23 templates/stats.html:80 templates/stats.html:89 -#: users/models.py:40 +#: users/models.py:41 msgid "Parts" msgstr "" @@ -3393,10 +3379,14 @@ msgstr "" msgid "Sales Order Details" msgstr "" -#: order/templates/order/sales_order_base.html:100 templates/js/order.js:275 +#: order/templates/order/sales_order_base.html:100 templates/js/order.js:342 msgid "Customer Reference" msgstr "" +#: order/templates/order/sales_order_base.html:177 +msgid "Edit Sales Order" +msgstr "" + #: order/templates/order/sales_order_cancel.html:8 #: order/templates/order/sales_order_ship.html:9 #: part/templates/part/bom_duplicate.html:12 @@ -3412,69 +3402,69 @@ msgstr "" msgid "Sales Order Items" msgstr "" -#: order/templates/order/sales_order_detail.html:95 templates/js/bom.js:358 +#: order/templates/order/sales_order_detail.html:105 templates/js/bom.js:358 #: templates/js/build.js:725 templates/js/build.js:1142 msgid "Actions" msgstr "" -#: order/templates/order/sales_order_detail.html:102 templates/js/build.js:611 +#: order/templates/order/sales_order_detail.html:112 templates/js/build.js:611 #: templates/js/build.js:947 msgid "Edit stock allocation" msgstr "" -#: order/templates/order/sales_order_detail.html:103 templates/js/build.js:613 +#: order/templates/order/sales_order_detail.html:113 templates/js/build.js:613 #: templates/js/build.js:948 msgid "Delete stock allocation" msgstr "" -#: order/templates/order/sales_order_detail.html:176 +#: order/templates/order/sales_order_detail.html:186 msgid "No matching line items" msgstr "" -#: order/templates/order/sales_order_detail.html:206 +#: order/templates/order/sales_order_detail.html:216 msgid "ID" msgstr "" -#: order/templates/order/sales_order_detail.html:274 templates/js/build.js:676 +#: order/templates/order/sales_order_detail.html:284 templates/js/build.js:676 #: templates/js/build.js:943 msgid "Allocated" msgstr "" -#: order/templates/order/sales_order_detail.html:276 +#: order/templates/order/sales_order_detail.html:286 msgid "Fulfilled" msgstr "" -#: order/templates/order/sales_order_detail.html:313 +#: order/templates/order/sales_order_detail.html:323 msgid "PO" msgstr "" -#: order/templates/order/sales_order_detail.html:343 +#: order/templates/order/sales_order_detail.html:353 msgid "Allocate serial numbers" msgstr "" -#: order/templates/order/sales_order_detail.html:346 templates/js/build.js:739 +#: order/templates/order/sales_order_detail.html:356 templates/js/build.js:739 msgid "Allocate stock" msgstr "" -#: order/templates/order/sales_order_detail.html:349 +#: order/templates/order/sales_order_detail.html:359 msgid "Purchase stock" msgstr "" -#: order/templates/order/sales_order_detail.html:353 templates/js/build.js:732 +#: order/templates/order/sales_order_detail.html:363 templates/js/build.js:732 #: templates/js/build.js:1150 msgid "Build stock" msgstr "" -#: order/templates/order/sales_order_detail.html:356 -#: order/templates/order/sales_order_detail.html:465 +#: order/templates/order/sales_order_detail.html:366 +#: order/templates/order/sales_order_detail.html:485 msgid "Calculate price" msgstr "" -#: order/templates/order/sales_order_detail.html:360 +#: order/templates/order/sales_order_detail.html:370 msgid "Delete line item " msgstr "" -#: order/templates/order/sales_order_detail.html:471 +#: order/templates/order/sales_order_detail.html:491 msgid "Update Unit Price" msgstr "" @@ -3515,194 +3505,154 @@ msgstr "" msgid "Sales Order Attachments" msgstr "" -#: order/views.py:106 -msgid "Add Purchase Order Attachment" -msgstr "" - -#: order/views.py:156 -msgid "Add Sales Order Attachment" -msgstr "" - -#: order/views.py:348 -msgid "Create Sales Order" -msgstr "" - -#: order/views.py:383 -msgid "Edit Purchase Order" -msgstr "" - -#: order/views.py:403 -msgid "Edit Sales Order" -msgstr "" - -#: order/views.py:419 +#: order/views.py:151 msgid "Cancel Order" msgstr "" -#: order/views.py:428 order/views.py:454 +#: order/views.py:160 order/views.py:186 msgid "Confirm order cancellation" msgstr "" -#: order/views.py:431 order/views.py:457 +#: order/views.py:163 order/views.py:189 msgid "Order cannot be cancelled" msgstr "" -#: order/views.py:445 +#: order/views.py:177 msgid "Cancel sales order" msgstr "" -#: order/views.py:471 +#: order/views.py:203 msgid "Issue Order" msgstr "" -#: order/views.py:480 +#: order/views.py:212 msgid "Confirm order placement" msgstr "" -#: order/views.py:490 +#: order/views.py:222 msgid "Purchase order issued" msgstr "" -#: order/views.py:501 +#: order/views.py:233 msgid "Complete Order" msgstr "" -#: order/views.py:517 +#: order/views.py:249 msgid "Confirm order completion" msgstr "" -#: order/views.py:528 +#: order/views.py:260 msgid "Purchase order completed" msgstr "" -#: order/views.py:538 +#: order/views.py:270 msgid "Ship Order" msgstr "" -#: order/views.py:554 +#: order/views.py:286 msgid "Confirm order shipment" msgstr "" -#: order/views.py:560 +#: order/views.py:292 msgid "Could not ship order" msgstr "" -#: order/views.py:607 +#: order/views.py:339 msgid "Match Supplier Parts" msgstr "" -#: order/views.py:804 +#: order/views.py:536 msgid "Receive Parts" msgstr "" -#: order/views.py:874 +#: order/views.py:606 msgid "Items received" msgstr "" -#: order/views.py:888 +#: order/views.py:620 msgid "No destination set" msgstr "" -#: order/views.py:933 +#: order/views.py:665 msgid "Error converting quantity to number" msgstr "" -#: order/views.py:939 +#: order/views.py:671 msgid "Receive quantity less than zero" msgstr "" -#: order/views.py:945 +#: order/views.py:677 msgid "No lines specified" msgstr "" -#: order/views.py:1018 +#: order/views.py:750 msgid "Update prices" msgstr "" -#: order/views.py:1276 +#: order/views.py:1008 #, python-brace-format msgid "Ordered {n} parts" msgstr "" -#: order/views.py:1336 -msgid "Supplier part must be specified" -msgstr "" - -#: order/views.py:1342 -msgid "Supplier must match for Part and Order" -msgstr "" - -#: order/views.py:1473 order/views.py:1491 -msgid "Edit Line Item" -msgstr "" - -#: order/views.py:1507 order/views.py:1519 -msgid "Delete Line Item" -msgstr "" - -#: order/views.py:1512 order/views.py:1524 -msgid "Deleted line item" -msgstr "" - -#: order/views.py:1537 +#: order/views.py:1061 msgid "Allocate Serial Numbers" msgstr "" -#: order/views.py:1582 +#: order/views.py:1106 #, python-brace-format msgid "Allocated {n} items" msgstr "" -#: order/views.py:1598 +#: order/views.py:1122 msgid "Select line item" msgstr "" -#: order/views.py:1629 +#: order/views.py:1153 #, python-brace-format msgid "No matching item for serial {serial}" msgstr "" -#: order/views.py:1639 +#: order/views.py:1163 #, python-brace-format msgid "{serial} is not in stock" msgstr "" -#: order/views.py:1647 +#: order/views.py:1171 #, python-brace-format msgid "{serial} already allocated to an order" msgstr "" -#: order/views.py:1701 +#: order/views.py:1225 msgid "Allocate Stock to Order" msgstr "" -#: order/views.py:1775 +#: order/views.py:1299 msgid "Edit Allocation Quantity" msgstr "" -#: order/views.py:1790 +#: order/views.py:1314 msgid "Remove allocation" msgstr "" -#: order/views.py:1862 +#: order/views.py:1386 msgid "Sales order not found" msgstr "" -#: order/views.py:1868 +#: order/views.py:1392 msgid "Price not found" msgstr "" -#: order/views.py:1871 +#: order/views.py:1395 #, python-brace-format msgid "Updated {part} unit-price to {price}" msgstr "" -#: order/views.py:1876 +#: order/views.py:1400 #, python-brace-format msgid "Updated {part} unit-price to {price} and quantity to {qty}" msgstr "" -#: part/bom.py:138 part/models.py:72 part/models.py:747 +#: part/bom.py:138 part/models.py:72 part/models.py:756 #: part/templates/part/category.html:75 part/templates/part/detail.html:90 msgid "Default Location" msgstr "" @@ -3724,143 +3674,143 @@ msgstr "" msgid "Error reading BOM file (incorrect row size)" msgstr "" -#: part/forms.py:89 stock/forms.py:265 +#: part/forms.py:73 stock/forms.py:232 msgid "File Format" msgstr "" -#: part/forms.py:89 stock/forms.py:265 +#: part/forms.py:73 stock/forms.py:232 msgid "Select output file format" msgstr "" -#: part/forms.py:91 +#: part/forms.py:75 msgid "Cascading" msgstr "" -#: part/forms.py:91 +#: part/forms.py:75 msgid "Download cascading / multi-level BOM" msgstr "" -#: part/forms.py:93 +#: part/forms.py:77 msgid "Levels" msgstr "" -#: part/forms.py:93 +#: part/forms.py:77 msgid "Select maximum number of BOM levels to export (0 = all levels)" msgstr "" -#: part/forms.py:95 +#: part/forms.py:79 msgid "Include Parameter Data" msgstr "" -#: part/forms.py:95 +#: part/forms.py:79 msgid "Include part parameters data in exported BOM" msgstr "" -#: part/forms.py:97 +#: part/forms.py:81 msgid "Include Stock Data" msgstr "" -#: part/forms.py:97 +#: part/forms.py:81 msgid "Include part stock data in exported BOM" msgstr "" -#: part/forms.py:99 +#: part/forms.py:83 msgid "Include Manufacturer Data" msgstr "" -#: part/forms.py:99 +#: part/forms.py:83 msgid "Include part manufacturer data in exported BOM" msgstr "" -#: part/forms.py:101 +#: part/forms.py:85 msgid "Include Supplier Data" msgstr "" -#: part/forms.py:101 +#: part/forms.py:85 msgid "Include part supplier data in exported BOM" msgstr "" -#: part/forms.py:122 part/models.py:2191 +#: part/forms.py:106 part/models.py:2224 msgid "Parent Part" msgstr "" -#: part/forms.py:123 part/templates/part/bom_duplicate.html:7 +#: part/forms.py:107 part/templates/part/bom_duplicate.html:7 msgid "Select parent part to copy BOM from" msgstr "" -#: part/forms.py:129 +#: part/forms.py:113 msgid "Clear existing BOM items" msgstr "" -#: part/forms.py:135 +#: part/forms.py:119 msgid "Confirm BOM duplication" msgstr "" -#: part/forms.py:153 +#: part/forms.py:137 msgid "validate" msgstr "" -#: part/forms.py:153 +#: part/forms.py:137 msgid "Confirm that the BOM is correct" msgstr "" -#: part/forms.py:165 +#: part/forms.py:149 msgid "BOM file" msgstr "" -#: part/forms.py:165 +#: part/forms.py:149 msgid "Select BOM file to upload" msgstr "" -#: part/forms.py:184 +#: part/forms.py:168 msgid "Related Part" msgstr "" -#: part/forms.py:203 +#: part/forms.py:175 msgid "Select part category" msgstr "" -#: part/forms.py:220 +#: part/forms.py:192 msgid "Duplicate all BOM data for this part" msgstr "" -#: part/forms.py:221 +#: part/forms.py:193 msgid "Copy BOM" msgstr "" -#: part/forms.py:226 +#: part/forms.py:198 msgid "Duplicate all parameter data for this part" msgstr "" -#: part/forms.py:227 +#: part/forms.py:199 msgid "Copy Parameters" msgstr "" -#: part/forms.py:232 +#: part/forms.py:204 msgid "Confirm part creation" msgstr "" -#: part/forms.py:237 +#: part/forms.py:209 msgid "Include category parameter templates" msgstr "" -#: part/forms.py:242 +#: part/forms.py:214 msgid "Include parent categories parameter templates" msgstr "" -#: part/forms.py:322 +#: part/forms.py:294 msgid "Add parameter template to same level categories" msgstr "" -#: part/forms.py:326 +#: part/forms.py:298 msgid "Add parameter template to all categories" msgstr "" -#: part/forms.py:344 part/models.py:2286 +#: part/forms.py:316 part/models.py:2323 msgid "Sub part" msgstr "" -#: part/forms.py:373 +#: part/forms.py:345 msgid "Input quantity for price calculation" msgstr "" @@ -3876,362 +3826,362 @@ msgstr "" msgid "Default keywords for parts in this category" msgstr "" -#: part/models.py:82 part/models.py:2237 +#: part/models.py:86 part/models.py:2270 #: part/templates/part/part_app_base.html:10 msgid "Part Category" msgstr "" -#: part/models.py:83 part/templates/part/category.html:32 +#: part/models.py:87 part/templates/part/category.html:32 #: part/templates/part/category.html:103 templates/InvenTree/search.html:127 -#: templates/stats.html:84 users/models.py:39 +#: templates/stats.html:84 users/models.py:40 msgid "Part Categories" msgstr "" -#: part/models.py:448 part/models.py:460 +#: part/models.py:457 part/models.py:469 #, python-brace-format msgid "Part '{p1}' is used in BOM for '{p2}' (recursive)" msgstr "" -#: part/models.py:557 +#: part/models.py:566 msgid "Next available serial numbers are" msgstr "" -#: part/models.py:561 +#: part/models.py:570 msgid "Next available serial number is" msgstr "" -#: part/models.py:566 +#: part/models.py:575 msgid "Most recent serial number is" msgstr "" -#: part/models.py:645 +#: part/models.py:654 msgid "Duplicate IPN not allowed in part settings" msgstr "" -#: part/models.py:670 part/templates/part/detail.html:22 +#: part/models.py:679 part/templates/part/detail.html:22 msgid "Part name" msgstr "" -#: part/models.py:677 +#: part/models.py:686 msgid "Is Template" msgstr "" -#: part/models.py:678 +#: part/models.py:687 msgid "Is this part a template part?" msgstr "" -#: part/models.py:689 +#: part/models.py:698 msgid "Is this part a variant of another part?" msgstr "" -#: part/models.py:690 part/templates/part/detail.html:60 +#: part/models.py:699 part/templates/part/detail.html:60 msgid "Variant Of" msgstr "" -#: part/models.py:696 +#: part/models.py:705 msgid "Part description" msgstr "" -#: part/models.py:701 part/templates/part/category.html:82 +#: part/models.py:710 part/templates/part/category.html:82 #: part/templates/part/detail.html:67 msgid "Keywords" msgstr "" -#: part/models.py:702 +#: part/models.py:711 msgid "Part keywords to improve visibility in search results" msgstr "" -#: part/models.py:709 part/models.py:2236 part/templates/part/detail.html:73 +#: part/models.py:718 part/models.py:2269 part/templates/part/detail.html:73 #: part/templates/part/set_category.html:15 templates/js/part.js:452 msgid "Category" msgstr "" -#: part/models.py:710 +#: part/models.py:719 msgid "Part category" msgstr "" -#: part/models.py:715 part/templates/part/detail.html:28 +#: part/models.py:724 part/templates/part/detail.html:28 #: part/templates/part/part_base.html:87 templates/js/part.js:169 #: templates/js/part.js:296 msgid "IPN" msgstr "" -#: part/models.py:716 +#: part/models.py:725 msgid "Internal Part Number" msgstr "" -#: part/models.py:722 +#: part/models.py:731 msgid "Part revision or version number" msgstr "" -#: part/models.py:723 part/templates/part/detail.html:35 report/models.py:199 +#: part/models.py:732 part/templates/part/detail.html:35 report/models.py:199 #: templates/js/part.js:173 msgid "Revision" msgstr "" -#: part/models.py:745 +#: part/models.py:754 msgid "Where is this item normally stored?" msgstr "" -#: part/models.py:792 part/templates/part/detail.html:97 +#: part/models.py:801 part/templates/part/detail.html:97 msgid "Default Supplier" msgstr "" -#: part/models.py:793 +#: part/models.py:802 msgid "Default supplier part" msgstr "" -#: part/models.py:800 +#: part/models.py:809 msgid "Default Expiry" msgstr "" -#: part/models.py:801 +#: part/models.py:810 msgid "Expiry time (in days) for stock items of this part" msgstr "" -#: part/models.py:806 part/templates/part/detail.html:113 +#: part/models.py:815 part/templates/part/detail.html:113 msgid "Minimum Stock" msgstr "" -#: part/models.py:807 +#: part/models.py:816 msgid "Minimum allowed stock level" msgstr "" -#: part/models.py:814 +#: part/models.py:823 msgid "Stock keeping units for this part" msgstr "" -#: part/models.py:820 +#: part/models.py:829 msgid "Can this part be built from other parts?" msgstr "" -#: part/models.py:826 +#: part/models.py:835 msgid "Can this part be used to build other parts?" msgstr "" -#: part/models.py:832 +#: part/models.py:841 msgid "Does this part have tracking for unique items?" msgstr "" -#: part/models.py:837 +#: part/models.py:846 msgid "Can this part be purchased from external suppliers?" msgstr "" -#: part/models.py:842 +#: part/models.py:851 msgid "Can this part be sold to customers?" msgstr "" -#: part/models.py:846 part/templates/part/detail.html:227 +#: part/models.py:855 part/templates/part/detail.html:227 #: templates/js/table_filters.js:21 templates/js/table_filters.js:65 -#: templates/js/table_filters.js:241 templates/js/table_filters.js:310 +#: templates/js/table_filters.js:246 templates/js/table_filters.js:315 msgid "Active" msgstr "" -#: part/models.py:847 +#: part/models.py:856 msgid "Is this part active?" msgstr "" -#: part/models.py:852 +#: part/models.py:861 msgid "Is this a virtual part, such as a software product or license?" msgstr "" -#: part/models.py:857 +#: part/models.py:866 msgid "Part notes - supports Markdown formatting" msgstr "" -#: part/models.py:860 +#: part/models.py:869 msgid "BOM checksum" msgstr "" -#: part/models.py:860 +#: part/models.py:869 msgid "Stored BOM checksum" msgstr "" -#: part/models.py:863 +#: part/models.py:872 msgid "BOM checked by" msgstr "" -#: part/models.py:865 +#: part/models.py:874 msgid "BOM checked date" msgstr "" -#: part/models.py:869 +#: part/models.py:878 msgid "Creation User" msgstr "" -#: part/models.py:1608 +#: part/models.py:1617 msgid "Sell multiple" msgstr "" -#: part/models.py:2063 +#: part/models.py:2088 msgid "Test templates can only be created for trackable parts" msgstr "" -#: part/models.py:2080 +#: part/models.py:2105 msgid "Test with this name already exists for this part" msgstr "" -#: part/models.py:2100 templates/js/part.js:717 templates/js/stock.js:117 +#: part/models.py:2125 templates/js/part.js:717 templates/js/stock.js:117 msgid "Test Name" msgstr "" -#: part/models.py:2101 +#: part/models.py:2126 msgid "Enter a name for the test" msgstr "" -#: part/models.py:2106 +#: part/models.py:2131 msgid "Test Description" msgstr "" -#: part/models.py:2107 +#: part/models.py:2132 msgid "Enter description for this test" msgstr "" -#: part/models.py:2112 templates/js/part.js:726 -#: templates/js/table_filters.js:227 +#: part/models.py:2137 templates/js/part.js:726 +#: templates/js/table_filters.js:232 msgid "Required" msgstr "" -#: part/models.py:2113 +#: part/models.py:2138 msgid "Is this test required to pass?" msgstr "" -#: part/models.py:2118 templates/js/part.js:734 +#: part/models.py:2143 templates/js/part.js:734 msgid "Requires Value" msgstr "" -#: part/models.py:2119 +#: part/models.py:2144 msgid "Does this test require a value when adding a test result?" msgstr "" -#: part/models.py:2124 templates/js/part.js:741 +#: part/models.py:2149 templates/js/part.js:741 msgid "Requires Attachment" msgstr "" -#: part/models.py:2125 +#: part/models.py:2150 msgid "Does this test require a file attachment when adding a test result?" msgstr "" -#: part/models.py:2158 +#: part/models.py:2187 msgid "Parameter template name must be unique" msgstr "" -#: part/models.py:2163 +#: part/models.py:2192 msgid "Parameter Name" msgstr "" -#: part/models.py:2165 +#: part/models.py:2194 msgid "Parameter Units" msgstr "" -#: part/models.py:2193 part/models.py:2242 part/models.py:2243 +#: part/models.py:2226 part/models.py:2275 part/models.py:2276 #: templates/InvenTree/settings/category.html:62 msgid "Parameter Template" msgstr "" -#: part/models.py:2195 +#: part/models.py:2228 msgid "Data" msgstr "" -#: part/models.py:2195 +#: part/models.py:2228 msgid "Parameter Value" msgstr "" -#: part/models.py:2247 templates/InvenTree/settings/category.html:67 +#: part/models.py:2280 templates/InvenTree/settings/category.html:67 msgid "Default Value" msgstr "" -#: part/models.py:2248 +#: part/models.py:2281 msgid "Default Parameter Value" msgstr "" -#: part/models.py:2278 +#: part/models.py:2315 msgid "Select parent part" msgstr "" -#: part/models.py:2287 +#: part/models.py:2324 msgid "Select part to be used in BOM" msgstr "" -#: part/models.py:2293 +#: part/models.py:2330 msgid "BOM quantity for this BOM item" msgstr "" -#: part/models.py:2295 templates/js/bom.js:216 templates/js/bom.js:278 +#: part/models.py:2332 templates/js/bom.js:216 templates/js/bom.js:278 msgid "Optional" msgstr "" -#: part/models.py:2295 +#: part/models.py:2332 msgid "This BOM item is optional" msgstr "" -#: part/models.py:2298 +#: part/models.py:2335 msgid "Overage" msgstr "" -#: part/models.py:2299 +#: part/models.py:2336 msgid "Estimated build wastage quantity (absolute or percentage)" msgstr "" -#: part/models.py:2302 +#: part/models.py:2339 msgid "BOM item reference" msgstr "" -#: part/models.py:2305 +#: part/models.py:2342 msgid "BOM item notes" msgstr "" -#: part/models.py:2307 +#: part/models.py:2344 msgid "Checksum" msgstr "" -#: part/models.py:2307 +#: part/models.py:2344 msgid "BOM line checksum" msgstr "" -#: part/models.py:2311 templates/js/bom.js:295 templates/js/bom.js:302 +#: part/models.py:2348 templates/js/bom.js:295 templates/js/bom.js:302 #: templates/js/table_filters.js:51 msgid "Inherited" msgstr "" -#: part/models.py:2312 +#: part/models.py:2349 msgid "This BOM item is inherited by BOMs for variant parts" msgstr "" -#: part/models.py:2317 templates/js/bom.js:287 +#: part/models.py:2354 templates/js/bom.js:287 msgid "Allow Variants" msgstr "" -#: part/models.py:2318 +#: part/models.py:2355 msgid "Stock items for variant parts can be used for this BOM item" msgstr "" -#: part/models.py:2394 part/views.py:1859 part/views.py:1911 -#: stock/models.py:290 +#: part/models.py:2431 part/views.py:1736 part/views.py:1788 +#: stock/models.py:298 msgid "Quantity must be integer value for trackable parts" msgstr "" -#: part/models.py:2403 part/models.py:2405 +#: part/models.py:2440 part/models.py:2442 msgid "Sub part must be specified" msgstr "" -#: part/models.py:2408 +#: part/models.py:2445 msgid "BOM Item" msgstr "" -#: part/models.py:2527 +#: part/models.py:2564 msgid "Part 1" msgstr "" -#: part/models.py:2531 +#: part/models.py:2568 msgid "Part 2" msgstr "" -#: part/models.py:2531 +#: part/models.py:2568 msgid "Select Related Part" msgstr "" -#: part/models.py:2563 +#: part/models.py:2600 msgid "Error creating relationship: check that the part is not related to itself and that the relationship is unique" msgstr "" @@ -4247,14 +4197,6 @@ msgstr "" msgid "Part Attachments" msgstr "" -#: part/templates/part/bom-delete.html:6 -msgid "Are you sure you want to delete this BOM item?" -msgstr "" - -#: part/templates/part/bom-delete.html:8 -msgid "Deleting this entry will remove the BOM row from the following part" -msgstr "" - #: part/templates/part/bom.html:10 part/templates/part/navbar.html:51 #: part/templates/part/navbar.html:54 msgid "Bill of Materials" @@ -4303,7 +4245,7 @@ msgstr "" msgid "Validate Bill of Materials" msgstr "" -#: part/templates/part/bom.html:61 part/views.py:2154 +#: part/templates/part/bom.html:61 part/views.py:2031 msgid "Export Bill of Materials" msgstr "" @@ -4319,8 +4261,8 @@ msgstr "" msgid "All selected BOM items will be deleted" msgstr "" -#: part/templates/part/bom.html:160 part/views.py:590 -#: templates/js/stock.js:1313 +#: part/templates/part/bom.html:160 part/views.py:450 +#: templates/js/stock.js:1327 msgid "Create New Part" msgstr "" @@ -4401,7 +4343,7 @@ msgstr "" msgid "All parts" msgstr "" -#: part/templates/part/category.html:38 part/views.py:2564 +#: part/templates/part/category.html:38 part/views.py:2441 msgid "Create new part category" msgstr "" @@ -4461,11 +4403,12 @@ msgid "View grid display" msgstr "" #: part/templates/part/category.html:218 -#: stock/templates/stock/location.html:192 templates/js/stock.js:737 +#: stock/templates/stock/location.html:192 templates/js/stock.js:751 msgid "Create new location" msgstr "" #: part/templates/part/category.html:223 part/templates/part/category.html:253 +#: part/templates/part/part_base.html:378 msgid "New Category" msgstr "" @@ -4477,10 +4420,18 @@ msgstr "" msgid "Create new Part Category" msgstr "" -#: part/templates/part/category.html:260 stock/views.py:1391 +#: part/templates/part/category.html:260 stock/views.py:1223 msgid "Create new Stock Location" msgstr "" +#: part/templates/part/category.html:279 +msgid "Select parent category" +msgstr "" + +#: part/templates/part/category.html:286 part/views.py:2389 +msgid "Edit Part Category" +msgstr "" + #: part/templates/part/category_delete.html:5 msgid "Are you sure you want to delete category" msgstr "" @@ -4526,7 +4477,7 @@ msgstr "" msgid "Part Parameters" msgstr "" -#: part/templates/part/copy_part.html:9 part/views.py:466 +#: part/templates/part/copy_part.html:9 part/views.py:326 msgid "Duplicate Part" msgstr "" @@ -4639,36 +4590,6 @@ msgstr "" msgid "Import Parts from File" msgstr "" -#: part/templates/part/internal_prices.html:11 -#: part/templates/part/navbar.html:101 -msgid "Internal Price Information" -msgstr "" - -#: part/templates/part/internal_prices.html:19 part/views.py:2989 -msgid "Add Internal Price Break" -msgstr "" - -#: part/templates/part/internal_prices.html:28 templates/403.html:5 -#: templates/403.html:11 -msgid "Permission Denied" -msgstr "" - -#: part/templates/part/internal_prices.html:31 templates/403.html:14 -msgid "You do not have permission to view this page." -msgstr "" - -#: part/templates/part/internal_prices.html:59 -msgid "No internal price break information found" -msgstr "" - -#: part/templates/part/internal_prices.html:110 -msgid "Edit internal price break" -msgstr "" - -#: part/templates/part/internal_prices.html:111 -msgid "Delete internal price break" -msgstr "" - #: part/templates/part/manufacturer.html:11 msgid "Part Manufacturers" msgstr "" @@ -4678,7 +4599,7 @@ msgid "Delete manufacturer parts" msgstr "" #: part/templates/part/manufacturer.html:53 -#: part/templates/part/supplier.html:57 +#: part/templates/part/supplier.html:56 msgid "Create new manufacturer" msgstr "" @@ -4702,125 +4623,27 @@ msgstr "" msgid "Used In" msgstr "" -#: part/templates/part/navbar.html:75 part/templates/part/order_prices.html:12 -msgid "Order Price Information" +#: part/templates/part/navbar.html:77 +msgid "Prices" msgstr "" -#: part/templates/part/navbar.html:78 -msgid "Order Price" -msgstr "" - -#: part/templates/part/navbar.html:104 part/templates/part/order_prices.html:94 -#: part/templates/part/part_pricing.html:82 -msgid "Internal Price" -msgstr "" - -#: part/templates/part/navbar.html:107 -msgid "Sales Price Information" -msgstr "" - -#: part/templates/part/navbar.html:121 part/templates/part/part_tests.html:10 +#: part/templates/part/navbar.html:109 part/templates/part/part_tests.html:10 msgid "Part Test Templates" msgstr "" -#: part/templates/part/navbar.html:124 stock/templates/stock/item_base.html:414 +#: part/templates/part/navbar.html:112 stock/templates/stock/item_base.html:414 msgid "Tests" msgstr "" -#: part/templates/part/navbar.html:129 part/templates/part/navbar.html:132 +#: part/templates/part/navbar.html:117 part/templates/part/navbar.html:120 #: part/templates/part/related.html:10 msgid "Related Parts" msgstr "" -#: part/templates/part/navbar.html:142 part/templates/part/notes.html:12 +#: part/templates/part/navbar.html:130 part/templates/part/notes.html:12 msgid "Part Notes" msgstr "" -#: part/templates/part/order_prices.html:25 -#: part/templates/part/part_base.html:282 -msgid "Calculate" -msgstr "" - -#: part/templates/part/order_prices.html:32 -msgid "Pricing ranges" -msgstr "" - -#: part/templates/part/order_prices.html:37 -#: part/templates/part/part_pricing.html:22 -msgid "Supplier Pricing" -msgstr "" - -#: part/templates/part/order_prices.html:38 -#: part/templates/part/order_prices.html:63 -#: part/templates/part/order_prices.html:95 -#: part/templates/part/order_prices.html:109 -#: part/templates/part/part_pricing.html:26 -#: part/templates/part/part_pricing.html:52 -#: part/templates/part/part_pricing.html:85 -#: part/templates/part/part_pricing.html:100 -msgid "Unit Cost" -msgstr "" - -#: part/templates/part/order_prices.html:45 -#: part/templates/part/order_prices.html:70 -#: part/templates/part/order_prices.html:100 -#: part/templates/part/order_prices.html:114 -#: part/templates/part/part_pricing.html:32 -#: part/templates/part/part_pricing.html:58 -#: part/templates/part/part_pricing.html:89 -#: part/templates/part/part_pricing.html:104 -msgid "Total Cost" -msgstr "" - -#: part/templates/part/order_prices.html:53 -#: part/templates/part/part_pricing.html:40 -msgid "No supplier pricing available" -msgstr "" - -#: part/templates/part/order_prices.html:62 -#: part/templates/part/order_prices.html:129 -#: part/templates/part/part_pricing.html:48 -msgid "BOM Pricing" -msgstr "" - -#: part/templates/part/order_prices.html:78 -#: part/templates/part/part_pricing.html:66 -msgid "Note: BOM pricing is incomplete for this part" -msgstr "" - -#: part/templates/part/order_prices.html:85 -#: part/templates/part/part_pricing.html:73 -msgid "No BOM pricing available" -msgstr "" - -#: part/templates/part/order_prices.html:123 -#: part/templates/part/part_pricing.html:113 -msgid "No pricing information is available for this part." -msgstr "" - -#: part/templates/part/order_prices.html:139 -msgid "Stock Pricing" -msgstr "" - -#: part/templates/part/order_prices.html:147 -msgid "No stock pricing history is available for this part." -msgstr "" - -#: part/templates/part/order_prices.html:166 -#, python-format -msgid "Single Price - %(currency)s" -msgstr "" - -#: part/templates/part/order_prices.html:178 -#, python-format -msgid "Single Price Difference - %(currency)s" -msgstr "" - -#: part/templates/part/order_prices.html:190 -#, python-format -msgid "Part Single Price - %(currency)s" -msgstr "" - #: part/templates/part/params.html:17 msgid "Add new parameter" msgstr "" @@ -4841,8 +4664,8 @@ msgstr "" msgid "Part List" msgstr "" -#: part/templates/part/part_base.html:26 templates/js/company.js:156 -#: templates/js/company.js:355 templates/js/part.js:84 templates/js/part.js:161 +#: part/templates/part/part_base.html:26 templates/js/company.js:280 +#: templates/js/company.js:480 templates/js/part.js:84 templates/js/part.js:161 msgid "Inactive" msgstr "" @@ -4905,7 +4728,7 @@ msgstr "" msgid "In Stock" msgstr "" -#: part/templates/part/part_base.html:143 templates/InvenTree/index.html:131 +#: part/templates/part/part_base.html:143 templates/InvenTree/index.html:132 msgid "Required for Build Orders" msgstr "" @@ -4926,10 +4749,86 @@ msgstr "" msgid "Building" msgstr "" +#: part/templates/part/part_base.html:285 part/templates/part/prices.html:131 +msgid "Calculate" +msgstr "" + +#: part/templates/part/part_base.html:379 +msgid "Create New Part Category" +msgstr "" + +#: part/templates/part/part_base.html:387 +msgid "New Parent" +msgstr "" + +#: part/templates/part/part_base.html:435 +msgid "Edit Part" +msgstr "" + +#: part/templates/part/part_pricing.html:22 part/templates/part/prices.html:27 +msgid "Supplier Pricing" +msgstr "" + +#: part/templates/part/part_pricing.html:26 +#: part/templates/part/part_pricing.html:52 +#: part/templates/part/part_pricing.html:85 +#: part/templates/part/part_pricing.html:100 part/templates/part/prices.html:31 +#: part/templates/part/prices.html:58 part/templates/part/prices.html:90 +#: part/templates/part/prices.html:107 +msgid "Unit Cost" +msgstr "" + +#: part/templates/part/part_pricing.html:32 +#: part/templates/part/part_pricing.html:58 +#: part/templates/part/part_pricing.html:89 +#: part/templates/part/part_pricing.html:104 part/templates/part/prices.html:38 +#: part/templates/part/prices.html:65 part/templates/part/prices.html:95 +#: part/templates/part/prices.html:112 +msgid "Total Cost" +msgstr "" + +#: part/templates/part/part_pricing.html:40 part/templates/part/prices.html:46 +msgid "No supplier pricing available" +msgstr "" + +#: part/templates/part/part_pricing.html:48 part/templates/part/prices.html:55 +#: part/templates/part/prices.html:235 +msgid "BOM Pricing" +msgstr "" + +#: part/templates/part/part_pricing.html:66 part/templates/part/prices.html:73 +msgid "Note: BOM pricing is incomplete for this part" +msgstr "" + +#: part/templates/part/part_pricing.html:73 part/templates/part/prices.html:80 +msgid "No BOM pricing available" +msgstr "" + +#: part/templates/part/part_pricing.html:82 part/templates/part/prices.html:89 +msgid "Internal Price" +msgstr "" + +#: part/templates/part/part_pricing.html:113 +#: part/templates/part/prices.html:121 +msgid "No pricing information is available for this part." +msgstr "" + #: part/templates/part/part_tests.html:17 msgid "Add Test Template" msgstr "" +#: part/templates/part/part_tests.html:61 +msgid "Add Test Result Template" +msgstr "" + +#: part/templates/part/part_tests.html:79 +msgid "Edit Test Result Template" +msgstr "" + +#: part/templates/part/part_tests.html:91 +msgid "Delete Test Result Template" +msgstr "" + #: part/templates/part/part_thumb.html:20 msgid "Select from existing images" msgstr "" @@ -4964,12 +4863,98 @@ msgstr "" msgid "There are %(count)s unique parts tracked for '%(full_name)s'. Deleting this part will permanently remove this tracking information." msgstr "" -#: part/templates/part/related.html:18 -msgid "Add Related" +#: part/templates/part/prices.html:12 +msgid "General Price Information" msgstr "" -#: part/templates/part/sale_prices.html:10 -msgid "Sell Price Information" +#: part/templates/part/prices.html:22 +msgid "Pricing ranges" +msgstr "" + +#: part/templates/part/prices.html:28 +msgid "Show supplier cost" +msgstr "" + +#: part/templates/part/prices.html:29 +msgid "Show purchase price" +msgstr "" + +#: part/templates/part/prices.html:56 +msgid "Show BOM cost" +msgstr "" + +#: part/templates/part/prices.html:104 +msgid "Show sale cost" +msgstr "" + +#: part/templates/part/prices.html:105 +msgid "Show sale price" +msgstr "" + +#: part/templates/part/prices.html:127 +msgid "Calculation parameters" +msgstr "" + +#: part/templates/part/prices.html:146 +msgid "Supplier Cost" +msgstr "" + +#: part/templates/part/prices.html:147 part/templates/part/prices.html:167 +#: part/templates/part/prices.html:193 part/templates/part/prices.html:224 +#: part/templates/part/prices.html:251 part/templates/part/prices.html:279 +msgid "Jump to overview" +msgstr "" + +#: part/templates/part/prices.html:172 +msgid "Stock Pricing" +msgstr "" + +#: part/templates/part/prices.html:180 +msgid "No stock pricing history is available for this part." +msgstr "" + +#: part/templates/part/prices.html:192 +msgid "Internal Cost" +msgstr "" + +#: part/templates/part/prices.html:206 part/views.py:2859 +msgid "Add Internal Price Break" +msgstr "" + +#: part/templates/part/prices.html:223 +msgid "BOM Cost" +msgstr "" + +#: part/templates/part/prices.html:250 +msgid "Sale Cost" +msgstr "" + +#: part/templates/part/prices.html:290 +msgid "No sale pice history available for this part." +msgstr "" + +#: part/templates/part/prices.html:340 +#, python-format +msgid "Single Price - %(currency)s" +msgstr "" + +#: part/templates/part/prices.html:352 +#, python-format +msgid "Single Price Difference - %(currency)s" +msgstr "" + +#: part/templates/part/prices.html:364 +#, python-format +msgid "Part Single Price - %(currency)s" +msgstr "" + +#: part/templates/part/prices.html:464 +#, python-format +msgid "Unit Price - %(currency)s" +msgstr "" + +#: part/templates/part/related.html:18 +msgid "Add Related" msgstr "" #: part/templates/part/sales_orders.html:18 @@ -5043,216 +5028,180 @@ msgstr "" msgid "Delete Related Part" msgstr "" -#: part/views.py:164 -msgid "Add part attachment" -msgstr "" - -#: part/views.py:217 templates/attachment_table.html:32 -msgid "Edit attachment" -msgstr "" - -#: part/views.py:221 -msgid "Part attachment updated" -msgstr "" - -#: part/views.py:236 -msgid "Delete Part Attachment" -msgstr "" - -#: part/views.py:244 -msgid "Deleted part attachment" -msgstr "" - -#: part/views.py:253 -msgid "Create Test Template" -msgstr "" - -#: part/views.py:280 -msgid "Edit Test Template" -msgstr "" - -#: part/views.py:294 -msgid "Delete Test Template" -msgstr "" - -#: part/views.py:301 +#: part/views.py:161 msgid "Set Part Category" msgstr "" -#: part/views.py:351 +#: part/views.py:211 #, python-brace-format msgid "Set category for {n} parts" msgstr "" -#: part/views.py:386 +#: part/views.py:246 msgid "Create Variant" msgstr "" -#: part/views.py:471 +#: part/views.py:331 msgid "Copied part" msgstr "" -#: part/views.py:525 part/views.py:663 +#: part/views.py:385 part/views.py:523 msgid "Possible matches exist - confirm creation of new part" msgstr "" -#: part/views.py:595 +#: part/views.py:455 msgid "Created new part" msgstr "" -#: part/views.py:763 +#: part/views.py:623 msgid "Match References" msgstr "" -#: part/views.py:1092 +#: part/views.py:925 +msgid "None" +msgstr "" + +#: part/views.py:984 msgid "Part QR Code" msgstr "" -#: part/views.py:1194 -msgid "Upload Part Image" -msgstr "" - -#: part/views.py:1200 part/views.py:1235 -msgid "Updated part image" -msgstr "" - -#: part/views.py:1209 +#: part/views.py:1086 msgid "Select Part Image" msgstr "" -#: part/views.py:1238 +#: part/views.py:1112 +msgid "Updated part image" +msgstr "" + +#: part/views.py:1115 msgid "Part image not found" msgstr "" -#: part/views.py:1249 +#: part/views.py:1126 msgid "Edit Part Properties" msgstr "" -#: part/views.py:1284 +#: part/views.py:1161 msgid "Duplicate BOM" msgstr "" -#: part/views.py:1314 +#: part/views.py:1191 msgid "Confirm duplication of BOM from parent" msgstr "" -#: part/views.py:1335 +#: part/views.py:1212 msgid "Validate BOM" msgstr "" -#: part/views.py:1356 +#: part/views.py:1233 msgid "Confirm that the BOM is valid" msgstr "" -#: part/views.py:1367 +#: part/views.py:1244 msgid "Validated Bill of Materials" msgstr "" -#: part/views.py:1501 +#: part/views.py:1378 msgid "No BOM file provided" msgstr "" -#: part/views.py:1862 +#: part/views.py:1739 msgid "Enter a valid quantity" msgstr "" -#: part/views.py:1887 part/views.py:1890 +#: part/views.py:1764 part/views.py:1767 msgid "Select valid part" msgstr "" -#: part/views.py:1896 +#: part/views.py:1773 msgid "Duplicate part selected" msgstr "" -#: part/views.py:1934 +#: part/views.py:1811 msgid "Select a part" msgstr "" -#: part/views.py:1940 +#: part/views.py:1817 msgid "Selected part creates a circular BOM" msgstr "" -#: part/views.py:1944 +#: part/views.py:1821 msgid "Specify quantity" msgstr "" -#: part/views.py:2206 +#: part/views.py:2083 msgid "Confirm Part Deletion" msgstr "" -#: part/views.py:2213 +#: part/views.py:2090 msgid "Part was deleted" msgstr "" -#: part/views.py:2222 +#: part/views.py:2099 msgid "Part Pricing" msgstr "" -#: part/views.py:2363 +#: part/views.py:2240 msgid "Create Part Parameter Template" msgstr "" -#: part/views.py:2373 +#: part/views.py:2250 msgid "Edit Part Parameter Template" msgstr "" -#: part/views.py:2380 +#: part/views.py:2257 msgid "Delete Part Parameter Template" msgstr "" -#: part/views.py:2388 +#: part/views.py:2265 msgid "Create Part Parameter" msgstr "" -#: part/views.py:2438 +#: part/views.py:2315 msgid "Edit Part Parameter" msgstr "" -#: part/views.py:2452 +#: part/views.py:2329 msgid "Delete Part Parameter" msgstr "" -#: part/views.py:2512 -msgid "Edit Part Category" -msgstr "" - -#: part/views.py:2550 +#: part/views.py:2427 msgid "Delete Part Category" msgstr "" -#: part/views.py:2556 +#: part/views.py:2433 msgid "Part category was deleted" msgstr "" -#: part/views.py:2608 +#: part/views.py:2485 msgid "Create Category Parameter Template" msgstr "" -#: part/views.py:2709 +#: part/views.py:2586 msgid "Edit Category Parameter Template" msgstr "" -#: part/views.py:2765 +#: part/views.py:2642 msgid "Delete Category Parameter Template" msgstr "" -#: part/views.py:2784 +#: part/views.py:2661 msgid "Create BOM Item" msgstr "" -#: part/views.py:2854 +#: part/views.py:2731 msgid "Edit BOM item" msgstr "" -#: part/views.py:2910 -msgid "Confim BOM item deletion" +#: part/views.py:2792 +msgid "Added new price break" msgstr "" -#: part/views.py:2998 +#: part/views.py:2868 msgid "Edit Internal Price Break" msgstr "" -#: part/views.py:3006 +#: part/views.py:2876 msgid "Delete Internal Price Break" msgstr "" @@ -5358,17 +5307,17 @@ msgid "Test Results" msgstr "" #: report/templates/report/inventree_test_report_base.html:88 -#: stock/models.py:1739 +#: stock/models.py:1759 msgid "Test" msgstr "" #: report/templates/report/inventree_test_report_base.html:89 -#: stock/models.py:1745 +#: stock/models.py:1765 msgid "Result" msgstr "" #: report/templates/report/inventree_test_report_base.html:92 -#: templates/js/order.js:195 templates/js/stock.js:1012 +#: templates/js/order.js:257 templates/js/stock.js:1026 msgid "Date" msgstr "" @@ -5380,287 +5329,287 @@ msgstr "" msgid "Fail" msgstr "" -#: stock/api.py:212 +#: stock/api.py:211 #, python-brace-format msgid "Updated stock for {n} items" msgstr "" -#: stock/api.py:281 +#: stock/api.py:280 #, python-brace-format msgid "Moved {n} parts to {loc}" msgstr "" -#: stock/forms.py:114 stock/forms.py:418 stock/models.py:505 +#: stock/forms.py:81 stock/forms.py:385 stock/models.py:513 #: stock/templates/stock/item_base.html:381 templates/js/stock.js:658 msgid "Expiry Date" msgstr "" -#: stock/forms.py:115 stock/forms.py:419 +#: stock/forms.py:82 stock/forms.py:386 msgid "Expiration date for this stock item" msgstr "" -#: stock/forms.py:118 +#: stock/forms.py:85 msgid "Enter unique serial numbers (or leave blank)" msgstr "" -#: stock/forms.py:169 +#: stock/forms.py:136 msgid "Destination for serialized stock (by default, will remain in current location)" msgstr "" -#: stock/forms.py:171 +#: stock/forms.py:138 msgid "Serial numbers" msgstr "" -#: stock/forms.py:171 +#: stock/forms.py:138 msgid "Unique serial numbers (must match quantity)" msgstr "" -#: stock/forms.py:173 stock/forms.py:349 +#: stock/forms.py:140 stock/forms.py:316 msgid "Add transaction note (optional)" msgstr "" -#: stock/forms.py:203 stock/forms.py:259 +#: stock/forms.py:170 stock/forms.py:226 msgid "Select test report template" msgstr "" -#: stock/forms.py:267 templates/js/table_filters.js:75 +#: stock/forms.py:234 templates/js/table_filters.js:75 #: templates/js/table_filters.js:138 msgid "Include sublocations" msgstr "" -#: stock/forms.py:267 +#: stock/forms.py:234 msgid "Include stock items in sub locations" msgstr "" -#: stock/forms.py:302 +#: stock/forms.py:269 msgid "Stock item to install" msgstr "" -#: stock/forms.py:309 +#: stock/forms.py:276 msgid "Stock quantity to assign" msgstr "" -#: stock/forms.py:337 +#: stock/forms.py:304 msgid "Must not exceed available quantity" msgstr "" -#: stock/forms.py:347 +#: stock/forms.py:314 msgid "Destination location for uninstalled items" msgstr "" -#: stock/forms.py:351 +#: stock/forms.py:318 msgid "Confirm uninstall" msgstr "" -#: stock/forms.py:351 +#: stock/forms.py:318 msgid "Confirm removal of installed stock items" msgstr "" -#: stock/forms.py:375 +#: stock/forms.py:342 msgid "Destination stock location" msgstr "" -#: stock/forms.py:377 +#: stock/forms.py:344 msgid "Add note (required)" msgstr "" -#: stock/forms.py:381 stock/views.py:852 stock/views.py:1051 +#: stock/forms.py:348 stock/views.py:705 stock/views.py:904 msgid "Confirm stock adjustment" msgstr "" -#: stock/forms.py:381 +#: stock/forms.py:348 msgid "Confirm movement of stock items" msgstr "" -#: stock/forms.py:383 +#: stock/forms.py:350 msgid "Set Default Location" msgstr "" -#: stock/forms.py:383 +#: stock/forms.py:350 msgid "Set the destination as the default location for selected parts" msgstr "" -#: stock/models.py:52 stock/models.py:542 +#: stock/models.py:56 stock/models.py:550 msgid "Owner" msgstr "" -#: stock/models.py:53 stock/models.py:543 +#: stock/models.py:57 stock/models.py:551 msgid "Select Owner" msgstr "" -#: stock/models.py:271 +#: stock/models.py:279 msgid "StockItem with this serial number already exists" msgstr "" -#: stock/models.py:307 +#: stock/models.py:315 #, python-brace-format msgid "Part type ('{pf}') must be {pe}" msgstr "" -#: stock/models.py:317 stock/models.py:326 +#: stock/models.py:325 stock/models.py:334 msgid "Quantity must be 1 for item with a serial number" msgstr "" -#: stock/models.py:318 +#: stock/models.py:326 msgid "Serial number cannot be set if quantity greater than 1" msgstr "" -#: stock/models.py:340 +#: stock/models.py:348 msgid "Item cannot belong to itself" msgstr "" -#: stock/models.py:346 +#: stock/models.py:354 msgid "Item must have a build reference if is_building=True" msgstr "" -#: stock/models.py:353 +#: stock/models.py:361 msgid "Build reference does not point to the same part object" msgstr "" -#: stock/models.py:395 +#: stock/models.py:403 msgid "Parent Stock Item" msgstr "" -#: stock/models.py:404 +#: stock/models.py:412 msgid "Base part" msgstr "" -#: stock/models.py:413 +#: stock/models.py:421 msgid "Select a matching supplier part for this stock item" msgstr "" -#: stock/models.py:418 stock/templates/stock/stock_app_base.html:8 +#: stock/models.py:426 stock/templates/stock/stock_app_base.html:8 msgid "Stock Location" msgstr "" -#: stock/models.py:421 +#: stock/models.py:429 msgid "Where is this stock item located?" msgstr "" -#: stock/models.py:428 +#: stock/models.py:436 msgid "Packaging this stock item is stored in" msgstr "" -#: stock/models.py:433 stock/templates/stock/item_base.html:270 +#: stock/models.py:441 stock/templates/stock/item_base.html:270 msgid "Installed In" msgstr "" -#: stock/models.py:436 +#: stock/models.py:444 msgid "Is this item installed in another item?" msgstr "" -#: stock/models.py:452 +#: stock/models.py:460 msgid "Serial number for this item" msgstr "" -#: stock/models.py:464 +#: stock/models.py:472 msgid "Batch code for this stock item" msgstr "" -#: stock/models.py:468 +#: stock/models.py:476 msgid "Stock Quantity" msgstr "" -#: stock/models.py:477 +#: stock/models.py:485 msgid "Source Build" msgstr "" -#: stock/models.py:479 +#: stock/models.py:487 msgid "Build for this stock item" msgstr "" -#: stock/models.py:490 +#: stock/models.py:498 msgid "Source Purchase Order" msgstr "" -#: stock/models.py:493 +#: stock/models.py:501 msgid "Purchase order for this stock item" msgstr "" -#: stock/models.py:499 +#: stock/models.py:507 msgid "Destination Sales Order" msgstr "" -#: stock/models.py:506 +#: stock/models.py:514 msgid "Expiry date for stock item. Stock will be considered expired after this date" msgstr "" -#: stock/models.py:519 +#: stock/models.py:527 msgid "Delete on deplete" msgstr "" -#: stock/models.py:519 +#: stock/models.py:527 msgid "Delete this Stock Item when stock is depleted" msgstr "" -#: stock/models.py:529 stock/templates/stock/item_notes.html:13 +#: stock/models.py:537 stock/templates/stock/item_notes.html:13 #: stock/templates/stock/navbar.html:54 msgid "Stock Item Notes" msgstr "" -#: stock/models.py:538 +#: stock/models.py:546 msgid "Single unit purchase price at time of purchase" msgstr "" -#: stock/models.py:1006 +#: stock/models.py:1014 msgid "Part is not set as trackable" msgstr "" -#: stock/models.py:1012 +#: stock/models.py:1020 msgid "Quantity must be integer" msgstr "" -#: stock/models.py:1018 +#: stock/models.py:1026 #, python-brace-format msgid "Quantity must not exceed available stock quantity ({n})" msgstr "" -#: stock/models.py:1021 +#: stock/models.py:1029 msgid "Serial numbers must be a list of integers" msgstr "" -#: stock/models.py:1024 +#: stock/models.py:1032 msgid "Quantity does not match serial numbers" msgstr "" -#: stock/models.py:1031 +#: stock/models.py:1039 #, python-brace-format msgid "Serial numbers already exist: {exists}" msgstr "" -#: stock/models.py:1189 +#: stock/models.py:1197 msgid "StockItem cannot be moved as it is not in stock" msgstr "" -#: stock/models.py:1663 +#: stock/models.py:1679 msgid "Entry notes" msgstr "" -#: stock/models.py:1716 +#: stock/models.py:1736 msgid "Value must be provided for this test" msgstr "" -#: stock/models.py:1722 +#: stock/models.py:1742 msgid "Attachment must be uploaded for this test" msgstr "" -#: stock/models.py:1740 +#: stock/models.py:1760 msgid "Test name" msgstr "" -#: stock/models.py:1746 templates/js/table_filters.js:217 +#: stock/models.py:1766 templates/js/table_filters.js:222 msgid "Test result" msgstr "" -#: stock/models.py:1752 +#: stock/models.py:1772 msgid "Test output value" msgstr "" -#: stock/models.py:1759 +#: stock/models.py:1779 msgid "Test result attachment" msgstr "" -#: stock/models.py:1765 +#: stock/models.py:1785 msgid "Test notes" msgstr "" @@ -5850,6 +5799,10 @@ msgstr "" msgid "No stocktake performed" msgstr "" +#: stock/templates/stock/item_base.html:499 +msgid "Edit Stock Status" +msgstr "" + #: stock/templates/stock/item_childs.html:12 msgid "Child Stock Items" msgstr "" @@ -5909,6 +5862,19 @@ msgstr "" msgid "Add Test Data" msgstr "" +#: stock/templates/stock/item_tests.html:86 +#: stock/templates/stock/item_tests.html:111 +msgid "Add Test Result" +msgstr "" + +#: stock/templates/stock/item_tests.html:131 +msgid "Edit Test Result" +msgstr "" + +#: stock/templates/stock/item_tests.html:145 +msgid "Delete Test Result" +msgstr "" + #: stock/templates/stock/location.html:20 msgid "You are not in the list of owners of this location. This stock location cannot be edited." msgstr "" @@ -5957,7 +5923,7 @@ msgid "Stock Details" msgstr "" #: stock/templates/stock/location.html:117 templates/InvenTree/search.html:279 -#: templates/stats.html:97 users/models.py:41 +#: templates/stats.html:97 users/models.py:42 msgid "Stock Locations" msgstr "" @@ -5997,7 +5963,7 @@ msgstr "" msgid "The following stock items will be uninstalled" msgstr "" -#: stock/templates/stock/stockitem_convert.html:7 stock/views.py:1364 +#: stock/templates/stock/stockitem_convert.html:7 stock/views.py:1196 msgid "Convert Stock Item" msgstr "" @@ -6030,8 +5996,8 @@ msgstr "" msgid "Edit Stock Location" msgstr "" -#: stock/views.py:230 stock/views.py:1343 stock/views.py:1465 -#: stock/views.py:1830 +#: stock/views.py:230 stock/views.py:1175 stock/views.py:1297 +#: stock/views.py:1662 msgid "Owner is required (ownership control is enabled)" msgstr "" @@ -6039,208 +6005,188 @@ msgstr "" msgid "Stock Location QR code" msgstr "" -#: stock/views.py:265 -msgid "Add Stock Item Attachment" -msgstr "" - -#: stock/views.py:311 -msgid "Edit Stock Item Attachment" -msgstr "" - -#: stock/views.py:327 -msgid "Delete Stock Item Attachment" -msgstr "" - -#: stock/views.py:343 +#: stock/views.py:264 msgid "Assign to Customer" msgstr "" -#: stock/views.py:352 +#: stock/views.py:273 msgid "Customer must be specified" msgstr "" -#: stock/views.py:376 +#: stock/views.py:297 msgid "Return to Stock" msgstr "" -#: stock/views.py:385 +#: stock/views.py:306 msgid "Specify a valid location" msgstr "" -#: stock/views.py:396 +#: stock/views.py:317 msgid "Stock item returned from customer" msgstr "" -#: stock/views.py:407 +#: stock/views.py:328 msgid "Delete All Test Data" msgstr "" -#: stock/views.py:424 +#: stock/views.py:345 msgid "Confirm test data deletion" msgstr "" -#: stock/views.py:444 -msgid "Add Test Result" -msgstr "" - -#: stock/views.py:484 -msgid "Edit Test Result" -msgstr "" - -#: stock/views.py:501 -msgid "Delete Test Result" -msgstr "" - -#: stock/views.py:509 +#: stock/views.py:362 msgid "Stock Export Options" msgstr "" -#: stock/views.py:630 +#: stock/views.py:483 msgid "Stock Item QR Code" msgstr "" -#: stock/views.py:656 +#: stock/views.py:509 msgid "Install Stock Item" msgstr "" -#: stock/views.py:755 +#: stock/views.py:608 msgid "Uninstall Stock Items" msgstr "" -#: stock/views.py:863 +#: stock/views.py:716 msgid "Uninstalled stock items" msgstr "" -#: stock/views.py:888 +#: stock/views.py:741 msgid "Adjust Stock" msgstr "" -#: stock/views.py:998 +#: stock/views.py:851 msgid "Move Stock Items" msgstr "" -#: stock/views.py:998 +#: stock/views.py:851 msgid "Move" msgstr "" -#: stock/views.py:999 +#: stock/views.py:852 msgid "Count Stock Items" msgstr "" -#: stock/views.py:999 +#: stock/views.py:852 msgid "Count" msgstr "" -#: stock/views.py:1000 +#: stock/views.py:853 msgid "Remove From Stock" msgstr "" -#: stock/views.py:1000 +#: stock/views.py:853 msgid "Take" msgstr "" -#: stock/views.py:1001 +#: stock/views.py:854 msgid "Add Stock Items" msgstr "" -#: stock/views.py:1001 users/models.py:187 +#: stock/views.py:854 users/models.py:188 msgid "Add" msgstr "" -#: stock/views.py:1002 +#: stock/views.py:855 msgid "Delete Stock Items" msgstr "" -#: stock/views.py:1031 +#: stock/views.py:884 msgid "Must enter integer value" msgstr "" -#: stock/views.py:1036 +#: stock/views.py:889 msgid "Quantity must be positive" msgstr "" -#: stock/views.py:1043 +#: stock/views.py:896 #, python-brace-format msgid "Quantity must not exceed {x}" msgstr "" -#: stock/views.py:1107 +#: stock/views.py:960 msgid "No action performed" msgstr "" -#: stock/views.py:1122 +#: stock/views.py:975 #, python-brace-format msgid "Added stock to {n} items" msgstr "" -#: stock/views.py:1137 +#: stock/views.py:990 #, python-brace-format msgid "Removed stock from {n} items" msgstr "" -#: stock/views.py:1150 +#: stock/views.py:1003 #, python-brace-format msgid "Counted stock for {n} items" msgstr "" -#: stock/views.py:1190 +#: stock/views.py:1043 msgid "No items were moved" msgstr "" -#: stock/views.py:1193 +#: stock/views.py:1046 #, python-brace-format msgid "Moved {n} items to {dest}" msgstr "" -#: stock/views.py:1212 +#: stock/views.py:1065 #, python-brace-format msgid "Deleted {n} stock items" msgstr "" -#: stock/views.py:1222 -msgid "Edit Stock Item Status" -msgstr "" - -#: stock/views.py:1245 +#: stock/views.py:1077 msgid "Edit Stock Item" msgstr "" -#: stock/views.py:1482 +#: stock/views.py:1314 msgid "Serialize Stock" msgstr "" -#: stock/views.py:1575 templates/js/build.js:327 +#: stock/views.py:1407 templates/js/build.js:327 msgid "Create new Stock Item" msgstr "" -#: stock/views.py:1717 +#: stock/views.py:1549 msgid "Duplicate Stock Item" msgstr "" -#: stock/views.py:1799 +#: stock/views.py:1631 msgid "Quantity cannot be negative" msgstr "" -#: stock/views.py:1899 +#: stock/views.py:1731 msgid "Delete Stock Location" msgstr "" -#: stock/views.py:1912 +#: stock/views.py:1744 msgid "Delete Stock Item" msgstr "" -#: stock/views.py:1923 +#: stock/views.py:1755 msgid "Delete Stock Tracking Entry" msgstr "" -#: stock/views.py:1930 +#: stock/views.py:1762 msgid "Edit Stock Tracking Entry" msgstr "" -#: stock/views.py:1939 +#: stock/views.py:1771 msgid "Add Stock Tracking Entry" msgstr "" +#: templates/403.html:5 templates/403.html:11 +msgid "Permission Denied" +msgstr "" + +#: templates/403.html:14 +msgid "You do not have permission to view this page." +msgstr "" + #: templates/404.html:5 templates/404.html:11 msgid "Page Not Found" msgstr "" @@ -6269,35 +6215,39 @@ msgstr "" msgid "Recently Updated" msgstr "" -#: templates/InvenTree/index.html:145 -msgid "Expired Stock" +#: templates/InvenTree/index.html:131 +msgid "Depleted Stock" msgstr "" #: templates/InvenTree/index.html:146 +msgid "Expired Stock" +msgstr "" + +#: templates/InvenTree/index.html:147 msgid "Stale Stock" msgstr "" -#: templates/InvenTree/index.html:184 +#: templates/InvenTree/index.html:192 msgid "Build Orders In Progress" msgstr "" -#: templates/InvenTree/index.html:185 +#: templates/InvenTree/index.html:193 msgid "Overdue Build Orders" msgstr "" -#: templates/InvenTree/index.html:206 +#: templates/InvenTree/index.html:214 msgid "Outstanding Purchase Orders" msgstr "" -#: templates/InvenTree/index.html:207 +#: templates/InvenTree/index.html:215 msgid "Overdue Purchase Orders" msgstr "" -#: templates/InvenTree/index.html:229 +#: templates/InvenTree/index.html:237 msgid "Outstanding Sales Orders" msgstr "" -#: templates/InvenTree/index.html:230 +#: templates/InvenTree/index.html:238 msgid "Overdue Sales Orders" msgstr "" @@ -6582,24 +6532,12 @@ msgstr "" msgid "copy version information" msgstr "" -#: templates/about.html:100 templates/js/modals.js:568 -#: templates/js/modals.js:861 templates/modals.html:29 templates/modals.html:54 -#: templates/modals.html:97 +#: templates/about.html:100 templates/js/modals.js:34 +#: templates/js/modals.js:677 templates/js/modals.js:970 +#: templates/modals.html:29 templates/modals.html:54 templates/modals.html:97 msgid "Close" msgstr "" -#: templates/attachment_table.html:6 -msgid "Add Attachment" -msgstr "" - -#: templates/attachment_table.html:17 -msgid "Uploaded" -msgstr "" - -#: templates/attachment_table.html:35 -msgid "Delete attachment" -msgstr "" - #: templates/image_download.html:8 msgid "Specify URL for downloading image" msgstr "" @@ -6616,6 +6554,22 @@ msgstr "" msgid "Remote image must not exceed maximum allowable file size" msgstr "" +#: templates/js/attachment.js:16 +msgid "No attachments found" +msgstr "" + +#: templates/js/attachment.js:56 +msgid "Upload Date" +msgstr "" + +#: templates/js/attachment.js:69 +msgid "Edit attachment" +msgstr "" + +#: templates/js/attachment.js:76 +msgid "Delete attachment" +msgstr "" + #: templates/js/barcode.js:8 msgid "Scan barcode data here using wedge scanner" msgstr "" @@ -6644,7 +6598,7 @@ msgstr "" msgid "Unknown response from server" msgstr "" -#: templates/js/barcode.js:119 templates/js/modals.js:921 +#: templates/js/barcode.js:119 templates/js/modals.js:1030 msgid "Invalid server response" msgstr "" @@ -6744,7 +6698,7 @@ msgstr "" msgid "Edit BOM Item" msgstr "" -#: templates/js/bom.js:372 +#: templates/js/bom.js:372 templates/js/bom.js:519 msgid "Delete BOM Item" msgstr "" @@ -6772,7 +6726,7 @@ msgstr "" msgid "No build order allocations found" msgstr "" -#: templates/js/build.js:222 templates/js/order.js:382 +#: templates/js/build.js:222 templates/js/order.js:449 msgid "Location not specified" msgstr "" @@ -6798,7 +6752,7 @@ msgid "No builds matching query" msgstr "" #: templates/js/build.js:806 templates/js/part.js:390 templates/js/part.js:635 -#: templates/js/stock.js:514 templates/js/stock.js:966 +#: templates/js/stock.js:514 templates/js/stock.js:980 msgid "Select" msgstr "" @@ -6810,45 +6764,69 @@ msgstr "" msgid "No parts allocated for" msgstr "" -#: templates/js/company.js:74 +#: templates/js/company.js:45 +msgid "Edit Company" +msgstr "" + +#: templates/js/company.js:66 +msgid "Add new Company" +msgstr "" + +#: templates/js/company.js:143 msgid "Parts Supplied" msgstr "" -#: templates/js/company.js:83 +#: templates/js/company.js:152 msgid "Parts Manufactured" msgstr "" -#: templates/js/company.js:96 +#: templates/js/company.js:165 msgid "No company information found" msgstr "" -#: templates/js/company.js:129 +#: templates/js/company.js:183 +msgid "The following manufacturer parts will be deleted" +msgstr "" + +#: templates/js/company.js:200 +msgid "Delete Manufacturer Parts" +msgstr "" + +#: templates/js/company.js:253 msgid "No manufacturer parts found" msgstr "" -#: templates/js/company.js:148 templates/js/company.js:347 +#: templates/js/company.js:272 templates/js/company.js:472 #: templates/js/part.js:68 templates/js/part.js:153 msgid "Template part" msgstr "" -#: templates/js/company.js:152 templates/js/company.js:351 +#: templates/js/company.js:276 templates/js/company.js:476 #: templates/js/part.js:72 templates/js/part.js:157 msgid "Assembled part" msgstr "" -#: templates/js/company.js:226 +#: templates/js/company.js:350 msgid "No parameters found" msgstr "" -#: templates/js/company.js:262 +#: templates/js/company.js:386 msgid "Edit parameter" msgstr "" -#: templates/js/company.js:263 +#: templates/js/company.js:387 msgid "Delete parameter" msgstr "" -#: templates/js/company.js:328 +#: templates/js/company.js:406 +msgid "Edit Parameter" +msgstr "" + +#: templates/js/company.js:417 +msgid "Delete Parameter" +msgstr "" + +#: templates/js/company.js:453 msgid "No supplier parts found" msgstr "" @@ -6876,6 +6854,83 @@ msgstr "" msgid "Create filter" msgstr "" +#: templates/js/forms.js:278 templates/js/forms.js:291 +#: templates/js/forms.js:303 templates/js/forms.js:315 +msgid "Action Prohibited" +msgstr "" + +#: templates/js/forms.js:279 +msgid "Create operation not allowed" +msgstr "" + +#: templates/js/forms.js:292 +msgid "Update operation not allowed" +msgstr "" + +#: templates/js/forms.js:304 +msgid "Delete operation not allowed" +msgstr "" + +#: templates/js/forms.js:316 +msgid "View operation not allowed" +msgstr "" + +#: templates/js/forms.js:583 templates/js/modals.js:1040 +msgid "No Response" +msgstr "" + +#: templates/js/forms.js:584 templates/js/modals.js:1041 +msgid "No response from the InvenTree server" +msgstr "" + +#: templates/js/forms.js:590 templates/js/modals.js:1050 +msgid "Error 401: Not Authenticated" +msgstr "" + +#: templates/js/forms.js:591 templates/js/modals.js:1051 +msgid "Authentication credentials not supplied" +msgstr "" + +#: templates/js/forms.js:597 templates/js/modals.js:1055 +msgid "Error 403: Permission Denied" +msgstr "" + +#: templates/js/forms.js:598 templates/js/modals.js:1056 +msgid "You do not have the required permissions to access this function" +msgstr "" + +#: templates/js/forms.js:604 templates/js/modals.js:1060 +msgid "Error 404: Resource Not Found" +msgstr "" + +#: templates/js/forms.js:605 templates/js/modals.js:1061 +msgid "The requested resource could not be located on the server" +msgstr "" + +#: templates/js/forms.js:611 templates/js/modals.js:1065 +msgid "Error 408: Timeout" +msgstr "" + +#: templates/js/forms.js:612 templates/js/modals.js:1066 +msgid "Connection timeout while requesting data from server" +msgstr "" + +#: templates/js/forms.js:618 templates/js/modals.js:1069 +msgid "Error requesting form data" +msgstr "" + +#: templates/js/forms.js:788 templates/modals.html:21 templates/modals.html:47 +msgid "Form errors exist" +msgstr "" + +#: templates/js/forms.js:1161 +msgid "Searching" +msgstr "" + +#: templates/js/forms.js:1301 +msgid "Clear input" +msgstr "" + #: templates/js/label.js:10 templates/js/report.js:98 msgid "Select Stock Items" msgstr "" @@ -6916,112 +6971,102 @@ msgstr "" msgid "Select Label Template" msgstr "" -#: templates/js/modals.js:265 -msgid "Waiting for server..." -msgstr "" - -#: templates/js/modals.js:424 -msgid "Show Error Information" -msgstr "" - -#: templates/js/modals.js:491 templates/modals.html:76 -msgid "Accept" -msgstr "" - -#: templates/js/modals.js:492 templates/modals.html:75 +#: templates/js/modals.js:59 templates/js/modals.js:105 +#: templates/js/modals.js:601 templates/modals.html:75 msgid "Cancel" msgstr "" -#: templates/js/modals.js:556 -msgid "Loading Data" -msgstr "" - -#: templates/js/modals.js:567 templates/js/modals.js:860 +#: templates/js/modals.js:60 templates/js/modals.js:104 +#: templates/js/modals.js:676 templates/js/modals.js:969 #: templates/modals.html:30 templates/modals.html:55 msgid "Submit" msgstr "" -#: templates/js/modals.js:811 +#: templates/js/modals.js:103 +msgid "Form Title" +msgstr "" + +#: templates/js/modals.js:374 +msgid "Waiting for server..." +msgstr "" + +#: templates/js/modals.js:533 +msgid "Show Error Information" +msgstr "" + +#: templates/js/modals.js:600 templates/modals.html:76 +msgid "Accept" +msgstr "" + +#: templates/js/modals.js:665 +msgid "Loading Data" +msgstr "" + +#: templates/js/modals.js:920 msgid "Invalid response from server" msgstr "" -#: templates/js/modals.js:811 +#: templates/js/modals.js:920 msgid "Form data missing from server response" msgstr "" -#: templates/js/modals.js:824 +#: templates/js/modals.js:933 msgid "Error posting form data" msgstr "" -#: templates/js/modals.js:921 +#: templates/js/modals.js:1030 msgid "JSON response missing form data" msgstr "" -#: templates/js/modals.js:931 -msgid "No Response" -msgstr "" - -#: templates/js/modals.js:932 -msgid "No response from the InvenTree server" -msgstr "" - -#: templates/js/modals.js:936 +#: templates/js/modals.js:1045 msgid "Error 400: Bad Request" msgstr "" -#: templates/js/modals.js:937 +#: templates/js/modals.js:1046 msgid "Server returned error code 400" msgstr "" -#: templates/js/modals.js:941 -msgid "Error 401: Not Authenticated" +#: templates/js/model_renderers.js:21 +msgid "Company ID" msgstr "" -#: templates/js/modals.js:942 -msgid "Authentication credentials not supplied" +#: templates/js/model_renderers.js:63 +msgid "Location ID" msgstr "" -#: templates/js/modals.js:946 -msgid "Error 403: Permission Denied" +#: templates/js/model_renderers.js:90 +msgid "Part ID" msgstr "" -#: templates/js/modals.js:947 -msgid "You do not have the required permissions to access this function" +#: templates/js/model_renderers.js:126 +msgid "Category ID" msgstr "" -#: templates/js/modals.js:951 -msgid "Error 404: Resource Not Found" +#: templates/js/model_renderers.js:150 +msgid "Supplier Part ID" msgstr "" -#: templates/js/modals.js:952 -msgid "The requested resource could not be located on the server" +#: templates/js/order.js:31 +msgid "Create Sales Order" msgstr "" -#: templates/js/modals.js:956 -msgid "Error 408: Timeout" -msgstr "" - -#: templates/js/modals.js:957 -msgid "Connection timeout while requesting data from server" -msgstr "" - -#: templates/js/modals.js:960 -msgid "Error requesting form data" -msgstr "" - -#: templates/js/order.js:138 +#: templates/js/order.js:200 msgid "No purchase orders found" msgstr "" -#: templates/js/order.js:162 templates/js/order.js:257 +#: templates/js/order.js:224 templates/js/order.js:319 msgid "Order is overdue" msgstr "" -#: templates/js/order.js:234 +#: templates/js/order.js:296 msgid "No sales orders found" msgstr "" -#: templates/js/order.js:343 +#: templates/js/order.js:333 +msgid "Invalid Customer" +msgstr "" + +#: templates/js/order.js:410 msgid "No sales order allocations found" msgstr "" @@ -7061,11 +7106,11 @@ msgstr "" msgid "No category" msgstr "" -#: templates/js/part.js:476 templates/js/table_filters.js:323 +#: templates/js/part.js:476 templates/js/table_filters.js:328 msgid "Low stock" msgstr "" -#: templates/js/part.js:660 templates/js/stock.js:990 +#: templates/js/part.js:660 templates/js/stock.js:1004 msgid "Path" msgstr "" @@ -7085,7 +7130,22 @@ msgstr "" msgid "This test is defined for a parent part" msgstr "" -#: templates/js/part.js:806 +#: templates/js/part.js:786 +#, python-brace-format +msgid "No ${human_name} information found" +msgstr "" + +#: templates/js/part.js:839 +#, python-brace-format +msgid "Edit ${human_name}" +msgstr "" + +#: templates/js/part.js:840 +#, python-brace-format +msgid "Delete ${human_name}" +msgstr "" + +#: templates/js/part.js:959 msgid "Single Price Difference" msgstr "" @@ -7263,75 +7323,75 @@ msgstr "" msgid "Stocktake" msgstr "" -#: templates/js/stock.js:853 +#: templates/js/stock.js:867 msgid "Stock Status" msgstr "" -#: templates/js/stock.js:868 +#: templates/js/stock.js:882 msgid "Set Stock Status" msgstr "" -#: templates/js/stock.js:882 +#: templates/js/stock.js:896 msgid "Select Status Code" msgstr "" -#: templates/js/stock.js:883 +#: templates/js/stock.js:897 msgid "Status code must be selected" msgstr "" -#: templates/js/stock.js:1022 +#: templates/js/stock.js:1036 msgid "Invalid date" msgstr "" -#: templates/js/stock.js:1069 +#: templates/js/stock.js:1083 msgid "Location no longer exists" msgstr "" -#: templates/js/stock.js:1088 +#: templates/js/stock.js:1102 msgid "Purchase order no longer exists" msgstr "" -#: templates/js/stock.js:1107 +#: templates/js/stock.js:1121 msgid "Customer no longer exists" msgstr "" -#: templates/js/stock.js:1125 +#: templates/js/stock.js:1139 msgid "Stock item no longer exists" msgstr "" -#: templates/js/stock.js:1148 +#: templates/js/stock.js:1162 msgid "Added" msgstr "" -#: templates/js/stock.js:1156 +#: templates/js/stock.js:1170 msgid "Removed" msgstr "" -#: templates/js/stock.js:1188 +#: templates/js/stock.js:1202 msgid "No user information" msgstr "" -#: templates/js/stock.js:1200 +#: templates/js/stock.js:1214 msgid "Edit tracking entry" msgstr "" -#: templates/js/stock.js:1201 +#: templates/js/stock.js:1215 msgid "Delete tracking entry" msgstr "" -#: templates/js/stock.js:1325 +#: templates/js/stock.js:1339 msgid "Create New Location" msgstr "" -#: templates/js/stock.js:1366 +#: templates/js/stock.js:1380 msgid "No installed items" msgstr "" -#: templates/js/stock.js:1389 +#: templates/js/stock.js:1403 msgid "Serial" msgstr "" -#: templates/js/stock.js:1417 +#: templates/js/stock.js:1431 msgid "Uninstall Stock Item" msgstr "" @@ -7352,7 +7412,7 @@ msgid "Include locations" msgstr "" #: templates/js/table_filters.js:86 templates/js/table_filters.js:87 -#: templates/js/table_filters.js:300 +#: templates/js/table_filters.js:305 msgid "Include subcategories" msgstr "" @@ -7385,7 +7445,7 @@ msgstr "" msgid "Batch code" msgstr "" -#: templates/js/table_filters.js:123 templates/js/table_filters.js:290 +#: templates/js/table_filters.js:123 templates/js/table_filters.js:295 msgid "Active parts" msgstr "" @@ -7457,43 +7517,51 @@ msgstr "" msgid "Stock status" msgstr "" -#: templates/js/table_filters.js:236 +#: templates/js/table_filters.js:211 +msgid "Has purchase price" +msgstr "" + +#: templates/js/table_filters.js:212 +msgid "Show stock items which have a purchase price set" +msgstr "" + +#: templates/js/table_filters.js:241 msgid "Build status" msgstr "" -#: templates/js/table_filters.js:255 templates/js/table_filters.js:272 +#: templates/js/table_filters.js:260 templates/js/table_filters.js:277 msgid "Order status" msgstr "" -#: templates/js/table_filters.js:260 templates/js/table_filters.js:277 +#: templates/js/table_filters.js:265 templates/js/table_filters.js:282 msgid "Outstanding" msgstr "" -#: templates/js/table_filters.js:301 +#: templates/js/table_filters.js:306 msgid "Include parts in subcategories" msgstr "" -#: templates/js/table_filters.js:305 +#: templates/js/table_filters.js:310 msgid "Has IPN" msgstr "" -#: templates/js/table_filters.js:306 +#: templates/js/table_filters.js:311 msgid "Part has internal part number" msgstr "" -#: templates/js/table_filters.js:311 +#: templates/js/table_filters.js:316 msgid "Show active parts" msgstr "" -#: templates/js/table_filters.js:319 +#: templates/js/table_filters.js:324 msgid "Stock available" msgstr "" -#: templates/js/table_filters.js:335 +#: templates/js/table_filters.js:340 msgid "Starred" msgstr "" -#: templates/js/table_filters.js:347 +#: templates/js/table_filters.js:352 msgid "Purchasable" msgstr "" @@ -7550,10 +7618,6 @@ msgstr "" msgid "All" msgstr "" -#: templates/modals.html:21 templates/modals.html:47 -msgid "Form errors exist" -msgstr "" - #: templates/navbar.html:13 msgid "Toggle navigation" msgstr "" @@ -7570,7 +7634,7 @@ msgstr "" msgid "Scan Barcode" msgstr "" -#: templates/navbar.html:77 users/models.py:38 +#: templates/navbar.html:77 users/models.py:39 msgid "Admin" msgstr "" @@ -7790,35 +7854,35 @@ msgstr "" msgid "Important dates" msgstr "" -#: users/models.py:174 +#: users/models.py:175 msgid "Permission set" msgstr "" -#: users/models.py:182 +#: users/models.py:183 msgid "Group" msgstr "" -#: users/models.py:185 +#: users/models.py:186 msgid "View" msgstr "" -#: users/models.py:185 +#: users/models.py:186 msgid "Permission to view items" msgstr "" -#: users/models.py:187 +#: users/models.py:188 msgid "Permission to add items" msgstr "" -#: users/models.py:189 +#: users/models.py:190 msgid "Change" msgstr "" -#: users/models.py:189 +#: users/models.py:190 msgid "Permissions to edit items" msgstr "" -#: users/models.py:191 +#: users/models.py:192 msgid "Permission to delete items" msgstr "" diff --git a/InvenTree/locale/ja/LC_MESSAGES/django.po b/InvenTree/locale/ja/LC_MESSAGES/django.po index 5fb994a1e8..8ffaee4eda 100644 --- a/InvenTree/locale/ja/LC_MESSAGES/django.po +++ b/InvenTree/locale/ja/LC_MESSAGES/django.po @@ -2,8 +2,8 @@ msgid "" msgstr "" "Project-Id-Version: inventree\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2021-07-01 22:35+0000\n" -"PO-Revision-Date: 2021-07-01 22:38\n" +"POT-Creation-Date: 2021-07-03 12:15+0000\n" +"PO-Revision-Date: 2021-07-03 12:44\n" "Last-Translator: \n" "Language-Team: Japanese\n" "Language: ja_JP\n" @@ -29,14 +29,14 @@ msgstr "" msgid "No matching action found" msgstr "" -#: InvenTree/fields.py:84 +#: InvenTree/fields.py:99 msgid "Enter date" msgstr "" #: InvenTree/forms.py:112 build/forms.py:102 build/forms.py:123 #: build/forms.py:145 build/forms.py:169 build/forms.py:185 build/forms.py:227 -#: order/forms.py:31 order/forms.py:42 order/forms.py:53 order/forms.py:64 -#: order/forms.py:75 part/forms.py:134 +#: order/forms.py:30 order/forms.py:41 order/forms.py:52 order/forms.py:63 +#: order/forms.py:74 part/forms.py:118 templates/js/forms.js:486 msgid "Confirm" msgstr "" @@ -77,8 +77,8 @@ msgstr "" msgid "Duplicate serial: {n}" msgstr "" -#: InvenTree/helpers.py:403 order/models.py:244 order/models.py:354 -#: stock/views.py:1795 +#: InvenTree/helpers.py:403 order/models.py:311 order/models.py:421 +#: stock/views.py:1627 msgid "Invalid quantity provided" msgstr "" @@ -106,49 +106,53 @@ msgstr "" msgid "Number of unique serial number ({s}) must match quantity ({q})" msgstr "" -#: InvenTree/models.py:59 stock/models.py:1758 +#: InvenTree/models.py:61 stock/models.py:1778 msgid "Attachment" msgstr "" -#: InvenTree/models.py:60 +#: InvenTree/models.py:62 msgid "Select file to attach" msgstr "" -#: InvenTree/models.py:62 templates/attachment_table.html:16 +#: InvenTree/models.py:64 templates/js/attachment.js:52 msgid "Comment" msgstr "" -#: InvenTree/models.py:62 +#: InvenTree/models.py:64 msgid "File comment" msgstr "" -#: InvenTree/models.py:68 InvenTree/models.py:69 part/models.py:2022 +#: InvenTree/models.py:70 InvenTree/models.py:71 part/models.py:2043 #: report/templates/report/inventree_test_report_base.html:91 -#: templates/js/stock.js:1179 +#: templates/js/stock.js:1193 msgid "User" msgstr "" -#: InvenTree/models.py:72 +#: InvenTree/models.py:74 msgid "upload date" msgstr "" -#: InvenTree/models.py:107 InvenTree/models.py:108 company/models.py:396 -#: label/models.py:102 part/models.py:671 part/models.py:2163 +#: InvenTree/models.py:102 +msgid "Invalid choice" +msgstr "" + +#: InvenTree/models.py:118 InvenTree/models.py:119 company/models.py:414 +#: label/models.py:103 part/models.py:680 part/models.py:2192 #: part/templates/part/params.html:27 report/models.py:180 #: templates/InvenTree/search.html:137 templates/InvenTree/search.html:289 -#: templates/js/company.js:235 templates/js/part.js:118 -#: templates/js/part.js:642 templates/js/stock.js:972 +#: templates/js/company.js:359 templates/js/part.js:118 +#: templates/js/part.js:642 templates/js/stock.js:986 msgid "Name" msgstr "" -#: InvenTree/models.py:114 build/models.py:135 -#: build/templates/build/detail.html:21 company/models.py:339 -#: company/models.py:532 company/templates/company/detail.html:27 +#: InvenTree/models.py:125 build/models.py:139 +#: build/templates/build/detail.html:21 company/models.py:353 +#: company/models.py:554 company/templates/company/detail.html:27 #: company/templates/company/manufacturer_part_base.html:72 #: company/templates/company/supplier_part_base.html:71 -#: company/templates/company/supplier_part_detail.html:31 label/models.py:109 -#: order/models.py:100 order/templates/order/purchase_order_detail.html:147 -#: part/models.py:695 part/templates/part/detail.html:54 +#: company/templates/company/supplier_part_detail.html:31 label/models.py:110 +#: order/models.py:154 order/templates/order/purchase_order_detail.html:174 +#: part/models.py:704 part/templates/part/detail.html:54 #: part/templates/part/set_category.html:14 report/models.py:193 #: report/models.py:530 report/models.py:569 #: report/templates/report/inventree_build_order_base.html:118 @@ -156,39 +160,43 @@ msgstr "" #: templates/InvenTree/search.html:296 #: templates/InvenTree/settings/header.html:9 templates/js/bom.js:190 #: templates/js/build.js:834 templates/js/build.js:1102 -#: templates/js/company.js:56 templates/js/order.js:183 -#: templates/js/order.js:280 templates/js/part.js:177 templates/js/part.js:260 +#: templates/js/company.js:125 templates/js/order.js:245 +#: templates/js/order.js:347 templates/js/part.js:177 templates/js/part.js:260 #: templates/js/part.js:437 templates/js/part.js:654 templates/js/part.js:722 -#: templates/js/stock.js:557 templates/js/stock.js:984 -#: templates/js/stock.js:1029 +#: templates/js/stock.js:557 templates/js/stock.js:998 +#: templates/js/stock.js:1043 msgid "Description" msgstr "" -#: InvenTree/models.py:115 +#: InvenTree/models.py:126 msgid "Description (optional)" msgstr "" -#: InvenTree/models.py:123 +#: InvenTree/models.py:134 msgid "parent" msgstr "" -#: InvenTree/settings.py:504 -msgid "English" +#: InvenTree/serializers.py:52 +msgid "Must be a valid number" msgstr "" #: InvenTree/settings.py:505 -msgid "French" +msgid "English" msgstr "" #: InvenTree/settings.py:506 -msgid "German" +msgid "French" msgstr "" #: InvenTree/settings.py:507 -msgid "Polish" +msgid "German" msgstr "" #: InvenTree/settings.py:508 +msgid "Polish" +msgstr "" + +#: InvenTree/settings.py:509 msgid "Turkish" msgstr "" @@ -446,50 +454,48 @@ msgid "Order target date" msgstr "" #: build/forms.py:42 build/templates/build/build_base.html:146 -#: build/templates/build/detail.html:121 order/forms.py:118 order/forms.py:153 +#: build/templates/build/detail.html:121 #: order/templates/order/order_base.html:124 #: order/templates/order/sales_order_base.html:119 #: report/templates/report/inventree_build_order_base.html:126 -#: templates/js/build.js:881 templates/js/order.js:200 -#: templates/js/order.js:298 +#: templates/js/build.js:881 templates/js/order.js:262 +#: templates/js/order.js:365 msgid "Target Date" msgstr "" -#: build/forms.py:43 build/models.py:225 +#: build/forms.py:43 build/models.py:229 msgid "Target date for build completion. Build will be overdue after this date." msgstr "" -#: build/forms.py:48 build/forms.py:90 build/forms.py:266 build/models.py:1346 +#: build/forms.py:48 build/forms.py:90 build/forms.py:266 build/models.py:1354 #: build/templates/build/allocation_card.html:23 #: build/templates/build/auto_allocate.html:17 #: build/templates/build/build_base.html:133 #: build/templates/build/detail.html:31 common/models.py:741 -#: company/forms.py:189 company/templates/company/supplier_part_pricing.html:77 -#: order/forms.py:197 order/forms.py:215 order/forms.py:250 order/forms.py:272 -#: order/forms.py:289 order/models.py:613 order/models.py:835 -#: order/templates/order/order_wizard/match_parts.html:30 +#: company/forms.py:124 company/templates/company/supplier_part_pricing.html:79 +#: order/forms.py:120 order/forms.py:142 order/forms.py:159 order/models.py:702 +#: order/models.py:941 order/templates/order/order_wizard/match_parts.html:30 #: order/templates/order/order_wizard/select_parts.html:34 -#: order/templates/order/purchase_order_detail.html:179 -#: order/templates/order/sales_order_detail.html:70 -#: order/templates/order/sales_order_detail.html:77 -#: order/templates/order/sales_order_detail.html:162 -#: order/templates/order/sales_order_detail.html:234 part/forms.py:342 -#: part/forms.py:372 part/forms.py:388 part/forms.py:404 part/models.py:2293 -#: part/templates/part/internal_prices.html:98 -#: part/templates/part/order_prices.html:203 -#: part/templates/part/part_pricing.html:16 -#: part/templates/part/sale_prices.html:85 +#: order/templates/order/purchase_order_detail.html:206 +#: order/templates/order/sales_order_detail.html:80 +#: order/templates/order/sales_order_detail.html:87 +#: order/templates/order/sales_order_detail.html:172 +#: order/templates/order/sales_order_detail.html:244 part/forms.py:314 +#: part/forms.py:344 part/forms.py:360 part/forms.py:376 part/models.py:2330 +#: part/templates/part/part_pricing.html:16 part/templates/part/prices.html:377 +#: part/templates/part/prices.html:474 #: report/templates/report/inventree_build_order_base.html:114 #: report/templates/report/inventree_po_report.html:91 #: report/templates/report/inventree_so_report.html:91 #: report/templates/report/inventree_test_report_base.html:77 -#: stock/forms.py:175 stock/forms.py:308 +#: stock/forms.py:142 stock/forms.py:275 #: stock/templates/stock/item_base.html:255 #: stock/templates/stock/stock_adjust.html:18 templates/js/barcode.js:364 #: templates/js/bom.js:205 templates/js/build.js:233 templates/js/build.js:572 -#: templates/js/build.js:1112 templates/js/order.js:393 -#: templates/js/part.js:796 templates/js/stock.js:1164 -#: templates/js/stock.js:1383 +#: templates/js/build.js:1112 templates/js/model_renderers.js:43 +#: templates/js/order.js:460 templates/js/part.js:827 templates/js/part.js:949 +#: templates/js/part.js:1005 templates/js/stock.js:1178 +#: templates/js/stock.js:1397 msgid "Quantity" msgstr "" @@ -501,7 +507,7 @@ msgstr "" msgid "Enter quantity for build output" msgstr "" -#: build/forms.py:95 order/forms.py:244 stock/forms.py:118 +#: build/forms.py:95 order/forms.py:114 stock/forms.py:85 msgid "Serial Numbers" msgstr "" @@ -530,12 +536,12 @@ msgid "Mark build as complete" msgstr "" #: build/forms.py:210 build/templates/build/auto_allocate.html:18 -#: stock/forms.py:347 stock/templates/stock/item_base.html:285 +#: stock/forms.py:314 stock/templates/stock/item_base.html:285 #: stock/templates/stock/stock_adjust.html:17 #: templates/InvenTree/search.html:260 templates/js/barcode.js:363 #: templates/js/barcode.js:531 templates/js/build.js:218 -#: templates/js/build.js:586 templates/js/order.js:378 -#: templates/js/stock.js:643 templates/js/stock.js:1056 +#: templates/js/build.js:586 templates/js/order.js:445 +#: templates/js/stock.js:643 templates/js/stock.js:1070 msgid "Location" msgstr "" @@ -544,13 +550,13 @@ msgid "Location of completed parts" msgstr "" #: build/forms.py:215 build/templates/build/build_base.html:138 -#: build/templates/build/detail.html:59 order/models.py:465 +#: build/templates/build/detail.html:59 order/models.py:545 #: order/templates/order/receive_parts.html:24 #: stock/templates/stock/item_base.html:408 templates/InvenTree/search.html:252 #: templates/js/barcode.js:119 templates/js/build.js:868 -#: templates/js/order.js:187 templates/js/order.js:285 -#: templates/js/stock.js:630 templates/js/stock.js:1133 -#: templates/js/stock.js:1399 +#: templates/js/order.js:249 templates/js/order.js:352 +#: templates/js/stock.js:630 templates/js/stock.js:1147 +#: templates/js/stock.js:1413 msgid "Status" msgstr "" @@ -582,60 +588,60 @@ msgstr "" msgid "Select quantity of stock to allocate" msgstr "" -#: build/models.py:66 build/templates/build/build_base.html:9 +#: build/models.py:70 build/templates/build/build_base.html:9 #: build/templates/build/build_base.html:73 #: report/templates/report/inventree_build_order_base.html:106 #: templates/js/build.js:195 msgid "Build Order" msgstr "" -#: build/models.py:67 build/templates/build/index.html:8 +#: build/models.py:71 build/templates/build/index.html:8 #: build/templates/build/index.html:15 order/templates/order/so_builds.html:12 #: order/templates/order/so_navbar.html:19 #: order/templates/order/so_navbar.html:22 part/templates/part/navbar.html:58 -#: part/templates/part/navbar.html:61 templates/InvenTree/index.html:183 +#: part/templates/part/navbar.html:61 templates/InvenTree/index.html:191 #: templates/InvenTree/search.html:185 -#: templates/InvenTree/settings/tabs.html:34 users/models.py:43 +#: templates/InvenTree/settings/tabs.html:34 users/models.py:44 msgid "Build Orders" msgstr "" -#: build/models.py:127 +#: build/models.py:131 msgid "Build Order Reference" msgstr "" -#: build/models.py:128 order/models.py:98 order/models.py:615 -#: order/templates/order/purchase_order_detail.html:174 -#: order/templates/order/sales_order_detail.html:229 part/models.py:2302 +#: build/models.py:132 order/models.py:242 order/models.py:529 +#: order/models.py:709 order/templates/order/purchase_order_detail.html:201 +#: order/templates/order/sales_order_detail.html:239 part/models.py:2339 #: report/templates/report/inventree_po_report.html:92 #: report/templates/report/inventree_so_report.html:92 templates/js/bom.js:197 #: templates/js/build.js:661 templates/js/build.js:1106 msgid "Reference" msgstr "" -#: build/models.py:138 +#: build/models.py:142 msgid "Brief description of the build" msgstr "" -#: build/models.py:147 build/templates/build/build_base.html:163 +#: build/models.py:151 build/templates/build/build_base.html:163 #: build/templates/build/detail.html:77 msgid "Parent Build" msgstr "" -#: build/models.py:148 +#: build/models.py:152 msgid "BuildOrder to which this build is allocated" msgstr "" -#: build/models.py:153 build/templates/build/auto_allocate.html:16 +#: build/models.py:157 build/templates/build/auto_allocate.html:16 #: build/templates/build/build_base.html:128 -#: build/templates/build/detail.html:26 company/models.py:663 -#: order/models.py:657 order/models.py:712 +#: build/templates/build/detail.html:26 company/models.py:689 +#: order/models.py:755 order/models.py:814 #: order/templates/order/order_wizard/select_parts.html:32 -#: order/templates/order/purchase_order_detail.html:132 +#: order/templates/order/purchase_order_detail.html:159 #: order/templates/order/receive_parts.html:19 -#: order/templates/order/sales_order_detail.html:214 part/models.py:321 -#: part/models.py:1975 part/models.py:1987 part/models.py:2002 -#: part/models.py:2020 part/models.py:2095 part/models.py:2191 -#: part/models.py:2277 part/templates/part/part_app_base.html:8 +#: order/templates/order/sales_order_detail.html:224 part/models.py:325 +#: part/models.py:1988 part/models.py:2004 part/models.py:2023 +#: part/models.py:2041 part/models.py:2120 part/models.py:2224 +#: part/models.py:2314 part/templates/part/part_app_base.html:8 #: part/templates/part/part_pricing.html:12 part/templates/part/related.html:29 #: part/templates/part/set_category.html:13 #: report/templates/report/inventree_build_order_base.html:110 @@ -644,222 +650,222 @@ msgstr "" #: templates/InvenTree/search.html:112 templates/InvenTree/search.html:210 #: templates/js/barcode.js:362 templates/js/bom.js:163 #: templates/js/build.js:552 templates/js/build.js:839 -#: templates/js/build.js:1079 templates/js/company.js:140 -#: templates/js/company.js:339 templates/js/part.js:241 +#: templates/js/build.js:1079 templates/js/company.js:264 +#: templates/js/company.js:464 templates/js/part.js:241 #: templates/js/part.js:404 templates/js/stock.js:526 -#: templates/js/stock.js:1371 +#: templates/js/stock.js:1385 msgid "Part" msgstr "" -#: build/models.py:161 +#: build/models.py:165 msgid "Select part to build" msgstr "" -#: build/models.py:166 +#: build/models.py:170 msgid "Sales Order Reference" msgstr "" -#: build/models.py:170 +#: build/models.py:174 msgid "SalesOrder to which this build is allocated" msgstr "" -#: build/models.py:175 +#: build/models.py:179 msgid "Source Location" msgstr "" -#: build/models.py:179 +#: build/models.py:183 msgid "Select location to take stock from for this build (leave blank to take from any stock location)" msgstr "" -#: build/models.py:184 +#: build/models.py:188 msgid "Destination Location" msgstr "" -#: build/models.py:188 +#: build/models.py:192 msgid "Select location where the completed items will be stored" msgstr "" -#: build/models.py:192 +#: build/models.py:196 msgid "Build Quantity" msgstr "" -#: build/models.py:195 +#: build/models.py:199 msgid "Number of stock items to build" msgstr "" -#: build/models.py:199 +#: build/models.py:203 msgid "Completed items" msgstr "" -#: build/models.py:201 +#: build/models.py:205 msgid "Number of stock items which have been completed" msgstr "" -#: build/models.py:205 part/templates/part/part_base.html:167 +#: build/models.py:209 part/templates/part/part_base.html:167 msgid "Build Status" msgstr "" -#: build/models.py:209 +#: build/models.py:213 msgid "Build status code" msgstr "" -#: build/models.py:213 stock/models.py:462 +#: build/models.py:217 stock/models.py:470 msgid "Batch Code" msgstr "" -#: build/models.py:217 +#: build/models.py:221 msgid "Batch code for this build output" msgstr "" -#: build/models.py:220 order/models.py:104 part/models.py:867 -#: part/templates/part/detail.html:126 templates/js/order.js:293 +#: build/models.py:224 order/models.py:158 part/models.py:876 +#: part/templates/part/detail.html:126 templates/js/order.js:360 msgid "Creation Date" msgstr "" -#: build/models.py:224 order/models.py:471 +#: build/models.py:228 order/models.py:551 msgid "Target completion date" msgstr "" -#: build/models.py:228 order/models.py:217 templates/js/build.js:886 +#: build/models.py:232 order/models.py:284 templates/js/build.js:886 msgid "Completion Date" msgstr "" -#: build/models.py:234 +#: build/models.py:238 msgid "completed by" msgstr "" -#: build/models.py:242 +#: build/models.py:246 msgid "Issued by" msgstr "" -#: build/models.py:243 +#: build/models.py:247 msgid "User who issued this build order" msgstr "" -#: build/models.py:251 build/templates/build/build_base.html:184 -#: build/templates/build/detail.html:105 order/models.py:118 +#: build/models.py:255 build/templates/build/build_base.html:184 +#: build/templates/build/detail.html:105 order/models.py:172 #: order/templates/order/order_base.html:138 -#: order/templates/order/sales_order_base.html:140 part/models.py:871 +#: order/templates/order/sales_order_base.html:140 part/models.py:880 #: report/templates/report/inventree_build_order_base.html:159 msgid "Responsible" msgstr "" -#: build/models.py:252 +#: build/models.py:256 msgid "User responsible for this build order" msgstr "" -#: build/models.py:257 build/templates/build/detail.html:91 +#: build/models.py:261 build/templates/build/detail.html:91 #: company/templates/company/manufacturer_part_base.html:79 #: company/templates/company/manufacturer_part_detail.html:28 #: company/templates/company/supplier_part_base.html:78 #: company/templates/company/supplier_part_detail.html:28 #: part/templates/part/detail.html:83 part/templates/part/part_base.html:94 -#: stock/models.py:456 stock/templates/stock/item_base.html:345 +#: stock/models.py:464 stock/templates/stock/item_base.html:345 msgid "External Link" msgstr "" -#: build/models.py:258 part/models.py:729 stock/models.py:458 +#: build/models.py:262 part/models.py:738 stock/models.py:466 msgid "Link to external URL" msgstr "" -#: build/models.py:262 build/templates/build/navbar.html:53 -#: company/models.py:132 company/models.py:539 +#: build/models.py:266 build/templates/build/navbar.html:53 +#: company/models.py:141 company/models.py:561 #: company/templates/company/navbar.html:70 -#: company/templates/company/navbar.html:73 order/models.py:122 -#: order/models.py:617 order/templates/order/po_navbar.html:38 +#: company/templates/company/navbar.html:73 order/models.py:176 +#: order/models.py:711 order/templates/order/po_navbar.html:38 #: order/templates/order/po_navbar.html:41 -#: order/templates/order/purchase_order_detail.html:243 -#: order/templates/order/sales_order_detail.html:309 +#: order/templates/order/purchase_order_detail.html:270 +#: order/templates/order/sales_order_detail.html:319 #: order/templates/order/so_navbar.html:33 -#: order/templates/order/so_navbar.html:36 part/models.py:856 -#: part/templates/part/navbar.html:145 +#: order/templates/order/so_navbar.html:36 part/models.py:865 +#: part/templates/part/navbar.html:133 #: report/templates/report/inventree_build_order_base.html:173 -#: stock/forms.py:173 stock/forms.py:317 stock/forms.py:349 stock/forms.py:377 -#: stock/models.py:528 stock/models.py:1662 stock/models.py:1764 +#: stock/forms.py:140 stock/forms.py:284 stock/forms.py:316 stock/forms.py:344 +#: stock/models.py:536 stock/models.py:1678 stock/models.py:1784 #: stock/templates/stock/navbar.html:57 templates/js/barcode.js:37 -#: templates/js/bom.js:349 templates/js/stock.js:141 templates/js/stock.js:699 +#: templates/js/bom.js:349 templates/js/stock.js:141 templates/js/stock.js:713 msgid "Notes" msgstr "" -#: build/models.py:263 +#: build/models.py:267 msgid "Extra build notes" msgstr "" -#: build/models.py:740 +#: build/models.py:744 msgid "No build output specified" msgstr "" -#: build/models.py:743 +#: build/models.py:747 msgid "Build output is already completed" msgstr "" -#: build/models.py:746 +#: build/models.py:750 msgid "Build output does not match Build Order" msgstr "" -#: build/models.py:1152 +#: build/models.py:1160 msgid "BuildItem must be unique for build, stock_item and install_into" msgstr "" -#: build/models.py:1177 +#: build/models.py:1185 msgid "Build item must specify a build output, as master part is marked as trackable" msgstr "" -#: build/models.py:1181 +#: build/models.py:1189 #, python-brace-format msgid "Allocated quantity ({n}) must not exceed available quantity ({q})" msgstr "" -#: build/models.py:1188 order/models.py:809 +#: build/models.py:1196 order/models.py:915 msgid "StockItem is over-allocated" msgstr "" -#: build/models.py:1192 order/models.py:812 +#: build/models.py:1200 order/models.py:918 msgid "Allocation quantity must be greater than zero" msgstr "" -#: build/models.py:1196 +#: build/models.py:1204 msgid "Quantity must be 1 for serialized stock" msgstr "" -#: build/models.py:1256 +#: build/models.py:1264 #, python-brace-format msgid "Selected stock item not found in BOM for part '{p}'" msgstr "" -#: build/models.py:1316 stock/templates/stock/item_base.html:317 +#: build/models.py:1324 stock/templates/stock/item_base.html:317 #: templates/InvenTree/search.html:183 templates/js/build.js:812 #: templates/navbar.html:29 msgid "Build" msgstr "" -#: build/models.py:1317 +#: build/models.py:1325 msgid "Build to allocate parts" msgstr "" -#: build/models.py:1333 stock/templates/stock/item_base.html:8 +#: build/models.py:1341 stock/templates/stock/item_base.html:8 #: stock/templates/stock/item_base.html:31 #: stock/templates/stock/item_base.html:339 #: stock/templates/stock/stock_adjust.html:16 templates/js/build.js:206 #: templates/js/build.js:211 templates/js/build.js:929 -#: templates/js/order.js:366 templates/js/order.js:371 -#: templates/js/stock.js:1115 +#: templates/js/order.js:433 templates/js/order.js:438 +#: templates/js/stock.js:1129 msgid "Stock Item" msgstr "" -#: build/models.py:1334 +#: build/models.py:1342 msgid "Source stock item" msgstr "" -#: build/models.py:1347 +#: build/models.py:1355 msgid "Stock quantity to allocate to build" msgstr "" -#: build/models.py:1355 +#: build/models.py:1363 msgid "Install into" msgstr "" -#: build/models.py:1356 +#: build/models.py:1364 msgid "Destination stock item" msgstr "" @@ -893,7 +899,7 @@ msgstr "" #: build/templates/build/allocate.html:30 #: company/templates/company/detail_manufacturer_part.html:33 -#: company/templates/company/detail_supplier_part.html:32 order/views.py:992 +#: company/templates/company/detail_supplier_part.html:32 order/views.py:724 #: part/templates/part/category.html:136 msgid "Order Parts" msgstr "" @@ -912,23 +918,52 @@ msgstr "" #: build/templates/build/allocation_card.html:21 #: build/templates/build/complete_output.html:46 -#: order/templates/order/sales_order_detail.html:75 -#: order/templates/order/sales_order_detail.html:160 +#: order/templates/order/sales_order_detail.html:85 +#: order/templates/order/sales_order_detail.html:170 #: report/templates/report/inventree_test_report_base.html:75 -#: stock/models.py:450 stock/templates/stock/item_base.html:249 -#: templates/js/build.js:570 +#: stock/models.py:458 stock/templates/stock/item_base.html:249 +#: templates/js/build.js:570 templates/js/model_renderers.js:41 msgid "Serial Number" msgstr "" #: build/templates/build/attachments.html:12 #: build/templates/build/navbar.html:43 build/templates/build/navbar.html:46 #: order/templates/order/po_navbar.html:35 -#: order/templates/order/so_navbar.html:29 part/templates/part/navbar.html:136 -#: part/templates/part/navbar.html:139 stock/templates/stock/navbar.html:47 +#: order/templates/order/so_navbar.html:29 part/templates/part/navbar.html:124 +#: part/templates/part/navbar.html:127 stock/templates/stock/navbar.html:47 #: stock/templates/stock/navbar.html:50 msgid "Attachments" msgstr "" +#: build/templates/build/attachments.html:51 +#: order/templates/order/so_attachments.html:79 +#: part/templates/part/attachments.html:81 +#: stock/templates/stock/item_attachments.html:81 +#: templates/attachment_table.html:6 +msgid "Add Attachment" +msgstr "" + +#: build/templates/build/attachments.html:69 +#: order/templates/order/so_attachments.html:52 +#: part/templates/part/attachments.html:35 +#: stock/templates/stock/item_attachments.html:49 +msgid "Edit Attachment" +msgstr "" + +#: build/templates/build/attachments.html:76 +#: order/templates/order/so_attachments.html:58 +#: part/templates/part/attachments.html:44 +#: stock/templates/stock/item_attachments.html:58 +msgid "Confirm Delete Operation" +msgstr "" + +#: build/templates/build/attachments.html:77 +#: order/templates/order/so_attachments.html:59 +#: part/templates/part/attachments.html:45 +#: stock/templates/stock/item_attachments.html:59 +msgid "Delete Attachment" +msgstr "" + #: build/templates/build/auto_allocate.html:9 msgid "Automatically Allocate Stock" msgstr "" @@ -989,8 +1024,8 @@ msgstr "" #: order/templates/order/order_base.html:86 #: order/templates/order/sales_order_base.html:43 #: order/templates/order/sales_order_base.html:88 -#: templates/js/table_filters.js:245 templates/js/table_filters.js:264 -#: templates/js/table_filters.js:281 +#: templates/js/table_filters.js:250 templates/js/table_filters.js:269 +#: templates/js/table_filters.js:286 msgid "Overdue" msgstr "" @@ -1036,13 +1071,13 @@ msgid "Progress" msgstr "" #: build/templates/build/build_base.html:170 -#: build/templates/build/detail.html:84 order/models.py:710 +#: build/templates/build/detail.html:84 order/models.py:812 #: order/templates/order/sales_order_base.html:9 #: order/templates/order/sales_order_base.html:35 #: order/templates/order/sales_order_ship.html:25 #: report/templates/report/inventree_build_order_base.html:136 #: report/templates/report/inventree_so_report.html:77 -#: stock/templates/stock/item_base.html:279 templates/js/order.js:245 +#: stock/templates/stock/item_base.html:279 templates/js/order.js:307 msgid "Sales Order" msgstr "" @@ -1183,10 +1218,10 @@ msgstr "" msgid "Stock can be taken from any available location." msgstr "" -#: build/templates/build/detail.html:46 order/forms.py:89 order/models.py:673 -#: order/templates/order/purchase_order_detail.html:239 -#: order/templates/order/receive_parts.html:25 stock/forms.py:169 -#: stock/forms.py:375 +#: build/templates/build/detail.html:46 order/forms.py:88 order/models.py:771 +#: order/templates/order/purchase_order_detail.html:266 +#: order/templates/order/receive_parts.html:25 stock/forms.py:136 +#: stock/forms.py:342 msgid "Destination" msgstr "" @@ -1196,7 +1231,7 @@ msgstr "" #: build/templates/build/detail.html:70 #: stock/templates/stock/item_base.html:303 templates/js/stock.js:638 -#: templates/js/stock.js:1406 templates/js/table_filters.js:112 +#: templates/js/stock.js:1420 templates/js/table_filters.js:112 #: templates/js/table_filters.js:206 msgid "Batch" msgstr "" @@ -1251,7 +1286,7 @@ msgstr "" #: company/templates/company/navbar.html:15 #: order/templates/order/po_navbar.html:15 #: order/templates/order/so_navbar.html:15 part/templates/part/navbar.html:18 -#: templates/js/stock.js:1044 +#: templates/js/stock.js:1058 msgid "Details" msgstr "" @@ -1287,7 +1322,6 @@ msgstr "" #: order/templates/order/order_notes.html:27 #: order/templates/order/sales_order_notes.html:29 #: part/templates/part/notes.html:27 stock/templates/stock/item_base.html:487 -#: stock/templates/stock/item_base.html:497 #: stock/templates/stock/item_notes.html:26 msgid "Save" msgstr "" @@ -1316,7 +1350,7 @@ msgstr "" msgid "Maximum output quantity is " msgstr "" -#: build/views.py:184 stock/views.py:1821 +#: build/views.py:184 stock/views.py:1653 msgid "Serial numbers already exist" msgstr "" @@ -1332,7 +1366,7 @@ msgstr "" msgid "Confirm unallocation of build stock" msgstr "" -#: build/views.py:281 build/views.py:371 stock/views.py:425 +#: build/views.py:281 build/views.py:371 stock/views.py:346 msgid "Check the confirmation box" msgstr "" @@ -1429,31 +1463,6 @@ msgstr "" msgid "Updated Build Item" msgstr "" -#: build/views.py:1070 -msgid "Add Build Order Attachment" -msgstr "" - -#: build/views.py:1083 order/views.py:117 order/views.py:169 part/views.py:178 -#: stock/views.py:277 -msgid "Added attachment" -msgstr "" - -#: build/views.py:1119 order/views.py:196 order/views.py:217 -msgid "Edit Attachment" -msgstr "" - -#: build/views.py:1129 order/views.py:200 order/views.py:221 -msgid "Attachment updated" -msgstr "" - -#: build/views.py:1139 order/views.py:236 order/views.py:250 -msgid "Delete Attachment" -msgstr "" - -#: build/views.py:1144 order/views.py:242 order/views.py:256 stock/views.py:333 -msgid "Deleted attachment" -msgstr "" - #: common/files.py:66 msgid "Unsupported file format: {ext.upper()}" msgstr "" @@ -1470,7 +1479,7 @@ msgstr "" msgid "Error reading file (data could be corrupted)" msgstr "" -#: common/forms.py:34 templates/attachment_table.html:15 +#: common/forms.py:34 templates/js/attachment.js:42 msgid "File" msgstr "" @@ -1503,7 +1512,7 @@ msgstr "" msgid "Use the instance name in the title-bar" msgstr "" -#: common/models.py:72 company/models.py:94 company/models.py:95 +#: common/models.py:72 company/models.py:99 company/models.py:100 msgid "Company name" msgstr "" @@ -1607,9 +1616,9 @@ msgstr "" msgid "Number of recent parts to display on index page" msgstr "" -#: common/models.py:160 part/models.py:2193 part/templates/part/detail.html:160 -#: report/models.py:186 stock/forms.py:259 templates/js/table_filters.js:25 -#: templates/js/table_filters.js:315 +#: common/models.py:160 part/models.py:2226 part/templates/part/detail.html:160 +#: report/models.py:186 stock/forms.py:226 templates/js/table_filters.js:25 +#: templates/js/table_filters.js:320 msgid "Template" msgstr "" @@ -1617,8 +1626,8 @@ msgstr "" msgid "Parts are templates by default" msgstr "" -#: common/models.py:167 part/models.py:819 part/templates/part/detail.html:170 -#: templates/js/table_filters.js:128 templates/js/table_filters.js:327 +#: common/models.py:167 part/models.py:828 part/templates/part/detail.html:170 +#: templates/js/table_filters.js:128 templates/js/table_filters.js:332 msgid "Assembly" msgstr "" @@ -1626,8 +1635,8 @@ msgstr "" msgid "Parts can be assembled from other components by default" msgstr "" -#: common/models.py:174 part/models.py:825 part/templates/part/detail.html:180 -#: templates/js/table_filters.js:331 +#: common/models.py:174 part/models.py:834 part/templates/part/detail.html:180 +#: templates/js/table_filters.js:336 msgid "Component" msgstr "" @@ -1635,7 +1644,7 @@ msgstr "" msgid "Parts can be used as sub-components by default" msgstr "" -#: common/models.py:181 part/models.py:836 part/templates/part/detail.html:200 +#: common/models.py:181 part/models.py:845 part/templates/part/detail.html:200 msgid "Purchaseable" msgstr "" @@ -1643,8 +1652,8 @@ msgstr "" msgid "Parts are purchaseable by default" msgstr "" -#: common/models.py:188 part/models.py:841 part/templates/part/detail.html:210 -#: templates/js/table_filters.js:339 +#: common/models.py:188 part/models.py:850 part/templates/part/detail.html:210 +#: templates/js/table_filters.js:344 msgid "Salable" msgstr "" @@ -1652,8 +1661,8 @@ msgstr "" msgid "Parts are salable by default" msgstr "" -#: common/models.py:195 part/models.py:831 part/templates/part/detail.html:190 -#: templates/js/table_filters.js:33 templates/js/table_filters.js:343 +#: common/models.py:195 part/models.py:840 part/templates/part/detail.html:190 +#: templates/js/table_filters.js:33 templates/js/table_filters.js:348 msgid "Trackable" msgstr "" @@ -1661,7 +1670,7 @@ msgstr "" msgid "Parts are trackable by default" msgstr "" -#: common/models.py:202 part/models.py:851 part/templates/part/detail.html:150 +#: common/models.py:202 part/models.py:860 part/templates/part/detail.html:150 #: templates/js/table_filters.js:29 msgid "Virtual" msgstr "" @@ -1858,13 +1867,12 @@ msgstr "" msgid "Key string must be unique" msgstr "" -#: common/models.py:742 company/forms.py:190 +#: common/models.py:742 company/forms.py:125 msgid "Price break quantity" msgstr "" -#: common/models.py:749 company/templates/company/supplier_part_pricing.html:82 -#: part/templates/part/internal_prices.html:103 -#: part/templates/part/sale_prices.html:90 +#: common/models.py:749 company/templates/company/supplier_part_pricing.html:84 +#: templates/js/part.js:832 msgid "Price" msgstr "" @@ -1894,16 +1902,16 @@ msgstr "" #: common/views.py:184 order/templates/order/order_wizard/po_upload.html:42 #: order/templates/order/po_navbar.html:19 -#: order/templates/order/po_navbar.html:22 order/views.py:605 +#: order/templates/order/po_navbar.html:22 order/views.py:337 #: part/templates/part/bom_upload/upload_file.html:27 -#: part/templates/part/import_wizard/part_upload.html:45 part/views.py:761 +#: part/templates/part/import_wizard/part_upload.html:45 part/views.py:621 msgid "Upload File" msgstr "" #: common/views.py:185 order/templates/order/order_wizard/match_fields.html:52 -#: order/views.py:606 part/templates/part/bom_upload/select_fields.html:58 +#: order/views.py:338 part/templates/part/bom_upload/select_fields.html:58 #: part/templates/part/import_wizard/ajax_match_fields.html:45 -#: part/templates/part/import_wizard/match_fields.html:52 part/views.py:762 +#: part/templates/part/import_wizard/match_fields.html:52 part/views.py:622 msgid "Match Fields" msgstr "" @@ -1928,269 +1936,277 @@ msgstr "" msgid "Previous Step" msgstr "" -#: company/forms.py:37 company/models.py:142 -#: company/templates/company/detail.html:42 -msgid "Currency" -msgstr "" - -#: company/forms.py:38 company/models.py:144 -msgid "Default currency used for this company" -msgstr "" - -#: company/forms.py:76 part/forms.py:46 +#: company/forms.py:26 part/forms.py:46 msgid "URL" msgstr "" -#: company/forms.py:77 part/forms.py:47 +#: company/forms.py:27 part/forms.py:47 msgid "Image URL" msgstr "" -#: company/forms.py:132 templates/js/part.js:787 +#: company/forms.py:67 templates/js/part.js:940 msgid "Single Price" msgstr "" -#: company/forms.py:133 +#: company/forms.py:68 msgid "Single quantity price" msgstr "" -#: company/forms.py:141 company/models.py:321 +#: company/forms.py:76 company/models.py:335 msgid "Select manufacturer" msgstr "" -#: company/forms.py:147 company/models.py:328 +#: company/forms.py:82 company/models.py:342 msgid "Manufacturer Part Number" msgstr "" -#: company/forms.py:149 company/models.py:327 +#: company/forms.py:84 company/models.py:341 #: company/templates/company/manufacturer_part_base.html:89 #: company/templates/company/manufacturer_part_detail.html:26 #: company/templates/company/supplier_part_base.html:102 #: company/templates/company/supplier_part_detail.html:35 -#: order/templates/order/purchase_order_detail.html:162 part/bom.py:171 -#: part/bom.py:242 templates/js/company.js:181 templates/js/company.js:408 +#: order/templates/order/purchase_order_detail.html:189 part/bom.py:171 +#: part/bom.py:242 templates/js/company.js:305 templates/js/company.js:533 msgid "MPN" msgstr "" -#: company/models.py:99 +#: company/models.py:104 msgid "Company description" msgstr "" -#: company/models.py:100 +#: company/models.py:105 msgid "Description of the company" msgstr "" -#: company/models.py:104 company/templates/company/company_base.html:70 -#: company/templates/company/detail.html:33 templates/js/company.js:60 +#: company/models.py:111 company/templates/company/company_base.html:70 +#: company/templates/company/detail.html:33 templates/js/company.js:129 msgid "Website" msgstr "" -#: company/models.py:104 +#: company/models.py:112 msgid "Company website URL" msgstr "" -#: company/models.py:107 company/templates/company/company_base.html:77 +#: company/models.py:116 company/templates/company/company_base.html:77 msgid "Address" msgstr "" -#: company/models.py:108 +#: company/models.py:117 msgid "Company address" msgstr "" -#: company/models.py:111 +#: company/models.py:120 msgid "Phone number" msgstr "" -#: company/models.py:112 +#: company/models.py:121 msgid "Contact phone number" msgstr "" -#: company/models.py:115 company/templates/company/company_base.html:91 +#: company/models.py:124 company/templates/company/company_base.html:91 msgid "Email" msgstr "" -#: company/models.py:115 +#: company/models.py:124 msgid "Contact email address" msgstr "" -#: company/models.py:118 company/templates/company/company_base.html:98 +#: company/models.py:127 company/templates/company/company_base.html:98 msgid "Contact" msgstr "" -#: company/models.py:119 +#: company/models.py:128 msgid "Point of contact" msgstr "" -#: company/models.py:121 company/models.py:333 company/models.py:526 -#: order/models.py:102 part/models.py:728 +#: company/models.py:130 company/models.py:347 company/models.py:548 +#: order/models.py:156 part/models.py:737 #: report/templates/report/inventree_build_order_base.html:165 -#: templates/js/company.js:188 templates/js/company.js:419 +#: templates/js/company.js:312 templates/js/company.js:544 #: templates/js/part.js:498 msgid "Link" msgstr "" -#: company/models.py:121 +#: company/models.py:130 msgid "Link to external company information" msgstr "" -#: company/models.py:129 part/models.py:738 +#: company/models.py:138 part/models.py:747 msgid "Image" msgstr "" -#: company/models.py:134 +#: company/models.py:143 msgid "is customer" msgstr "" -#: company/models.py:134 +#: company/models.py:143 msgid "Do you sell items to this company?" msgstr "" -#: company/models.py:136 +#: company/models.py:145 msgid "is supplier" msgstr "" -#: company/models.py:136 +#: company/models.py:145 msgid "Do you purchase items from this company?" msgstr "" -#: company/models.py:138 +#: company/models.py:147 msgid "is manufacturer" msgstr "" -#: company/models.py:138 +#: company/models.py:147 msgid "Does this company manufacture parts?" msgstr "" -#: company/models.py:305 company/models.py:497 stock/models.py:403 +#: company/models.py:151 company/serializers.py:259 +#: company/templates/company/detail.html:42 +msgid "Currency" +msgstr "" + +#: company/models.py:154 +msgid "Default currency used for this company" +msgstr "" + +#: company/models.py:319 company/models.py:519 stock/models.py:411 #: stock/templates/stock/item_base.html:235 msgid "Base Part" msgstr "" -#: company/models.py:309 company/models.py:501 order/views.py:1603 +#: company/models.py:323 company/models.py:523 order/views.py:1127 msgid "Select part" msgstr "" -#: company/models.py:320 company/templates/company/detail.html:57 +#: company/models.py:334 company/templates/company/detail.html:57 #: company/templates/company/manufacturer_part_base.html:85 #: company/templates/company/manufacturer_part_detail.html:25 #: company/templates/company/supplier_part_base.html:94 #: company/templates/company/supplier_part_detail.html:34 part/bom.py:170 #: part/bom.py:241 stock/templates/stock/item_base.html:352 -#: templates/js/company.js:44 templates/js/company.js:165 -#: templates/js/company.js:390 +#: templates/js/company.js:113 templates/js/company.js:289 +#: templates/js/company.js:515 msgid "Manufacturer" msgstr "" -#: company/models.py:334 +#: company/models.py:348 msgid "URL for external manufacturer part link" msgstr "" -#: company/models.py:340 +#: company/models.py:354 msgid "Manufacturer part description" msgstr "" -#: company/models.py:390 company/models.py:520 +#: company/models.py:408 company/models.py:542 #: company/templates/company/manufacturer_part_base.html:6 #: company/templates/company/manufacturer_part_base.html:19 #: stock/templates/stock/item_base.html:362 msgid "Manufacturer Part" msgstr "" -#: company/models.py:397 +#: company/models.py:415 msgid "Parameter name" msgstr "" -#: company/models.py:403 part/templates/part/params.html:28 +#: company/models.py:421 part/templates/part/params.html:28 #: report/templates/report/inventree_test_report_base.html:90 -#: stock/models.py:1751 templates/InvenTree/settings/header.html:8 -#: templates/js/company.js:241 templates/js/stock.js:137 +#: stock/models.py:1771 templates/InvenTree/settings/header.html:8 +#: templates/js/company.js:365 templates/js/stock.js:137 msgid "Value" msgstr "" -#: company/models.py:404 +#: company/models.py:422 msgid "Parameter value" msgstr "" -#: company/models.py:410 part/models.py:813 part/models.py:2165 +#: company/models.py:428 part/models.py:822 part/models.py:2194 #: part/templates/part/detail.html:106 part/templates/part/params.html:29 -#: templates/js/company.js:247 +#: templates/js/company.js:371 msgid "Units" msgstr "" -#: company/models.py:411 +#: company/models.py:429 msgid "Parameter units" msgstr "" -#: company/models.py:507 company/templates/company/detail.html:62 +#: company/models.py:529 company/templates/company/detail.html:62 #: company/templates/company/supplier_part_base.html:84 -#: company/templates/company/supplier_part_detail.html:25 order/models.py:189 +#: company/templates/company/supplier_part_detail.html:25 order/models.py:256 #: order/templates/order/order_base.html:92 #: order/templates/order/order_wizard/select_pos.html:30 part/bom.py:175 #: part/bom.py:286 stock/templates/stock/item_base.html:369 -#: templates/js/company.js:48 templates/js/company.js:364 -#: templates/js/order.js:170 +#: templates/js/company.js:117 templates/js/company.js:489 +#: templates/js/order.js:232 msgid "Supplier" msgstr "" -#: company/models.py:508 +#: company/models.py:530 msgid "Select supplier" msgstr "" -#: company/models.py:513 company/templates/company/supplier_part_base.html:88 +#: company/models.py:535 company/templates/company/supplier_part_base.html:88 #: company/templates/company/supplier_part_detail.html:26 -#: order/templates/order/purchase_order_detail.html:153 part/bom.py:176 +#: order/templates/order/purchase_order_detail.html:180 part/bom.py:176 #: part/bom.py:287 msgid "SKU" msgstr "" -#: company/models.py:514 +#: company/models.py:536 msgid "Supplier stock keeping unit" msgstr "" -#: company/models.py:521 +#: company/models.py:543 msgid "Select manufacturer part" msgstr "" -#: company/models.py:527 +#: company/models.py:549 msgid "URL for external supplier part link" msgstr "" -#: company/models.py:533 +#: company/models.py:555 msgid "Supplier part description" msgstr "" -#: company/models.py:538 company/templates/company/supplier_part_base.html:116 -#: company/templates/company/supplier_part_detail.html:38 part/models.py:2305 +#: company/models.py:560 company/templates/company/supplier_part_base.html:116 +#: company/templates/company/supplier_part_detail.html:38 part/models.py:2342 #: report/templates/report/inventree_po_report.html:93 #: report/templates/report/inventree_so_report.html:93 msgid "Note" msgstr "" -#: company/models.py:542 part/models.py:1606 +#: company/models.py:564 part/models.py:1615 msgid "base cost" msgstr "" -#: company/models.py:542 part/models.py:1606 +#: company/models.py:564 part/models.py:1615 msgid "Minimum charge (e.g. stocking fee)" msgstr "" -#: company/models.py:544 company/templates/company/supplier_part_base.html:109 -#: stock/models.py:427 stock/templates/stock/item_base.html:310 -#: templates/js/stock.js:695 +#: company/models.py:566 company/templates/company/supplier_part_base.html:109 +#: stock/models.py:435 stock/templates/stock/item_base.html:310 +#: templates/js/stock.js:709 msgid "Packaging" msgstr "" -#: company/models.py:544 +#: company/models.py:566 msgid "Part packaging" msgstr "" -#: company/models.py:546 part/models.py:1608 +#: company/models.py:568 part/models.py:1617 msgid "multiple" msgstr "" -#: company/models.py:546 +#: company/models.py:568 msgid "Order multiple" msgstr "" +#: company/serializers.py:68 +msgid "Default currency used for this supplier" +msgstr "" + +#: company/serializers.py:69 +msgid "Currency Code" +msgstr "" + #: company/templates/company/assigned_stock.html:10 #: company/templates/company/navbar.html:62 #: company/templates/company/navbar.html:65 templates/js/build.js:563 @@ -2199,7 +2215,7 @@ msgstr "" #: company/templates/company/company_base.html:9 #: company/templates/company/company_base.html:35 -#: templates/InvenTree/search.html:304 templates/js/company.js:33 +#: templates/InvenTree/search.html:304 templates/js/company.js:102 msgid "Company" msgstr "" @@ -2213,7 +2229,7 @@ msgstr "" msgid "Download image from URL" msgstr "" -#: company/templates/company/company_base.html:46 order/views.py:313 +#: company/templates/company/company_base.html:46 templates/js/order.js:61 msgid "Create Purchase Order" msgstr "" @@ -2221,7 +2237,8 @@ msgstr "" msgid "Edit company information" msgstr "" -#: company/templates/company/company_base.html:56 company/views.py:326 +#: company/templates/company/company_base.html:56 +#: company/templates/company/company_base.html:126 msgid "Delete Company" msgstr "" @@ -2235,15 +2252,9 @@ msgstr "" msgid "Phone" msgstr "" -#: company/templates/company/delete.html:7 -#, python-format -msgid "Are you sure you want to delete company '%(name)s'?" -msgstr "" - -#: company/templates/company/delete.html:12 -#, python-format -msgid "There are %(count)s parts sourced from this company.
\n" -"If this supplier is deleted, these supplier part entries will also be deleted." +#: company/templates/company/company_base.html:166 +#: part/templates/part/part_base.html:307 +msgid "Upload Image" msgstr "" #: company/templates/company/detail.html:21 @@ -2258,11 +2269,11 @@ msgstr "" msgid "Uses default currency" msgstr "" -#: company/templates/company/detail.html:67 order/models.py:460 -#: order/templates/order/sales_order_base.html:94 stock/models.py:445 -#: stock/models.py:446 stock/templates/stock/item_base.html:262 -#: templates/js/company.js:40 templates/js/order.js:267 -#: templates/js/stock.js:1097 +#: company/templates/company/detail.html:67 order/models.py:540 +#: order/templates/order/sales_order_base.html:94 stock/models.py:453 +#: stock/models.py:454 stock/templates/stock/item_base.html:262 +#: templates/js/company.js:109 templates/js/order.js:329 +#: templates/js/stock.js:1111 msgid "Customer" msgstr "" @@ -2283,6 +2294,7 @@ msgstr "" #: company/templates/company/detail_manufacturer_part.html:28 #: company/templates/company/detail_supplier_part.html:27 #: company/templates/company/manufacturer_part_suppliers.html:20 +#: company/templates/company/manufacturer_part_suppliers.html:46 #: part/templates/part/category.html:131 #: part/templates/part/manufacturer.html:22 #: part/templates/part/supplier.html:20 @@ -2305,26 +2317,25 @@ msgstr "" msgid "Delete Parts" msgstr "" -#: company/templates/company/detail_manufacturer_part.html:66 +#: company/templates/company/detail_manufacturer_part.html:68 #: company/templates/company/detail_supplier_part.html:66 #: part/templates/part/bom.html:159 part/templates/part/category.html:127 -#: templates/js/stock.js:1312 +#: templates/js/stock.js:1326 msgid "New Part" msgstr "" -#: company/templates/company/detail_manufacturer_part.html:67 +#: company/templates/company/detail_manufacturer_part.html:69 #: company/templates/company/detail_supplier_part.html:67 msgid "Create new Part" msgstr "" -#: company/templates/company/detail_manufacturer_part.html:72 -#: company/views.py:71 part/templates/part/manufacturer.html:52 -#: part/templates/part/supplier.html:56 +#: company/templates/company/detail_manufacturer_part.html:74 +#: company/views.py:66 part/templates/part/manufacturer.html:52 +#: part/templates/part/supplier.html:55 msgid "New Manufacturer" msgstr "" -#: company/templates/company/detail_manufacturer_part.html:73 -#: company/views.py:284 +#: company/templates/company/detail_manufacturer_part.html:75 msgid "Create new Manufacturer" msgstr "" @@ -2335,7 +2346,7 @@ msgstr "" #: company/templates/company/detail_stock.html:37 #: company/templates/company/supplier_part_stock.html:34 #: part/templates/part/category.html:123 part/templates/part/category.html:137 -#: part/templates/part/stock.html:54 stock/templates/stock/location.html:163 +#: part/templates/part/stock.html:55 stock/templates/stock/location.html:163 msgid "Export" msgstr "" @@ -2347,26 +2358,24 @@ msgstr "" #: company/templates/company/detail_supplier_part.html:21 #: order/templates/order/order_wizard/select_parts.html:44 -#: order/templates/order/purchase_order_detail.html:50 +#: part/templates/part/part_base.html:429 msgid "Create new supplier part" msgstr "" #: company/templates/company/detail_supplier_part.html:22 #: company/templates/company/manufacturer_part_suppliers.html:17 -#: order/templates/order/purchase_order_detail.html:49 -#: part/templates/part/supplier.html:17 templates/js/stock.js:1318 +#: part/templates/part/part_base.html:428 part/templates/part/supplier.html:17 +#: templates/js/stock.js:1332 msgid "New Supplier Part" msgstr "" #: company/templates/company/detail_supplier_part.html:72 -#: company/templates/company/manufacturer_part_suppliers.html:82 -#: company/views.py:64 order/templates/order/purchase_orders.html:185 -#: part/templates/part/supplier.html:50 +#: company/templates/company/manufacturer_part_suppliers.html:96 +#: company/views.py:60 part/templates/part/supplier.html:50 msgid "New Supplier" msgstr "" -#: company/templates/company/detail_supplier_part.html:73 company/views.py:281 -#: order/templates/order/purchase_orders.html:186 +#: company/templates/company/detail_supplier_part.html:73 msgid "Create new Supplier" msgstr "" @@ -2401,20 +2410,19 @@ msgstr "" msgid "Internal Part" msgstr "" -#: company/templates/company/manufacturer_part_delete.html:6 -msgid "Are you sure you want to delete the following Manufacturer Parts?" +#: company/templates/company/manufacturer_part_base.html:125 +msgid "Edit Manufacturer Part" msgstr "" -#: company/templates/company/manufacturer_part_delete.html:36 -#, python-format -msgid "There are %(count)s suppliers defined for this manufacturer part. If you delete it, the following supplier parts will also be deleted:" +#: company/templates/company/manufacturer_part_base.html:134 +msgid "Delete Manufacturer Part" msgstr "" #: company/templates/company/manufacturer_part_navbar.html:14 #: company/templates/company/manufacturer_part_suppliers.html:10 -#: company/views.py:63 part/templates/part/navbar.html:87 -#: part/templates/part/navbar.html:90 templates/InvenTree/search.html:316 -#: templates/navbar.html:35 +#: company/views.py:59 part/templates/part/navbar.html:87 +#: part/templates/part/navbar.html:90 part/templates/part/prices.html:153 +#: templates/InvenTree/search.html:316 templates/navbar.html:35 msgid "Suppliers" msgstr "" @@ -2425,7 +2433,7 @@ msgstr "" #: company/templates/company/manufacturer_part_navbar.html:22 #: company/templates/company/navbar.html:41 #: company/templates/company/supplier_part_navbar.html:15 -#: part/templates/part/navbar.html:39 stock/api.py:54 +#: part/templates/part/navbar.html:39 stock/api.py:53 #: stock/templates/stock/loc_link.html:7 stock/templates/stock/location.html:36 #: stock/templates/stock/stock_app_base.html:10 #: templates/InvenTree/index.html:128 templates/InvenTree/search.html:196 @@ -2451,9 +2459,11 @@ msgid "Delete supplier parts" msgstr "" #: company/templates/company/manufacturer_part_suppliers.html:22 +#: company/templates/company/manufacturer_part_suppliers.html:48 +#: company/templates/company/manufacturer_part_suppliers.html:142 #: part/templates/part/manufacturer.html:24 part/templates/part/params.html:44 #: part/templates/part/related.html:44 part/templates/part/supplier.html:22 -#: stock/views.py:1002 users/models.py:191 +#: stock/views.py:855 templates/js/company.js:203 users/models.py:192 msgid "Delete" msgstr "" @@ -2471,11 +2481,27 @@ msgstr "" msgid "New Parameter" msgstr "" -#: company/templates/company/manufacturer_part_suppliers.html:83 +#: company/templates/company/manufacturer_part_suppliers.html:48 +msgid "Delete parameters" +msgstr "" + +#: company/templates/company/manufacturer_part_suppliers.html:80 +msgid "Add Parameter" +msgstr "" + +#: company/templates/company/manufacturer_part_suppliers.html:97 #: part/templates/part/supplier.html:51 msgid "Create new supplier" msgstr "" +#: company/templates/company/manufacturer_part_suppliers.html:127 +msgid "Selected parameters will be deleted" +msgstr "" + +#: company/templates/company/manufacturer_part_suppliers.html:139 +msgid "Delete Parameters" +msgstr "" + #: company/templates/company/navbar.html:20 #: company/templates/company/navbar.html:23 msgid "Manufactured Parts" @@ -2492,8 +2518,8 @@ msgstr "" #: stock/templates/stock/location.html:136 #: stock/templates/stock/location_navbar.html:22 #: stock/templates/stock/location_navbar.html:29 -#: templates/InvenTree/search.html:198 templates/js/stock.js:996 -#: templates/stats.html:93 templates/stats.html:102 users/models.py:42 +#: templates/InvenTree/search.html:198 templates/js/stock.js:1010 +#: templates/stats.html:93 templates/stats.html:102 users/models.py:43 msgid "Stock Items" msgstr "" @@ -2503,11 +2529,11 @@ msgstr "" #: company/templates/company/sales_orders.html:11 #: order/templates/order/sales_orders.html:8 #: order/templates/order/sales_orders.html:13 -#: part/templates/part/navbar.html:113 part/templates/part/navbar.html:116 -#: part/templates/part/sales_orders.html:10 templates/InvenTree/index.html:228 +#: part/templates/part/navbar.html:101 part/templates/part/navbar.html:104 +#: part/templates/part/sales_orders.html:10 templates/InvenTree/index.html:236 #: templates/InvenTree/search.html:345 #: templates/InvenTree/settings/tabs.html:40 templates/navbar.html:46 -#: users/models.py:45 +#: users/models.py:46 msgid "Sales Orders" msgstr "" @@ -2516,10 +2542,10 @@ msgstr "" #: order/templates/order/purchase_orders.html:8 #: order/templates/order/purchase_orders.html:13 #: part/templates/part/navbar.html:93 part/templates/part/navbar.html:96 -#: part/templates/part/orders.html:10 templates/InvenTree/index.html:205 +#: part/templates/part/orders.html:10 templates/InvenTree/index.html:213 #: templates/InvenTree/search.html:325 #: templates/InvenTree/settings/tabs.html:37 templates/navbar.html:37 -#: users/models.py:44 +#: users/models.py:45 msgid "Purchase Orders" msgstr "" @@ -2548,8 +2574,9 @@ msgid "New Sales Order" msgstr "" #: company/templates/company/supplier_part_base.html:7 -#: company/templates/company/supplier_part_base.html:20 stock/models.py:412 -#: stock/templates/stock/item_base.html:374 templates/js/company.js:380 +#: company/templates/company/supplier_part_base.html:20 stock/models.py:420 +#: stock/templates/stock/item_base.html:374 templates/js/company.js:505 +#: templates/js/stock.js:690 msgid "Supplier Part" msgstr "" @@ -2594,459 +2621,401 @@ msgid "Order Part" msgstr "" #: company/templates/company/supplier_part_pricing.html:11 +#: part/templates/part/navbar.html:74 msgid "Pricing Information" msgstr "" -#: company/templates/company/supplier_part_pricing.html:19 company/views.py:855 -#: part/templates/part/sale_prices.html:17 part/views.py:2918 +#: company/templates/company/supplier_part_pricing.html:19 +#: company/templates/company/supplier_part_pricing.html:118 +#: part/templates/part/prices.html:264 part/views.py:2788 msgid "Add Price Break" msgstr "" #: company/templates/company/supplier_part_pricing.html:38 -#: part/templates/part/sale_prices.html:46 msgid "No price break information found" msgstr "" -#: company/templates/company/supplier_part_pricing.html:89 -#: part/templates/part/sale_prices.html:97 +#: company/templates/company/supplier_part_pricing.html:52 part/views.py:2850 +msgid "Delete Price Break" +msgstr "" + +#: company/templates/company/supplier_part_pricing.html:66 part/views.py:2836 +msgid "Edit Price Break" +msgstr "" + +#: company/templates/company/supplier_part_pricing.html:91 msgid "Edit price break" msgstr "" -#: company/templates/company/supplier_part_pricing.html:90 -#: part/templates/part/sale_prices.html:98 +#: company/templates/company/supplier_part_pricing.html:92 msgid "Delete price break" msgstr "" -#: company/views.py:70 part/templates/part/navbar.html:81 -#: part/templates/part/navbar.html:84 templates/InvenTree/search.html:306 -#: templates/navbar.html:36 +#: company/views.py:65 part/templates/part/navbar.html:81 +#: part/templates/part/navbar.html:84 part/templates/part/prices.html:157 +#: templates/InvenTree/search.html:306 templates/navbar.html:36 msgid "Manufacturers" msgstr "" -#: company/views.py:77 templates/InvenTree/search.html:336 +#: company/views.py:71 templates/InvenTree/search.html:336 #: templates/navbar.html:45 msgid "Customers" msgstr "" -#: company/views.py:78 order/templates/order/sales_orders.html:187 +#: company/views.py:72 msgid "New Customer" msgstr "" -#: company/views.py:86 +#: company/views.py:79 msgid "Companies" msgstr "" -#: company/views.py:87 +#: company/views.py:80 msgid "New Company" msgstr "" -#: company/views.py:169 part/views.py:1115 +#: company/views.py:161 part/views.py:1007 msgid "Download Image" msgstr "" -#: company/views.py:198 part/views.py:1147 +#: company/views.py:190 part/views.py:1039 msgid "Image size exceeds maximum allowable size for download" msgstr "" -#: company/views.py:205 part/views.py:1154 +#: company/views.py:197 part/views.py:1046 #, python-brace-format msgid "Invalid response: {code}" msgstr "" -#: company/views.py:214 part/views.py:1163 +#: company/views.py:206 part/views.py:1055 msgid "Supplied URL is not a valid image file" msgstr "" -#: company/views.py:243 -msgid "Update Company Image" -msgstr "" - -#: company/views.py:249 -msgid "Updated company image" -msgstr "" - -#: company/views.py:259 -msgid "Edit Company" -msgstr "" - -#: company/views.py:264 -msgid "Edited company information" -msgstr "" - -#: company/views.py:287 order/templates/order/sales_orders.html:188 -msgid "Create new Customer" -msgstr "" - -#: company/views.py:289 -msgid "Create new Company" -msgstr "" - -#: company/views.py:316 -msgid "Created new company" -msgstr "" - -#: company/views.py:332 -msgid "Company was deleted" -msgstr "" - -#: company/views.py:357 -msgid "Edit Manufacturer Part" -msgstr "" - -#: company/views.py:366 +#: company/views.py:251 msgid "Create New Manufacturer Part" msgstr "" -#: company/views.py:440 -msgid "Delete Manufacturer Part" -msgstr "" - -#: company/views.py:514 -msgid "Add Manufacturer Part Parameter" -msgstr "" - -#: company/views.py:548 -msgid "Edit Manufacturer Part Parameter" -msgstr "" - -#: company/views.py:588 +#: company/views.py:334 msgid "Edit Supplier Part" msgstr "" -#: company/views.py:639 templates/js/stock.js:1319 +#: company/views.py:385 templates/js/stock.js:1333 msgid "Create new Supplier Part" msgstr "" -#: company/views.py:783 +#: company/views.py:529 msgid "Delete Supplier Part" msgstr "" -#: company/views.py:860 part/views.py:2922 -msgid "Added new price break" -msgstr "" - -#: company/views.py:916 part/views.py:2966 -msgid "Edit Price Break" -msgstr "" - -#: company/views.py:931 part/views.py:2980 -msgid "Delete Price Break" -msgstr "" - #: label/api.py:56 report/api.py:201 msgid "No valid objects provided to template" msgstr "" -#: label/models.py:103 +#: label/models.py:104 msgid "Label name" msgstr "" -#: label/models.py:110 +#: label/models.py:111 msgid "Label description" msgstr "" -#: label/models.py:117 stock/forms.py:202 +#: label/models.py:118 stock/forms.py:169 msgid "Label" msgstr "" -#: label/models.py:118 +#: label/models.py:119 msgid "Label template file" msgstr "" -#: label/models.py:124 report/models.py:297 +#: label/models.py:125 report/models.py:297 msgid "Enabled" msgstr "" -#: label/models.py:125 +#: label/models.py:126 msgid "Label template is enabled" msgstr "" -#: label/models.py:130 +#: label/models.py:131 msgid "Width [mm]" msgstr "" -#: label/models.py:131 +#: label/models.py:132 msgid "Label width, specified in mm" msgstr "" -#: label/models.py:137 +#: label/models.py:138 msgid "Height [mm]" msgstr "" -#: label/models.py:138 +#: label/models.py:139 msgid "Label height, specified in mm" msgstr "" -#: label/models.py:144 report/models.py:290 +#: label/models.py:145 report/models.py:290 msgid "Filename Pattern" msgstr "" -#: label/models.py:145 +#: label/models.py:146 msgid "Pattern for generating label filenames" msgstr "" -#: label/models.py:244 label/models.py:297 +#: label/models.py:249 label/models.py:306 msgid "Query filters (comma-separated list of key=value pairs" msgstr "" -#: label/models.py:245 label/models.py:298 report/models.py:317 +#: label/models.py:250 label/models.py:307 report/models.py:317 #: report/models.py:440 report/models.py:474 msgid "Filters" msgstr "" -#: order/forms.py:31 order/templates/order/order_base.html:47 +#: order/forms.py:30 order/templates/order/order_base.html:47 msgid "Place order" msgstr "" -#: order/forms.py:42 order/templates/order/order_base.html:54 +#: order/forms.py:41 order/templates/order/order_base.html:54 msgid "Mark order as complete" msgstr "" -#: order/forms.py:53 order/forms.py:64 order/templates/order/order_base.html:59 +#: order/forms.py:52 order/forms.py:63 order/templates/order/order_base.html:59 #: order/templates/order/sales_order_base.html:61 msgid "Cancel order" msgstr "" -#: order/forms.py:75 order/templates/order/sales_order_base.html:58 +#: order/forms.py:74 order/templates/order/sales_order_base.html:58 msgid "Ship order" msgstr "" -#: order/forms.py:90 +#: order/forms.py:89 msgid "Receive parts to this location" msgstr "" -#: order/forms.py:112 -msgid "Purchase Order reference" -msgstr "" - -#: order/forms.py:119 -msgid "Target date for order delivery. Order will be overdue after this date." -msgstr "" - -#: order/forms.py:147 -msgid "Enter sales order number" -msgstr "" - -#: order/forms.py:154 order/models.py:472 -msgid "Target date for order completion. Order will be overdue after this date." -msgstr "" - -#: order/forms.py:246 +#: order/forms.py:116 msgid "Enter stock item serial numbers" msgstr "" -#: order/forms.py:252 +#: order/forms.py:122 msgid "Enter quantity of stock items" msgstr "" -#: order/models.py:98 -msgid "Order reference" -msgstr "" - -#: order/models.py:100 +#: order/models.py:154 msgid "Order description" msgstr "" -#: order/models.py:102 +#: order/models.py:156 msgid "Link to external page" msgstr "" -#: order/models.py:110 part/templates/part/detail.html:132 +#: order/models.py:164 part/templates/part/detail.html:132 msgid "Created By" msgstr "" -#: order/models.py:117 +#: order/models.py:171 msgid "User or group responsible for this order" msgstr "" -#: order/models.py:122 +#: order/models.py:176 msgid "Order notes" msgstr "" -#: order/models.py:181 order/models.py:465 +#: order/models.py:243 order/models.py:530 +msgid "Order reference" +msgstr "" + +#: order/models.py:248 order/models.py:545 msgid "Purchase order status" msgstr "" -#: order/models.py:190 +#: order/models.py:257 msgid "Company from which the items are being ordered" msgstr "" -#: order/models.py:193 order/templates/order/order_base.html:98 -#: templates/js/order.js:179 +#: order/models.py:260 order/templates/order/order_base.html:98 +#: templates/js/order.js:241 msgid "Supplier Reference" msgstr "" -#: order/models.py:193 +#: order/models.py:260 msgid "Supplier order reference code" msgstr "" -#: order/models.py:200 +#: order/models.py:267 msgid "received by" msgstr "" -#: order/models.py:205 +#: order/models.py:272 msgid "Issue Date" msgstr "" -#: order/models.py:206 +#: order/models.py:273 msgid "Date order was issued" msgstr "" -#: order/models.py:211 +#: order/models.py:278 msgid "Target Delivery Date" msgstr "" -#: order/models.py:212 +#: order/models.py:279 msgid "Expected date for order delivery. Order will be overdue after this date." msgstr "" -#: order/models.py:218 +#: order/models.py:285 msgid "Date order was completed" msgstr "" -#: order/models.py:242 part/views.py:1853 stock/models.py:300 -#: stock/models.py:1015 +#: order/models.py:309 part/views.py:1730 stock/models.py:308 +#: stock/models.py:1023 msgid "Quantity must be greater than zero" msgstr "" -#: order/models.py:247 +#: order/models.py:314 msgid "Part supplier must match PO supplier" msgstr "" -#: order/models.py:345 +#: order/models.py:412 msgid "Lines can only be received against an order marked as 'Placed'" msgstr "" -#: order/models.py:349 +#: order/models.py:416 msgid "Quantity must be an integer" msgstr "" -#: order/models.py:351 +#: order/models.py:418 msgid "Quantity must be a positive number" msgstr "" -#: order/models.py:461 +#: order/models.py:541 msgid "Company to which the items are being sold" msgstr "" -#: order/models.py:467 +#: order/models.py:547 msgid "Customer Reference " msgstr "" -#: order/models.py:467 +#: order/models.py:547 msgid "Customer order reference code" msgstr "" -#: order/models.py:475 templates/js/order.js:303 +#: order/models.py:552 +msgid "Target date for order completion. Order will be overdue after this date." +msgstr "" + +#: order/models.py:555 templates/js/order.js:370 msgid "Shipment Date" msgstr "" -#: order/models.py:482 +#: order/models.py:562 msgid "shipped by" msgstr "" -#: order/models.py:526 +#: order/models.py:606 msgid "SalesOrder cannot be shipped as it is not currently pending" msgstr "" -#: order/models.py:613 +#: order/models.py:703 msgid "Item quantity" msgstr "" -#: order/models.py:615 +#: order/models.py:709 msgid "Line item reference" msgstr "" -#: order/models.py:617 +#: order/models.py:711 msgid "Line item notes" msgstr "" -#: order/models.py:643 order/models.py:710 templates/js/order.js:353 +#: order/models.py:741 order/models.py:812 templates/js/order.js:420 msgid "Order" msgstr "" -#: order/models.py:644 order/templates/order/order_base.html:9 +#: order/models.py:742 order/templates/order/order_base.html:9 #: order/templates/order/order_base.html:24 #: report/templates/report/inventree_po_report.html:77 -#: stock/templates/stock/item_base.html:324 templates/js/order.js:148 -#: templates/js/stock.js:669 templates/js/stock.js:1078 +#: stock/templates/stock/item_base.html:324 templates/js/order.js:210 +#: templates/js/stock.js:669 templates/js/stock.js:1092 msgid "Purchase Order" msgstr "" -#: order/models.py:658 +#: order/models.py:756 msgid "Supplier part" msgstr "" -#: order/models.py:661 order/templates/order/order_base.html:131 -#: order/templates/order/purchase_order_detail.html:219 +#: order/models.py:759 order/templates/order/order_base.html:131 +#: order/templates/order/purchase_order_detail.html:246 #: order/templates/order/receive_parts.html:22 #: order/templates/order/sales_order_base.html:133 msgid "Received" msgstr "" -#: order/models.py:661 +#: order/models.py:759 msgid "Number of items received" msgstr "" -#: order/models.py:667 stock/models.py:537 -#: stock/templates/stock/item_base.html:331 templates/js/stock.js:690 +#: order/models.py:765 part/templates/part/prices.html:166 stock/models.py:545 +#: stock/templates/stock/item_base.html:331 templates/js/stock.js:704 msgid "Purchase Price" msgstr "" -#: order/models.py:668 +#: order/models.py:766 msgid "Unit purchase price" msgstr "" -#: order/models.py:676 +#: order/models.py:774 msgid "Where does the Purchaser want this item to be stored?" msgstr "" -#: order/models.py:718 part/templates/part/navbar.html:110 -#: part/templates/part/order_prices.html:108 -#: part/templates/part/part_pricing.html:97 +#: order/models.py:820 part/templates/part/part_pricing.html:97 +#: part/templates/part/prices.html:103 part/templates/part/prices.html:278 msgid "Sale Price" msgstr "" -#: order/models.py:719 +#: order/models.py:821 msgid "Unit sale price" msgstr "" -#: order/models.py:794 order/models.py:796 +#: order/models.py:900 order/models.py:902 msgid "Stock item has not been assigned" msgstr "" -#: order/models.py:800 +#: order/models.py:906 msgid "Cannot allocate stock item to a line with a different part" msgstr "" -#: order/models.py:802 +#: order/models.py:908 msgid "Cannot allocate stock to a line without a part" msgstr "" -#: order/models.py:805 +#: order/models.py:911 msgid "Allocation quantity cannot exceed stock quantity" msgstr "" -#: order/models.py:815 +#: order/models.py:921 msgid "Quantity must be 1 for serialized stock item" msgstr "" -#: order/models.py:820 +#: order/models.py:926 msgid "Line" msgstr "" -#: order/models.py:831 +#: order/models.py:937 msgid "Item" msgstr "" -#: order/models.py:832 +#: order/models.py:938 msgid "Select stock item to allocate" msgstr "" -#: order/models.py:835 +#: order/models.py:941 msgid "Enter stock allocation quantity" msgstr "" +#: order/serializers.py:139 +msgid "Purchase price currency" +msgstr "" + +#: order/serializers.py:359 +msgid "Sale price currency" +msgstr "" + #: order/templates/order/delete_attachment.html:5 #: stock/templates/stock/attachment_delete.html:5 #: templates/attachment_delete.html:5 @@ -3091,16 +3060,22 @@ msgstr "" msgid "Issued" msgstr "" -#: order/templates/order/order_base.html:180 -#: order/templates/order/purchase_order_detail.html:100 +#: order/templates/order/order_base.html:188 +msgid "Edit Purchase Order" +msgstr "" + +#: order/templates/order/order_base.html:199 +#: order/templates/order/purchase_order_detail.html:127 #: part/templates/part/category.html:217 part/templates/part/category.html:259 -#: stock/templates/stock/location.html:191 templates/js/stock.js:736 -#: templates/js/stock.js:1324 +#: part/templates/part/part_base.html:415 +#: stock/templates/stock/location.html:191 templates/js/stock.js:750 +#: templates/js/stock.js:1338 msgid "New Location" msgstr "" -#: order/templates/order/order_base.html:181 -#: order/templates/order/purchase_order_detail.html:101 +#: order/templates/order/order_base.html:200 +#: order/templates/order/purchase_order_detail.html:128 +#: part/templates/part/part_base.html:416 #: stock/templates/stock/location.html:42 msgid "Create new stock location" msgstr "" @@ -3253,7 +3228,7 @@ msgid "Select existing purchase orders, or create new orders." msgstr "" #: order/templates/order/order_wizard/select_pos.html:31 -#: templates/js/order.js:205 templates/js/order.js:308 +#: templates/js/order.js:267 templates/js/order.js:375 msgid "Items" msgstr "" @@ -3277,7 +3252,6 @@ msgid "Purchase Order Attachments" msgstr "" #: order/templates/order/po_lineitem_delete.html:5 -#: order/templates/order/so_lineitem_delete.html:5 msgid "Are you sure you wish to delete this line item?" msgstr "" @@ -3295,40 +3269,52 @@ msgid "Purchase Order Items" msgstr "" #: order/templates/order/purchase_order_detail.html:24 -#: order/templates/order/sales_order_detail.html:22 order/views.py:1327 -#: order/views.py:1410 +#: order/templates/order/purchase_order_detail.html:64 +#: order/templates/order/sales_order_detail.html:22 +#: order/templates/order/sales_order_detail.html:56 msgid "Add Line Item" msgstr "" -#: order/templates/order/purchase_order_detail.html:114 +#: order/templates/order/purchase_order_detail.html:100 +#: order/templates/order/sales_order_detail.html:398 +msgid "Edit Line Item" +msgstr "" + +#: order/templates/order/purchase_order_detail.html:110 +#: order/templates/order/sales_order_detail.html:408 +msgid "Delete Line Item" +msgstr "" + +#: order/templates/order/purchase_order_detail.html:141 msgid "No line items found" msgstr "" -#: order/templates/order/purchase_order_detail.html:142 -#: order/templates/order/sales_order_detail.html:223 +#: order/templates/order/purchase_order_detail.html:169 +#: order/templates/order/sales_order_detail.html:233 msgid "Total" msgstr "" -#: order/templates/order/purchase_order_detail.html:191 -#: order/templates/order/sales_order_detail.html:246 +#: order/templates/order/purchase_order_detail.html:218 +#: order/templates/order/sales_order_detail.html:256 templates/js/part.js:807 +#: templates/js/part.js:996 msgid "Unit Price" msgstr "" -#: order/templates/order/purchase_order_detail.html:198 -#: order/templates/order/sales_order_detail.html:253 +#: order/templates/order/purchase_order_detail.html:225 +#: order/templates/order/sales_order_detail.html:263 msgid "Total price" msgstr "" -#: order/templates/order/purchase_order_detail.html:255 -#: order/templates/order/sales_order_detail.html:359 +#: order/templates/order/purchase_order_detail.html:282 +#: order/templates/order/sales_order_detail.html:369 msgid "Edit line item" msgstr "" -#: order/templates/order/purchase_order_detail.html:256 +#: order/templates/order/purchase_order_detail.html:283 msgid "Delete line item" msgstr "" -#: order/templates/order/purchase_order_detail.html:261 +#: order/templates/order/purchase_order_detail.html:288 msgid "Receive line item" msgstr "" @@ -3343,7 +3329,7 @@ msgid "Receive outstanding parts for %(order)s - %(desc)s" msgstr "" #: order/templates/order/receive_parts.html:14 part/api.py:45 -#: part/models.py:322 part/templates/part/cat_link.html:7 +#: part/models.py:326 part/templates/part/cat_link.html:7 #: part/templates/part/category.html:108 part/templates/part/category.html:157 #: part/templates/part/category_navbar.html:25 #: part/templates/part/category_navbar.html:32 @@ -3351,7 +3337,7 @@ msgstr "" #: templates/InvenTree/index.html:97 templates/InvenTree/search.html:114 #: templates/InvenTree/settings/tabs.html:28 templates/js/part.js:666 #: templates/navbar.html:23 templates/stats.html:80 templates/stats.html:89 -#: users/models.py:40 +#: users/models.py:41 msgid "Parts" msgstr "" @@ -3393,10 +3379,14 @@ msgstr "" msgid "Sales Order Details" msgstr "" -#: order/templates/order/sales_order_base.html:100 templates/js/order.js:275 +#: order/templates/order/sales_order_base.html:100 templates/js/order.js:342 msgid "Customer Reference" msgstr "" +#: order/templates/order/sales_order_base.html:177 +msgid "Edit Sales Order" +msgstr "" + #: order/templates/order/sales_order_cancel.html:8 #: order/templates/order/sales_order_ship.html:9 #: part/templates/part/bom_duplicate.html:12 @@ -3412,69 +3402,69 @@ msgstr "" msgid "Sales Order Items" msgstr "" -#: order/templates/order/sales_order_detail.html:95 templates/js/bom.js:358 +#: order/templates/order/sales_order_detail.html:105 templates/js/bom.js:358 #: templates/js/build.js:725 templates/js/build.js:1142 msgid "Actions" msgstr "" -#: order/templates/order/sales_order_detail.html:102 templates/js/build.js:611 +#: order/templates/order/sales_order_detail.html:112 templates/js/build.js:611 #: templates/js/build.js:947 msgid "Edit stock allocation" msgstr "" -#: order/templates/order/sales_order_detail.html:103 templates/js/build.js:613 +#: order/templates/order/sales_order_detail.html:113 templates/js/build.js:613 #: templates/js/build.js:948 msgid "Delete stock allocation" msgstr "" -#: order/templates/order/sales_order_detail.html:176 +#: order/templates/order/sales_order_detail.html:186 msgid "No matching line items" msgstr "" -#: order/templates/order/sales_order_detail.html:206 +#: order/templates/order/sales_order_detail.html:216 msgid "ID" msgstr "" -#: order/templates/order/sales_order_detail.html:274 templates/js/build.js:676 +#: order/templates/order/sales_order_detail.html:284 templates/js/build.js:676 #: templates/js/build.js:943 msgid "Allocated" msgstr "" -#: order/templates/order/sales_order_detail.html:276 +#: order/templates/order/sales_order_detail.html:286 msgid "Fulfilled" msgstr "" -#: order/templates/order/sales_order_detail.html:313 +#: order/templates/order/sales_order_detail.html:323 msgid "PO" msgstr "" -#: order/templates/order/sales_order_detail.html:343 +#: order/templates/order/sales_order_detail.html:353 msgid "Allocate serial numbers" msgstr "" -#: order/templates/order/sales_order_detail.html:346 templates/js/build.js:739 +#: order/templates/order/sales_order_detail.html:356 templates/js/build.js:739 msgid "Allocate stock" msgstr "" -#: order/templates/order/sales_order_detail.html:349 +#: order/templates/order/sales_order_detail.html:359 msgid "Purchase stock" msgstr "" -#: order/templates/order/sales_order_detail.html:353 templates/js/build.js:732 +#: order/templates/order/sales_order_detail.html:363 templates/js/build.js:732 #: templates/js/build.js:1150 msgid "Build stock" msgstr "" -#: order/templates/order/sales_order_detail.html:356 -#: order/templates/order/sales_order_detail.html:465 +#: order/templates/order/sales_order_detail.html:366 +#: order/templates/order/sales_order_detail.html:485 msgid "Calculate price" msgstr "" -#: order/templates/order/sales_order_detail.html:360 +#: order/templates/order/sales_order_detail.html:370 msgid "Delete line item " msgstr "" -#: order/templates/order/sales_order_detail.html:471 +#: order/templates/order/sales_order_detail.html:491 msgid "Update Unit Price" msgstr "" @@ -3515,194 +3505,154 @@ msgstr "" msgid "Sales Order Attachments" msgstr "" -#: order/views.py:106 -msgid "Add Purchase Order Attachment" -msgstr "" - -#: order/views.py:156 -msgid "Add Sales Order Attachment" -msgstr "" - -#: order/views.py:348 -msgid "Create Sales Order" -msgstr "" - -#: order/views.py:383 -msgid "Edit Purchase Order" -msgstr "" - -#: order/views.py:403 -msgid "Edit Sales Order" -msgstr "" - -#: order/views.py:419 +#: order/views.py:151 msgid "Cancel Order" msgstr "" -#: order/views.py:428 order/views.py:454 +#: order/views.py:160 order/views.py:186 msgid "Confirm order cancellation" msgstr "" -#: order/views.py:431 order/views.py:457 +#: order/views.py:163 order/views.py:189 msgid "Order cannot be cancelled" msgstr "" -#: order/views.py:445 +#: order/views.py:177 msgid "Cancel sales order" msgstr "" -#: order/views.py:471 +#: order/views.py:203 msgid "Issue Order" msgstr "" -#: order/views.py:480 +#: order/views.py:212 msgid "Confirm order placement" msgstr "" -#: order/views.py:490 +#: order/views.py:222 msgid "Purchase order issued" msgstr "" -#: order/views.py:501 +#: order/views.py:233 msgid "Complete Order" msgstr "" -#: order/views.py:517 +#: order/views.py:249 msgid "Confirm order completion" msgstr "" -#: order/views.py:528 +#: order/views.py:260 msgid "Purchase order completed" msgstr "" -#: order/views.py:538 +#: order/views.py:270 msgid "Ship Order" msgstr "" -#: order/views.py:554 +#: order/views.py:286 msgid "Confirm order shipment" msgstr "" -#: order/views.py:560 +#: order/views.py:292 msgid "Could not ship order" msgstr "" -#: order/views.py:607 +#: order/views.py:339 msgid "Match Supplier Parts" msgstr "" -#: order/views.py:804 +#: order/views.py:536 msgid "Receive Parts" msgstr "" -#: order/views.py:874 +#: order/views.py:606 msgid "Items received" msgstr "" -#: order/views.py:888 +#: order/views.py:620 msgid "No destination set" msgstr "" -#: order/views.py:933 +#: order/views.py:665 msgid "Error converting quantity to number" msgstr "" -#: order/views.py:939 +#: order/views.py:671 msgid "Receive quantity less than zero" msgstr "" -#: order/views.py:945 +#: order/views.py:677 msgid "No lines specified" msgstr "" -#: order/views.py:1018 +#: order/views.py:750 msgid "Update prices" msgstr "" -#: order/views.py:1276 +#: order/views.py:1008 #, python-brace-format msgid "Ordered {n} parts" msgstr "" -#: order/views.py:1336 -msgid "Supplier part must be specified" -msgstr "" - -#: order/views.py:1342 -msgid "Supplier must match for Part and Order" -msgstr "" - -#: order/views.py:1473 order/views.py:1491 -msgid "Edit Line Item" -msgstr "" - -#: order/views.py:1507 order/views.py:1519 -msgid "Delete Line Item" -msgstr "" - -#: order/views.py:1512 order/views.py:1524 -msgid "Deleted line item" -msgstr "" - -#: order/views.py:1537 +#: order/views.py:1061 msgid "Allocate Serial Numbers" msgstr "" -#: order/views.py:1582 +#: order/views.py:1106 #, python-brace-format msgid "Allocated {n} items" msgstr "" -#: order/views.py:1598 +#: order/views.py:1122 msgid "Select line item" msgstr "" -#: order/views.py:1629 +#: order/views.py:1153 #, python-brace-format msgid "No matching item for serial {serial}" msgstr "" -#: order/views.py:1639 +#: order/views.py:1163 #, python-brace-format msgid "{serial} is not in stock" msgstr "" -#: order/views.py:1647 +#: order/views.py:1171 #, python-brace-format msgid "{serial} already allocated to an order" msgstr "" -#: order/views.py:1701 +#: order/views.py:1225 msgid "Allocate Stock to Order" msgstr "" -#: order/views.py:1775 +#: order/views.py:1299 msgid "Edit Allocation Quantity" msgstr "" -#: order/views.py:1790 +#: order/views.py:1314 msgid "Remove allocation" msgstr "" -#: order/views.py:1862 +#: order/views.py:1386 msgid "Sales order not found" msgstr "" -#: order/views.py:1868 +#: order/views.py:1392 msgid "Price not found" msgstr "" -#: order/views.py:1871 +#: order/views.py:1395 #, python-brace-format msgid "Updated {part} unit-price to {price}" msgstr "" -#: order/views.py:1876 +#: order/views.py:1400 #, python-brace-format msgid "Updated {part} unit-price to {price} and quantity to {qty}" msgstr "" -#: part/bom.py:138 part/models.py:72 part/models.py:747 +#: part/bom.py:138 part/models.py:72 part/models.py:756 #: part/templates/part/category.html:75 part/templates/part/detail.html:90 msgid "Default Location" msgstr "" @@ -3724,143 +3674,143 @@ msgstr "" msgid "Error reading BOM file (incorrect row size)" msgstr "" -#: part/forms.py:89 stock/forms.py:265 +#: part/forms.py:73 stock/forms.py:232 msgid "File Format" msgstr "" -#: part/forms.py:89 stock/forms.py:265 +#: part/forms.py:73 stock/forms.py:232 msgid "Select output file format" msgstr "" -#: part/forms.py:91 +#: part/forms.py:75 msgid "Cascading" msgstr "" -#: part/forms.py:91 +#: part/forms.py:75 msgid "Download cascading / multi-level BOM" msgstr "" -#: part/forms.py:93 +#: part/forms.py:77 msgid "Levels" msgstr "" -#: part/forms.py:93 +#: part/forms.py:77 msgid "Select maximum number of BOM levels to export (0 = all levels)" msgstr "" -#: part/forms.py:95 +#: part/forms.py:79 msgid "Include Parameter Data" msgstr "" -#: part/forms.py:95 +#: part/forms.py:79 msgid "Include part parameters data in exported BOM" msgstr "" -#: part/forms.py:97 +#: part/forms.py:81 msgid "Include Stock Data" msgstr "" -#: part/forms.py:97 +#: part/forms.py:81 msgid "Include part stock data in exported BOM" msgstr "" -#: part/forms.py:99 +#: part/forms.py:83 msgid "Include Manufacturer Data" msgstr "" -#: part/forms.py:99 +#: part/forms.py:83 msgid "Include part manufacturer data in exported BOM" msgstr "" -#: part/forms.py:101 +#: part/forms.py:85 msgid "Include Supplier Data" msgstr "" -#: part/forms.py:101 +#: part/forms.py:85 msgid "Include part supplier data in exported BOM" msgstr "" -#: part/forms.py:122 part/models.py:2191 +#: part/forms.py:106 part/models.py:2224 msgid "Parent Part" msgstr "" -#: part/forms.py:123 part/templates/part/bom_duplicate.html:7 +#: part/forms.py:107 part/templates/part/bom_duplicate.html:7 msgid "Select parent part to copy BOM from" msgstr "" -#: part/forms.py:129 +#: part/forms.py:113 msgid "Clear existing BOM items" msgstr "" -#: part/forms.py:135 +#: part/forms.py:119 msgid "Confirm BOM duplication" msgstr "" -#: part/forms.py:153 +#: part/forms.py:137 msgid "validate" msgstr "" -#: part/forms.py:153 +#: part/forms.py:137 msgid "Confirm that the BOM is correct" msgstr "" -#: part/forms.py:165 +#: part/forms.py:149 msgid "BOM file" msgstr "" -#: part/forms.py:165 +#: part/forms.py:149 msgid "Select BOM file to upload" msgstr "" -#: part/forms.py:184 +#: part/forms.py:168 msgid "Related Part" msgstr "" -#: part/forms.py:203 +#: part/forms.py:175 msgid "Select part category" msgstr "" -#: part/forms.py:220 +#: part/forms.py:192 msgid "Duplicate all BOM data for this part" msgstr "" -#: part/forms.py:221 +#: part/forms.py:193 msgid "Copy BOM" msgstr "" -#: part/forms.py:226 +#: part/forms.py:198 msgid "Duplicate all parameter data for this part" msgstr "" -#: part/forms.py:227 +#: part/forms.py:199 msgid "Copy Parameters" msgstr "" -#: part/forms.py:232 +#: part/forms.py:204 msgid "Confirm part creation" msgstr "" -#: part/forms.py:237 +#: part/forms.py:209 msgid "Include category parameter templates" msgstr "" -#: part/forms.py:242 +#: part/forms.py:214 msgid "Include parent categories parameter templates" msgstr "" -#: part/forms.py:322 +#: part/forms.py:294 msgid "Add parameter template to same level categories" msgstr "" -#: part/forms.py:326 +#: part/forms.py:298 msgid "Add parameter template to all categories" msgstr "" -#: part/forms.py:344 part/models.py:2286 +#: part/forms.py:316 part/models.py:2323 msgid "Sub part" msgstr "" -#: part/forms.py:373 +#: part/forms.py:345 msgid "Input quantity for price calculation" msgstr "" @@ -3876,362 +3826,362 @@ msgstr "" msgid "Default keywords for parts in this category" msgstr "" -#: part/models.py:82 part/models.py:2237 +#: part/models.py:86 part/models.py:2270 #: part/templates/part/part_app_base.html:10 msgid "Part Category" msgstr "" -#: part/models.py:83 part/templates/part/category.html:32 +#: part/models.py:87 part/templates/part/category.html:32 #: part/templates/part/category.html:103 templates/InvenTree/search.html:127 -#: templates/stats.html:84 users/models.py:39 +#: templates/stats.html:84 users/models.py:40 msgid "Part Categories" msgstr "" -#: part/models.py:448 part/models.py:460 +#: part/models.py:457 part/models.py:469 #, python-brace-format msgid "Part '{p1}' is used in BOM for '{p2}' (recursive)" msgstr "" -#: part/models.py:557 +#: part/models.py:566 msgid "Next available serial numbers are" msgstr "" -#: part/models.py:561 +#: part/models.py:570 msgid "Next available serial number is" msgstr "" -#: part/models.py:566 +#: part/models.py:575 msgid "Most recent serial number is" msgstr "" -#: part/models.py:645 +#: part/models.py:654 msgid "Duplicate IPN not allowed in part settings" msgstr "" -#: part/models.py:670 part/templates/part/detail.html:22 +#: part/models.py:679 part/templates/part/detail.html:22 msgid "Part name" msgstr "" -#: part/models.py:677 +#: part/models.py:686 msgid "Is Template" msgstr "" -#: part/models.py:678 +#: part/models.py:687 msgid "Is this part a template part?" msgstr "" -#: part/models.py:689 +#: part/models.py:698 msgid "Is this part a variant of another part?" msgstr "" -#: part/models.py:690 part/templates/part/detail.html:60 +#: part/models.py:699 part/templates/part/detail.html:60 msgid "Variant Of" msgstr "" -#: part/models.py:696 +#: part/models.py:705 msgid "Part description" msgstr "" -#: part/models.py:701 part/templates/part/category.html:82 +#: part/models.py:710 part/templates/part/category.html:82 #: part/templates/part/detail.html:67 msgid "Keywords" msgstr "" -#: part/models.py:702 +#: part/models.py:711 msgid "Part keywords to improve visibility in search results" msgstr "" -#: part/models.py:709 part/models.py:2236 part/templates/part/detail.html:73 +#: part/models.py:718 part/models.py:2269 part/templates/part/detail.html:73 #: part/templates/part/set_category.html:15 templates/js/part.js:452 msgid "Category" msgstr "" -#: part/models.py:710 +#: part/models.py:719 msgid "Part category" msgstr "" -#: part/models.py:715 part/templates/part/detail.html:28 +#: part/models.py:724 part/templates/part/detail.html:28 #: part/templates/part/part_base.html:87 templates/js/part.js:169 #: templates/js/part.js:296 msgid "IPN" msgstr "" -#: part/models.py:716 +#: part/models.py:725 msgid "Internal Part Number" msgstr "" -#: part/models.py:722 +#: part/models.py:731 msgid "Part revision or version number" msgstr "" -#: part/models.py:723 part/templates/part/detail.html:35 report/models.py:199 +#: part/models.py:732 part/templates/part/detail.html:35 report/models.py:199 #: templates/js/part.js:173 msgid "Revision" msgstr "" -#: part/models.py:745 +#: part/models.py:754 msgid "Where is this item normally stored?" msgstr "" -#: part/models.py:792 part/templates/part/detail.html:97 +#: part/models.py:801 part/templates/part/detail.html:97 msgid "Default Supplier" msgstr "" -#: part/models.py:793 +#: part/models.py:802 msgid "Default supplier part" msgstr "" -#: part/models.py:800 +#: part/models.py:809 msgid "Default Expiry" msgstr "" -#: part/models.py:801 +#: part/models.py:810 msgid "Expiry time (in days) for stock items of this part" msgstr "" -#: part/models.py:806 part/templates/part/detail.html:113 +#: part/models.py:815 part/templates/part/detail.html:113 msgid "Minimum Stock" msgstr "" -#: part/models.py:807 +#: part/models.py:816 msgid "Minimum allowed stock level" msgstr "" -#: part/models.py:814 +#: part/models.py:823 msgid "Stock keeping units for this part" msgstr "" -#: part/models.py:820 +#: part/models.py:829 msgid "Can this part be built from other parts?" msgstr "" -#: part/models.py:826 +#: part/models.py:835 msgid "Can this part be used to build other parts?" msgstr "" -#: part/models.py:832 +#: part/models.py:841 msgid "Does this part have tracking for unique items?" msgstr "" -#: part/models.py:837 +#: part/models.py:846 msgid "Can this part be purchased from external suppliers?" msgstr "" -#: part/models.py:842 +#: part/models.py:851 msgid "Can this part be sold to customers?" msgstr "" -#: part/models.py:846 part/templates/part/detail.html:227 +#: part/models.py:855 part/templates/part/detail.html:227 #: templates/js/table_filters.js:21 templates/js/table_filters.js:65 -#: templates/js/table_filters.js:241 templates/js/table_filters.js:310 +#: templates/js/table_filters.js:246 templates/js/table_filters.js:315 msgid "Active" msgstr "" -#: part/models.py:847 +#: part/models.py:856 msgid "Is this part active?" msgstr "" -#: part/models.py:852 +#: part/models.py:861 msgid "Is this a virtual part, such as a software product or license?" msgstr "" -#: part/models.py:857 +#: part/models.py:866 msgid "Part notes - supports Markdown formatting" msgstr "" -#: part/models.py:860 +#: part/models.py:869 msgid "BOM checksum" msgstr "" -#: part/models.py:860 +#: part/models.py:869 msgid "Stored BOM checksum" msgstr "" -#: part/models.py:863 +#: part/models.py:872 msgid "BOM checked by" msgstr "" -#: part/models.py:865 +#: part/models.py:874 msgid "BOM checked date" msgstr "" -#: part/models.py:869 +#: part/models.py:878 msgid "Creation User" msgstr "" -#: part/models.py:1608 +#: part/models.py:1617 msgid "Sell multiple" msgstr "" -#: part/models.py:2063 +#: part/models.py:2088 msgid "Test templates can only be created for trackable parts" msgstr "" -#: part/models.py:2080 +#: part/models.py:2105 msgid "Test with this name already exists for this part" msgstr "" -#: part/models.py:2100 templates/js/part.js:717 templates/js/stock.js:117 +#: part/models.py:2125 templates/js/part.js:717 templates/js/stock.js:117 msgid "Test Name" msgstr "" -#: part/models.py:2101 +#: part/models.py:2126 msgid "Enter a name for the test" msgstr "" -#: part/models.py:2106 +#: part/models.py:2131 msgid "Test Description" msgstr "" -#: part/models.py:2107 +#: part/models.py:2132 msgid "Enter description for this test" msgstr "" -#: part/models.py:2112 templates/js/part.js:726 -#: templates/js/table_filters.js:227 +#: part/models.py:2137 templates/js/part.js:726 +#: templates/js/table_filters.js:232 msgid "Required" msgstr "" -#: part/models.py:2113 +#: part/models.py:2138 msgid "Is this test required to pass?" msgstr "" -#: part/models.py:2118 templates/js/part.js:734 +#: part/models.py:2143 templates/js/part.js:734 msgid "Requires Value" msgstr "" -#: part/models.py:2119 +#: part/models.py:2144 msgid "Does this test require a value when adding a test result?" msgstr "" -#: part/models.py:2124 templates/js/part.js:741 +#: part/models.py:2149 templates/js/part.js:741 msgid "Requires Attachment" msgstr "" -#: part/models.py:2125 +#: part/models.py:2150 msgid "Does this test require a file attachment when adding a test result?" msgstr "" -#: part/models.py:2158 +#: part/models.py:2187 msgid "Parameter template name must be unique" msgstr "" -#: part/models.py:2163 +#: part/models.py:2192 msgid "Parameter Name" msgstr "" -#: part/models.py:2165 +#: part/models.py:2194 msgid "Parameter Units" msgstr "" -#: part/models.py:2193 part/models.py:2242 part/models.py:2243 +#: part/models.py:2226 part/models.py:2275 part/models.py:2276 #: templates/InvenTree/settings/category.html:62 msgid "Parameter Template" msgstr "" -#: part/models.py:2195 +#: part/models.py:2228 msgid "Data" msgstr "" -#: part/models.py:2195 +#: part/models.py:2228 msgid "Parameter Value" msgstr "" -#: part/models.py:2247 templates/InvenTree/settings/category.html:67 +#: part/models.py:2280 templates/InvenTree/settings/category.html:67 msgid "Default Value" msgstr "" -#: part/models.py:2248 +#: part/models.py:2281 msgid "Default Parameter Value" msgstr "" -#: part/models.py:2278 +#: part/models.py:2315 msgid "Select parent part" msgstr "" -#: part/models.py:2287 +#: part/models.py:2324 msgid "Select part to be used in BOM" msgstr "" -#: part/models.py:2293 +#: part/models.py:2330 msgid "BOM quantity for this BOM item" msgstr "" -#: part/models.py:2295 templates/js/bom.js:216 templates/js/bom.js:278 +#: part/models.py:2332 templates/js/bom.js:216 templates/js/bom.js:278 msgid "Optional" msgstr "" -#: part/models.py:2295 +#: part/models.py:2332 msgid "This BOM item is optional" msgstr "" -#: part/models.py:2298 +#: part/models.py:2335 msgid "Overage" msgstr "" -#: part/models.py:2299 +#: part/models.py:2336 msgid "Estimated build wastage quantity (absolute or percentage)" msgstr "" -#: part/models.py:2302 +#: part/models.py:2339 msgid "BOM item reference" msgstr "" -#: part/models.py:2305 +#: part/models.py:2342 msgid "BOM item notes" msgstr "" -#: part/models.py:2307 +#: part/models.py:2344 msgid "Checksum" msgstr "" -#: part/models.py:2307 +#: part/models.py:2344 msgid "BOM line checksum" msgstr "" -#: part/models.py:2311 templates/js/bom.js:295 templates/js/bom.js:302 +#: part/models.py:2348 templates/js/bom.js:295 templates/js/bom.js:302 #: templates/js/table_filters.js:51 msgid "Inherited" msgstr "" -#: part/models.py:2312 +#: part/models.py:2349 msgid "This BOM item is inherited by BOMs for variant parts" msgstr "" -#: part/models.py:2317 templates/js/bom.js:287 +#: part/models.py:2354 templates/js/bom.js:287 msgid "Allow Variants" msgstr "" -#: part/models.py:2318 +#: part/models.py:2355 msgid "Stock items for variant parts can be used for this BOM item" msgstr "" -#: part/models.py:2394 part/views.py:1859 part/views.py:1911 -#: stock/models.py:290 +#: part/models.py:2431 part/views.py:1736 part/views.py:1788 +#: stock/models.py:298 msgid "Quantity must be integer value for trackable parts" msgstr "" -#: part/models.py:2403 part/models.py:2405 +#: part/models.py:2440 part/models.py:2442 msgid "Sub part must be specified" msgstr "" -#: part/models.py:2408 +#: part/models.py:2445 msgid "BOM Item" msgstr "" -#: part/models.py:2527 +#: part/models.py:2564 msgid "Part 1" msgstr "" -#: part/models.py:2531 +#: part/models.py:2568 msgid "Part 2" msgstr "" -#: part/models.py:2531 +#: part/models.py:2568 msgid "Select Related Part" msgstr "" -#: part/models.py:2563 +#: part/models.py:2600 msgid "Error creating relationship: check that the part is not related to itself and that the relationship is unique" msgstr "" @@ -4247,14 +4197,6 @@ msgstr "" msgid "Part Attachments" msgstr "" -#: part/templates/part/bom-delete.html:6 -msgid "Are you sure you want to delete this BOM item?" -msgstr "" - -#: part/templates/part/bom-delete.html:8 -msgid "Deleting this entry will remove the BOM row from the following part" -msgstr "" - #: part/templates/part/bom.html:10 part/templates/part/navbar.html:51 #: part/templates/part/navbar.html:54 msgid "Bill of Materials" @@ -4303,7 +4245,7 @@ msgstr "" msgid "Validate Bill of Materials" msgstr "" -#: part/templates/part/bom.html:61 part/views.py:2154 +#: part/templates/part/bom.html:61 part/views.py:2031 msgid "Export Bill of Materials" msgstr "" @@ -4319,8 +4261,8 @@ msgstr "" msgid "All selected BOM items will be deleted" msgstr "" -#: part/templates/part/bom.html:160 part/views.py:590 -#: templates/js/stock.js:1313 +#: part/templates/part/bom.html:160 part/views.py:450 +#: templates/js/stock.js:1327 msgid "Create New Part" msgstr "" @@ -4401,7 +4343,7 @@ msgstr "" msgid "All parts" msgstr "" -#: part/templates/part/category.html:38 part/views.py:2564 +#: part/templates/part/category.html:38 part/views.py:2441 msgid "Create new part category" msgstr "" @@ -4461,11 +4403,12 @@ msgid "View grid display" msgstr "" #: part/templates/part/category.html:218 -#: stock/templates/stock/location.html:192 templates/js/stock.js:737 +#: stock/templates/stock/location.html:192 templates/js/stock.js:751 msgid "Create new location" msgstr "" #: part/templates/part/category.html:223 part/templates/part/category.html:253 +#: part/templates/part/part_base.html:378 msgid "New Category" msgstr "" @@ -4477,10 +4420,18 @@ msgstr "" msgid "Create new Part Category" msgstr "" -#: part/templates/part/category.html:260 stock/views.py:1391 +#: part/templates/part/category.html:260 stock/views.py:1223 msgid "Create new Stock Location" msgstr "" +#: part/templates/part/category.html:279 +msgid "Select parent category" +msgstr "" + +#: part/templates/part/category.html:286 part/views.py:2389 +msgid "Edit Part Category" +msgstr "" + #: part/templates/part/category_delete.html:5 msgid "Are you sure you want to delete category" msgstr "" @@ -4526,7 +4477,7 @@ msgstr "" msgid "Part Parameters" msgstr "" -#: part/templates/part/copy_part.html:9 part/views.py:466 +#: part/templates/part/copy_part.html:9 part/views.py:326 msgid "Duplicate Part" msgstr "" @@ -4639,36 +4590,6 @@ msgstr "" msgid "Import Parts from File" msgstr "" -#: part/templates/part/internal_prices.html:11 -#: part/templates/part/navbar.html:101 -msgid "Internal Price Information" -msgstr "" - -#: part/templates/part/internal_prices.html:19 part/views.py:2989 -msgid "Add Internal Price Break" -msgstr "" - -#: part/templates/part/internal_prices.html:28 templates/403.html:5 -#: templates/403.html:11 -msgid "Permission Denied" -msgstr "" - -#: part/templates/part/internal_prices.html:31 templates/403.html:14 -msgid "You do not have permission to view this page." -msgstr "" - -#: part/templates/part/internal_prices.html:59 -msgid "No internal price break information found" -msgstr "" - -#: part/templates/part/internal_prices.html:110 -msgid "Edit internal price break" -msgstr "" - -#: part/templates/part/internal_prices.html:111 -msgid "Delete internal price break" -msgstr "" - #: part/templates/part/manufacturer.html:11 msgid "Part Manufacturers" msgstr "" @@ -4678,7 +4599,7 @@ msgid "Delete manufacturer parts" msgstr "" #: part/templates/part/manufacturer.html:53 -#: part/templates/part/supplier.html:57 +#: part/templates/part/supplier.html:56 msgid "Create new manufacturer" msgstr "" @@ -4702,125 +4623,27 @@ msgstr "" msgid "Used In" msgstr "" -#: part/templates/part/navbar.html:75 part/templates/part/order_prices.html:12 -msgid "Order Price Information" +#: part/templates/part/navbar.html:77 +msgid "Prices" msgstr "" -#: part/templates/part/navbar.html:78 -msgid "Order Price" -msgstr "" - -#: part/templates/part/navbar.html:104 part/templates/part/order_prices.html:94 -#: part/templates/part/part_pricing.html:82 -msgid "Internal Price" -msgstr "" - -#: part/templates/part/navbar.html:107 -msgid "Sales Price Information" -msgstr "" - -#: part/templates/part/navbar.html:121 part/templates/part/part_tests.html:10 +#: part/templates/part/navbar.html:109 part/templates/part/part_tests.html:10 msgid "Part Test Templates" msgstr "" -#: part/templates/part/navbar.html:124 stock/templates/stock/item_base.html:414 +#: part/templates/part/navbar.html:112 stock/templates/stock/item_base.html:414 msgid "Tests" msgstr "" -#: part/templates/part/navbar.html:129 part/templates/part/navbar.html:132 +#: part/templates/part/navbar.html:117 part/templates/part/navbar.html:120 #: part/templates/part/related.html:10 msgid "Related Parts" msgstr "" -#: part/templates/part/navbar.html:142 part/templates/part/notes.html:12 +#: part/templates/part/navbar.html:130 part/templates/part/notes.html:12 msgid "Part Notes" msgstr "" -#: part/templates/part/order_prices.html:25 -#: part/templates/part/part_base.html:282 -msgid "Calculate" -msgstr "" - -#: part/templates/part/order_prices.html:32 -msgid "Pricing ranges" -msgstr "" - -#: part/templates/part/order_prices.html:37 -#: part/templates/part/part_pricing.html:22 -msgid "Supplier Pricing" -msgstr "" - -#: part/templates/part/order_prices.html:38 -#: part/templates/part/order_prices.html:63 -#: part/templates/part/order_prices.html:95 -#: part/templates/part/order_prices.html:109 -#: part/templates/part/part_pricing.html:26 -#: part/templates/part/part_pricing.html:52 -#: part/templates/part/part_pricing.html:85 -#: part/templates/part/part_pricing.html:100 -msgid "Unit Cost" -msgstr "" - -#: part/templates/part/order_prices.html:45 -#: part/templates/part/order_prices.html:70 -#: part/templates/part/order_prices.html:100 -#: part/templates/part/order_prices.html:114 -#: part/templates/part/part_pricing.html:32 -#: part/templates/part/part_pricing.html:58 -#: part/templates/part/part_pricing.html:89 -#: part/templates/part/part_pricing.html:104 -msgid "Total Cost" -msgstr "" - -#: part/templates/part/order_prices.html:53 -#: part/templates/part/part_pricing.html:40 -msgid "No supplier pricing available" -msgstr "" - -#: part/templates/part/order_prices.html:62 -#: part/templates/part/order_prices.html:129 -#: part/templates/part/part_pricing.html:48 -msgid "BOM Pricing" -msgstr "" - -#: part/templates/part/order_prices.html:78 -#: part/templates/part/part_pricing.html:66 -msgid "Note: BOM pricing is incomplete for this part" -msgstr "" - -#: part/templates/part/order_prices.html:85 -#: part/templates/part/part_pricing.html:73 -msgid "No BOM pricing available" -msgstr "" - -#: part/templates/part/order_prices.html:123 -#: part/templates/part/part_pricing.html:113 -msgid "No pricing information is available for this part." -msgstr "" - -#: part/templates/part/order_prices.html:139 -msgid "Stock Pricing" -msgstr "" - -#: part/templates/part/order_prices.html:147 -msgid "No stock pricing history is available for this part." -msgstr "" - -#: part/templates/part/order_prices.html:166 -#, python-format -msgid "Single Price - %(currency)s" -msgstr "" - -#: part/templates/part/order_prices.html:178 -#, python-format -msgid "Single Price Difference - %(currency)s" -msgstr "" - -#: part/templates/part/order_prices.html:190 -#, python-format -msgid "Part Single Price - %(currency)s" -msgstr "" - #: part/templates/part/params.html:17 msgid "Add new parameter" msgstr "" @@ -4841,8 +4664,8 @@ msgstr "" msgid "Part List" msgstr "" -#: part/templates/part/part_base.html:26 templates/js/company.js:156 -#: templates/js/company.js:355 templates/js/part.js:84 templates/js/part.js:161 +#: part/templates/part/part_base.html:26 templates/js/company.js:280 +#: templates/js/company.js:480 templates/js/part.js:84 templates/js/part.js:161 msgid "Inactive" msgstr "" @@ -4905,7 +4728,7 @@ msgstr "" msgid "In Stock" msgstr "" -#: part/templates/part/part_base.html:143 templates/InvenTree/index.html:131 +#: part/templates/part/part_base.html:143 templates/InvenTree/index.html:132 msgid "Required for Build Orders" msgstr "" @@ -4926,10 +4749,86 @@ msgstr "" msgid "Building" msgstr "" +#: part/templates/part/part_base.html:285 part/templates/part/prices.html:131 +msgid "Calculate" +msgstr "" + +#: part/templates/part/part_base.html:379 +msgid "Create New Part Category" +msgstr "" + +#: part/templates/part/part_base.html:387 +msgid "New Parent" +msgstr "" + +#: part/templates/part/part_base.html:435 +msgid "Edit Part" +msgstr "" + +#: part/templates/part/part_pricing.html:22 part/templates/part/prices.html:27 +msgid "Supplier Pricing" +msgstr "" + +#: part/templates/part/part_pricing.html:26 +#: part/templates/part/part_pricing.html:52 +#: part/templates/part/part_pricing.html:85 +#: part/templates/part/part_pricing.html:100 part/templates/part/prices.html:31 +#: part/templates/part/prices.html:58 part/templates/part/prices.html:90 +#: part/templates/part/prices.html:107 +msgid "Unit Cost" +msgstr "" + +#: part/templates/part/part_pricing.html:32 +#: part/templates/part/part_pricing.html:58 +#: part/templates/part/part_pricing.html:89 +#: part/templates/part/part_pricing.html:104 part/templates/part/prices.html:38 +#: part/templates/part/prices.html:65 part/templates/part/prices.html:95 +#: part/templates/part/prices.html:112 +msgid "Total Cost" +msgstr "" + +#: part/templates/part/part_pricing.html:40 part/templates/part/prices.html:46 +msgid "No supplier pricing available" +msgstr "" + +#: part/templates/part/part_pricing.html:48 part/templates/part/prices.html:55 +#: part/templates/part/prices.html:235 +msgid "BOM Pricing" +msgstr "" + +#: part/templates/part/part_pricing.html:66 part/templates/part/prices.html:73 +msgid "Note: BOM pricing is incomplete for this part" +msgstr "" + +#: part/templates/part/part_pricing.html:73 part/templates/part/prices.html:80 +msgid "No BOM pricing available" +msgstr "" + +#: part/templates/part/part_pricing.html:82 part/templates/part/prices.html:89 +msgid "Internal Price" +msgstr "" + +#: part/templates/part/part_pricing.html:113 +#: part/templates/part/prices.html:121 +msgid "No pricing information is available for this part." +msgstr "" + #: part/templates/part/part_tests.html:17 msgid "Add Test Template" msgstr "" +#: part/templates/part/part_tests.html:61 +msgid "Add Test Result Template" +msgstr "" + +#: part/templates/part/part_tests.html:79 +msgid "Edit Test Result Template" +msgstr "" + +#: part/templates/part/part_tests.html:91 +msgid "Delete Test Result Template" +msgstr "" + #: part/templates/part/part_thumb.html:20 msgid "Select from existing images" msgstr "" @@ -4964,12 +4863,98 @@ msgstr "" msgid "There are %(count)s unique parts tracked for '%(full_name)s'. Deleting this part will permanently remove this tracking information." msgstr "" -#: part/templates/part/related.html:18 -msgid "Add Related" +#: part/templates/part/prices.html:12 +msgid "General Price Information" msgstr "" -#: part/templates/part/sale_prices.html:10 -msgid "Sell Price Information" +#: part/templates/part/prices.html:22 +msgid "Pricing ranges" +msgstr "" + +#: part/templates/part/prices.html:28 +msgid "Show supplier cost" +msgstr "" + +#: part/templates/part/prices.html:29 +msgid "Show purchase price" +msgstr "" + +#: part/templates/part/prices.html:56 +msgid "Show BOM cost" +msgstr "" + +#: part/templates/part/prices.html:104 +msgid "Show sale cost" +msgstr "" + +#: part/templates/part/prices.html:105 +msgid "Show sale price" +msgstr "" + +#: part/templates/part/prices.html:127 +msgid "Calculation parameters" +msgstr "" + +#: part/templates/part/prices.html:146 +msgid "Supplier Cost" +msgstr "" + +#: part/templates/part/prices.html:147 part/templates/part/prices.html:167 +#: part/templates/part/prices.html:193 part/templates/part/prices.html:224 +#: part/templates/part/prices.html:251 part/templates/part/prices.html:279 +msgid "Jump to overview" +msgstr "" + +#: part/templates/part/prices.html:172 +msgid "Stock Pricing" +msgstr "" + +#: part/templates/part/prices.html:180 +msgid "No stock pricing history is available for this part." +msgstr "" + +#: part/templates/part/prices.html:192 +msgid "Internal Cost" +msgstr "" + +#: part/templates/part/prices.html:206 part/views.py:2859 +msgid "Add Internal Price Break" +msgstr "" + +#: part/templates/part/prices.html:223 +msgid "BOM Cost" +msgstr "" + +#: part/templates/part/prices.html:250 +msgid "Sale Cost" +msgstr "" + +#: part/templates/part/prices.html:290 +msgid "No sale pice history available for this part." +msgstr "" + +#: part/templates/part/prices.html:340 +#, python-format +msgid "Single Price - %(currency)s" +msgstr "" + +#: part/templates/part/prices.html:352 +#, python-format +msgid "Single Price Difference - %(currency)s" +msgstr "" + +#: part/templates/part/prices.html:364 +#, python-format +msgid "Part Single Price - %(currency)s" +msgstr "" + +#: part/templates/part/prices.html:464 +#, python-format +msgid "Unit Price - %(currency)s" +msgstr "" + +#: part/templates/part/related.html:18 +msgid "Add Related" msgstr "" #: part/templates/part/sales_orders.html:18 @@ -5043,216 +5028,180 @@ msgstr "" msgid "Delete Related Part" msgstr "" -#: part/views.py:164 -msgid "Add part attachment" -msgstr "" - -#: part/views.py:217 templates/attachment_table.html:32 -msgid "Edit attachment" -msgstr "" - -#: part/views.py:221 -msgid "Part attachment updated" -msgstr "" - -#: part/views.py:236 -msgid "Delete Part Attachment" -msgstr "" - -#: part/views.py:244 -msgid "Deleted part attachment" -msgstr "" - -#: part/views.py:253 -msgid "Create Test Template" -msgstr "" - -#: part/views.py:280 -msgid "Edit Test Template" -msgstr "" - -#: part/views.py:294 -msgid "Delete Test Template" -msgstr "" - -#: part/views.py:301 +#: part/views.py:161 msgid "Set Part Category" msgstr "" -#: part/views.py:351 +#: part/views.py:211 #, python-brace-format msgid "Set category for {n} parts" msgstr "" -#: part/views.py:386 +#: part/views.py:246 msgid "Create Variant" msgstr "" -#: part/views.py:471 +#: part/views.py:331 msgid "Copied part" msgstr "" -#: part/views.py:525 part/views.py:663 +#: part/views.py:385 part/views.py:523 msgid "Possible matches exist - confirm creation of new part" msgstr "" -#: part/views.py:595 +#: part/views.py:455 msgid "Created new part" msgstr "" -#: part/views.py:763 +#: part/views.py:623 msgid "Match References" msgstr "" -#: part/views.py:1092 +#: part/views.py:925 +msgid "None" +msgstr "" + +#: part/views.py:984 msgid "Part QR Code" msgstr "" -#: part/views.py:1194 -msgid "Upload Part Image" -msgstr "" - -#: part/views.py:1200 part/views.py:1235 -msgid "Updated part image" -msgstr "" - -#: part/views.py:1209 +#: part/views.py:1086 msgid "Select Part Image" msgstr "" -#: part/views.py:1238 +#: part/views.py:1112 +msgid "Updated part image" +msgstr "" + +#: part/views.py:1115 msgid "Part image not found" msgstr "" -#: part/views.py:1249 +#: part/views.py:1126 msgid "Edit Part Properties" msgstr "" -#: part/views.py:1284 +#: part/views.py:1161 msgid "Duplicate BOM" msgstr "" -#: part/views.py:1314 +#: part/views.py:1191 msgid "Confirm duplication of BOM from parent" msgstr "" -#: part/views.py:1335 +#: part/views.py:1212 msgid "Validate BOM" msgstr "" -#: part/views.py:1356 +#: part/views.py:1233 msgid "Confirm that the BOM is valid" msgstr "" -#: part/views.py:1367 +#: part/views.py:1244 msgid "Validated Bill of Materials" msgstr "" -#: part/views.py:1501 +#: part/views.py:1378 msgid "No BOM file provided" msgstr "" -#: part/views.py:1862 +#: part/views.py:1739 msgid "Enter a valid quantity" msgstr "" -#: part/views.py:1887 part/views.py:1890 +#: part/views.py:1764 part/views.py:1767 msgid "Select valid part" msgstr "" -#: part/views.py:1896 +#: part/views.py:1773 msgid "Duplicate part selected" msgstr "" -#: part/views.py:1934 +#: part/views.py:1811 msgid "Select a part" msgstr "" -#: part/views.py:1940 +#: part/views.py:1817 msgid "Selected part creates a circular BOM" msgstr "" -#: part/views.py:1944 +#: part/views.py:1821 msgid "Specify quantity" msgstr "" -#: part/views.py:2206 +#: part/views.py:2083 msgid "Confirm Part Deletion" msgstr "" -#: part/views.py:2213 +#: part/views.py:2090 msgid "Part was deleted" msgstr "" -#: part/views.py:2222 +#: part/views.py:2099 msgid "Part Pricing" msgstr "" -#: part/views.py:2363 +#: part/views.py:2240 msgid "Create Part Parameter Template" msgstr "" -#: part/views.py:2373 +#: part/views.py:2250 msgid "Edit Part Parameter Template" msgstr "" -#: part/views.py:2380 +#: part/views.py:2257 msgid "Delete Part Parameter Template" msgstr "" -#: part/views.py:2388 +#: part/views.py:2265 msgid "Create Part Parameter" msgstr "" -#: part/views.py:2438 +#: part/views.py:2315 msgid "Edit Part Parameter" msgstr "" -#: part/views.py:2452 +#: part/views.py:2329 msgid "Delete Part Parameter" msgstr "" -#: part/views.py:2512 -msgid "Edit Part Category" -msgstr "" - -#: part/views.py:2550 +#: part/views.py:2427 msgid "Delete Part Category" msgstr "" -#: part/views.py:2556 +#: part/views.py:2433 msgid "Part category was deleted" msgstr "" -#: part/views.py:2608 +#: part/views.py:2485 msgid "Create Category Parameter Template" msgstr "" -#: part/views.py:2709 +#: part/views.py:2586 msgid "Edit Category Parameter Template" msgstr "" -#: part/views.py:2765 +#: part/views.py:2642 msgid "Delete Category Parameter Template" msgstr "" -#: part/views.py:2784 +#: part/views.py:2661 msgid "Create BOM Item" msgstr "" -#: part/views.py:2854 +#: part/views.py:2731 msgid "Edit BOM item" msgstr "" -#: part/views.py:2910 -msgid "Confim BOM item deletion" +#: part/views.py:2792 +msgid "Added new price break" msgstr "" -#: part/views.py:2998 +#: part/views.py:2868 msgid "Edit Internal Price Break" msgstr "" -#: part/views.py:3006 +#: part/views.py:2876 msgid "Delete Internal Price Break" msgstr "" @@ -5358,17 +5307,17 @@ msgid "Test Results" msgstr "" #: report/templates/report/inventree_test_report_base.html:88 -#: stock/models.py:1739 +#: stock/models.py:1759 msgid "Test" msgstr "" #: report/templates/report/inventree_test_report_base.html:89 -#: stock/models.py:1745 +#: stock/models.py:1765 msgid "Result" msgstr "" #: report/templates/report/inventree_test_report_base.html:92 -#: templates/js/order.js:195 templates/js/stock.js:1012 +#: templates/js/order.js:257 templates/js/stock.js:1026 msgid "Date" msgstr "" @@ -5380,287 +5329,287 @@ msgstr "" msgid "Fail" msgstr "" -#: stock/api.py:212 +#: stock/api.py:211 #, python-brace-format msgid "Updated stock for {n} items" msgstr "" -#: stock/api.py:281 +#: stock/api.py:280 #, python-brace-format msgid "Moved {n} parts to {loc}" msgstr "" -#: stock/forms.py:114 stock/forms.py:418 stock/models.py:505 +#: stock/forms.py:81 stock/forms.py:385 stock/models.py:513 #: stock/templates/stock/item_base.html:381 templates/js/stock.js:658 msgid "Expiry Date" msgstr "" -#: stock/forms.py:115 stock/forms.py:419 +#: stock/forms.py:82 stock/forms.py:386 msgid "Expiration date for this stock item" msgstr "" -#: stock/forms.py:118 +#: stock/forms.py:85 msgid "Enter unique serial numbers (or leave blank)" msgstr "" -#: stock/forms.py:169 +#: stock/forms.py:136 msgid "Destination for serialized stock (by default, will remain in current location)" msgstr "" -#: stock/forms.py:171 +#: stock/forms.py:138 msgid "Serial numbers" msgstr "" -#: stock/forms.py:171 +#: stock/forms.py:138 msgid "Unique serial numbers (must match quantity)" msgstr "" -#: stock/forms.py:173 stock/forms.py:349 +#: stock/forms.py:140 stock/forms.py:316 msgid "Add transaction note (optional)" msgstr "" -#: stock/forms.py:203 stock/forms.py:259 +#: stock/forms.py:170 stock/forms.py:226 msgid "Select test report template" msgstr "" -#: stock/forms.py:267 templates/js/table_filters.js:75 +#: stock/forms.py:234 templates/js/table_filters.js:75 #: templates/js/table_filters.js:138 msgid "Include sublocations" msgstr "" -#: stock/forms.py:267 +#: stock/forms.py:234 msgid "Include stock items in sub locations" msgstr "" -#: stock/forms.py:302 +#: stock/forms.py:269 msgid "Stock item to install" msgstr "" -#: stock/forms.py:309 +#: stock/forms.py:276 msgid "Stock quantity to assign" msgstr "" -#: stock/forms.py:337 +#: stock/forms.py:304 msgid "Must not exceed available quantity" msgstr "" -#: stock/forms.py:347 +#: stock/forms.py:314 msgid "Destination location for uninstalled items" msgstr "" -#: stock/forms.py:351 +#: stock/forms.py:318 msgid "Confirm uninstall" msgstr "" -#: stock/forms.py:351 +#: stock/forms.py:318 msgid "Confirm removal of installed stock items" msgstr "" -#: stock/forms.py:375 +#: stock/forms.py:342 msgid "Destination stock location" msgstr "" -#: stock/forms.py:377 +#: stock/forms.py:344 msgid "Add note (required)" msgstr "" -#: stock/forms.py:381 stock/views.py:852 stock/views.py:1051 +#: stock/forms.py:348 stock/views.py:705 stock/views.py:904 msgid "Confirm stock adjustment" msgstr "" -#: stock/forms.py:381 +#: stock/forms.py:348 msgid "Confirm movement of stock items" msgstr "" -#: stock/forms.py:383 +#: stock/forms.py:350 msgid "Set Default Location" msgstr "" -#: stock/forms.py:383 +#: stock/forms.py:350 msgid "Set the destination as the default location for selected parts" msgstr "" -#: stock/models.py:52 stock/models.py:542 +#: stock/models.py:56 stock/models.py:550 msgid "Owner" msgstr "" -#: stock/models.py:53 stock/models.py:543 +#: stock/models.py:57 stock/models.py:551 msgid "Select Owner" msgstr "" -#: stock/models.py:271 +#: stock/models.py:279 msgid "StockItem with this serial number already exists" msgstr "" -#: stock/models.py:307 +#: stock/models.py:315 #, python-brace-format msgid "Part type ('{pf}') must be {pe}" msgstr "" -#: stock/models.py:317 stock/models.py:326 +#: stock/models.py:325 stock/models.py:334 msgid "Quantity must be 1 for item with a serial number" msgstr "" -#: stock/models.py:318 +#: stock/models.py:326 msgid "Serial number cannot be set if quantity greater than 1" msgstr "" -#: stock/models.py:340 +#: stock/models.py:348 msgid "Item cannot belong to itself" msgstr "" -#: stock/models.py:346 +#: stock/models.py:354 msgid "Item must have a build reference if is_building=True" msgstr "" -#: stock/models.py:353 +#: stock/models.py:361 msgid "Build reference does not point to the same part object" msgstr "" -#: stock/models.py:395 +#: stock/models.py:403 msgid "Parent Stock Item" msgstr "" -#: stock/models.py:404 +#: stock/models.py:412 msgid "Base part" msgstr "" -#: stock/models.py:413 +#: stock/models.py:421 msgid "Select a matching supplier part for this stock item" msgstr "" -#: stock/models.py:418 stock/templates/stock/stock_app_base.html:8 +#: stock/models.py:426 stock/templates/stock/stock_app_base.html:8 msgid "Stock Location" msgstr "" -#: stock/models.py:421 +#: stock/models.py:429 msgid "Where is this stock item located?" msgstr "" -#: stock/models.py:428 +#: stock/models.py:436 msgid "Packaging this stock item is stored in" msgstr "" -#: stock/models.py:433 stock/templates/stock/item_base.html:270 +#: stock/models.py:441 stock/templates/stock/item_base.html:270 msgid "Installed In" msgstr "" -#: stock/models.py:436 +#: stock/models.py:444 msgid "Is this item installed in another item?" msgstr "" -#: stock/models.py:452 +#: stock/models.py:460 msgid "Serial number for this item" msgstr "" -#: stock/models.py:464 +#: stock/models.py:472 msgid "Batch code for this stock item" msgstr "" -#: stock/models.py:468 +#: stock/models.py:476 msgid "Stock Quantity" msgstr "" -#: stock/models.py:477 +#: stock/models.py:485 msgid "Source Build" msgstr "" -#: stock/models.py:479 +#: stock/models.py:487 msgid "Build for this stock item" msgstr "" -#: stock/models.py:490 +#: stock/models.py:498 msgid "Source Purchase Order" msgstr "" -#: stock/models.py:493 +#: stock/models.py:501 msgid "Purchase order for this stock item" msgstr "" -#: stock/models.py:499 +#: stock/models.py:507 msgid "Destination Sales Order" msgstr "" -#: stock/models.py:506 +#: stock/models.py:514 msgid "Expiry date for stock item. Stock will be considered expired after this date" msgstr "" -#: stock/models.py:519 +#: stock/models.py:527 msgid "Delete on deplete" msgstr "" -#: stock/models.py:519 +#: stock/models.py:527 msgid "Delete this Stock Item when stock is depleted" msgstr "" -#: stock/models.py:529 stock/templates/stock/item_notes.html:13 +#: stock/models.py:537 stock/templates/stock/item_notes.html:13 #: stock/templates/stock/navbar.html:54 msgid "Stock Item Notes" msgstr "" -#: stock/models.py:538 +#: stock/models.py:546 msgid "Single unit purchase price at time of purchase" msgstr "" -#: stock/models.py:1006 +#: stock/models.py:1014 msgid "Part is not set as trackable" msgstr "" -#: stock/models.py:1012 +#: stock/models.py:1020 msgid "Quantity must be integer" msgstr "" -#: stock/models.py:1018 +#: stock/models.py:1026 #, python-brace-format msgid "Quantity must not exceed available stock quantity ({n})" msgstr "" -#: stock/models.py:1021 +#: stock/models.py:1029 msgid "Serial numbers must be a list of integers" msgstr "" -#: stock/models.py:1024 +#: stock/models.py:1032 msgid "Quantity does not match serial numbers" msgstr "" -#: stock/models.py:1031 +#: stock/models.py:1039 #, python-brace-format msgid "Serial numbers already exist: {exists}" msgstr "" -#: stock/models.py:1189 +#: stock/models.py:1197 msgid "StockItem cannot be moved as it is not in stock" msgstr "" -#: stock/models.py:1663 +#: stock/models.py:1679 msgid "Entry notes" msgstr "" -#: stock/models.py:1716 +#: stock/models.py:1736 msgid "Value must be provided for this test" msgstr "" -#: stock/models.py:1722 +#: stock/models.py:1742 msgid "Attachment must be uploaded for this test" msgstr "" -#: stock/models.py:1740 +#: stock/models.py:1760 msgid "Test name" msgstr "" -#: stock/models.py:1746 templates/js/table_filters.js:217 +#: stock/models.py:1766 templates/js/table_filters.js:222 msgid "Test result" msgstr "" -#: stock/models.py:1752 +#: stock/models.py:1772 msgid "Test output value" msgstr "" -#: stock/models.py:1759 +#: stock/models.py:1779 msgid "Test result attachment" msgstr "" -#: stock/models.py:1765 +#: stock/models.py:1785 msgid "Test notes" msgstr "" @@ -5850,6 +5799,10 @@ msgstr "" msgid "No stocktake performed" msgstr "" +#: stock/templates/stock/item_base.html:499 +msgid "Edit Stock Status" +msgstr "" + #: stock/templates/stock/item_childs.html:12 msgid "Child Stock Items" msgstr "" @@ -5909,6 +5862,19 @@ msgstr "" msgid "Add Test Data" msgstr "" +#: stock/templates/stock/item_tests.html:86 +#: stock/templates/stock/item_tests.html:111 +msgid "Add Test Result" +msgstr "" + +#: stock/templates/stock/item_tests.html:131 +msgid "Edit Test Result" +msgstr "" + +#: stock/templates/stock/item_tests.html:145 +msgid "Delete Test Result" +msgstr "" + #: stock/templates/stock/location.html:20 msgid "You are not in the list of owners of this location. This stock location cannot be edited." msgstr "" @@ -5957,7 +5923,7 @@ msgid "Stock Details" msgstr "" #: stock/templates/stock/location.html:117 templates/InvenTree/search.html:279 -#: templates/stats.html:97 users/models.py:41 +#: templates/stats.html:97 users/models.py:42 msgid "Stock Locations" msgstr "" @@ -5997,7 +5963,7 @@ msgstr "" msgid "The following stock items will be uninstalled" msgstr "" -#: stock/templates/stock/stockitem_convert.html:7 stock/views.py:1364 +#: stock/templates/stock/stockitem_convert.html:7 stock/views.py:1196 msgid "Convert Stock Item" msgstr "" @@ -6030,8 +5996,8 @@ msgstr "" msgid "Edit Stock Location" msgstr "" -#: stock/views.py:230 stock/views.py:1343 stock/views.py:1465 -#: stock/views.py:1830 +#: stock/views.py:230 stock/views.py:1175 stock/views.py:1297 +#: stock/views.py:1662 msgid "Owner is required (ownership control is enabled)" msgstr "" @@ -6039,208 +6005,188 @@ msgstr "" msgid "Stock Location QR code" msgstr "" -#: stock/views.py:265 -msgid "Add Stock Item Attachment" -msgstr "" - -#: stock/views.py:311 -msgid "Edit Stock Item Attachment" -msgstr "" - -#: stock/views.py:327 -msgid "Delete Stock Item Attachment" -msgstr "" - -#: stock/views.py:343 +#: stock/views.py:264 msgid "Assign to Customer" msgstr "" -#: stock/views.py:352 +#: stock/views.py:273 msgid "Customer must be specified" msgstr "" -#: stock/views.py:376 +#: stock/views.py:297 msgid "Return to Stock" msgstr "" -#: stock/views.py:385 +#: stock/views.py:306 msgid "Specify a valid location" msgstr "" -#: stock/views.py:396 +#: stock/views.py:317 msgid "Stock item returned from customer" msgstr "" -#: stock/views.py:407 +#: stock/views.py:328 msgid "Delete All Test Data" msgstr "" -#: stock/views.py:424 +#: stock/views.py:345 msgid "Confirm test data deletion" msgstr "" -#: stock/views.py:444 -msgid "Add Test Result" -msgstr "" - -#: stock/views.py:484 -msgid "Edit Test Result" -msgstr "" - -#: stock/views.py:501 -msgid "Delete Test Result" -msgstr "" - -#: stock/views.py:509 +#: stock/views.py:362 msgid "Stock Export Options" msgstr "" -#: stock/views.py:630 +#: stock/views.py:483 msgid "Stock Item QR Code" msgstr "" -#: stock/views.py:656 +#: stock/views.py:509 msgid "Install Stock Item" msgstr "" -#: stock/views.py:755 +#: stock/views.py:608 msgid "Uninstall Stock Items" msgstr "" -#: stock/views.py:863 +#: stock/views.py:716 msgid "Uninstalled stock items" msgstr "" -#: stock/views.py:888 +#: stock/views.py:741 msgid "Adjust Stock" msgstr "" -#: stock/views.py:998 +#: stock/views.py:851 msgid "Move Stock Items" msgstr "" -#: stock/views.py:998 +#: stock/views.py:851 msgid "Move" msgstr "" -#: stock/views.py:999 +#: stock/views.py:852 msgid "Count Stock Items" msgstr "" -#: stock/views.py:999 +#: stock/views.py:852 msgid "Count" msgstr "" -#: stock/views.py:1000 +#: stock/views.py:853 msgid "Remove From Stock" msgstr "" -#: stock/views.py:1000 +#: stock/views.py:853 msgid "Take" msgstr "" -#: stock/views.py:1001 +#: stock/views.py:854 msgid "Add Stock Items" msgstr "" -#: stock/views.py:1001 users/models.py:187 +#: stock/views.py:854 users/models.py:188 msgid "Add" msgstr "" -#: stock/views.py:1002 +#: stock/views.py:855 msgid "Delete Stock Items" msgstr "" -#: stock/views.py:1031 +#: stock/views.py:884 msgid "Must enter integer value" msgstr "" -#: stock/views.py:1036 +#: stock/views.py:889 msgid "Quantity must be positive" msgstr "" -#: stock/views.py:1043 +#: stock/views.py:896 #, python-brace-format msgid "Quantity must not exceed {x}" msgstr "" -#: stock/views.py:1107 +#: stock/views.py:960 msgid "No action performed" msgstr "" -#: stock/views.py:1122 +#: stock/views.py:975 #, python-brace-format msgid "Added stock to {n} items" msgstr "" -#: stock/views.py:1137 +#: stock/views.py:990 #, python-brace-format msgid "Removed stock from {n} items" msgstr "" -#: stock/views.py:1150 +#: stock/views.py:1003 #, python-brace-format msgid "Counted stock for {n} items" msgstr "" -#: stock/views.py:1190 +#: stock/views.py:1043 msgid "No items were moved" msgstr "" -#: stock/views.py:1193 +#: stock/views.py:1046 #, python-brace-format msgid "Moved {n} items to {dest}" msgstr "" -#: stock/views.py:1212 +#: stock/views.py:1065 #, python-brace-format msgid "Deleted {n} stock items" msgstr "" -#: stock/views.py:1222 -msgid "Edit Stock Item Status" -msgstr "" - -#: stock/views.py:1245 +#: stock/views.py:1077 msgid "Edit Stock Item" msgstr "" -#: stock/views.py:1482 +#: stock/views.py:1314 msgid "Serialize Stock" msgstr "" -#: stock/views.py:1575 templates/js/build.js:327 +#: stock/views.py:1407 templates/js/build.js:327 msgid "Create new Stock Item" msgstr "" -#: stock/views.py:1717 +#: stock/views.py:1549 msgid "Duplicate Stock Item" msgstr "" -#: stock/views.py:1799 +#: stock/views.py:1631 msgid "Quantity cannot be negative" msgstr "" -#: stock/views.py:1899 +#: stock/views.py:1731 msgid "Delete Stock Location" msgstr "" -#: stock/views.py:1912 +#: stock/views.py:1744 msgid "Delete Stock Item" msgstr "" -#: stock/views.py:1923 +#: stock/views.py:1755 msgid "Delete Stock Tracking Entry" msgstr "" -#: stock/views.py:1930 +#: stock/views.py:1762 msgid "Edit Stock Tracking Entry" msgstr "" -#: stock/views.py:1939 +#: stock/views.py:1771 msgid "Add Stock Tracking Entry" msgstr "" +#: templates/403.html:5 templates/403.html:11 +msgid "Permission Denied" +msgstr "" + +#: templates/403.html:14 +msgid "You do not have permission to view this page." +msgstr "" + #: templates/404.html:5 templates/404.html:11 msgid "Page Not Found" msgstr "" @@ -6269,35 +6215,39 @@ msgstr "" msgid "Recently Updated" msgstr "" -#: templates/InvenTree/index.html:145 -msgid "Expired Stock" +#: templates/InvenTree/index.html:131 +msgid "Depleted Stock" msgstr "" #: templates/InvenTree/index.html:146 +msgid "Expired Stock" +msgstr "" + +#: templates/InvenTree/index.html:147 msgid "Stale Stock" msgstr "" -#: templates/InvenTree/index.html:184 +#: templates/InvenTree/index.html:192 msgid "Build Orders In Progress" msgstr "" -#: templates/InvenTree/index.html:185 +#: templates/InvenTree/index.html:193 msgid "Overdue Build Orders" msgstr "" -#: templates/InvenTree/index.html:206 +#: templates/InvenTree/index.html:214 msgid "Outstanding Purchase Orders" msgstr "" -#: templates/InvenTree/index.html:207 +#: templates/InvenTree/index.html:215 msgid "Overdue Purchase Orders" msgstr "" -#: templates/InvenTree/index.html:229 +#: templates/InvenTree/index.html:237 msgid "Outstanding Sales Orders" msgstr "" -#: templates/InvenTree/index.html:230 +#: templates/InvenTree/index.html:238 msgid "Overdue Sales Orders" msgstr "" @@ -6582,24 +6532,12 @@ msgstr "" msgid "copy version information" msgstr "" -#: templates/about.html:100 templates/js/modals.js:568 -#: templates/js/modals.js:861 templates/modals.html:29 templates/modals.html:54 -#: templates/modals.html:97 +#: templates/about.html:100 templates/js/modals.js:34 +#: templates/js/modals.js:677 templates/js/modals.js:970 +#: templates/modals.html:29 templates/modals.html:54 templates/modals.html:97 msgid "Close" msgstr "" -#: templates/attachment_table.html:6 -msgid "Add Attachment" -msgstr "" - -#: templates/attachment_table.html:17 -msgid "Uploaded" -msgstr "" - -#: templates/attachment_table.html:35 -msgid "Delete attachment" -msgstr "" - #: templates/image_download.html:8 msgid "Specify URL for downloading image" msgstr "" @@ -6616,6 +6554,22 @@ msgstr "" msgid "Remote image must not exceed maximum allowable file size" msgstr "" +#: templates/js/attachment.js:16 +msgid "No attachments found" +msgstr "" + +#: templates/js/attachment.js:56 +msgid "Upload Date" +msgstr "" + +#: templates/js/attachment.js:69 +msgid "Edit attachment" +msgstr "" + +#: templates/js/attachment.js:76 +msgid "Delete attachment" +msgstr "" + #: templates/js/barcode.js:8 msgid "Scan barcode data here using wedge scanner" msgstr "" @@ -6644,7 +6598,7 @@ msgstr "" msgid "Unknown response from server" msgstr "" -#: templates/js/barcode.js:119 templates/js/modals.js:921 +#: templates/js/barcode.js:119 templates/js/modals.js:1030 msgid "Invalid server response" msgstr "" @@ -6744,7 +6698,7 @@ msgstr "" msgid "Edit BOM Item" msgstr "" -#: templates/js/bom.js:372 +#: templates/js/bom.js:372 templates/js/bom.js:519 msgid "Delete BOM Item" msgstr "" @@ -6772,7 +6726,7 @@ msgstr "" msgid "No build order allocations found" msgstr "" -#: templates/js/build.js:222 templates/js/order.js:382 +#: templates/js/build.js:222 templates/js/order.js:449 msgid "Location not specified" msgstr "" @@ -6798,7 +6752,7 @@ msgid "No builds matching query" msgstr "" #: templates/js/build.js:806 templates/js/part.js:390 templates/js/part.js:635 -#: templates/js/stock.js:514 templates/js/stock.js:966 +#: templates/js/stock.js:514 templates/js/stock.js:980 msgid "Select" msgstr "" @@ -6810,45 +6764,69 @@ msgstr "" msgid "No parts allocated for" msgstr "" -#: templates/js/company.js:74 +#: templates/js/company.js:45 +msgid "Edit Company" +msgstr "" + +#: templates/js/company.js:66 +msgid "Add new Company" +msgstr "" + +#: templates/js/company.js:143 msgid "Parts Supplied" msgstr "" -#: templates/js/company.js:83 +#: templates/js/company.js:152 msgid "Parts Manufactured" msgstr "" -#: templates/js/company.js:96 +#: templates/js/company.js:165 msgid "No company information found" msgstr "" -#: templates/js/company.js:129 +#: templates/js/company.js:183 +msgid "The following manufacturer parts will be deleted" +msgstr "" + +#: templates/js/company.js:200 +msgid "Delete Manufacturer Parts" +msgstr "" + +#: templates/js/company.js:253 msgid "No manufacturer parts found" msgstr "" -#: templates/js/company.js:148 templates/js/company.js:347 +#: templates/js/company.js:272 templates/js/company.js:472 #: templates/js/part.js:68 templates/js/part.js:153 msgid "Template part" msgstr "" -#: templates/js/company.js:152 templates/js/company.js:351 +#: templates/js/company.js:276 templates/js/company.js:476 #: templates/js/part.js:72 templates/js/part.js:157 msgid "Assembled part" msgstr "" -#: templates/js/company.js:226 +#: templates/js/company.js:350 msgid "No parameters found" msgstr "" -#: templates/js/company.js:262 +#: templates/js/company.js:386 msgid "Edit parameter" msgstr "" -#: templates/js/company.js:263 +#: templates/js/company.js:387 msgid "Delete parameter" msgstr "" -#: templates/js/company.js:328 +#: templates/js/company.js:406 +msgid "Edit Parameter" +msgstr "" + +#: templates/js/company.js:417 +msgid "Delete Parameter" +msgstr "" + +#: templates/js/company.js:453 msgid "No supplier parts found" msgstr "" @@ -6876,6 +6854,83 @@ msgstr "" msgid "Create filter" msgstr "" +#: templates/js/forms.js:278 templates/js/forms.js:291 +#: templates/js/forms.js:303 templates/js/forms.js:315 +msgid "Action Prohibited" +msgstr "" + +#: templates/js/forms.js:279 +msgid "Create operation not allowed" +msgstr "" + +#: templates/js/forms.js:292 +msgid "Update operation not allowed" +msgstr "" + +#: templates/js/forms.js:304 +msgid "Delete operation not allowed" +msgstr "" + +#: templates/js/forms.js:316 +msgid "View operation not allowed" +msgstr "" + +#: templates/js/forms.js:583 templates/js/modals.js:1040 +msgid "No Response" +msgstr "" + +#: templates/js/forms.js:584 templates/js/modals.js:1041 +msgid "No response from the InvenTree server" +msgstr "" + +#: templates/js/forms.js:590 templates/js/modals.js:1050 +msgid "Error 401: Not Authenticated" +msgstr "" + +#: templates/js/forms.js:591 templates/js/modals.js:1051 +msgid "Authentication credentials not supplied" +msgstr "" + +#: templates/js/forms.js:597 templates/js/modals.js:1055 +msgid "Error 403: Permission Denied" +msgstr "" + +#: templates/js/forms.js:598 templates/js/modals.js:1056 +msgid "You do not have the required permissions to access this function" +msgstr "" + +#: templates/js/forms.js:604 templates/js/modals.js:1060 +msgid "Error 404: Resource Not Found" +msgstr "" + +#: templates/js/forms.js:605 templates/js/modals.js:1061 +msgid "The requested resource could not be located on the server" +msgstr "" + +#: templates/js/forms.js:611 templates/js/modals.js:1065 +msgid "Error 408: Timeout" +msgstr "" + +#: templates/js/forms.js:612 templates/js/modals.js:1066 +msgid "Connection timeout while requesting data from server" +msgstr "" + +#: templates/js/forms.js:618 templates/js/modals.js:1069 +msgid "Error requesting form data" +msgstr "" + +#: templates/js/forms.js:788 templates/modals.html:21 templates/modals.html:47 +msgid "Form errors exist" +msgstr "" + +#: templates/js/forms.js:1161 +msgid "Searching" +msgstr "" + +#: templates/js/forms.js:1301 +msgid "Clear input" +msgstr "" + #: templates/js/label.js:10 templates/js/report.js:98 msgid "Select Stock Items" msgstr "" @@ -6916,112 +6971,102 @@ msgstr "" msgid "Select Label Template" msgstr "" -#: templates/js/modals.js:265 -msgid "Waiting for server..." -msgstr "" - -#: templates/js/modals.js:424 -msgid "Show Error Information" -msgstr "" - -#: templates/js/modals.js:491 templates/modals.html:76 -msgid "Accept" -msgstr "" - -#: templates/js/modals.js:492 templates/modals.html:75 +#: templates/js/modals.js:59 templates/js/modals.js:105 +#: templates/js/modals.js:601 templates/modals.html:75 msgid "Cancel" msgstr "" -#: templates/js/modals.js:556 -msgid "Loading Data" -msgstr "" - -#: templates/js/modals.js:567 templates/js/modals.js:860 +#: templates/js/modals.js:60 templates/js/modals.js:104 +#: templates/js/modals.js:676 templates/js/modals.js:969 #: templates/modals.html:30 templates/modals.html:55 msgid "Submit" msgstr "" -#: templates/js/modals.js:811 +#: templates/js/modals.js:103 +msgid "Form Title" +msgstr "" + +#: templates/js/modals.js:374 +msgid "Waiting for server..." +msgstr "" + +#: templates/js/modals.js:533 +msgid "Show Error Information" +msgstr "" + +#: templates/js/modals.js:600 templates/modals.html:76 +msgid "Accept" +msgstr "" + +#: templates/js/modals.js:665 +msgid "Loading Data" +msgstr "" + +#: templates/js/modals.js:920 msgid "Invalid response from server" msgstr "" -#: templates/js/modals.js:811 +#: templates/js/modals.js:920 msgid "Form data missing from server response" msgstr "" -#: templates/js/modals.js:824 +#: templates/js/modals.js:933 msgid "Error posting form data" msgstr "" -#: templates/js/modals.js:921 +#: templates/js/modals.js:1030 msgid "JSON response missing form data" msgstr "" -#: templates/js/modals.js:931 -msgid "No Response" -msgstr "" - -#: templates/js/modals.js:932 -msgid "No response from the InvenTree server" -msgstr "" - -#: templates/js/modals.js:936 +#: templates/js/modals.js:1045 msgid "Error 400: Bad Request" msgstr "" -#: templates/js/modals.js:937 +#: templates/js/modals.js:1046 msgid "Server returned error code 400" msgstr "" -#: templates/js/modals.js:941 -msgid "Error 401: Not Authenticated" +#: templates/js/model_renderers.js:21 +msgid "Company ID" msgstr "" -#: templates/js/modals.js:942 -msgid "Authentication credentials not supplied" +#: templates/js/model_renderers.js:63 +msgid "Location ID" msgstr "" -#: templates/js/modals.js:946 -msgid "Error 403: Permission Denied" +#: templates/js/model_renderers.js:90 +msgid "Part ID" msgstr "" -#: templates/js/modals.js:947 -msgid "You do not have the required permissions to access this function" +#: templates/js/model_renderers.js:126 +msgid "Category ID" msgstr "" -#: templates/js/modals.js:951 -msgid "Error 404: Resource Not Found" +#: templates/js/model_renderers.js:150 +msgid "Supplier Part ID" msgstr "" -#: templates/js/modals.js:952 -msgid "The requested resource could not be located on the server" +#: templates/js/order.js:31 +msgid "Create Sales Order" msgstr "" -#: templates/js/modals.js:956 -msgid "Error 408: Timeout" -msgstr "" - -#: templates/js/modals.js:957 -msgid "Connection timeout while requesting data from server" -msgstr "" - -#: templates/js/modals.js:960 -msgid "Error requesting form data" -msgstr "" - -#: templates/js/order.js:138 +#: templates/js/order.js:200 msgid "No purchase orders found" msgstr "" -#: templates/js/order.js:162 templates/js/order.js:257 +#: templates/js/order.js:224 templates/js/order.js:319 msgid "Order is overdue" msgstr "" -#: templates/js/order.js:234 +#: templates/js/order.js:296 msgid "No sales orders found" msgstr "" -#: templates/js/order.js:343 +#: templates/js/order.js:333 +msgid "Invalid Customer" +msgstr "" + +#: templates/js/order.js:410 msgid "No sales order allocations found" msgstr "" @@ -7061,11 +7106,11 @@ msgstr "" msgid "No category" msgstr "" -#: templates/js/part.js:476 templates/js/table_filters.js:323 +#: templates/js/part.js:476 templates/js/table_filters.js:328 msgid "Low stock" msgstr "" -#: templates/js/part.js:660 templates/js/stock.js:990 +#: templates/js/part.js:660 templates/js/stock.js:1004 msgid "Path" msgstr "" @@ -7085,7 +7130,22 @@ msgstr "" msgid "This test is defined for a parent part" msgstr "" -#: templates/js/part.js:806 +#: templates/js/part.js:786 +#, python-brace-format +msgid "No ${human_name} information found" +msgstr "" + +#: templates/js/part.js:839 +#, python-brace-format +msgid "Edit ${human_name}" +msgstr "" + +#: templates/js/part.js:840 +#, python-brace-format +msgid "Delete ${human_name}" +msgstr "" + +#: templates/js/part.js:959 msgid "Single Price Difference" msgstr "" @@ -7263,75 +7323,75 @@ msgstr "" msgid "Stocktake" msgstr "" -#: templates/js/stock.js:853 +#: templates/js/stock.js:867 msgid "Stock Status" msgstr "" -#: templates/js/stock.js:868 +#: templates/js/stock.js:882 msgid "Set Stock Status" msgstr "" -#: templates/js/stock.js:882 +#: templates/js/stock.js:896 msgid "Select Status Code" msgstr "" -#: templates/js/stock.js:883 +#: templates/js/stock.js:897 msgid "Status code must be selected" msgstr "" -#: templates/js/stock.js:1022 +#: templates/js/stock.js:1036 msgid "Invalid date" msgstr "" -#: templates/js/stock.js:1069 +#: templates/js/stock.js:1083 msgid "Location no longer exists" msgstr "" -#: templates/js/stock.js:1088 +#: templates/js/stock.js:1102 msgid "Purchase order no longer exists" msgstr "" -#: templates/js/stock.js:1107 +#: templates/js/stock.js:1121 msgid "Customer no longer exists" msgstr "" -#: templates/js/stock.js:1125 +#: templates/js/stock.js:1139 msgid "Stock item no longer exists" msgstr "" -#: templates/js/stock.js:1148 +#: templates/js/stock.js:1162 msgid "Added" msgstr "" -#: templates/js/stock.js:1156 +#: templates/js/stock.js:1170 msgid "Removed" msgstr "" -#: templates/js/stock.js:1188 +#: templates/js/stock.js:1202 msgid "No user information" msgstr "" -#: templates/js/stock.js:1200 +#: templates/js/stock.js:1214 msgid "Edit tracking entry" msgstr "" -#: templates/js/stock.js:1201 +#: templates/js/stock.js:1215 msgid "Delete tracking entry" msgstr "" -#: templates/js/stock.js:1325 +#: templates/js/stock.js:1339 msgid "Create New Location" msgstr "" -#: templates/js/stock.js:1366 +#: templates/js/stock.js:1380 msgid "No installed items" msgstr "" -#: templates/js/stock.js:1389 +#: templates/js/stock.js:1403 msgid "Serial" msgstr "" -#: templates/js/stock.js:1417 +#: templates/js/stock.js:1431 msgid "Uninstall Stock Item" msgstr "" @@ -7352,7 +7412,7 @@ msgid "Include locations" msgstr "" #: templates/js/table_filters.js:86 templates/js/table_filters.js:87 -#: templates/js/table_filters.js:300 +#: templates/js/table_filters.js:305 msgid "Include subcategories" msgstr "" @@ -7385,7 +7445,7 @@ msgstr "" msgid "Batch code" msgstr "" -#: templates/js/table_filters.js:123 templates/js/table_filters.js:290 +#: templates/js/table_filters.js:123 templates/js/table_filters.js:295 msgid "Active parts" msgstr "" @@ -7457,43 +7517,51 @@ msgstr "" msgid "Stock status" msgstr "" -#: templates/js/table_filters.js:236 +#: templates/js/table_filters.js:211 +msgid "Has purchase price" +msgstr "" + +#: templates/js/table_filters.js:212 +msgid "Show stock items which have a purchase price set" +msgstr "" + +#: templates/js/table_filters.js:241 msgid "Build status" msgstr "" -#: templates/js/table_filters.js:255 templates/js/table_filters.js:272 +#: templates/js/table_filters.js:260 templates/js/table_filters.js:277 msgid "Order status" msgstr "" -#: templates/js/table_filters.js:260 templates/js/table_filters.js:277 +#: templates/js/table_filters.js:265 templates/js/table_filters.js:282 msgid "Outstanding" msgstr "" -#: templates/js/table_filters.js:301 +#: templates/js/table_filters.js:306 msgid "Include parts in subcategories" msgstr "" -#: templates/js/table_filters.js:305 +#: templates/js/table_filters.js:310 msgid "Has IPN" msgstr "" -#: templates/js/table_filters.js:306 +#: templates/js/table_filters.js:311 msgid "Part has internal part number" msgstr "" -#: templates/js/table_filters.js:311 +#: templates/js/table_filters.js:316 msgid "Show active parts" msgstr "" -#: templates/js/table_filters.js:319 +#: templates/js/table_filters.js:324 msgid "Stock available" msgstr "" -#: templates/js/table_filters.js:335 +#: templates/js/table_filters.js:340 msgid "Starred" msgstr "" -#: templates/js/table_filters.js:347 +#: templates/js/table_filters.js:352 msgid "Purchasable" msgstr "" @@ -7550,10 +7618,6 @@ msgstr "" msgid "All" msgstr "" -#: templates/modals.html:21 templates/modals.html:47 -msgid "Form errors exist" -msgstr "" - #: templates/navbar.html:13 msgid "Toggle navigation" msgstr "" @@ -7570,7 +7634,7 @@ msgstr "" msgid "Scan Barcode" msgstr "" -#: templates/navbar.html:77 users/models.py:38 +#: templates/navbar.html:77 users/models.py:39 msgid "Admin" msgstr "" @@ -7790,35 +7854,35 @@ msgstr "" msgid "Important dates" msgstr "" -#: users/models.py:174 +#: users/models.py:175 msgid "Permission set" msgstr "" -#: users/models.py:182 +#: users/models.py:183 msgid "Group" msgstr "" -#: users/models.py:185 +#: users/models.py:186 msgid "View" msgstr "" -#: users/models.py:185 +#: users/models.py:186 msgid "Permission to view items" msgstr "" -#: users/models.py:187 +#: users/models.py:188 msgid "Permission to add items" msgstr "" -#: users/models.py:189 +#: users/models.py:190 msgid "Change" msgstr "" -#: users/models.py:189 +#: users/models.py:190 msgid "Permissions to edit items" msgstr "" -#: users/models.py:191 +#: users/models.py:192 msgid "Permission to delete items" msgstr "" diff --git a/InvenTree/locale/pl/LC_MESSAGES/django.po b/InvenTree/locale/pl/LC_MESSAGES/django.po index 200625b8cb..e7b0087141 100644 --- a/InvenTree/locale/pl/LC_MESSAGES/django.po +++ b/InvenTree/locale/pl/LC_MESSAGES/django.po @@ -2,8 +2,8 @@ msgid "" msgstr "" "Project-Id-Version: inventree\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2021-07-01 22:35+0000\n" -"PO-Revision-Date: 2021-07-01 22:38\n" +"POT-Creation-Date: 2021-07-03 12:15+0000\n" +"PO-Revision-Date: 2021-07-03 12:44\n" "Last-Translator: \n" "Language-Team: Polish\n" "Language: pl_PL\n" @@ -29,14 +29,14 @@ msgstr "Nie określono działania" msgid "No matching action found" msgstr "Nie znaleziono pasującej akcji" -#: InvenTree/fields.py:84 +#: InvenTree/fields.py:99 msgid "Enter date" msgstr "Wprowadź dane" #: InvenTree/forms.py:112 build/forms.py:102 build/forms.py:123 #: build/forms.py:145 build/forms.py:169 build/forms.py:185 build/forms.py:227 -#: order/forms.py:31 order/forms.py:42 order/forms.py:53 order/forms.py:64 -#: order/forms.py:75 part/forms.py:134 +#: order/forms.py:30 order/forms.py:41 order/forms.py:52 order/forms.py:63 +#: order/forms.py:74 part/forms.py:118 templates/js/forms.js:486 msgid "Confirm" msgstr "Potwierdź" @@ -77,8 +77,8 @@ msgstr "Wybierz kategorię" msgid "Duplicate serial: {n}" msgstr "Powtórzony numer seryjny: {n}" -#: InvenTree/helpers.py:403 order/models.py:244 order/models.py:354 -#: stock/views.py:1795 +#: InvenTree/helpers.py:403 order/models.py:311 order/models.py:421 +#: stock/views.py:1627 msgid "Invalid quantity provided" msgstr "Podano nieprawidłową ilość" @@ -106,49 +106,53 @@ msgstr "Nie znaleziono numerów seryjnych" msgid "Number of unique serial number ({s}) must match quantity ({q})" msgstr "Ilość numerów seryjnych ({s}) musi odpowiadać ilości ({q})" -#: InvenTree/models.py:59 stock/models.py:1758 +#: InvenTree/models.py:61 stock/models.py:1778 msgid "Attachment" msgstr "Załącznik" -#: InvenTree/models.py:60 +#: InvenTree/models.py:62 msgid "Select file to attach" msgstr "Wybierz plik do załączenia" -#: InvenTree/models.py:62 templates/attachment_table.html:16 +#: InvenTree/models.py:64 templates/js/attachment.js:52 msgid "Comment" msgstr "Komentarz" -#: InvenTree/models.py:62 +#: InvenTree/models.py:64 msgid "File comment" msgstr "Komentarz pliku" -#: InvenTree/models.py:68 InvenTree/models.py:69 part/models.py:2022 +#: InvenTree/models.py:70 InvenTree/models.py:71 part/models.py:2043 #: report/templates/report/inventree_test_report_base.html:91 -#: templates/js/stock.js:1179 +#: templates/js/stock.js:1193 msgid "User" msgstr "Użytkownik" -#: InvenTree/models.py:72 +#: InvenTree/models.py:74 msgid "upload date" msgstr "data przesłania" -#: InvenTree/models.py:107 InvenTree/models.py:108 company/models.py:396 -#: label/models.py:102 part/models.py:671 part/models.py:2163 +#: InvenTree/models.py:102 +msgid "Invalid choice" +msgstr "" + +#: InvenTree/models.py:118 InvenTree/models.py:119 company/models.py:414 +#: label/models.py:103 part/models.py:680 part/models.py:2192 #: part/templates/part/params.html:27 report/models.py:180 #: templates/InvenTree/search.html:137 templates/InvenTree/search.html:289 -#: templates/js/company.js:235 templates/js/part.js:118 -#: templates/js/part.js:642 templates/js/stock.js:972 +#: templates/js/company.js:359 templates/js/part.js:118 +#: templates/js/part.js:642 templates/js/stock.js:986 msgid "Name" msgstr "Nazwa" -#: InvenTree/models.py:114 build/models.py:135 -#: build/templates/build/detail.html:21 company/models.py:339 -#: company/models.py:532 company/templates/company/detail.html:27 +#: InvenTree/models.py:125 build/models.py:139 +#: build/templates/build/detail.html:21 company/models.py:353 +#: company/models.py:554 company/templates/company/detail.html:27 #: company/templates/company/manufacturer_part_base.html:72 #: company/templates/company/supplier_part_base.html:71 -#: company/templates/company/supplier_part_detail.html:31 label/models.py:109 -#: order/models.py:100 order/templates/order/purchase_order_detail.html:147 -#: part/models.py:695 part/templates/part/detail.html:54 +#: company/templates/company/supplier_part_detail.html:31 label/models.py:110 +#: order/models.py:154 order/templates/order/purchase_order_detail.html:174 +#: part/models.py:704 part/templates/part/detail.html:54 #: part/templates/part/set_category.html:14 report/models.py:193 #: report/models.py:530 report/models.py:569 #: report/templates/report/inventree_build_order_base.html:118 @@ -156,39 +160,43 @@ msgstr "Nazwa" #: templates/InvenTree/search.html:296 #: templates/InvenTree/settings/header.html:9 templates/js/bom.js:190 #: templates/js/build.js:834 templates/js/build.js:1102 -#: templates/js/company.js:56 templates/js/order.js:183 -#: templates/js/order.js:280 templates/js/part.js:177 templates/js/part.js:260 +#: templates/js/company.js:125 templates/js/order.js:245 +#: templates/js/order.js:347 templates/js/part.js:177 templates/js/part.js:260 #: templates/js/part.js:437 templates/js/part.js:654 templates/js/part.js:722 -#: templates/js/stock.js:557 templates/js/stock.js:984 -#: templates/js/stock.js:1029 +#: templates/js/stock.js:557 templates/js/stock.js:998 +#: templates/js/stock.js:1043 msgid "Description" msgstr "Opis" -#: InvenTree/models.py:115 +#: InvenTree/models.py:126 msgid "Description (optional)" msgstr "Opis (opcjonalny)" -#: InvenTree/models.py:123 +#: InvenTree/models.py:134 msgid "parent" msgstr "nadrzędny" -#: InvenTree/settings.py:504 +#: InvenTree/serializers.py:52 +msgid "Must be a valid number" +msgstr "" + +#: InvenTree/settings.py:505 msgid "English" msgstr "Angielski" -#: InvenTree/settings.py:505 +#: InvenTree/settings.py:506 msgid "French" msgstr "Francuski" -#: InvenTree/settings.py:506 +#: InvenTree/settings.py:507 msgid "German" msgstr "Niemiecki" -#: InvenTree/settings.py:507 +#: InvenTree/settings.py:508 msgid "Polish" msgstr "Polski" -#: InvenTree/settings.py:508 +#: InvenTree/settings.py:509 msgid "Turkish" msgstr "Turecki" @@ -446,50 +454,48 @@ msgid "Order target date" msgstr "" #: build/forms.py:42 build/templates/build/build_base.html:146 -#: build/templates/build/detail.html:121 order/forms.py:118 order/forms.py:153 +#: build/templates/build/detail.html:121 #: order/templates/order/order_base.html:124 #: order/templates/order/sales_order_base.html:119 #: report/templates/report/inventree_build_order_base.html:126 -#: templates/js/build.js:881 templates/js/order.js:200 -#: templates/js/order.js:298 +#: templates/js/build.js:881 templates/js/order.js:262 +#: templates/js/order.js:365 msgid "Target Date" msgstr "Data docelowa" -#: build/forms.py:43 build/models.py:225 +#: build/forms.py:43 build/models.py:229 msgid "Target date for build completion. Build will be overdue after this date." msgstr "" -#: build/forms.py:48 build/forms.py:90 build/forms.py:266 build/models.py:1346 +#: build/forms.py:48 build/forms.py:90 build/forms.py:266 build/models.py:1354 #: build/templates/build/allocation_card.html:23 #: build/templates/build/auto_allocate.html:17 #: build/templates/build/build_base.html:133 #: build/templates/build/detail.html:31 common/models.py:741 -#: company/forms.py:189 company/templates/company/supplier_part_pricing.html:77 -#: order/forms.py:197 order/forms.py:215 order/forms.py:250 order/forms.py:272 -#: order/forms.py:289 order/models.py:613 order/models.py:835 -#: order/templates/order/order_wizard/match_parts.html:30 +#: company/forms.py:124 company/templates/company/supplier_part_pricing.html:79 +#: order/forms.py:120 order/forms.py:142 order/forms.py:159 order/models.py:702 +#: order/models.py:941 order/templates/order/order_wizard/match_parts.html:30 #: order/templates/order/order_wizard/select_parts.html:34 -#: order/templates/order/purchase_order_detail.html:179 -#: order/templates/order/sales_order_detail.html:70 -#: order/templates/order/sales_order_detail.html:77 -#: order/templates/order/sales_order_detail.html:162 -#: order/templates/order/sales_order_detail.html:234 part/forms.py:342 -#: part/forms.py:372 part/forms.py:388 part/forms.py:404 part/models.py:2293 -#: part/templates/part/internal_prices.html:98 -#: part/templates/part/order_prices.html:203 -#: part/templates/part/part_pricing.html:16 -#: part/templates/part/sale_prices.html:85 +#: order/templates/order/purchase_order_detail.html:206 +#: order/templates/order/sales_order_detail.html:80 +#: order/templates/order/sales_order_detail.html:87 +#: order/templates/order/sales_order_detail.html:172 +#: order/templates/order/sales_order_detail.html:244 part/forms.py:314 +#: part/forms.py:344 part/forms.py:360 part/forms.py:376 part/models.py:2330 +#: part/templates/part/part_pricing.html:16 part/templates/part/prices.html:377 +#: part/templates/part/prices.html:474 #: report/templates/report/inventree_build_order_base.html:114 #: report/templates/report/inventree_po_report.html:91 #: report/templates/report/inventree_so_report.html:91 #: report/templates/report/inventree_test_report_base.html:77 -#: stock/forms.py:175 stock/forms.py:308 +#: stock/forms.py:142 stock/forms.py:275 #: stock/templates/stock/item_base.html:255 #: stock/templates/stock/stock_adjust.html:18 templates/js/barcode.js:364 #: templates/js/bom.js:205 templates/js/build.js:233 templates/js/build.js:572 -#: templates/js/build.js:1112 templates/js/order.js:393 -#: templates/js/part.js:796 templates/js/stock.js:1164 -#: templates/js/stock.js:1383 +#: templates/js/build.js:1112 templates/js/model_renderers.js:43 +#: templates/js/order.js:460 templates/js/part.js:827 templates/js/part.js:949 +#: templates/js/part.js:1005 templates/js/stock.js:1178 +#: templates/js/stock.js:1397 msgid "Quantity" msgstr "Ilość" @@ -501,7 +507,7 @@ msgstr "" msgid "Enter quantity for build output" msgstr "" -#: build/forms.py:95 order/forms.py:244 stock/forms.py:118 +#: build/forms.py:95 order/forms.py:114 stock/forms.py:85 msgid "Serial Numbers" msgstr "Numer seryjny" @@ -530,12 +536,12 @@ msgid "Mark build as complete" msgstr "Oznacz budowę jako ukończoną" #: build/forms.py:210 build/templates/build/auto_allocate.html:18 -#: stock/forms.py:347 stock/templates/stock/item_base.html:285 +#: stock/forms.py:314 stock/templates/stock/item_base.html:285 #: stock/templates/stock/stock_adjust.html:17 #: templates/InvenTree/search.html:260 templates/js/barcode.js:363 #: templates/js/barcode.js:531 templates/js/build.js:218 -#: templates/js/build.js:586 templates/js/order.js:378 -#: templates/js/stock.js:643 templates/js/stock.js:1056 +#: templates/js/build.js:586 templates/js/order.js:445 +#: templates/js/stock.js:643 templates/js/stock.js:1070 msgid "Location" msgstr "Lokalizacja" @@ -544,13 +550,13 @@ msgid "Location of completed parts" msgstr "Lokalizacja ukończonych części" #: build/forms.py:215 build/templates/build/build_base.html:138 -#: build/templates/build/detail.html:59 order/models.py:465 +#: build/templates/build/detail.html:59 order/models.py:545 #: order/templates/order/receive_parts.html:24 #: stock/templates/stock/item_base.html:408 templates/InvenTree/search.html:252 #: templates/js/barcode.js:119 templates/js/build.js:868 -#: templates/js/order.js:187 templates/js/order.js:285 -#: templates/js/stock.js:630 templates/js/stock.js:1133 -#: templates/js/stock.js:1399 +#: templates/js/order.js:249 templates/js/order.js:352 +#: templates/js/stock.js:630 templates/js/stock.js:1147 +#: templates/js/stock.js:1413 msgid "Status" msgstr "Status" @@ -582,60 +588,60 @@ msgstr "" msgid "Select quantity of stock to allocate" msgstr "" -#: build/models.py:66 build/templates/build/build_base.html:9 +#: build/models.py:70 build/templates/build/build_base.html:9 #: build/templates/build/build_base.html:73 #: report/templates/report/inventree_build_order_base.html:106 #: templates/js/build.js:195 msgid "Build Order" msgstr "Zlecenie Budowy" -#: build/models.py:67 build/templates/build/index.html:8 +#: build/models.py:71 build/templates/build/index.html:8 #: build/templates/build/index.html:15 order/templates/order/so_builds.html:12 #: order/templates/order/so_navbar.html:19 #: order/templates/order/so_navbar.html:22 part/templates/part/navbar.html:58 -#: part/templates/part/navbar.html:61 templates/InvenTree/index.html:183 +#: part/templates/part/navbar.html:61 templates/InvenTree/index.html:191 #: templates/InvenTree/search.html:185 -#: templates/InvenTree/settings/tabs.html:34 users/models.py:43 +#: templates/InvenTree/settings/tabs.html:34 users/models.py:44 msgid "Build Orders" msgstr "Zlecenia budowy" -#: build/models.py:127 +#: build/models.py:131 msgid "Build Order Reference" msgstr "Odwołanie do zamówienia wykonania" -#: build/models.py:128 order/models.py:98 order/models.py:615 -#: order/templates/order/purchase_order_detail.html:174 -#: order/templates/order/sales_order_detail.html:229 part/models.py:2302 +#: build/models.py:132 order/models.py:242 order/models.py:529 +#: order/models.py:709 order/templates/order/purchase_order_detail.html:201 +#: order/templates/order/sales_order_detail.html:239 part/models.py:2339 #: report/templates/report/inventree_po_report.html:92 #: report/templates/report/inventree_so_report.html:92 templates/js/bom.js:197 #: templates/js/build.js:661 templates/js/build.js:1106 msgid "Reference" msgstr "Referencja" -#: build/models.py:138 +#: build/models.py:142 msgid "Brief description of the build" msgstr "Krótki opis budowy" -#: build/models.py:147 build/templates/build/build_base.html:163 +#: build/models.py:151 build/templates/build/build_base.html:163 #: build/templates/build/detail.html:77 msgid "Parent Build" msgstr "Budowa nadrzędna" -#: build/models.py:148 +#: build/models.py:152 msgid "BuildOrder to which this build is allocated" msgstr "Zamówienie budowy, do którego budowa jest przypisana" -#: build/models.py:153 build/templates/build/auto_allocate.html:16 +#: build/models.py:157 build/templates/build/auto_allocate.html:16 #: build/templates/build/build_base.html:128 -#: build/templates/build/detail.html:26 company/models.py:663 -#: order/models.py:657 order/models.py:712 +#: build/templates/build/detail.html:26 company/models.py:689 +#: order/models.py:755 order/models.py:814 #: order/templates/order/order_wizard/select_parts.html:32 -#: order/templates/order/purchase_order_detail.html:132 +#: order/templates/order/purchase_order_detail.html:159 #: order/templates/order/receive_parts.html:19 -#: order/templates/order/sales_order_detail.html:214 part/models.py:321 -#: part/models.py:1975 part/models.py:1987 part/models.py:2002 -#: part/models.py:2020 part/models.py:2095 part/models.py:2191 -#: part/models.py:2277 part/templates/part/part_app_base.html:8 +#: order/templates/order/sales_order_detail.html:224 part/models.py:325 +#: part/models.py:1988 part/models.py:2004 part/models.py:2023 +#: part/models.py:2041 part/models.py:2120 part/models.py:2224 +#: part/models.py:2314 part/templates/part/part_app_base.html:8 #: part/templates/part/part_pricing.html:12 part/templates/part/related.html:29 #: part/templates/part/set_category.html:13 #: report/templates/report/inventree_build_order_base.html:110 @@ -644,222 +650,222 @@ msgstr "Zamówienie budowy, do którego budowa jest przypisana" #: templates/InvenTree/search.html:112 templates/InvenTree/search.html:210 #: templates/js/barcode.js:362 templates/js/bom.js:163 #: templates/js/build.js:552 templates/js/build.js:839 -#: templates/js/build.js:1079 templates/js/company.js:140 -#: templates/js/company.js:339 templates/js/part.js:241 +#: templates/js/build.js:1079 templates/js/company.js:264 +#: templates/js/company.js:464 templates/js/part.js:241 #: templates/js/part.js:404 templates/js/stock.js:526 -#: templates/js/stock.js:1371 +#: templates/js/stock.js:1385 msgid "Part" msgstr "Część" -#: build/models.py:161 +#: build/models.py:165 msgid "Select part to build" msgstr "Wybierz część do budowy" -#: build/models.py:166 +#: build/models.py:170 msgid "Sales Order Reference" msgstr "Odwołanie do zamówienia sprzedaży" -#: build/models.py:170 +#: build/models.py:174 msgid "SalesOrder to which this build is allocated" msgstr "Zamówienie sprzedaży, do którego budowa jest przypisana" -#: build/models.py:175 +#: build/models.py:179 msgid "Source Location" msgstr "Lokalizacja źródła" -#: build/models.py:179 +#: build/models.py:183 msgid "Select location to take stock from for this build (leave blank to take from any stock location)" msgstr "Wybierz lokalizację, z której pobrać element do budowy (pozostaw puste, aby wziąć z dowolnej lokalizacji)" -#: build/models.py:184 +#: build/models.py:188 msgid "Destination Location" msgstr "Lokalizacja docelowa" -#: build/models.py:188 +#: build/models.py:192 msgid "Select location where the completed items will be stored" msgstr "Wybierz lokalizację, w której będą przechowywane ukończone elementy" -#: build/models.py:192 +#: build/models.py:196 msgid "Build Quantity" msgstr "Ilość do stworzenia" -#: build/models.py:195 +#: build/models.py:199 msgid "Number of stock items to build" msgstr "Ilość przedmiotów do zbudowania" -#: build/models.py:199 +#: build/models.py:203 msgid "Completed items" msgstr "Ukończone elementy" -#: build/models.py:201 +#: build/models.py:205 msgid "Number of stock items which have been completed" msgstr "Ilość produktów magazynowych które zostały ukończone" -#: build/models.py:205 part/templates/part/part_base.html:167 +#: build/models.py:209 part/templates/part/part_base.html:167 msgid "Build Status" msgstr "Status budowania" -#: build/models.py:209 +#: build/models.py:213 msgid "Build status code" msgstr "Kod statusu budowania" -#: build/models.py:213 stock/models.py:462 +#: build/models.py:217 stock/models.py:470 msgid "Batch Code" msgstr "Kod partii" -#: build/models.py:217 +#: build/models.py:221 msgid "Batch code for this build output" msgstr "Kod partii dla wyjścia budowy" -#: build/models.py:220 order/models.py:104 part/models.py:867 -#: part/templates/part/detail.html:126 templates/js/order.js:293 +#: build/models.py:224 order/models.py:158 part/models.py:876 +#: part/templates/part/detail.html:126 templates/js/order.js:360 msgid "Creation Date" msgstr "Data utworzenia" -#: build/models.py:224 order/models.py:471 +#: build/models.py:228 order/models.py:551 msgid "Target completion date" msgstr "Docelowy termin zakończenia" -#: build/models.py:228 order/models.py:217 templates/js/build.js:886 +#: build/models.py:232 order/models.py:284 templates/js/build.js:886 msgid "Completion Date" msgstr "Data zakończenia" -#: build/models.py:234 +#: build/models.py:238 msgid "completed by" msgstr "zrealizowane przez" -#: build/models.py:242 +#: build/models.py:246 msgid "Issued by" msgstr "Wydany przez" -#: build/models.py:243 +#: build/models.py:247 msgid "User who issued this build order" msgstr "Użytkownik, który wydał to zamówienie" -#: build/models.py:251 build/templates/build/build_base.html:184 -#: build/templates/build/detail.html:105 order/models.py:118 +#: build/models.py:255 build/templates/build/build_base.html:184 +#: build/templates/build/detail.html:105 order/models.py:172 #: order/templates/order/order_base.html:138 -#: order/templates/order/sales_order_base.html:140 part/models.py:871 +#: order/templates/order/sales_order_base.html:140 part/models.py:880 #: report/templates/report/inventree_build_order_base.html:159 msgid "Responsible" msgstr "Odpowiedzialny" -#: build/models.py:252 +#: build/models.py:256 msgid "User responsible for this build order" msgstr "Użytkownik odpowiedzialny za to zamówienie budowy" -#: build/models.py:257 build/templates/build/detail.html:91 +#: build/models.py:261 build/templates/build/detail.html:91 #: company/templates/company/manufacturer_part_base.html:79 #: company/templates/company/manufacturer_part_detail.html:28 #: company/templates/company/supplier_part_base.html:78 #: company/templates/company/supplier_part_detail.html:28 #: part/templates/part/detail.html:83 part/templates/part/part_base.html:94 -#: stock/models.py:456 stock/templates/stock/item_base.html:345 +#: stock/models.py:464 stock/templates/stock/item_base.html:345 msgid "External Link" msgstr "Link Zewnętrzny" -#: build/models.py:258 part/models.py:729 stock/models.py:458 +#: build/models.py:262 part/models.py:738 stock/models.py:466 msgid "Link to external URL" msgstr "Link do zewnętrznego adresu URL" -#: build/models.py:262 build/templates/build/navbar.html:53 -#: company/models.py:132 company/models.py:539 +#: build/models.py:266 build/templates/build/navbar.html:53 +#: company/models.py:141 company/models.py:561 #: company/templates/company/navbar.html:70 -#: company/templates/company/navbar.html:73 order/models.py:122 -#: order/models.py:617 order/templates/order/po_navbar.html:38 +#: company/templates/company/navbar.html:73 order/models.py:176 +#: order/models.py:711 order/templates/order/po_navbar.html:38 #: order/templates/order/po_navbar.html:41 -#: order/templates/order/purchase_order_detail.html:243 -#: order/templates/order/sales_order_detail.html:309 +#: order/templates/order/purchase_order_detail.html:270 +#: order/templates/order/sales_order_detail.html:319 #: order/templates/order/so_navbar.html:33 -#: order/templates/order/so_navbar.html:36 part/models.py:856 -#: part/templates/part/navbar.html:145 +#: order/templates/order/so_navbar.html:36 part/models.py:865 +#: part/templates/part/navbar.html:133 #: report/templates/report/inventree_build_order_base.html:173 -#: stock/forms.py:173 stock/forms.py:317 stock/forms.py:349 stock/forms.py:377 -#: stock/models.py:528 stock/models.py:1662 stock/models.py:1764 +#: stock/forms.py:140 stock/forms.py:284 stock/forms.py:316 stock/forms.py:344 +#: stock/models.py:536 stock/models.py:1678 stock/models.py:1784 #: stock/templates/stock/navbar.html:57 templates/js/barcode.js:37 -#: templates/js/bom.js:349 templates/js/stock.js:141 templates/js/stock.js:699 +#: templates/js/bom.js:349 templates/js/stock.js:141 templates/js/stock.js:713 msgid "Notes" msgstr "Uwagi" -#: build/models.py:263 +#: build/models.py:267 msgid "Extra build notes" msgstr "Dodatkowe notatki do budowy" -#: build/models.py:740 +#: build/models.py:744 msgid "No build output specified" msgstr "Nie określono danych wyjściowych budowy" -#: build/models.py:743 +#: build/models.py:747 msgid "Build output is already completed" msgstr "Budowanie wyjścia jest już ukończone" -#: build/models.py:746 +#: build/models.py:750 msgid "Build output does not match Build Order" msgstr "" -#: build/models.py:1152 +#: build/models.py:1160 msgid "BuildItem must be unique for build, stock_item and install_into" msgstr "" -#: build/models.py:1177 +#: build/models.py:1185 msgid "Build item must specify a build output, as master part is marked as trackable" msgstr "" -#: build/models.py:1181 +#: build/models.py:1189 #, python-brace-format msgid "Allocated quantity ({n}) must not exceed available quantity ({q})" msgstr "" -#: build/models.py:1188 order/models.py:809 +#: build/models.py:1196 order/models.py:915 msgid "StockItem is over-allocated" msgstr "" -#: build/models.py:1192 order/models.py:812 +#: build/models.py:1200 order/models.py:918 msgid "Allocation quantity must be greater than zero" msgstr "" -#: build/models.py:1196 +#: build/models.py:1204 msgid "Quantity must be 1 for serialized stock" msgstr "" -#: build/models.py:1256 +#: build/models.py:1264 #, python-brace-format msgid "Selected stock item not found in BOM for part '{p}'" msgstr "" -#: build/models.py:1316 stock/templates/stock/item_base.html:317 +#: build/models.py:1324 stock/templates/stock/item_base.html:317 #: templates/InvenTree/search.html:183 templates/js/build.js:812 #: templates/navbar.html:29 msgid "Build" msgstr "Budowa" -#: build/models.py:1317 +#: build/models.py:1325 msgid "Build to allocate parts" msgstr "" -#: build/models.py:1333 stock/templates/stock/item_base.html:8 +#: build/models.py:1341 stock/templates/stock/item_base.html:8 #: stock/templates/stock/item_base.html:31 #: stock/templates/stock/item_base.html:339 #: stock/templates/stock/stock_adjust.html:16 templates/js/build.js:206 #: templates/js/build.js:211 templates/js/build.js:929 -#: templates/js/order.js:366 templates/js/order.js:371 -#: templates/js/stock.js:1115 +#: templates/js/order.js:433 templates/js/order.js:438 +#: templates/js/stock.js:1129 msgid "Stock Item" msgstr "Element magazynowy" -#: build/models.py:1334 +#: build/models.py:1342 msgid "Source stock item" msgstr "Lokalizacja magazynowania przedmiotu" -#: build/models.py:1347 +#: build/models.py:1355 msgid "Stock quantity to allocate to build" msgstr "" -#: build/models.py:1355 +#: build/models.py:1363 msgid "Install into" msgstr "Zainstaluj do" -#: build/models.py:1356 +#: build/models.py:1364 msgid "Destination stock item" msgstr "Docelowa lokalizacja magazynowa przedmiotu" @@ -893,7 +899,7 @@ msgstr "Zamów wymagane komponenty" #: build/templates/build/allocate.html:30 #: company/templates/company/detail_manufacturer_part.html:33 -#: company/templates/company/detail_supplier_part.html:32 order/views.py:992 +#: company/templates/company/detail_supplier_part.html:32 order/views.py:724 #: part/templates/part/category.html:136 msgid "Order Parts" msgstr "Zamów części" @@ -912,23 +918,52 @@ msgstr "" #: build/templates/build/allocation_card.html:21 #: build/templates/build/complete_output.html:46 -#: order/templates/order/sales_order_detail.html:75 -#: order/templates/order/sales_order_detail.html:160 +#: order/templates/order/sales_order_detail.html:85 +#: order/templates/order/sales_order_detail.html:170 #: report/templates/report/inventree_test_report_base.html:75 -#: stock/models.py:450 stock/templates/stock/item_base.html:249 -#: templates/js/build.js:570 +#: stock/models.py:458 stock/templates/stock/item_base.html:249 +#: templates/js/build.js:570 templates/js/model_renderers.js:41 msgid "Serial Number" msgstr "Numer Seryjny" #: build/templates/build/attachments.html:12 #: build/templates/build/navbar.html:43 build/templates/build/navbar.html:46 #: order/templates/order/po_navbar.html:35 -#: order/templates/order/so_navbar.html:29 part/templates/part/navbar.html:136 -#: part/templates/part/navbar.html:139 stock/templates/stock/navbar.html:47 +#: order/templates/order/so_navbar.html:29 part/templates/part/navbar.html:124 +#: part/templates/part/navbar.html:127 stock/templates/stock/navbar.html:47 #: stock/templates/stock/navbar.html:50 msgid "Attachments" msgstr "Załączniki" +#: build/templates/build/attachments.html:51 +#: order/templates/order/so_attachments.html:79 +#: part/templates/part/attachments.html:81 +#: stock/templates/stock/item_attachments.html:81 +#: templates/attachment_table.html:6 +msgid "Add Attachment" +msgstr "" + +#: build/templates/build/attachments.html:69 +#: order/templates/order/so_attachments.html:52 +#: part/templates/part/attachments.html:35 +#: stock/templates/stock/item_attachments.html:49 +msgid "Edit Attachment" +msgstr "Edytuj załącznik" + +#: build/templates/build/attachments.html:76 +#: order/templates/order/so_attachments.html:58 +#: part/templates/part/attachments.html:44 +#: stock/templates/stock/item_attachments.html:58 +msgid "Confirm Delete Operation" +msgstr "" + +#: build/templates/build/attachments.html:77 +#: order/templates/order/so_attachments.html:59 +#: part/templates/part/attachments.html:45 +#: stock/templates/stock/item_attachments.html:59 +msgid "Delete Attachment" +msgstr "Usuń załącznik" + #: build/templates/build/auto_allocate.html:9 msgid "Automatically Allocate Stock" msgstr "Przydziel automatycznie zapasy" @@ -989,8 +1024,8 @@ msgstr "Widok administratora" #: order/templates/order/order_base.html:86 #: order/templates/order/sales_order_base.html:43 #: order/templates/order/sales_order_base.html:88 -#: templates/js/table_filters.js:245 templates/js/table_filters.js:264 -#: templates/js/table_filters.js:281 +#: templates/js/table_filters.js:250 templates/js/table_filters.js:269 +#: templates/js/table_filters.js:286 msgid "Overdue" msgstr "Zaległe" @@ -1036,13 +1071,13 @@ msgid "Progress" msgstr "Postęp" #: build/templates/build/build_base.html:170 -#: build/templates/build/detail.html:84 order/models.py:710 +#: build/templates/build/detail.html:84 order/models.py:812 #: order/templates/order/sales_order_base.html:9 #: order/templates/order/sales_order_base.html:35 #: order/templates/order/sales_order_ship.html:25 #: report/templates/report/inventree_build_order_base.html:136 #: report/templates/report/inventree_so_report.html:77 -#: stock/templates/stock/item_base.html:279 templates/js/order.js:245 +#: stock/templates/stock/item_base.html:279 templates/js/order.js:307 msgid "Sales Order" msgstr "Zamówienie zakupu" @@ -1183,10 +1218,10 @@ msgstr "Źródło magazynu" msgid "Stock can be taken from any available location." msgstr "" -#: build/templates/build/detail.html:46 order/forms.py:89 order/models.py:673 -#: order/templates/order/purchase_order_detail.html:239 -#: order/templates/order/receive_parts.html:25 stock/forms.py:169 -#: stock/forms.py:375 +#: build/templates/build/detail.html:46 order/forms.py:88 order/models.py:771 +#: order/templates/order/purchase_order_detail.html:266 +#: order/templates/order/receive_parts.html:25 stock/forms.py:136 +#: stock/forms.py:342 msgid "Destination" msgstr "Przeznaczenie" @@ -1196,7 +1231,7 @@ msgstr "Nie określono lokalizacji docelowej" #: build/templates/build/detail.html:70 #: stock/templates/stock/item_base.html:303 templates/js/stock.js:638 -#: templates/js/stock.js:1406 templates/js/table_filters.js:112 +#: templates/js/stock.js:1420 templates/js/table_filters.js:112 #: templates/js/table_filters.js:206 msgid "Batch" msgstr "Partia" @@ -1251,7 +1286,7 @@ msgstr "Szczegóły zlecenia budowy" #: company/templates/company/navbar.html:15 #: order/templates/order/po_navbar.html:15 #: order/templates/order/so_navbar.html:15 part/templates/part/navbar.html:18 -#: templates/js/stock.js:1044 +#: templates/js/stock.js:1058 msgid "Details" msgstr "Szczegóły" @@ -1287,7 +1322,6 @@ msgstr "Edytuj uwagi" #: order/templates/order/order_notes.html:27 #: order/templates/order/sales_order_notes.html:29 #: part/templates/part/notes.html:27 stock/templates/stock/item_base.html:487 -#: stock/templates/stock/item_base.html:497 #: stock/templates/stock/item_notes.html:26 msgid "Save" msgstr "Zapisz" @@ -1316,7 +1350,7 @@ msgstr "Utwórz zlecenie budowy" msgid "Maximum output quantity is " msgstr "" -#: build/views.py:184 stock/views.py:1821 +#: build/views.py:184 stock/views.py:1653 msgid "Serial numbers already exist" msgstr "Numer seryjny już istnieje" @@ -1332,7 +1366,7 @@ msgstr "" msgid "Confirm unallocation of build stock" msgstr "" -#: build/views.py:281 build/views.py:371 stock/views.py:425 +#: build/views.py:281 build/views.py:371 stock/views.py:346 msgid "Check the confirmation box" msgstr "" @@ -1429,31 +1463,6 @@ msgstr "" msgid "Updated Build Item" msgstr "" -#: build/views.py:1070 -msgid "Add Build Order Attachment" -msgstr "" - -#: build/views.py:1083 order/views.py:117 order/views.py:169 part/views.py:178 -#: stock/views.py:277 -msgid "Added attachment" -msgstr "Dodano załącznik" - -#: build/views.py:1119 order/views.py:196 order/views.py:217 -msgid "Edit Attachment" -msgstr "Edytuj załącznik" - -#: build/views.py:1129 order/views.py:200 order/views.py:221 -msgid "Attachment updated" -msgstr "Załącznik zaktualizowany" - -#: build/views.py:1139 order/views.py:236 order/views.py:250 -msgid "Delete Attachment" -msgstr "Usuń załącznik" - -#: build/views.py:1144 order/views.py:242 order/views.py:256 stock/views.py:333 -msgid "Deleted attachment" -msgstr "Załącznik usunięto" - #: common/files.py:66 msgid "Unsupported file format: {ext.upper()}" msgstr "" @@ -1470,7 +1479,7 @@ msgstr "" msgid "Error reading file (data could be corrupted)" msgstr "" -#: common/forms.py:34 templates/attachment_table.html:15 +#: common/forms.py:34 templates/js/attachment.js:42 msgid "File" msgstr "" @@ -1503,7 +1512,7 @@ msgstr "" msgid "Use the instance name in the title-bar" msgstr "" -#: common/models.py:72 company/models.py:94 company/models.py:95 +#: common/models.py:72 company/models.py:99 company/models.py:100 msgid "Company name" msgstr "Nazwa firmy" @@ -1607,9 +1616,9 @@ msgstr "" msgid "Number of recent parts to display on index page" msgstr "" -#: common/models.py:160 part/models.py:2193 part/templates/part/detail.html:160 -#: report/models.py:186 stock/forms.py:259 templates/js/table_filters.js:25 -#: templates/js/table_filters.js:315 +#: common/models.py:160 part/models.py:2226 part/templates/part/detail.html:160 +#: report/models.py:186 stock/forms.py:226 templates/js/table_filters.js:25 +#: templates/js/table_filters.js:320 msgid "Template" msgstr "Szablon" @@ -1617,8 +1626,8 @@ msgstr "Szablon" msgid "Parts are templates by default" msgstr "" -#: common/models.py:167 part/models.py:819 part/templates/part/detail.html:170 -#: templates/js/table_filters.js:128 templates/js/table_filters.js:327 +#: common/models.py:167 part/models.py:828 part/templates/part/detail.html:170 +#: templates/js/table_filters.js:128 templates/js/table_filters.js:332 msgid "Assembly" msgstr "Złożenie" @@ -1626,8 +1635,8 @@ msgstr "Złożenie" msgid "Parts can be assembled from other components by default" msgstr "" -#: common/models.py:174 part/models.py:825 part/templates/part/detail.html:180 -#: templates/js/table_filters.js:331 +#: common/models.py:174 part/models.py:834 part/templates/part/detail.html:180 +#: templates/js/table_filters.js:336 msgid "Component" msgstr "Komponent" @@ -1635,7 +1644,7 @@ msgstr "Komponent" msgid "Parts can be used as sub-components by default" msgstr "" -#: common/models.py:181 part/models.py:836 part/templates/part/detail.html:200 +#: common/models.py:181 part/models.py:845 part/templates/part/detail.html:200 msgid "Purchaseable" msgstr "Możliwość zakupu" @@ -1643,8 +1652,8 @@ msgstr "Możliwość zakupu" msgid "Parts are purchaseable by default" msgstr "Części są domyślnie z możliwością zakupu" -#: common/models.py:188 part/models.py:841 part/templates/part/detail.html:210 -#: templates/js/table_filters.js:339 +#: common/models.py:188 part/models.py:850 part/templates/part/detail.html:210 +#: templates/js/table_filters.js:344 msgid "Salable" msgstr "Możliwość sprzedaży" @@ -1652,8 +1661,8 @@ msgstr "Możliwość sprzedaży" msgid "Parts are salable by default" msgstr "Części są domyślnie z możliwością sprzedaży" -#: common/models.py:195 part/models.py:831 part/templates/part/detail.html:190 -#: templates/js/table_filters.js:33 templates/js/table_filters.js:343 +#: common/models.py:195 part/models.py:840 part/templates/part/detail.html:190 +#: templates/js/table_filters.js:33 templates/js/table_filters.js:348 msgid "Trackable" msgstr "Możliwość śledzenia" @@ -1661,7 +1670,7 @@ msgstr "Możliwość śledzenia" msgid "Parts are trackable by default" msgstr "Części są domyślnie z możliwością śledzenia" -#: common/models.py:202 part/models.py:851 part/templates/part/detail.html:150 +#: common/models.py:202 part/models.py:860 part/templates/part/detail.html:150 #: templates/js/table_filters.js:29 msgid "Virtual" msgstr "Wirtualny" @@ -1858,13 +1867,12 @@ msgstr "" msgid "Key string must be unique" msgstr "" -#: common/models.py:742 company/forms.py:190 +#: common/models.py:742 company/forms.py:125 msgid "Price break quantity" msgstr "" -#: common/models.py:749 company/templates/company/supplier_part_pricing.html:82 -#: part/templates/part/internal_prices.html:103 -#: part/templates/part/sale_prices.html:90 +#: common/models.py:749 company/templates/company/supplier_part_pricing.html:84 +#: templates/js/part.js:832 msgid "Price" msgstr "Cena" @@ -1894,16 +1902,16 @@ msgstr "" #: common/views.py:184 order/templates/order/order_wizard/po_upload.html:42 #: order/templates/order/po_navbar.html:19 -#: order/templates/order/po_navbar.html:22 order/views.py:605 +#: order/templates/order/po_navbar.html:22 order/views.py:337 #: part/templates/part/bom_upload/upload_file.html:27 -#: part/templates/part/import_wizard/part_upload.html:45 part/views.py:761 +#: part/templates/part/import_wizard/part_upload.html:45 part/views.py:621 msgid "Upload File" msgstr "Wyślij plik" #: common/views.py:185 order/templates/order/order_wizard/match_fields.html:52 -#: order/views.py:606 part/templates/part/bom_upload/select_fields.html:58 +#: order/views.py:338 part/templates/part/bom_upload/select_fields.html:58 #: part/templates/part/import_wizard/ajax_match_fields.html:45 -#: part/templates/part/import_wizard/match_fields.html:52 part/views.py:762 +#: part/templates/part/import_wizard/match_fields.html:52 part/views.py:622 msgid "Match Fields" msgstr "" @@ -1928,269 +1936,277 @@ msgstr "" msgid "Previous Step" msgstr "" -#: company/forms.py:37 company/models.py:142 -#: company/templates/company/detail.html:42 -msgid "Currency" -msgstr "Waluta" - -#: company/forms.py:38 company/models.py:144 -msgid "Default currency used for this company" -msgstr "" - -#: company/forms.py:76 part/forms.py:46 +#: company/forms.py:26 part/forms.py:46 msgid "URL" msgstr "URL" -#: company/forms.py:77 part/forms.py:47 +#: company/forms.py:27 part/forms.py:47 msgid "Image URL" msgstr "URL zdjęcia" -#: company/forms.py:132 templates/js/part.js:787 +#: company/forms.py:67 templates/js/part.js:940 msgid "Single Price" msgstr "Cena jednostkowa" -#: company/forms.py:133 +#: company/forms.py:68 msgid "Single quantity price" msgstr "Cena jednostkowa" -#: company/forms.py:141 company/models.py:321 +#: company/forms.py:76 company/models.py:335 msgid "Select manufacturer" msgstr "Wybierz producenta" -#: company/forms.py:147 company/models.py:328 +#: company/forms.py:82 company/models.py:342 msgid "Manufacturer Part Number" msgstr "Numer producenta" -#: company/forms.py:149 company/models.py:327 +#: company/forms.py:84 company/models.py:341 #: company/templates/company/manufacturer_part_base.html:89 #: company/templates/company/manufacturer_part_detail.html:26 #: company/templates/company/supplier_part_base.html:102 #: company/templates/company/supplier_part_detail.html:35 -#: order/templates/order/purchase_order_detail.html:162 part/bom.py:171 -#: part/bom.py:242 templates/js/company.js:181 templates/js/company.js:408 +#: order/templates/order/purchase_order_detail.html:189 part/bom.py:171 +#: part/bom.py:242 templates/js/company.js:305 templates/js/company.js:533 msgid "MPN" msgstr "MPN" -#: company/models.py:99 +#: company/models.py:104 msgid "Company description" msgstr "Opis firmy" -#: company/models.py:100 +#: company/models.py:105 msgid "Description of the company" msgstr "Opis firmy" -#: company/models.py:104 company/templates/company/company_base.html:70 -#: company/templates/company/detail.html:33 templates/js/company.js:60 +#: company/models.py:111 company/templates/company/company_base.html:70 +#: company/templates/company/detail.html:33 templates/js/company.js:129 msgid "Website" msgstr "Strona WWW" -#: company/models.py:104 +#: company/models.py:112 msgid "Company website URL" msgstr "Witryna internetowa firmy" -#: company/models.py:107 company/templates/company/company_base.html:77 +#: company/models.py:116 company/templates/company/company_base.html:77 msgid "Address" msgstr "Adres" -#: company/models.py:108 +#: company/models.py:117 msgid "Company address" msgstr "Adres firmy" -#: company/models.py:111 +#: company/models.py:120 msgid "Phone number" msgstr "Numer telefonu" -#: company/models.py:112 +#: company/models.py:121 msgid "Contact phone number" msgstr "Numer telefonu kontaktowego" -#: company/models.py:115 company/templates/company/company_base.html:91 +#: company/models.py:124 company/templates/company/company_base.html:91 msgid "Email" msgstr "Adres E-Mail" -#: company/models.py:115 +#: company/models.py:124 msgid "Contact email address" msgstr "Kontaktowy adres e-mail" -#: company/models.py:118 company/templates/company/company_base.html:98 +#: company/models.py:127 company/templates/company/company_base.html:98 msgid "Contact" msgstr "Kontakt" -#: company/models.py:119 +#: company/models.py:128 msgid "Point of contact" msgstr "Punkt kontaktowy" -#: company/models.py:121 company/models.py:333 company/models.py:526 -#: order/models.py:102 part/models.py:728 +#: company/models.py:130 company/models.py:347 company/models.py:548 +#: order/models.py:156 part/models.py:737 #: report/templates/report/inventree_build_order_base.html:165 -#: templates/js/company.js:188 templates/js/company.js:419 +#: templates/js/company.js:312 templates/js/company.js:544 #: templates/js/part.js:498 msgid "Link" msgstr "Łącze" -#: company/models.py:121 +#: company/models.py:130 msgid "Link to external company information" msgstr "Link do informacji o zewnętrznym przedsiębiorstwie" -#: company/models.py:129 part/models.py:738 +#: company/models.py:138 part/models.py:747 msgid "Image" msgstr "Obraz" -#: company/models.py:134 +#: company/models.py:143 msgid "is customer" msgstr "jest klientem" -#: company/models.py:134 +#: company/models.py:143 msgid "Do you sell items to this company?" msgstr "Czy sprzedajesz produkty tej firmie?" -#: company/models.py:136 +#: company/models.py:145 msgid "is supplier" msgstr "jest dostawcą" -#: company/models.py:136 +#: company/models.py:145 msgid "Do you purchase items from this company?" msgstr "Czy kupujesz przedmioty od tej firmy?" -#: company/models.py:138 +#: company/models.py:147 msgid "is manufacturer" msgstr "jest producentem" -#: company/models.py:138 +#: company/models.py:147 msgid "Does this company manufacture parts?" msgstr "Czy to przedsiębiorstwo produkuje części?" -#: company/models.py:305 company/models.py:497 stock/models.py:403 +#: company/models.py:151 company/serializers.py:259 +#: company/templates/company/detail.html:42 +msgid "Currency" +msgstr "Waluta" + +#: company/models.py:154 +msgid "Default currency used for this company" +msgstr "" + +#: company/models.py:319 company/models.py:519 stock/models.py:411 #: stock/templates/stock/item_base.html:235 msgid "Base Part" msgstr "Część bazowa" -#: company/models.py:309 company/models.py:501 order/views.py:1603 +#: company/models.py:323 company/models.py:523 order/views.py:1127 msgid "Select part" msgstr "Wybierz część" -#: company/models.py:320 company/templates/company/detail.html:57 +#: company/models.py:334 company/templates/company/detail.html:57 #: company/templates/company/manufacturer_part_base.html:85 #: company/templates/company/manufacturer_part_detail.html:25 #: company/templates/company/supplier_part_base.html:94 #: company/templates/company/supplier_part_detail.html:34 part/bom.py:170 #: part/bom.py:241 stock/templates/stock/item_base.html:352 -#: templates/js/company.js:44 templates/js/company.js:165 -#: templates/js/company.js:390 +#: templates/js/company.js:113 templates/js/company.js:289 +#: templates/js/company.js:515 msgid "Manufacturer" msgstr "Producent" -#: company/models.py:334 +#: company/models.py:348 msgid "URL for external manufacturer part link" msgstr "" -#: company/models.py:340 +#: company/models.py:354 msgid "Manufacturer part description" msgstr "" -#: company/models.py:390 company/models.py:520 +#: company/models.py:408 company/models.py:542 #: company/templates/company/manufacturer_part_base.html:6 #: company/templates/company/manufacturer_part_base.html:19 #: stock/templates/stock/item_base.html:362 msgid "Manufacturer Part" msgstr "Część producenta" -#: company/models.py:397 +#: company/models.py:415 msgid "Parameter name" msgstr "" -#: company/models.py:403 part/templates/part/params.html:28 +#: company/models.py:421 part/templates/part/params.html:28 #: report/templates/report/inventree_test_report_base.html:90 -#: stock/models.py:1751 templates/InvenTree/settings/header.html:8 -#: templates/js/company.js:241 templates/js/stock.js:137 +#: stock/models.py:1771 templates/InvenTree/settings/header.html:8 +#: templates/js/company.js:365 templates/js/stock.js:137 msgid "Value" msgstr "" -#: company/models.py:404 +#: company/models.py:422 msgid "Parameter value" msgstr "" -#: company/models.py:410 part/models.py:813 part/models.py:2165 +#: company/models.py:428 part/models.py:822 part/models.py:2194 #: part/templates/part/detail.html:106 part/templates/part/params.html:29 -#: templates/js/company.js:247 +#: templates/js/company.js:371 msgid "Units" msgstr "Jednostki" -#: company/models.py:411 +#: company/models.py:429 msgid "Parameter units" msgstr "" -#: company/models.py:507 company/templates/company/detail.html:62 +#: company/models.py:529 company/templates/company/detail.html:62 #: company/templates/company/supplier_part_base.html:84 -#: company/templates/company/supplier_part_detail.html:25 order/models.py:189 +#: company/templates/company/supplier_part_detail.html:25 order/models.py:256 #: order/templates/order/order_base.html:92 #: order/templates/order/order_wizard/select_pos.html:30 part/bom.py:175 #: part/bom.py:286 stock/templates/stock/item_base.html:369 -#: templates/js/company.js:48 templates/js/company.js:364 -#: templates/js/order.js:170 +#: templates/js/company.js:117 templates/js/company.js:489 +#: templates/js/order.js:232 msgid "Supplier" msgstr "Dostawca" -#: company/models.py:508 +#: company/models.py:530 msgid "Select supplier" msgstr "Wybierz dostawcę" -#: company/models.py:513 company/templates/company/supplier_part_base.html:88 +#: company/models.py:535 company/templates/company/supplier_part_base.html:88 #: company/templates/company/supplier_part_detail.html:26 -#: order/templates/order/purchase_order_detail.html:153 part/bom.py:176 +#: order/templates/order/purchase_order_detail.html:180 part/bom.py:176 #: part/bom.py:287 msgid "SKU" msgstr "SKU" -#: company/models.py:514 +#: company/models.py:536 msgid "Supplier stock keeping unit" msgstr "" -#: company/models.py:521 +#: company/models.py:543 msgid "Select manufacturer part" msgstr "" -#: company/models.py:527 +#: company/models.py:549 msgid "URL for external supplier part link" msgstr "" -#: company/models.py:533 +#: company/models.py:555 msgid "Supplier part description" msgstr "" -#: company/models.py:538 company/templates/company/supplier_part_base.html:116 -#: company/templates/company/supplier_part_detail.html:38 part/models.py:2305 +#: company/models.py:560 company/templates/company/supplier_part_base.html:116 +#: company/templates/company/supplier_part_detail.html:38 part/models.py:2342 #: report/templates/report/inventree_po_report.html:93 #: report/templates/report/inventree_so_report.html:93 msgid "Note" msgstr "Uwaga" -#: company/models.py:542 part/models.py:1606 +#: company/models.py:564 part/models.py:1615 msgid "base cost" msgstr "koszt podstawowy" -#: company/models.py:542 part/models.py:1606 +#: company/models.py:564 part/models.py:1615 msgid "Minimum charge (e.g. stocking fee)" msgstr "" -#: company/models.py:544 company/templates/company/supplier_part_base.html:109 -#: stock/models.py:427 stock/templates/stock/item_base.html:310 -#: templates/js/stock.js:695 +#: company/models.py:566 company/templates/company/supplier_part_base.html:109 +#: stock/models.py:435 stock/templates/stock/item_base.html:310 +#: templates/js/stock.js:709 msgid "Packaging" msgstr "Opakowanie" -#: company/models.py:544 +#: company/models.py:566 msgid "Part packaging" msgstr "Opakowanie części" -#: company/models.py:546 part/models.py:1608 +#: company/models.py:568 part/models.py:1617 msgid "multiple" msgstr "wielokrotność" -#: company/models.py:546 +#: company/models.py:568 msgid "Order multiple" msgstr "" +#: company/serializers.py:68 +msgid "Default currency used for this supplier" +msgstr "" + +#: company/serializers.py:69 +msgid "Currency Code" +msgstr "" + #: company/templates/company/assigned_stock.html:10 #: company/templates/company/navbar.html:62 #: company/templates/company/navbar.html:65 templates/js/build.js:563 @@ -2199,7 +2215,7 @@ msgstr "" #: company/templates/company/company_base.html:9 #: company/templates/company/company_base.html:35 -#: templates/InvenTree/search.html:304 templates/js/company.js:33 +#: templates/InvenTree/search.html:304 templates/js/company.js:102 msgid "Company" msgstr "Firma" @@ -2213,7 +2229,7 @@ msgstr "Prześlij nowy obraz" msgid "Download image from URL" msgstr "" -#: company/templates/company/company_base.html:46 order/views.py:313 +#: company/templates/company/company_base.html:46 templates/js/order.js:61 msgid "Create Purchase Order" msgstr "" @@ -2221,7 +2237,8 @@ msgstr "" msgid "Edit company information" msgstr "" -#: company/templates/company/company_base.html:56 company/views.py:326 +#: company/templates/company/company_base.html:56 +#: company/templates/company/company_base.html:126 msgid "Delete Company" msgstr "" @@ -2235,15 +2252,9 @@ msgstr "" msgid "Phone" msgstr "Telefon" -#: company/templates/company/delete.html:7 -#, python-format -msgid "Are you sure you want to delete company '%(name)s'?" -msgstr "" - -#: company/templates/company/delete.html:12 -#, python-format -msgid "There are %(count)s parts sourced from this company.
\n" -"If this supplier is deleted, these supplier part entries will also be deleted." +#: company/templates/company/company_base.html:166 +#: part/templates/part/part_base.html:307 +msgid "Upload Image" msgstr "" #: company/templates/company/detail.html:21 @@ -2258,11 +2269,11 @@ msgstr "Nie określono strony internetowej" msgid "Uses default currency" msgstr "" -#: company/templates/company/detail.html:67 order/models.py:460 -#: order/templates/order/sales_order_base.html:94 stock/models.py:445 -#: stock/models.py:446 stock/templates/stock/item_base.html:262 -#: templates/js/company.js:40 templates/js/order.js:267 -#: templates/js/stock.js:1097 +#: company/templates/company/detail.html:67 order/models.py:540 +#: order/templates/order/sales_order_base.html:94 stock/models.py:453 +#: stock/models.py:454 stock/templates/stock/item_base.html:262 +#: templates/js/company.js:109 templates/js/order.js:329 +#: templates/js/stock.js:1111 msgid "Customer" msgstr "Klient" @@ -2283,6 +2294,7 @@ msgstr "Nowa część producenta" #: company/templates/company/detail_manufacturer_part.html:28 #: company/templates/company/detail_supplier_part.html:27 #: company/templates/company/manufacturer_part_suppliers.html:20 +#: company/templates/company/manufacturer_part_suppliers.html:46 #: part/templates/part/category.html:131 #: part/templates/part/manufacturer.html:22 #: part/templates/part/supplier.html:20 @@ -2305,26 +2317,25 @@ msgstr "Usuń części" msgid "Delete Parts" msgstr "Usuń części" -#: company/templates/company/detail_manufacturer_part.html:66 +#: company/templates/company/detail_manufacturer_part.html:68 #: company/templates/company/detail_supplier_part.html:66 #: part/templates/part/bom.html:159 part/templates/part/category.html:127 -#: templates/js/stock.js:1312 +#: templates/js/stock.js:1326 msgid "New Part" msgstr "Nowy komponent" -#: company/templates/company/detail_manufacturer_part.html:67 +#: company/templates/company/detail_manufacturer_part.html:69 #: company/templates/company/detail_supplier_part.html:67 msgid "Create new Part" msgstr "Utwórz nowy komponent" -#: company/templates/company/detail_manufacturer_part.html:72 -#: company/views.py:71 part/templates/part/manufacturer.html:52 -#: part/templates/part/supplier.html:56 +#: company/templates/company/detail_manufacturer_part.html:74 +#: company/views.py:66 part/templates/part/manufacturer.html:52 +#: part/templates/part/supplier.html:55 msgid "New Manufacturer" msgstr "Now producent" -#: company/templates/company/detail_manufacturer_part.html:73 -#: company/views.py:284 +#: company/templates/company/detail_manufacturer_part.html:75 msgid "Create new Manufacturer" msgstr "Utwórz nowego producenta" @@ -2335,7 +2346,7 @@ msgstr "Zapasy dostawcy" #: company/templates/company/detail_stock.html:37 #: company/templates/company/supplier_part_stock.html:34 #: part/templates/part/category.html:123 part/templates/part/category.html:137 -#: part/templates/part/stock.html:54 stock/templates/stock/location.html:163 +#: part/templates/part/stock.html:55 stock/templates/stock/location.html:163 msgid "Export" msgstr "Eksportuj" @@ -2347,26 +2358,24 @@ msgstr "Komponenty dostawcy" #: company/templates/company/detail_supplier_part.html:21 #: order/templates/order/order_wizard/select_parts.html:44 -#: order/templates/order/purchase_order_detail.html:50 +#: part/templates/part/part_base.html:429 msgid "Create new supplier part" msgstr "Utwórz nowego dostawcę części" #: company/templates/company/detail_supplier_part.html:22 #: company/templates/company/manufacturer_part_suppliers.html:17 -#: order/templates/order/purchase_order_detail.html:49 -#: part/templates/part/supplier.html:17 templates/js/stock.js:1318 +#: part/templates/part/part_base.html:428 part/templates/part/supplier.html:17 +#: templates/js/stock.js:1332 msgid "New Supplier Part" msgstr "Now dostawca części" #: company/templates/company/detail_supplier_part.html:72 -#: company/templates/company/manufacturer_part_suppliers.html:82 -#: company/views.py:64 order/templates/order/purchase_orders.html:185 -#: part/templates/part/supplier.html:50 +#: company/templates/company/manufacturer_part_suppliers.html:96 +#: company/views.py:60 part/templates/part/supplier.html:50 msgid "New Supplier" msgstr "Nowy dostawca" -#: company/templates/company/detail_supplier_part.html:73 company/views.py:281 -#: order/templates/order/purchase_orders.html:186 +#: company/templates/company/detail_supplier_part.html:73 msgid "Create new Supplier" msgstr "Dodaj nowego dostawcę" @@ -2401,20 +2410,19 @@ msgstr "Szczegóły części producenta" msgid "Internal Part" msgstr "Część wewnętrzna" -#: company/templates/company/manufacturer_part_delete.html:6 -msgid "Are you sure you want to delete the following Manufacturer Parts?" +#: company/templates/company/manufacturer_part_base.html:125 +msgid "Edit Manufacturer Part" msgstr "" -#: company/templates/company/manufacturer_part_delete.html:36 -#, python-format -msgid "There are %(count)s suppliers defined for this manufacturer part. If you delete it, the following supplier parts will also be deleted:" +#: company/templates/company/manufacturer_part_base.html:134 +msgid "Delete Manufacturer Part" msgstr "" #: company/templates/company/manufacturer_part_navbar.html:14 #: company/templates/company/manufacturer_part_suppliers.html:10 -#: company/views.py:63 part/templates/part/navbar.html:87 -#: part/templates/part/navbar.html:90 templates/InvenTree/search.html:316 -#: templates/navbar.html:35 +#: company/views.py:59 part/templates/part/navbar.html:87 +#: part/templates/part/navbar.html:90 part/templates/part/prices.html:153 +#: templates/InvenTree/search.html:316 templates/navbar.html:35 msgid "Suppliers" msgstr "Dostawcy" @@ -2425,7 +2433,7 @@ msgstr "" #: company/templates/company/manufacturer_part_navbar.html:22 #: company/templates/company/navbar.html:41 #: company/templates/company/supplier_part_navbar.html:15 -#: part/templates/part/navbar.html:39 stock/api.py:54 +#: part/templates/part/navbar.html:39 stock/api.py:53 #: stock/templates/stock/loc_link.html:7 stock/templates/stock/location.html:36 #: stock/templates/stock/stock_app_base.html:10 #: templates/InvenTree/index.html:128 templates/InvenTree/search.html:196 @@ -2451,9 +2459,11 @@ msgid "Delete supplier parts" msgstr "" #: company/templates/company/manufacturer_part_suppliers.html:22 +#: company/templates/company/manufacturer_part_suppliers.html:48 +#: company/templates/company/manufacturer_part_suppliers.html:142 #: part/templates/part/manufacturer.html:24 part/templates/part/params.html:44 #: part/templates/part/related.html:44 part/templates/part/supplier.html:22 -#: stock/views.py:1002 users/models.py:191 +#: stock/views.py:855 templates/js/company.js:203 users/models.py:192 msgid "Delete" msgstr "Usuń" @@ -2471,11 +2481,27 @@ msgstr "Parametry" msgid "New Parameter" msgstr "" -#: company/templates/company/manufacturer_part_suppliers.html:83 +#: company/templates/company/manufacturer_part_suppliers.html:48 +msgid "Delete parameters" +msgstr "" + +#: company/templates/company/manufacturer_part_suppliers.html:80 +msgid "Add Parameter" +msgstr "" + +#: company/templates/company/manufacturer_part_suppliers.html:97 #: part/templates/part/supplier.html:51 msgid "Create new supplier" msgstr "Utwórz nowego dostawcę" +#: company/templates/company/manufacturer_part_suppliers.html:127 +msgid "Selected parameters will be deleted" +msgstr "" + +#: company/templates/company/manufacturer_part_suppliers.html:139 +msgid "Delete Parameters" +msgstr "" + #: company/templates/company/navbar.html:20 #: company/templates/company/navbar.html:23 msgid "Manufactured Parts" @@ -2492,8 +2518,8 @@ msgstr "Dostarczone części" #: stock/templates/stock/location.html:136 #: stock/templates/stock/location_navbar.html:22 #: stock/templates/stock/location_navbar.html:29 -#: templates/InvenTree/search.html:198 templates/js/stock.js:996 -#: templates/stats.html:93 templates/stats.html:102 users/models.py:42 +#: templates/InvenTree/search.html:198 templates/js/stock.js:1010 +#: templates/stats.html:93 templates/stats.html:102 users/models.py:43 msgid "Stock Items" msgstr "" @@ -2503,11 +2529,11 @@ msgstr "" #: company/templates/company/sales_orders.html:11 #: order/templates/order/sales_orders.html:8 #: order/templates/order/sales_orders.html:13 -#: part/templates/part/navbar.html:113 part/templates/part/navbar.html:116 -#: part/templates/part/sales_orders.html:10 templates/InvenTree/index.html:228 +#: part/templates/part/navbar.html:101 part/templates/part/navbar.html:104 +#: part/templates/part/sales_orders.html:10 templates/InvenTree/index.html:236 #: templates/InvenTree/search.html:345 #: templates/InvenTree/settings/tabs.html:40 templates/navbar.html:46 -#: users/models.py:45 +#: users/models.py:46 msgid "Sales Orders" msgstr "" @@ -2516,10 +2542,10 @@ msgstr "" #: order/templates/order/purchase_orders.html:8 #: order/templates/order/purchase_orders.html:13 #: part/templates/part/navbar.html:93 part/templates/part/navbar.html:96 -#: part/templates/part/orders.html:10 templates/InvenTree/index.html:205 +#: part/templates/part/orders.html:10 templates/InvenTree/index.html:213 #: templates/InvenTree/search.html:325 #: templates/InvenTree/settings/tabs.html:37 templates/navbar.html:37 -#: users/models.py:44 +#: users/models.py:45 msgid "Purchase Orders" msgstr "" @@ -2548,8 +2574,9 @@ msgid "New Sales Order" msgstr "" #: company/templates/company/supplier_part_base.html:7 -#: company/templates/company/supplier_part_base.html:20 stock/models.py:412 -#: stock/templates/stock/item_base.html:374 templates/js/company.js:380 +#: company/templates/company/supplier_part_base.html:20 stock/models.py:420 +#: stock/templates/stock/item_base.html:374 templates/js/company.js:505 +#: templates/js/stock.js:690 msgid "Supplier Part" msgstr "" @@ -2594,459 +2621,401 @@ msgid "Order Part" msgstr "" #: company/templates/company/supplier_part_pricing.html:11 +#: part/templates/part/navbar.html:74 msgid "Pricing Information" msgstr "Informacja cenowa" -#: company/templates/company/supplier_part_pricing.html:19 company/views.py:855 -#: part/templates/part/sale_prices.html:17 part/views.py:2918 +#: company/templates/company/supplier_part_pricing.html:19 +#: company/templates/company/supplier_part_pricing.html:118 +#: part/templates/part/prices.html:264 part/views.py:2788 msgid "Add Price Break" msgstr "" #: company/templates/company/supplier_part_pricing.html:38 -#: part/templates/part/sale_prices.html:46 msgid "No price break information found" msgstr "" -#: company/templates/company/supplier_part_pricing.html:89 -#: part/templates/part/sale_prices.html:97 +#: company/templates/company/supplier_part_pricing.html:52 part/views.py:2850 +msgid "Delete Price Break" +msgstr "" + +#: company/templates/company/supplier_part_pricing.html:66 part/views.py:2836 +msgid "Edit Price Break" +msgstr "Edytuj przedział cenowy" + +#: company/templates/company/supplier_part_pricing.html:91 msgid "Edit price break" msgstr "Edytuj przedział cenowy" -#: company/templates/company/supplier_part_pricing.html:90 -#: part/templates/part/sale_prices.html:98 +#: company/templates/company/supplier_part_pricing.html:92 msgid "Delete price break" msgstr "" -#: company/views.py:70 part/templates/part/navbar.html:81 -#: part/templates/part/navbar.html:84 templates/InvenTree/search.html:306 -#: templates/navbar.html:36 +#: company/views.py:65 part/templates/part/navbar.html:81 +#: part/templates/part/navbar.html:84 part/templates/part/prices.html:157 +#: templates/InvenTree/search.html:306 templates/navbar.html:36 msgid "Manufacturers" msgstr "Producenci" -#: company/views.py:77 templates/InvenTree/search.html:336 +#: company/views.py:71 templates/InvenTree/search.html:336 #: templates/navbar.html:45 msgid "Customers" msgstr "Klienci" -#: company/views.py:78 order/templates/order/sales_orders.html:187 +#: company/views.py:72 msgid "New Customer" msgstr "Nowy klient" -#: company/views.py:86 +#: company/views.py:79 msgid "Companies" msgstr "Firmy" -#: company/views.py:87 +#: company/views.py:80 msgid "New Company" msgstr "Nowa firma" -#: company/views.py:169 part/views.py:1115 +#: company/views.py:161 part/views.py:1007 msgid "Download Image" msgstr "Pobierz obraz" -#: company/views.py:198 part/views.py:1147 +#: company/views.py:190 part/views.py:1039 msgid "Image size exceeds maximum allowable size for download" msgstr "" -#: company/views.py:205 part/views.py:1154 +#: company/views.py:197 part/views.py:1046 #, python-brace-format msgid "Invalid response: {code}" msgstr "" -#: company/views.py:214 part/views.py:1163 +#: company/views.py:206 part/views.py:1055 msgid "Supplied URL is not a valid image file" msgstr "" -#: company/views.py:243 -msgid "Update Company Image" -msgstr "" - -#: company/views.py:249 -msgid "Updated company image" -msgstr "" - -#: company/views.py:259 -msgid "Edit Company" -msgstr "Edytuj firmę" - -#: company/views.py:264 -msgid "Edited company information" -msgstr "" - -#: company/views.py:287 order/templates/order/sales_orders.html:188 -msgid "Create new Customer" -msgstr "Utwórz nowego klienta" - -#: company/views.py:289 -msgid "Create new Company" -msgstr "Utwórz nową firmę" - -#: company/views.py:316 -msgid "Created new company" -msgstr "Utwórz nową firmę" - -#: company/views.py:332 -msgid "Company was deleted" -msgstr "Usunięto firmę" - -#: company/views.py:357 -msgid "Edit Manufacturer Part" -msgstr "" - -#: company/views.py:366 +#: company/views.py:251 msgid "Create New Manufacturer Part" msgstr "" -#: company/views.py:440 -msgid "Delete Manufacturer Part" -msgstr "" - -#: company/views.py:514 -msgid "Add Manufacturer Part Parameter" -msgstr "" - -#: company/views.py:548 -msgid "Edit Manufacturer Part Parameter" -msgstr "" - -#: company/views.py:588 +#: company/views.py:334 msgid "Edit Supplier Part" msgstr "" -#: company/views.py:639 templates/js/stock.js:1319 +#: company/views.py:385 templates/js/stock.js:1333 msgid "Create new Supplier Part" msgstr "" -#: company/views.py:783 +#: company/views.py:529 msgid "Delete Supplier Part" msgstr "" -#: company/views.py:860 part/views.py:2922 -msgid "Added new price break" -msgstr "" - -#: company/views.py:916 part/views.py:2966 -msgid "Edit Price Break" -msgstr "Edytuj przedział cenowy" - -#: company/views.py:931 part/views.py:2980 -msgid "Delete Price Break" -msgstr "" - #: label/api.py:56 report/api.py:201 msgid "No valid objects provided to template" msgstr "" -#: label/models.py:103 +#: label/models.py:104 msgid "Label name" msgstr "Nazwa etykiety" -#: label/models.py:110 +#: label/models.py:111 msgid "Label description" msgstr "Opis etykiety" -#: label/models.py:117 stock/forms.py:202 +#: label/models.py:118 stock/forms.py:169 msgid "Label" msgstr "Etykieta" -#: label/models.py:118 +#: label/models.py:119 msgid "Label template file" msgstr "" -#: label/models.py:124 report/models.py:297 +#: label/models.py:125 report/models.py:297 msgid "Enabled" msgstr "Aktywne" -#: label/models.py:125 +#: label/models.py:126 msgid "Label template is enabled" msgstr "" -#: label/models.py:130 +#: label/models.py:131 msgid "Width [mm]" msgstr "Szerokość [mm]" -#: label/models.py:131 +#: label/models.py:132 msgid "Label width, specified in mm" msgstr "" -#: label/models.py:137 +#: label/models.py:138 msgid "Height [mm]" msgstr "Wysokość [mm]" -#: label/models.py:138 +#: label/models.py:139 msgid "Label height, specified in mm" msgstr "" -#: label/models.py:144 report/models.py:290 +#: label/models.py:145 report/models.py:290 msgid "Filename Pattern" msgstr "" -#: label/models.py:145 +#: label/models.py:146 msgid "Pattern for generating label filenames" msgstr "" -#: label/models.py:244 label/models.py:297 +#: label/models.py:249 label/models.py:306 msgid "Query filters (comma-separated list of key=value pairs" msgstr "" -#: label/models.py:245 label/models.py:298 report/models.py:317 +#: label/models.py:250 label/models.py:307 report/models.py:317 #: report/models.py:440 report/models.py:474 msgid "Filters" msgstr "Filtry" -#: order/forms.py:31 order/templates/order/order_base.html:47 +#: order/forms.py:30 order/templates/order/order_base.html:47 msgid "Place order" msgstr "Złóż zamówienie" -#: order/forms.py:42 order/templates/order/order_base.html:54 +#: order/forms.py:41 order/templates/order/order_base.html:54 msgid "Mark order as complete" msgstr "Oznacz zamówienie jako zakończone" -#: order/forms.py:53 order/forms.py:64 order/templates/order/order_base.html:59 +#: order/forms.py:52 order/forms.py:63 order/templates/order/order_base.html:59 #: order/templates/order/sales_order_base.html:61 msgid "Cancel order" msgstr "Anuluj zamówienie" -#: order/forms.py:75 order/templates/order/sales_order_base.html:58 +#: order/forms.py:74 order/templates/order/sales_order_base.html:58 msgid "Ship order" msgstr "Wyślij zamówienie" -#: order/forms.py:90 +#: order/forms.py:89 msgid "Receive parts to this location" msgstr "" -#: order/forms.py:112 -msgid "Purchase Order reference" -msgstr "" - -#: order/forms.py:119 -msgid "Target date for order delivery. Order will be overdue after this date." -msgstr "" - -#: order/forms.py:147 -msgid "Enter sales order number" -msgstr "" - -#: order/forms.py:154 order/models.py:472 -msgid "Target date for order completion. Order will be overdue after this date." -msgstr "" - -#: order/forms.py:246 +#: order/forms.py:116 msgid "Enter stock item serial numbers" msgstr "" -#: order/forms.py:252 +#: order/forms.py:122 msgid "Enter quantity of stock items" msgstr "Wprowadź ilość produktów magazynowych" -#: order/models.py:98 -msgid "Order reference" -msgstr "Odniesienie zamówienia" - -#: order/models.py:100 +#: order/models.py:154 msgid "Order description" msgstr "Opis Zamówienia" -#: order/models.py:102 +#: order/models.py:156 msgid "Link to external page" msgstr "Link do zewnętrznej witryny" -#: order/models.py:110 part/templates/part/detail.html:132 +#: order/models.py:164 part/templates/part/detail.html:132 msgid "Created By" msgstr "Utworzony przez" -#: order/models.py:117 +#: order/models.py:171 msgid "User or group responsible for this order" msgstr "Użytkownik lub grupa odpowiedzialna za to zamówienie" -#: order/models.py:122 +#: order/models.py:176 msgid "Order notes" msgstr "Notatki do zamówienia" -#: order/models.py:181 order/models.py:465 +#: order/models.py:243 order/models.py:530 +msgid "Order reference" +msgstr "Odniesienie zamówienia" + +#: order/models.py:248 order/models.py:545 msgid "Purchase order status" msgstr "" -#: order/models.py:190 +#: order/models.py:257 msgid "Company from which the items are being ordered" msgstr "" -#: order/models.py:193 order/templates/order/order_base.html:98 -#: templates/js/order.js:179 +#: order/models.py:260 order/templates/order/order_base.html:98 +#: templates/js/order.js:241 msgid "Supplier Reference" msgstr "" -#: order/models.py:193 +#: order/models.py:260 msgid "Supplier order reference code" msgstr "" -#: order/models.py:200 +#: order/models.py:267 msgid "received by" msgstr "odebrane przez" -#: order/models.py:205 +#: order/models.py:272 msgid "Issue Date" msgstr "Data wydania" -#: order/models.py:206 +#: order/models.py:273 msgid "Date order was issued" msgstr "" -#: order/models.py:211 +#: order/models.py:278 msgid "Target Delivery Date" msgstr "" -#: order/models.py:212 +#: order/models.py:279 msgid "Expected date for order delivery. Order will be overdue after this date." msgstr "" -#: order/models.py:218 +#: order/models.py:285 msgid "Date order was completed" msgstr "" -#: order/models.py:242 part/views.py:1853 stock/models.py:300 -#: stock/models.py:1015 +#: order/models.py:309 part/views.py:1730 stock/models.py:308 +#: stock/models.py:1023 msgid "Quantity must be greater than zero" msgstr "" -#: order/models.py:247 +#: order/models.py:314 msgid "Part supplier must match PO supplier" msgstr "" -#: order/models.py:345 +#: order/models.py:412 msgid "Lines can only be received against an order marked as 'Placed'" msgstr "" -#: order/models.py:349 +#: order/models.py:416 msgid "Quantity must be an integer" msgstr "" -#: order/models.py:351 +#: order/models.py:418 msgid "Quantity must be a positive number" msgstr "" -#: order/models.py:461 +#: order/models.py:541 msgid "Company to which the items are being sold" msgstr "" -#: order/models.py:467 +#: order/models.py:547 msgid "Customer Reference " msgstr "" -#: order/models.py:467 +#: order/models.py:547 msgid "Customer order reference code" msgstr "" -#: order/models.py:475 templates/js/order.js:303 +#: order/models.py:552 +msgid "Target date for order completion. Order will be overdue after this date." +msgstr "" + +#: order/models.py:555 templates/js/order.js:370 msgid "Shipment Date" msgstr "Data wysyłki" -#: order/models.py:482 +#: order/models.py:562 msgid "shipped by" msgstr "wysłane przez" -#: order/models.py:526 +#: order/models.py:606 msgid "SalesOrder cannot be shipped as it is not currently pending" msgstr "" -#: order/models.py:613 +#: order/models.py:703 msgid "Item quantity" msgstr "Ilość elementów" -#: order/models.py:615 +#: order/models.py:709 msgid "Line item reference" msgstr "" -#: order/models.py:617 +#: order/models.py:711 msgid "Line item notes" msgstr "" -#: order/models.py:643 order/models.py:710 templates/js/order.js:353 +#: order/models.py:741 order/models.py:812 templates/js/order.js:420 msgid "Order" msgstr "Zamówienie" -#: order/models.py:644 order/templates/order/order_base.html:9 +#: order/models.py:742 order/templates/order/order_base.html:9 #: order/templates/order/order_base.html:24 #: report/templates/report/inventree_po_report.html:77 -#: stock/templates/stock/item_base.html:324 templates/js/order.js:148 -#: templates/js/stock.js:669 templates/js/stock.js:1078 +#: stock/templates/stock/item_base.html:324 templates/js/order.js:210 +#: templates/js/stock.js:669 templates/js/stock.js:1092 msgid "Purchase Order" msgstr "" -#: order/models.py:658 +#: order/models.py:756 msgid "Supplier part" msgstr "" -#: order/models.py:661 order/templates/order/order_base.html:131 -#: order/templates/order/purchase_order_detail.html:219 +#: order/models.py:759 order/templates/order/order_base.html:131 +#: order/templates/order/purchase_order_detail.html:246 #: order/templates/order/receive_parts.html:22 #: order/templates/order/sales_order_base.html:133 msgid "Received" msgstr "Odebrane" -#: order/models.py:661 +#: order/models.py:759 msgid "Number of items received" msgstr "" -#: order/models.py:667 stock/models.py:537 -#: stock/templates/stock/item_base.html:331 templates/js/stock.js:690 +#: order/models.py:765 part/templates/part/prices.html:166 stock/models.py:545 +#: stock/templates/stock/item_base.html:331 templates/js/stock.js:704 msgid "Purchase Price" msgstr "Cena zakupu" -#: order/models.py:668 +#: order/models.py:766 msgid "Unit purchase price" msgstr "Cena zakupu jednostkowego" -#: order/models.py:676 +#: order/models.py:774 msgid "Where does the Purchaser want this item to be stored?" msgstr "" -#: order/models.py:718 part/templates/part/navbar.html:110 -#: part/templates/part/order_prices.html:108 -#: part/templates/part/part_pricing.html:97 +#: order/models.py:820 part/templates/part/part_pricing.html:97 +#: part/templates/part/prices.html:103 part/templates/part/prices.html:278 msgid "Sale Price" msgstr "Cena sprzedaży" -#: order/models.py:719 +#: order/models.py:821 msgid "Unit sale price" msgstr "Jednostkowa cena sprzedaży" -#: order/models.py:794 order/models.py:796 +#: order/models.py:900 order/models.py:902 msgid "Stock item has not been assigned" msgstr "" -#: order/models.py:800 +#: order/models.py:906 msgid "Cannot allocate stock item to a line with a different part" msgstr "" -#: order/models.py:802 +#: order/models.py:908 msgid "Cannot allocate stock to a line without a part" msgstr "" -#: order/models.py:805 +#: order/models.py:911 msgid "Allocation quantity cannot exceed stock quantity" msgstr "" -#: order/models.py:815 +#: order/models.py:921 msgid "Quantity must be 1 for serialized stock item" msgstr "" -#: order/models.py:820 +#: order/models.py:926 msgid "Line" msgstr "Linia" -#: order/models.py:831 +#: order/models.py:937 msgid "Item" msgstr "Komponent" -#: order/models.py:832 +#: order/models.py:938 msgid "Select stock item to allocate" msgstr "" -#: order/models.py:835 +#: order/models.py:941 msgid "Enter stock allocation quantity" msgstr "" +#: order/serializers.py:139 +msgid "Purchase price currency" +msgstr "" + +#: order/serializers.py:359 +msgid "Sale price currency" +msgstr "" + #: order/templates/order/delete_attachment.html:5 #: stock/templates/stock/attachment_delete.html:5 #: templates/attachment_delete.html:5 @@ -3091,16 +3060,22 @@ msgstr "Status zamówienia" msgid "Issued" msgstr "Wydany" -#: order/templates/order/order_base.html:180 -#: order/templates/order/purchase_order_detail.html:100 +#: order/templates/order/order_base.html:188 +msgid "Edit Purchase Order" +msgstr "" + +#: order/templates/order/order_base.html:199 +#: order/templates/order/purchase_order_detail.html:127 #: part/templates/part/category.html:217 part/templates/part/category.html:259 -#: stock/templates/stock/location.html:191 templates/js/stock.js:736 -#: templates/js/stock.js:1324 +#: part/templates/part/part_base.html:415 +#: stock/templates/stock/location.html:191 templates/js/stock.js:750 +#: templates/js/stock.js:1338 msgid "New Location" msgstr "Nowa lokalizacja" -#: order/templates/order/order_base.html:181 -#: order/templates/order/purchase_order_detail.html:101 +#: order/templates/order/order_base.html:200 +#: order/templates/order/purchase_order_detail.html:128 +#: part/templates/part/part_base.html:416 #: stock/templates/stock/location.html:42 msgid "Create new stock location" msgstr "" @@ -3253,7 +3228,7 @@ msgid "Select existing purchase orders, or create new orders." msgstr "" #: order/templates/order/order_wizard/select_pos.html:31 -#: templates/js/order.js:205 templates/js/order.js:308 +#: templates/js/order.js:267 templates/js/order.js:375 msgid "Items" msgstr "Przedmioty" @@ -3277,7 +3252,6 @@ msgid "Purchase Order Attachments" msgstr "" #: order/templates/order/po_lineitem_delete.html:5 -#: order/templates/order/so_lineitem_delete.html:5 msgid "Are you sure you wish to delete this line item?" msgstr "" @@ -3295,40 +3269,52 @@ msgid "Purchase Order Items" msgstr "" #: order/templates/order/purchase_order_detail.html:24 -#: order/templates/order/sales_order_detail.html:22 order/views.py:1327 -#: order/views.py:1410 +#: order/templates/order/purchase_order_detail.html:64 +#: order/templates/order/sales_order_detail.html:22 +#: order/templates/order/sales_order_detail.html:56 msgid "Add Line Item" msgstr "" -#: order/templates/order/purchase_order_detail.html:114 +#: order/templates/order/purchase_order_detail.html:100 +#: order/templates/order/sales_order_detail.html:398 +msgid "Edit Line Item" +msgstr "" + +#: order/templates/order/purchase_order_detail.html:110 +#: order/templates/order/sales_order_detail.html:408 +msgid "Delete Line Item" +msgstr "" + +#: order/templates/order/purchase_order_detail.html:141 msgid "No line items found" msgstr "" -#: order/templates/order/purchase_order_detail.html:142 -#: order/templates/order/sales_order_detail.html:223 +#: order/templates/order/purchase_order_detail.html:169 +#: order/templates/order/sales_order_detail.html:233 msgid "Total" msgstr "" -#: order/templates/order/purchase_order_detail.html:191 -#: order/templates/order/sales_order_detail.html:246 +#: order/templates/order/purchase_order_detail.html:218 +#: order/templates/order/sales_order_detail.html:256 templates/js/part.js:807 +#: templates/js/part.js:996 msgid "Unit Price" msgstr "Cena jednostkowa" -#: order/templates/order/purchase_order_detail.html:198 -#: order/templates/order/sales_order_detail.html:253 +#: order/templates/order/purchase_order_detail.html:225 +#: order/templates/order/sales_order_detail.html:263 msgid "Total price" msgstr "" -#: order/templates/order/purchase_order_detail.html:255 -#: order/templates/order/sales_order_detail.html:359 +#: order/templates/order/purchase_order_detail.html:282 +#: order/templates/order/sales_order_detail.html:369 msgid "Edit line item" msgstr "" -#: order/templates/order/purchase_order_detail.html:256 +#: order/templates/order/purchase_order_detail.html:283 msgid "Delete line item" msgstr "" -#: order/templates/order/purchase_order_detail.html:261 +#: order/templates/order/purchase_order_detail.html:288 msgid "Receive line item" msgstr "" @@ -3343,7 +3329,7 @@ msgid "Receive outstanding parts for %(order)s - %(desc)s" msgstr "" #: order/templates/order/receive_parts.html:14 part/api.py:45 -#: part/models.py:322 part/templates/part/cat_link.html:7 +#: part/models.py:326 part/templates/part/cat_link.html:7 #: part/templates/part/category.html:108 part/templates/part/category.html:157 #: part/templates/part/category_navbar.html:25 #: part/templates/part/category_navbar.html:32 @@ -3351,7 +3337,7 @@ msgstr "" #: templates/InvenTree/index.html:97 templates/InvenTree/search.html:114 #: templates/InvenTree/settings/tabs.html:28 templates/js/part.js:666 #: templates/navbar.html:23 templates/stats.html:80 templates/stats.html:89 -#: users/models.py:40 +#: users/models.py:41 msgid "Parts" msgstr "Części" @@ -3393,10 +3379,14 @@ msgstr "" msgid "Sales Order Details" msgstr "" -#: order/templates/order/sales_order_base.html:100 templates/js/order.js:275 +#: order/templates/order/sales_order_base.html:100 templates/js/order.js:342 msgid "Customer Reference" msgstr "" +#: order/templates/order/sales_order_base.html:177 +msgid "Edit Sales Order" +msgstr "" + #: order/templates/order/sales_order_cancel.html:8 #: order/templates/order/sales_order_ship.html:9 #: part/templates/part/bom_duplicate.html:12 @@ -3412,69 +3402,69 @@ msgstr "" msgid "Sales Order Items" msgstr "" -#: order/templates/order/sales_order_detail.html:95 templates/js/bom.js:358 +#: order/templates/order/sales_order_detail.html:105 templates/js/bom.js:358 #: templates/js/build.js:725 templates/js/build.js:1142 msgid "Actions" msgstr "Akcje" -#: order/templates/order/sales_order_detail.html:102 templates/js/build.js:611 +#: order/templates/order/sales_order_detail.html:112 templates/js/build.js:611 #: templates/js/build.js:947 msgid "Edit stock allocation" msgstr "" -#: order/templates/order/sales_order_detail.html:103 templates/js/build.js:613 +#: order/templates/order/sales_order_detail.html:113 templates/js/build.js:613 #: templates/js/build.js:948 msgid "Delete stock allocation" msgstr "" -#: order/templates/order/sales_order_detail.html:176 +#: order/templates/order/sales_order_detail.html:186 msgid "No matching line items" msgstr "" -#: order/templates/order/sales_order_detail.html:206 +#: order/templates/order/sales_order_detail.html:216 msgid "ID" msgstr "Numer ID" -#: order/templates/order/sales_order_detail.html:274 templates/js/build.js:676 +#: order/templates/order/sales_order_detail.html:284 templates/js/build.js:676 #: templates/js/build.js:943 msgid "Allocated" msgstr "Przydzielono" -#: order/templates/order/sales_order_detail.html:276 +#: order/templates/order/sales_order_detail.html:286 msgid "Fulfilled" msgstr "" -#: order/templates/order/sales_order_detail.html:313 +#: order/templates/order/sales_order_detail.html:323 msgid "PO" msgstr "" -#: order/templates/order/sales_order_detail.html:343 +#: order/templates/order/sales_order_detail.html:353 msgid "Allocate serial numbers" msgstr "" -#: order/templates/order/sales_order_detail.html:346 templates/js/build.js:739 +#: order/templates/order/sales_order_detail.html:356 templates/js/build.js:739 msgid "Allocate stock" msgstr "" -#: order/templates/order/sales_order_detail.html:349 +#: order/templates/order/sales_order_detail.html:359 msgid "Purchase stock" msgstr "" -#: order/templates/order/sales_order_detail.html:353 templates/js/build.js:732 +#: order/templates/order/sales_order_detail.html:363 templates/js/build.js:732 #: templates/js/build.js:1150 msgid "Build stock" msgstr "" -#: order/templates/order/sales_order_detail.html:356 -#: order/templates/order/sales_order_detail.html:465 +#: order/templates/order/sales_order_detail.html:366 +#: order/templates/order/sales_order_detail.html:485 msgid "Calculate price" msgstr "Oblicz cenę" -#: order/templates/order/sales_order_detail.html:360 +#: order/templates/order/sales_order_detail.html:370 msgid "Delete line item " msgstr "" -#: order/templates/order/sales_order_detail.html:471 +#: order/templates/order/sales_order_detail.html:491 msgid "Update Unit Price" msgstr "" @@ -3515,194 +3505,154 @@ msgstr "" msgid "Sales Order Attachments" msgstr "" -#: order/views.py:106 -msgid "Add Purchase Order Attachment" -msgstr "" - -#: order/views.py:156 -msgid "Add Sales Order Attachment" -msgstr "" - -#: order/views.py:348 -msgid "Create Sales Order" -msgstr "" - -#: order/views.py:383 -msgid "Edit Purchase Order" -msgstr "" - -#: order/views.py:403 -msgid "Edit Sales Order" -msgstr "" - -#: order/views.py:419 +#: order/views.py:151 msgid "Cancel Order" msgstr "" -#: order/views.py:428 order/views.py:454 +#: order/views.py:160 order/views.py:186 msgid "Confirm order cancellation" msgstr "" -#: order/views.py:431 order/views.py:457 +#: order/views.py:163 order/views.py:189 msgid "Order cannot be cancelled" msgstr "" -#: order/views.py:445 +#: order/views.py:177 msgid "Cancel sales order" msgstr "" -#: order/views.py:471 +#: order/views.py:203 msgid "Issue Order" msgstr "" -#: order/views.py:480 +#: order/views.py:212 msgid "Confirm order placement" msgstr "" -#: order/views.py:490 +#: order/views.py:222 msgid "Purchase order issued" msgstr "" -#: order/views.py:501 +#: order/views.py:233 msgid "Complete Order" msgstr "" -#: order/views.py:517 +#: order/views.py:249 msgid "Confirm order completion" msgstr "" -#: order/views.py:528 +#: order/views.py:260 msgid "Purchase order completed" msgstr "" -#: order/views.py:538 +#: order/views.py:270 msgid "Ship Order" msgstr "Wyślij zamówienie" -#: order/views.py:554 +#: order/views.py:286 msgid "Confirm order shipment" msgstr "" -#: order/views.py:560 +#: order/views.py:292 msgid "Could not ship order" msgstr "" -#: order/views.py:607 +#: order/views.py:339 msgid "Match Supplier Parts" msgstr "" -#: order/views.py:804 +#: order/views.py:536 msgid "Receive Parts" msgstr "" -#: order/views.py:874 +#: order/views.py:606 msgid "Items received" msgstr "Otrzymane przedmioty" -#: order/views.py:888 +#: order/views.py:620 msgid "No destination set" msgstr "Nie ustawiono miejsca docelowego" -#: order/views.py:933 +#: order/views.py:665 msgid "Error converting quantity to number" msgstr "Błąd konwersji ilości na liczbę" -#: order/views.py:939 +#: order/views.py:671 msgid "Receive quantity less than zero" msgstr "" -#: order/views.py:945 +#: order/views.py:677 msgid "No lines specified" msgstr "" -#: order/views.py:1018 +#: order/views.py:750 msgid "Update prices" msgstr "" -#: order/views.py:1276 +#: order/views.py:1008 #, python-brace-format msgid "Ordered {n} parts" msgstr "" -#: order/views.py:1336 -msgid "Supplier part must be specified" -msgstr "" - -#: order/views.py:1342 -msgid "Supplier must match for Part and Order" -msgstr "" - -#: order/views.py:1473 order/views.py:1491 -msgid "Edit Line Item" -msgstr "" - -#: order/views.py:1507 order/views.py:1519 -msgid "Delete Line Item" -msgstr "" - -#: order/views.py:1512 order/views.py:1524 -msgid "Deleted line item" -msgstr "" - -#: order/views.py:1537 +#: order/views.py:1061 msgid "Allocate Serial Numbers" msgstr "" -#: order/views.py:1582 +#: order/views.py:1106 #, python-brace-format msgid "Allocated {n} items" msgstr "" -#: order/views.py:1598 +#: order/views.py:1122 msgid "Select line item" msgstr "" -#: order/views.py:1629 +#: order/views.py:1153 #, python-brace-format msgid "No matching item for serial {serial}" msgstr "" -#: order/views.py:1639 +#: order/views.py:1163 #, python-brace-format msgid "{serial} is not in stock" msgstr "" -#: order/views.py:1647 +#: order/views.py:1171 #, python-brace-format msgid "{serial} already allocated to an order" msgstr "" -#: order/views.py:1701 +#: order/views.py:1225 msgid "Allocate Stock to Order" msgstr "" -#: order/views.py:1775 +#: order/views.py:1299 msgid "Edit Allocation Quantity" msgstr "" -#: order/views.py:1790 +#: order/views.py:1314 msgid "Remove allocation" msgstr "" -#: order/views.py:1862 +#: order/views.py:1386 msgid "Sales order not found" msgstr "" -#: order/views.py:1868 +#: order/views.py:1392 msgid "Price not found" msgstr "Nie znaleziono ceny" -#: order/views.py:1871 +#: order/views.py:1395 #, python-brace-format msgid "Updated {part} unit-price to {price}" msgstr "" -#: order/views.py:1876 +#: order/views.py:1400 #, python-brace-format msgid "Updated {part} unit-price to {price} and quantity to {qty}" msgstr "" -#: part/bom.py:138 part/models.py:72 part/models.py:747 +#: part/bom.py:138 part/models.py:72 part/models.py:756 #: part/templates/part/category.html:75 part/templates/part/detail.html:90 msgid "Default Location" msgstr "Domyślna lokalizacja" @@ -3724,143 +3674,143 @@ msgstr "" msgid "Error reading BOM file (incorrect row size)" msgstr "" -#: part/forms.py:89 stock/forms.py:265 +#: part/forms.py:73 stock/forms.py:232 msgid "File Format" msgstr "Format pliku" -#: part/forms.py:89 stock/forms.py:265 +#: part/forms.py:73 stock/forms.py:232 msgid "Select output file format" msgstr "Wybierz format pliku wyjściowego" -#: part/forms.py:91 +#: part/forms.py:75 msgid "Cascading" msgstr "Kaskadowe" -#: part/forms.py:91 +#: part/forms.py:75 msgid "Download cascading / multi-level BOM" msgstr "" -#: part/forms.py:93 +#: part/forms.py:77 msgid "Levels" msgstr "Poziomy" -#: part/forms.py:93 +#: part/forms.py:77 msgid "Select maximum number of BOM levels to export (0 = all levels)" msgstr "" -#: part/forms.py:95 +#: part/forms.py:79 msgid "Include Parameter Data" msgstr "" -#: part/forms.py:95 +#: part/forms.py:79 msgid "Include part parameters data in exported BOM" msgstr "" -#: part/forms.py:97 +#: part/forms.py:81 msgid "Include Stock Data" msgstr "" -#: part/forms.py:97 +#: part/forms.py:81 msgid "Include part stock data in exported BOM" msgstr "" -#: part/forms.py:99 +#: part/forms.py:83 msgid "Include Manufacturer Data" msgstr "" -#: part/forms.py:99 +#: part/forms.py:83 msgid "Include part manufacturer data in exported BOM" msgstr "" -#: part/forms.py:101 +#: part/forms.py:85 msgid "Include Supplier Data" msgstr "" -#: part/forms.py:101 +#: part/forms.py:85 msgid "Include part supplier data in exported BOM" msgstr "" -#: part/forms.py:122 part/models.py:2191 +#: part/forms.py:106 part/models.py:2224 msgid "Parent Part" msgstr "Część nadrzędna" -#: part/forms.py:123 part/templates/part/bom_duplicate.html:7 +#: part/forms.py:107 part/templates/part/bom_duplicate.html:7 msgid "Select parent part to copy BOM from" msgstr "" -#: part/forms.py:129 +#: part/forms.py:113 msgid "Clear existing BOM items" msgstr "" -#: part/forms.py:135 +#: part/forms.py:119 msgid "Confirm BOM duplication" msgstr "" -#: part/forms.py:153 +#: part/forms.py:137 msgid "validate" msgstr "potwierdź" -#: part/forms.py:153 +#: part/forms.py:137 msgid "Confirm that the BOM is correct" msgstr "" -#: part/forms.py:165 +#: part/forms.py:149 msgid "BOM file" msgstr "" -#: part/forms.py:165 +#: part/forms.py:149 msgid "Select BOM file to upload" msgstr "" -#: part/forms.py:184 +#: part/forms.py:168 msgid "Related Part" msgstr "" -#: part/forms.py:203 +#: part/forms.py:175 msgid "Select part category" msgstr "" -#: part/forms.py:220 +#: part/forms.py:192 msgid "Duplicate all BOM data for this part" msgstr "" -#: part/forms.py:221 +#: part/forms.py:193 msgid "Copy BOM" msgstr "" -#: part/forms.py:226 +#: part/forms.py:198 msgid "Duplicate all parameter data for this part" msgstr "" -#: part/forms.py:227 +#: part/forms.py:199 msgid "Copy Parameters" msgstr "" -#: part/forms.py:232 +#: part/forms.py:204 msgid "Confirm part creation" msgstr "" -#: part/forms.py:237 +#: part/forms.py:209 msgid "Include category parameter templates" msgstr "" -#: part/forms.py:242 +#: part/forms.py:214 msgid "Include parent categories parameter templates" msgstr "" -#: part/forms.py:322 +#: part/forms.py:294 msgid "Add parameter template to same level categories" msgstr "" -#: part/forms.py:326 +#: part/forms.py:298 msgid "Add parameter template to all categories" msgstr "" -#: part/forms.py:344 part/models.py:2286 +#: part/forms.py:316 part/models.py:2323 msgid "Sub part" msgstr "Podczęść" -#: part/forms.py:373 +#: part/forms.py:345 msgid "Input quantity for price calculation" msgstr "" @@ -3876,362 +3826,362 @@ msgstr "Domyślne słowa kluczowe" msgid "Default keywords for parts in this category" msgstr "" -#: part/models.py:82 part/models.py:2237 +#: part/models.py:86 part/models.py:2270 #: part/templates/part/part_app_base.html:10 msgid "Part Category" msgstr "" -#: part/models.py:83 part/templates/part/category.html:32 +#: part/models.py:87 part/templates/part/category.html:32 #: part/templates/part/category.html:103 templates/InvenTree/search.html:127 -#: templates/stats.html:84 users/models.py:39 +#: templates/stats.html:84 users/models.py:40 msgid "Part Categories" msgstr "" -#: part/models.py:448 part/models.py:460 +#: part/models.py:457 part/models.py:469 #, python-brace-format msgid "Part '{p1}' is used in BOM for '{p2}' (recursive)" msgstr "" -#: part/models.py:557 +#: part/models.py:566 msgid "Next available serial numbers are" msgstr "" -#: part/models.py:561 +#: part/models.py:570 msgid "Next available serial number is" msgstr "" -#: part/models.py:566 +#: part/models.py:575 msgid "Most recent serial number is" msgstr "" -#: part/models.py:645 +#: part/models.py:654 msgid "Duplicate IPN not allowed in part settings" msgstr "" -#: part/models.py:670 part/templates/part/detail.html:22 +#: part/models.py:679 part/templates/part/detail.html:22 msgid "Part name" msgstr "" -#: part/models.py:677 +#: part/models.py:686 msgid "Is Template" msgstr "" -#: part/models.py:678 +#: part/models.py:687 msgid "Is this part a template part?" msgstr "" -#: part/models.py:689 +#: part/models.py:698 msgid "Is this part a variant of another part?" msgstr "" -#: part/models.py:690 part/templates/part/detail.html:60 +#: part/models.py:699 part/templates/part/detail.html:60 msgid "Variant Of" msgstr "Wariant" -#: part/models.py:696 +#: part/models.py:705 msgid "Part description" msgstr "Opis części" -#: part/models.py:701 part/templates/part/category.html:82 +#: part/models.py:710 part/templates/part/category.html:82 #: part/templates/part/detail.html:67 msgid "Keywords" msgstr "Słowa kluczowe" -#: part/models.py:702 +#: part/models.py:711 msgid "Part keywords to improve visibility in search results" msgstr "" -#: part/models.py:709 part/models.py:2236 part/templates/part/detail.html:73 +#: part/models.py:718 part/models.py:2269 part/templates/part/detail.html:73 #: part/templates/part/set_category.html:15 templates/js/part.js:452 msgid "Category" msgstr "Kategoria" -#: part/models.py:710 +#: part/models.py:719 msgid "Part category" msgstr "" -#: part/models.py:715 part/templates/part/detail.html:28 +#: part/models.py:724 part/templates/part/detail.html:28 #: part/templates/part/part_base.html:87 templates/js/part.js:169 #: templates/js/part.js:296 msgid "IPN" msgstr "IPN" -#: part/models.py:716 +#: part/models.py:725 msgid "Internal Part Number" msgstr "" -#: part/models.py:722 +#: part/models.py:731 msgid "Part revision or version number" msgstr "" -#: part/models.py:723 part/templates/part/detail.html:35 report/models.py:199 +#: part/models.py:732 part/templates/part/detail.html:35 report/models.py:199 #: templates/js/part.js:173 msgid "Revision" msgstr "Wersja" -#: part/models.py:745 +#: part/models.py:754 msgid "Where is this item normally stored?" msgstr "" -#: part/models.py:792 part/templates/part/detail.html:97 +#: part/models.py:801 part/templates/part/detail.html:97 msgid "Default Supplier" msgstr "" -#: part/models.py:793 +#: part/models.py:802 msgid "Default supplier part" msgstr "" -#: part/models.py:800 +#: part/models.py:809 msgid "Default Expiry" msgstr "" -#: part/models.py:801 +#: part/models.py:810 msgid "Expiry time (in days) for stock items of this part" msgstr "" -#: part/models.py:806 part/templates/part/detail.html:113 +#: part/models.py:815 part/templates/part/detail.html:113 msgid "Minimum Stock" msgstr "Minimalny stan magazynowy" -#: part/models.py:807 +#: part/models.py:816 msgid "Minimum allowed stock level" msgstr "" -#: part/models.py:814 +#: part/models.py:823 msgid "Stock keeping units for this part" msgstr "" -#: part/models.py:820 +#: part/models.py:829 msgid "Can this part be built from other parts?" msgstr "" -#: part/models.py:826 +#: part/models.py:835 msgid "Can this part be used to build other parts?" msgstr "" -#: part/models.py:832 +#: part/models.py:841 msgid "Does this part have tracking for unique items?" msgstr "" -#: part/models.py:837 +#: part/models.py:846 msgid "Can this part be purchased from external suppliers?" msgstr "" -#: part/models.py:842 +#: part/models.py:851 msgid "Can this part be sold to customers?" msgstr "" -#: part/models.py:846 part/templates/part/detail.html:227 +#: part/models.py:855 part/templates/part/detail.html:227 #: templates/js/table_filters.js:21 templates/js/table_filters.js:65 -#: templates/js/table_filters.js:241 templates/js/table_filters.js:310 +#: templates/js/table_filters.js:246 templates/js/table_filters.js:315 msgid "Active" msgstr "Aktywny" -#: part/models.py:847 +#: part/models.py:856 msgid "Is this part active?" msgstr "Czy ta część jest aktywna?" -#: part/models.py:852 +#: part/models.py:861 msgid "Is this a virtual part, such as a software product or license?" msgstr "" -#: part/models.py:857 +#: part/models.py:866 msgid "Part notes - supports Markdown formatting" msgstr "" -#: part/models.py:860 +#: part/models.py:869 msgid "BOM checksum" msgstr "" -#: part/models.py:860 +#: part/models.py:869 msgid "Stored BOM checksum" msgstr "" -#: part/models.py:863 +#: part/models.py:872 msgid "BOM checked by" msgstr "" -#: part/models.py:865 +#: part/models.py:874 msgid "BOM checked date" msgstr "" -#: part/models.py:869 +#: part/models.py:878 msgid "Creation User" msgstr "" -#: part/models.py:1608 +#: part/models.py:1617 msgid "Sell multiple" msgstr "Sprzedaj wiele" -#: part/models.py:2063 +#: part/models.py:2088 msgid "Test templates can only be created for trackable parts" msgstr "" -#: part/models.py:2080 +#: part/models.py:2105 msgid "Test with this name already exists for this part" msgstr "" -#: part/models.py:2100 templates/js/part.js:717 templates/js/stock.js:117 +#: part/models.py:2125 templates/js/part.js:717 templates/js/stock.js:117 msgid "Test Name" msgstr "Nazwa testu" -#: part/models.py:2101 +#: part/models.py:2126 msgid "Enter a name for the test" msgstr "" -#: part/models.py:2106 +#: part/models.py:2131 msgid "Test Description" msgstr "" -#: part/models.py:2107 +#: part/models.py:2132 msgid "Enter description for this test" msgstr "" -#: part/models.py:2112 templates/js/part.js:726 -#: templates/js/table_filters.js:227 +#: part/models.py:2137 templates/js/part.js:726 +#: templates/js/table_filters.js:232 msgid "Required" msgstr "Wymagane" -#: part/models.py:2113 +#: part/models.py:2138 msgid "Is this test required to pass?" msgstr "" -#: part/models.py:2118 templates/js/part.js:734 +#: part/models.py:2143 templates/js/part.js:734 msgid "Requires Value" msgstr "" -#: part/models.py:2119 +#: part/models.py:2144 msgid "Does this test require a value when adding a test result?" msgstr "" -#: part/models.py:2124 templates/js/part.js:741 +#: part/models.py:2149 templates/js/part.js:741 msgid "Requires Attachment" msgstr "" -#: part/models.py:2125 +#: part/models.py:2150 msgid "Does this test require a file attachment when adding a test result?" msgstr "" -#: part/models.py:2158 +#: part/models.py:2187 msgid "Parameter template name must be unique" msgstr "" -#: part/models.py:2163 +#: part/models.py:2192 msgid "Parameter Name" msgstr "" -#: part/models.py:2165 +#: part/models.py:2194 msgid "Parameter Units" msgstr "" -#: part/models.py:2193 part/models.py:2242 part/models.py:2243 +#: part/models.py:2226 part/models.py:2275 part/models.py:2276 #: templates/InvenTree/settings/category.html:62 msgid "Parameter Template" msgstr "" -#: part/models.py:2195 +#: part/models.py:2228 msgid "Data" msgstr "Dane" -#: part/models.py:2195 +#: part/models.py:2228 msgid "Parameter Value" msgstr "" -#: part/models.py:2247 templates/InvenTree/settings/category.html:67 +#: part/models.py:2280 templates/InvenTree/settings/category.html:67 msgid "Default Value" msgstr "Wartość domyślna" -#: part/models.py:2248 +#: part/models.py:2281 msgid "Default Parameter Value" msgstr "" -#: part/models.py:2278 +#: part/models.py:2315 msgid "Select parent part" msgstr "" -#: part/models.py:2287 +#: part/models.py:2324 msgid "Select part to be used in BOM" msgstr "" -#: part/models.py:2293 +#: part/models.py:2330 msgid "BOM quantity for this BOM item" msgstr "" -#: part/models.py:2295 templates/js/bom.js:216 templates/js/bom.js:278 +#: part/models.py:2332 templates/js/bom.js:216 templates/js/bom.js:278 msgid "Optional" msgstr "" -#: part/models.py:2295 +#: part/models.py:2332 msgid "This BOM item is optional" msgstr "" -#: part/models.py:2298 +#: part/models.py:2335 msgid "Overage" msgstr "" -#: part/models.py:2299 +#: part/models.py:2336 msgid "Estimated build wastage quantity (absolute or percentage)" msgstr "" -#: part/models.py:2302 +#: part/models.py:2339 msgid "BOM item reference" msgstr "" -#: part/models.py:2305 +#: part/models.py:2342 msgid "BOM item notes" msgstr "" -#: part/models.py:2307 +#: part/models.py:2344 msgid "Checksum" msgstr "Suma kontrolna" -#: part/models.py:2307 +#: part/models.py:2344 msgid "BOM line checksum" msgstr "" -#: part/models.py:2311 templates/js/bom.js:295 templates/js/bom.js:302 +#: part/models.py:2348 templates/js/bom.js:295 templates/js/bom.js:302 #: templates/js/table_filters.js:51 msgid "Inherited" msgstr "" -#: part/models.py:2312 +#: part/models.py:2349 msgid "This BOM item is inherited by BOMs for variant parts" msgstr "" -#: part/models.py:2317 templates/js/bom.js:287 +#: part/models.py:2354 templates/js/bom.js:287 msgid "Allow Variants" msgstr "" -#: part/models.py:2318 +#: part/models.py:2355 msgid "Stock items for variant parts can be used for this BOM item" msgstr "" -#: part/models.py:2394 part/views.py:1859 part/views.py:1911 -#: stock/models.py:290 +#: part/models.py:2431 part/views.py:1736 part/views.py:1788 +#: stock/models.py:298 msgid "Quantity must be integer value for trackable parts" msgstr "" -#: part/models.py:2403 part/models.py:2405 +#: part/models.py:2440 part/models.py:2442 msgid "Sub part must be specified" msgstr "" -#: part/models.py:2408 +#: part/models.py:2445 msgid "BOM Item" msgstr "" -#: part/models.py:2527 +#: part/models.py:2564 msgid "Part 1" msgstr "Część 1" -#: part/models.py:2531 +#: part/models.py:2568 msgid "Part 2" msgstr "Część 2" -#: part/models.py:2531 +#: part/models.py:2568 msgid "Select Related Part" msgstr "Wybierz powiązaną część" -#: part/models.py:2563 +#: part/models.py:2600 msgid "Error creating relationship: check that the part is not related to itself and that the relationship is unique" msgstr "" @@ -4247,14 +4197,6 @@ msgstr "" msgid "Part Attachments" msgstr "" -#: part/templates/part/bom-delete.html:6 -msgid "Are you sure you want to delete this BOM item?" -msgstr "" - -#: part/templates/part/bom-delete.html:8 -msgid "Deleting this entry will remove the BOM row from the following part" -msgstr "" - #: part/templates/part/bom.html:10 part/templates/part/navbar.html:51 #: part/templates/part/navbar.html:54 msgid "Bill of Materials" @@ -4303,7 +4245,7 @@ msgstr "" msgid "Validate Bill of Materials" msgstr "" -#: part/templates/part/bom.html:61 part/views.py:2154 +#: part/templates/part/bom.html:61 part/views.py:2031 msgid "Export Bill of Materials" msgstr "" @@ -4319,8 +4261,8 @@ msgstr "" msgid "All selected BOM items will be deleted" msgstr "" -#: part/templates/part/bom.html:160 part/views.py:590 -#: templates/js/stock.js:1313 +#: part/templates/part/bom.html:160 part/views.py:450 +#: templates/js/stock.js:1327 msgid "Create New Part" msgstr "" @@ -4401,7 +4343,7 @@ msgstr "" msgid "All parts" msgstr "Wszystkie części" -#: part/templates/part/category.html:38 part/views.py:2564 +#: part/templates/part/category.html:38 part/views.py:2441 msgid "Create new part category" msgstr "Stwórz nową kategorię komponentów" @@ -4461,11 +4403,12 @@ msgid "View grid display" msgstr "" #: part/templates/part/category.html:218 -#: stock/templates/stock/location.html:192 templates/js/stock.js:737 +#: stock/templates/stock/location.html:192 templates/js/stock.js:751 msgid "Create new location" msgstr "" #: part/templates/part/category.html:223 part/templates/part/category.html:253 +#: part/templates/part/part_base.html:378 msgid "New Category" msgstr "" @@ -4477,10 +4420,18 @@ msgstr "" msgid "Create new Part Category" msgstr "" -#: part/templates/part/category.html:260 stock/views.py:1391 +#: part/templates/part/category.html:260 stock/views.py:1223 msgid "Create new Stock Location" msgstr "Utwórz nową lokalizację magazynową" +#: part/templates/part/category.html:279 +msgid "Select parent category" +msgstr "" + +#: part/templates/part/category.html:286 part/views.py:2389 +msgid "Edit Part Category" +msgstr "" + #: part/templates/part/category_delete.html:5 msgid "Are you sure you want to delete category" msgstr "" @@ -4526,7 +4477,7 @@ msgstr "" msgid "Part Parameters" msgstr "Parametry części" -#: part/templates/part/copy_part.html:9 part/views.py:466 +#: part/templates/part/copy_part.html:9 part/views.py:326 msgid "Duplicate Part" msgstr "Duplikuj część" @@ -4639,36 +4590,6 @@ msgstr "" msgid "Import Parts from File" msgstr "" -#: part/templates/part/internal_prices.html:11 -#: part/templates/part/navbar.html:101 -msgid "Internal Price Information" -msgstr "" - -#: part/templates/part/internal_prices.html:19 part/views.py:2989 -msgid "Add Internal Price Break" -msgstr "" - -#: part/templates/part/internal_prices.html:28 templates/403.html:5 -#: templates/403.html:11 -msgid "Permission Denied" -msgstr "" - -#: part/templates/part/internal_prices.html:31 templates/403.html:14 -msgid "You do not have permission to view this page." -msgstr "" - -#: part/templates/part/internal_prices.html:59 -msgid "No internal price break information found" -msgstr "" - -#: part/templates/part/internal_prices.html:110 -msgid "Edit internal price break" -msgstr "" - -#: part/templates/part/internal_prices.html:111 -msgid "Delete internal price break" -msgstr "" - #: part/templates/part/manufacturer.html:11 msgid "Part Manufacturers" msgstr "" @@ -4678,7 +4599,7 @@ msgid "Delete manufacturer parts" msgstr "" #: part/templates/part/manufacturer.html:53 -#: part/templates/part/supplier.html:57 +#: part/templates/part/supplier.html:56 msgid "Create new manufacturer" msgstr "" @@ -4702,125 +4623,27 @@ msgstr "" msgid "Used In" msgstr "" -#: part/templates/part/navbar.html:75 part/templates/part/order_prices.html:12 -msgid "Order Price Information" +#: part/templates/part/navbar.html:77 +msgid "Prices" msgstr "" -#: part/templates/part/navbar.html:78 -msgid "Order Price" -msgstr "" - -#: part/templates/part/navbar.html:104 part/templates/part/order_prices.html:94 -#: part/templates/part/part_pricing.html:82 -msgid "Internal Price" -msgstr "" - -#: part/templates/part/navbar.html:107 -msgid "Sales Price Information" -msgstr "" - -#: part/templates/part/navbar.html:121 part/templates/part/part_tests.html:10 +#: part/templates/part/navbar.html:109 part/templates/part/part_tests.html:10 msgid "Part Test Templates" msgstr "" -#: part/templates/part/navbar.html:124 stock/templates/stock/item_base.html:414 +#: part/templates/part/navbar.html:112 stock/templates/stock/item_base.html:414 msgid "Tests" msgstr "" -#: part/templates/part/navbar.html:129 part/templates/part/navbar.html:132 +#: part/templates/part/navbar.html:117 part/templates/part/navbar.html:120 #: part/templates/part/related.html:10 msgid "Related Parts" msgstr "" -#: part/templates/part/navbar.html:142 part/templates/part/notes.html:12 +#: part/templates/part/navbar.html:130 part/templates/part/notes.html:12 msgid "Part Notes" msgstr "" -#: part/templates/part/order_prices.html:25 -#: part/templates/part/part_base.html:282 -msgid "Calculate" -msgstr "" - -#: part/templates/part/order_prices.html:32 -msgid "Pricing ranges" -msgstr "" - -#: part/templates/part/order_prices.html:37 -#: part/templates/part/part_pricing.html:22 -msgid "Supplier Pricing" -msgstr "" - -#: part/templates/part/order_prices.html:38 -#: part/templates/part/order_prices.html:63 -#: part/templates/part/order_prices.html:95 -#: part/templates/part/order_prices.html:109 -#: part/templates/part/part_pricing.html:26 -#: part/templates/part/part_pricing.html:52 -#: part/templates/part/part_pricing.html:85 -#: part/templates/part/part_pricing.html:100 -msgid "Unit Cost" -msgstr "" - -#: part/templates/part/order_prices.html:45 -#: part/templates/part/order_prices.html:70 -#: part/templates/part/order_prices.html:100 -#: part/templates/part/order_prices.html:114 -#: part/templates/part/part_pricing.html:32 -#: part/templates/part/part_pricing.html:58 -#: part/templates/part/part_pricing.html:89 -#: part/templates/part/part_pricing.html:104 -msgid "Total Cost" -msgstr "" - -#: part/templates/part/order_prices.html:53 -#: part/templates/part/part_pricing.html:40 -msgid "No supplier pricing available" -msgstr "" - -#: part/templates/part/order_prices.html:62 -#: part/templates/part/order_prices.html:129 -#: part/templates/part/part_pricing.html:48 -msgid "BOM Pricing" -msgstr "" - -#: part/templates/part/order_prices.html:78 -#: part/templates/part/part_pricing.html:66 -msgid "Note: BOM pricing is incomplete for this part" -msgstr "" - -#: part/templates/part/order_prices.html:85 -#: part/templates/part/part_pricing.html:73 -msgid "No BOM pricing available" -msgstr "" - -#: part/templates/part/order_prices.html:123 -#: part/templates/part/part_pricing.html:113 -msgid "No pricing information is available for this part." -msgstr "" - -#: part/templates/part/order_prices.html:139 -msgid "Stock Pricing" -msgstr "" - -#: part/templates/part/order_prices.html:147 -msgid "No stock pricing history is available for this part." -msgstr "" - -#: part/templates/part/order_prices.html:166 -#, python-format -msgid "Single Price - %(currency)s" -msgstr "" - -#: part/templates/part/order_prices.html:178 -#, python-format -msgid "Single Price Difference - %(currency)s" -msgstr "" - -#: part/templates/part/order_prices.html:190 -#, python-format -msgid "Part Single Price - %(currency)s" -msgstr "" - #: part/templates/part/params.html:17 msgid "Add new parameter" msgstr "" @@ -4841,8 +4664,8 @@ msgstr "" msgid "Part List" msgstr "" -#: part/templates/part/part_base.html:26 templates/js/company.js:156 -#: templates/js/company.js:355 templates/js/part.js:84 templates/js/part.js:161 +#: part/templates/part/part_base.html:26 templates/js/company.js:280 +#: templates/js/company.js:480 templates/js/part.js:84 templates/js/part.js:161 msgid "Inactive" msgstr "" @@ -4905,7 +4728,7 @@ msgstr "" msgid "In Stock" msgstr "" -#: part/templates/part/part_base.html:143 templates/InvenTree/index.html:131 +#: part/templates/part/part_base.html:143 templates/InvenTree/index.html:132 msgid "Required for Build Orders" msgstr "" @@ -4926,10 +4749,86 @@ msgstr "" msgid "Building" msgstr "" +#: part/templates/part/part_base.html:285 part/templates/part/prices.html:131 +msgid "Calculate" +msgstr "" + +#: part/templates/part/part_base.html:379 +msgid "Create New Part Category" +msgstr "" + +#: part/templates/part/part_base.html:387 +msgid "New Parent" +msgstr "" + +#: part/templates/part/part_base.html:435 +msgid "Edit Part" +msgstr "" + +#: part/templates/part/part_pricing.html:22 part/templates/part/prices.html:27 +msgid "Supplier Pricing" +msgstr "" + +#: part/templates/part/part_pricing.html:26 +#: part/templates/part/part_pricing.html:52 +#: part/templates/part/part_pricing.html:85 +#: part/templates/part/part_pricing.html:100 part/templates/part/prices.html:31 +#: part/templates/part/prices.html:58 part/templates/part/prices.html:90 +#: part/templates/part/prices.html:107 +msgid "Unit Cost" +msgstr "" + +#: part/templates/part/part_pricing.html:32 +#: part/templates/part/part_pricing.html:58 +#: part/templates/part/part_pricing.html:89 +#: part/templates/part/part_pricing.html:104 part/templates/part/prices.html:38 +#: part/templates/part/prices.html:65 part/templates/part/prices.html:95 +#: part/templates/part/prices.html:112 +msgid "Total Cost" +msgstr "" + +#: part/templates/part/part_pricing.html:40 part/templates/part/prices.html:46 +msgid "No supplier pricing available" +msgstr "" + +#: part/templates/part/part_pricing.html:48 part/templates/part/prices.html:55 +#: part/templates/part/prices.html:235 +msgid "BOM Pricing" +msgstr "" + +#: part/templates/part/part_pricing.html:66 part/templates/part/prices.html:73 +msgid "Note: BOM pricing is incomplete for this part" +msgstr "" + +#: part/templates/part/part_pricing.html:73 part/templates/part/prices.html:80 +msgid "No BOM pricing available" +msgstr "" + +#: part/templates/part/part_pricing.html:82 part/templates/part/prices.html:89 +msgid "Internal Price" +msgstr "" + +#: part/templates/part/part_pricing.html:113 +#: part/templates/part/prices.html:121 +msgid "No pricing information is available for this part." +msgstr "" + #: part/templates/part/part_tests.html:17 msgid "Add Test Template" msgstr "" +#: part/templates/part/part_tests.html:61 +msgid "Add Test Result Template" +msgstr "" + +#: part/templates/part/part_tests.html:79 +msgid "Edit Test Result Template" +msgstr "" + +#: part/templates/part/part_tests.html:91 +msgid "Delete Test Result Template" +msgstr "" + #: part/templates/part/part_thumb.html:20 msgid "Select from existing images" msgstr "" @@ -4964,12 +4863,98 @@ msgstr "" msgid "There are %(count)s unique parts tracked for '%(full_name)s'. Deleting this part will permanently remove this tracking information." msgstr "" -#: part/templates/part/related.html:18 -msgid "Add Related" +#: part/templates/part/prices.html:12 +msgid "General Price Information" msgstr "" -#: part/templates/part/sale_prices.html:10 -msgid "Sell Price Information" +#: part/templates/part/prices.html:22 +msgid "Pricing ranges" +msgstr "" + +#: part/templates/part/prices.html:28 +msgid "Show supplier cost" +msgstr "" + +#: part/templates/part/prices.html:29 +msgid "Show purchase price" +msgstr "" + +#: part/templates/part/prices.html:56 +msgid "Show BOM cost" +msgstr "" + +#: part/templates/part/prices.html:104 +msgid "Show sale cost" +msgstr "" + +#: part/templates/part/prices.html:105 +msgid "Show sale price" +msgstr "" + +#: part/templates/part/prices.html:127 +msgid "Calculation parameters" +msgstr "" + +#: part/templates/part/prices.html:146 +msgid "Supplier Cost" +msgstr "" + +#: part/templates/part/prices.html:147 part/templates/part/prices.html:167 +#: part/templates/part/prices.html:193 part/templates/part/prices.html:224 +#: part/templates/part/prices.html:251 part/templates/part/prices.html:279 +msgid "Jump to overview" +msgstr "" + +#: part/templates/part/prices.html:172 +msgid "Stock Pricing" +msgstr "" + +#: part/templates/part/prices.html:180 +msgid "No stock pricing history is available for this part." +msgstr "" + +#: part/templates/part/prices.html:192 +msgid "Internal Cost" +msgstr "" + +#: part/templates/part/prices.html:206 part/views.py:2859 +msgid "Add Internal Price Break" +msgstr "" + +#: part/templates/part/prices.html:223 +msgid "BOM Cost" +msgstr "" + +#: part/templates/part/prices.html:250 +msgid "Sale Cost" +msgstr "" + +#: part/templates/part/prices.html:290 +msgid "No sale pice history available for this part." +msgstr "" + +#: part/templates/part/prices.html:340 +#, python-format +msgid "Single Price - %(currency)s" +msgstr "" + +#: part/templates/part/prices.html:352 +#, python-format +msgid "Single Price Difference - %(currency)s" +msgstr "" + +#: part/templates/part/prices.html:364 +#, python-format +msgid "Part Single Price - %(currency)s" +msgstr "" + +#: part/templates/part/prices.html:464 +#, python-format +msgid "Unit Price - %(currency)s" +msgstr "" + +#: part/templates/part/related.html:18 +msgid "Add Related" msgstr "" #: part/templates/part/sales_orders.html:18 @@ -5043,216 +5028,180 @@ msgstr "" msgid "Delete Related Part" msgstr "" -#: part/views.py:164 -msgid "Add part attachment" -msgstr "" - -#: part/views.py:217 templates/attachment_table.html:32 -msgid "Edit attachment" -msgstr "" - -#: part/views.py:221 -msgid "Part attachment updated" -msgstr "" - -#: part/views.py:236 -msgid "Delete Part Attachment" -msgstr "" - -#: part/views.py:244 -msgid "Deleted part attachment" -msgstr "" - -#: part/views.py:253 -msgid "Create Test Template" -msgstr "" - -#: part/views.py:280 -msgid "Edit Test Template" -msgstr "" - -#: part/views.py:294 -msgid "Delete Test Template" -msgstr "" - -#: part/views.py:301 +#: part/views.py:161 msgid "Set Part Category" msgstr "" -#: part/views.py:351 +#: part/views.py:211 #, python-brace-format msgid "Set category for {n} parts" msgstr "" -#: part/views.py:386 +#: part/views.py:246 msgid "Create Variant" msgstr "" -#: part/views.py:471 +#: part/views.py:331 msgid "Copied part" msgstr "" -#: part/views.py:525 part/views.py:663 +#: part/views.py:385 part/views.py:523 msgid "Possible matches exist - confirm creation of new part" msgstr "" -#: part/views.py:595 +#: part/views.py:455 msgid "Created new part" msgstr "" -#: part/views.py:763 +#: part/views.py:623 msgid "Match References" msgstr "" -#: part/views.py:1092 +#: part/views.py:925 +msgid "None" +msgstr "" + +#: part/views.py:984 msgid "Part QR Code" msgstr "" -#: part/views.py:1194 -msgid "Upload Part Image" -msgstr "" - -#: part/views.py:1200 part/views.py:1235 -msgid "Updated part image" -msgstr "" - -#: part/views.py:1209 +#: part/views.py:1086 msgid "Select Part Image" msgstr "" -#: part/views.py:1238 +#: part/views.py:1112 +msgid "Updated part image" +msgstr "" + +#: part/views.py:1115 msgid "Part image not found" msgstr "" -#: part/views.py:1249 +#: part/views.py:1126 msgid "Edit Part Properties" msgstr "" -#: part/views.py:1284 +#: part/views.py:1161 msgid "Duplicate BOM" msgstr "" -#: part/views.py:1314 +#: part/views.py:1191 msgid "Confirm duplication of BOM from parent" msgstr "" -#: part/views.py:1335 +#: part/views.py:1212 msgid "Validate BOM" msgstr "" -#: part/views.py:1356 +#: part/views.py:1233 msgid "Confirm that the BOM is valid" msgstr "" -#: part/views.py:1367 +#: part/views.py:1244 msgid "Validated Bill of Materials" msgstr "" -#: part/views.py:1501 +#: part/views.py:1378 msgid "No BOM file provided" msgstr "" -#: part/views.py:1862 +#: part/views.py:1739 msgid "Enter a valid quantity" msgstr "" -#: part/views.py:1887 part/views.py:1890 +#: part/views.py:1764 part/views.py:1767 msgid "Select valid part" msgstr "" -#: part/views.py:1896 +#: part/views.py:1773 msgid "Duplicate part selected" msgstr "" -#: part/views.py:1934 +#: part/views.py:1811 msgid "Select a part" msgstr "" -#: part/views.py:1940 +#: part/views.py:1817 msgid "Selected part creates a circular BOM" msgstr "" -#: part/views.py:1944 +#: part/views.py:1821 msgid "Specify quantity" msgstr "" -#: part/views.py:2206 +#: part/views.py:2083 msgid "Confirm Part Deletion" msgstr "" -#: part/views.py:2213 +#: part/views.py:2090 msgid "Part was deleted" msgstr "" -#: part/views.py:2222 +#: part/views.py:2099 msgid "Part Pricing" msgstr "" -#: part/views.py:2363 +#: part/views.py:2240 msgid "Create Part Parameter Template" msgstr "" -#: part/views.py:2373 +#: part/views.py:2250 msgid "Edit Part Parameter Template" msgstr "" -#: part/views.py:2380 +#: part/views.py:2257 msgid "Delete Part Parameter Template" msgstr "" -#: part/views.py:2388 +#: part/views.py:2265 msgid "Create Part Parameter" msgstr "" -#: part/views.py:2438 +#: part/views.py:2315 msgid "Edit Part Parameter" msgstr "" -#: part/views.py:2452 +#: part/views.py:2329 msgid "Delete Part Parameter" msgstr "" -#: part/views.py:2512 -msgid "Edit Part Category" -msgstr "" - -#: part/views.py:2550 +#: part/views.py:2427 msgid "Delete Part Category" msgstr "" -#: part/views.py:2556 +#: part/views.py:2433 msgid "Part category was deleted" msgstr "" -#: part/views.py:2608 +#: part/views.py:2485 msgid "Create Category Parameter Template" msgstr "" -#: part/views.py:2709 +#: part/views.py:2586 msgid "Edit Category Parameter Template" msgstr "" -#: part/views.py:2765 +#: part/views.py:2642 msgid "Delete Category Parameter Template" msgstr "" -#: part/views.py:2784 +#: part/views.py:2661 msgid "Create BOM Item" msgstr "" -#: part/views.py:2854 +#: part/views.py:2731 msgid "Edit BOM item" msgstr "" -#: part/views.py:2910 -msgid "Confim BOM item deletion" +#: part/views.py:2792 +msgid "Added new price break" msgstr "" -#: part/views.py:2998 +#: part/views.py:2868 msgid "Edit Internal Price Break" msgstr "" -#: part/views.py:3006 +#: part/views.py:2876 msgid "Delete Internal Price Break" msgstr "" @@ -5358,17 +5307,17 @@ msgid "Test Results" msgstr "" #: report/templates/report/inventree_test_report_base.html:88 -#: stock/models.py:1739 +#: stock/models.py:1759 msgid "Test" msgstr "" #: report/templates/report/inventree_test_report_base.html:89 -#: stock/models.py:1745 +#: stock/models.py:1765 msgid "Result" msgstr "" #: report/templates/report/inventree_test_report_base.html:92 -#: templates/js/order.js:195 templates/js/stock.js:1012 +#: templates/js/order.js:257 templates/js/stock.js:1026 msgid "Date" msgstr "" @@ -5380,287 +5329,287 @@ msgstr "" msgid "Fail" msgstr "" -#: stock/api.py:212 +#: stock/api.py:211 #, python-brace-format msgid "Updated stock for {n} items" msgstr "" -#: stock/api.py:281 +#: stock/api.py:280 #, python-brace-format msgid "Moved {n} parts to {loc}" msgstr "" -#: stock/forms.py:114 stock/forms.py:418 stock/models.py:505 +#: stock/forms.py:81 stock/forms.py:385 stock/models.py:513 #: stock/templates/stock/item_base.html:381 templates/js/stock.js:658 msgid "Expiry Date" msgstr "" -#: stock/forms.py:115 stock/forms.py:419 +#: stock/forms.py:82 stock/forms.py:386 msgid "Expiration date for this stock item" msgstr "" -#: stock/forms.py:118 +#: stock/forms.py:85 msgid "Enter unique serial numbers (or leave blank)" msgstr "" -#: stock/forms.py:169 +#: stock/forms.py:136 msgid "Destination for serialized stock (by default, will remain in current location)" msgstr "" -#: stock/forms.py:171 +#: stock/forms.py:138 msgid "Serial numbers" msgstr "" -#: stock/forms.py:171 +#: stock/forms.py:138 msgid "Unique serial numbers (must match quantity)" msgstr "" -#: stock/forms.py:173 stock/forms.py:349 +#: stock/forms.py:140 stock/forms.py:316 msgid "Add transaction note (optional)" msgstr "" -#: stock/forms.py:203 stock/forms.py:259 +#: stock/forms.py:170 stock/forms.py:226 msgid "Select test report template" msgstr "" -#: stock/forms.py:267 templates/js/table_filters.js:75 +#: stock/forms.py:234 templates/js/table_filters.js:75 #: templates/js/table_filters.js:138 msgid "Include sublocations" msgstr "" -#: stock/forms.py:267 +#: stock/forms.py:234 msgid "Include stock items in sub locations" msgstr "" -#: stock/forms.py:302 +#: stock/forms.py:269 msgid "Stock item to install" msgstr "" -#: stock/forms.py:309 +#: stock/forms.py:276 msgid "Stock quantity to assign" msgstr "" -#: stock/forms.py:337 +#: stock/forms.py:304 msgid "Must not exceed available quantity" msgstr "" -#: stock/forms.py:347 +#: stock/forms.py:314 msgid "Destination location for uninstalled items" msgstr "" -#: stock/forms.py:351 +#: stock/forms.py:318 msgid "Confirm uninstall" msgstr "" -#: stock/forms.py:351 +#: stock/forms.py:318 msgid "Confirm removal of installed stock items" msgstr "" -#: stock/forms.py:375 +#: stock/forms.py:342 msgid "Destination stock location" msgstr "" -#: stock/forms.py:377 +#: stock/forms.py:344 msgid "Add note (required)" msgstr "" -#: stock/forms.py:381 stock/views.py:852 stock/views.py:1051 +#: stock/forms.py:348 stock/views.py:705 stock/views.py:904 msgid "Confirm stock adjustment" msgstr "" -#: stock/forms.py:381 +#: stock/forms.py:348 msgid "Confirm movement of stock items" msgstr "" -#: stock/forms.py:383 +#: stock/forms.py:350 msgid "Set Default Location" msgstr "" -#: stock/forms.py:383 +#: stock/forms.py:350 msgid "Set the destination as the default location for selected parts" msgstr "" -#: stock/models.py:52 stock/models.py:542 +#: stock/models.py:56 stock/models.py:550 msgid "Owner" msgstr "" -#: stock/models.py:53 stock/models.py:543 +#: stock/models.py:57 stock/models.py:551 msgid "Select Owner" msgstr "" -#: stock/models.py:271 +#: stock/models.py:279 msgid "StockItem with this serial number already exists" msgstr "" -#: stock/models.py:307 +#: stock/models.py:315 #, python-brace-format msgid "Part type ('{pf}') must be {pe}" msgstr "" -#: stock/models.py:317 stock/models.py:326 +#: stock/models.py:325 stock/models.py:334 msgid "Quantity must be 1 for item with a serial number" msgstr "" -#: stock/models.py:318 +#: stock/models.py:326 msgid "Serial number cannot be set if quantity greater than 1" msgstr "" -#: stock/models.py:340 +#: stock/models.py:348 msgid "Item cannot belong to itself" msgstr "" -#: stock/models.py:346 +#: stock/models.py:354 msgid "Item must have a build reference if is_building=True" msgstr "" -#: stock/models.py:353 +#: stock/models.py:361 msgid "Build reference does not point to the same part object" msgstr "" -#: stock/models.py:395 +#: stock/models.py:403 msgid "Parent Stock Item" msgstr "" -#: stock/models.py:404 +#: stock/models.py:412 msgid "Base part" msgstr "" -#: stock/models.py:413 +#: stock/models.py:421 msgid "Select a matching supplier part for this stock item" msgstr "" -#: stock/models.py:418 stock/templates/stock/stock_app_base.html:8 +#: stock/models.py:426 stock/templates/stock/stock_app_base.html:8 msgid "Stock Location" msgstr "" -#: stock/models.py:421 +#: stock/models.py:429 msgid "Where is this stock item located?" msgstr "" -#: stock/models.py:428 +#: stock/models.py:436 msgid "Packaging this stock item is stored in" msgstr "" -#: stock/models.py:433 stock/templates/stock/item_base.html:270 +#: stock/models.py:441 stock/templates/stock/item_base.html:270 msgid "Installed In" msgstr "" -#: stock/models.py:436 +#: stock/models.py:444 msgid "Is this item installed in another item?" msgstr "" -#: stock/models.py:452 +#: stock/models.py:460 msgid "Serial number for this item" msgstr "" -#: stock/models.py:464 +#: stock/models.py:472 msgid "Batch code for this stock item" msgstr "" -#: stock/models.py:468 +#: stock/models.py:476 msgid "Stock Quantity" msgstr "" -#: stock/models.py:477 +#: stock/models.py:485 msgid "Source Build" msgstr "" -#: stock/models.py:479 +#: stock/models.py:487 msgid "Build for this stock item" msgstr "" -#: stock/models.py:490 +#: stock/models.py:498 msgid "Source Purchase Order" msgstr "" -#: stock/models.py:493 +#: stock/models.py:501 msgid "Purchase order for this stock item" msgstr "" -#: stock/models.py:499 +#: stock/models.py:507 msgid "Destination Sales Order" msgstr "" -#: stock/models.py:506 +#: stock/models.py:514 msgid "Expiry date for stock item. Stock will be considered expired after this date" msgstr "" -#: stock/models.py:519 +#: stock/models.py:527 msgid "Delete on deplete" msgstr "" -#: stock/models.py:519 +#: stock/models.py:527 msgid "Delete this Stock Item when stock is depleted" msgstr "" -#: stock/models.py:529 stock/templates/stock/item_notes.html:13 +#: stock/models.py:537 stock/templates/stock/item_notes.html:13 #: stock/templates/stock/navbar.html:54 msgid "Stock Item Notes" msgstr "" -#: stock/models.py:538 +#: stock/models.py:546 msgid "Single unit purchase price at time of purchase" msgstr "" -#: stock/models.py:1006 +#: stock/models.py:1014 msgid "Part is not set as trackable" msgstr "" -#: stock/models.py:1012 +#: stock/models.py:1020 msgid "Quantity must be integer" msgstr "" -#: stock/models.py:1018 +#: stock/models.py:1026 #, python-brace-format msgid "Quantity must not exceed available stock quantity ({n})" msgstr "" -#: stock/models.py:1021 +#: stock/models.py:1029 msgid "Serial numbers must be a list of integers" msgstr "" -#: stock/models.py:1024 +#: stock/models.py:1032 msgid "Quantity does not match serial numbers" msgstr "" -#: stock/models.py:1031 +#: stock/models.py:1039 #, python-brace-format msgid "Serial numbers already exist: {exists}" msgstr "" -#: stock/models.py:1189 +#: stock/models.py:1197 msgid "StockItem cannot be moved as it is not in stock" msgstr "" -#: stock/models.py:1663 +#: stock/models.py:1679 msgid "Entry notes" msgstr "" -#: stock/models.py:1716 +#: stock/models.py:1736 msgid "Value must be provided for this test" msgstr "" -#: stock/models.py:1722 +#: stock/models.py:1742 msgid "Attachment must be uploaded for this test" msgstr "" -#: stock/models.py:1740 +#: stock/models.py:1760 msgid "Test name" msgstr "" -#: stock/models.py:1746 templates/js/table_filters.js:217 +#: stock/models.py:1766 templates/js/table_filters.js:222 msgid "Test result" msgstr "" -#: stock/models.py:1752 +#: stock/models.py:1772 msgid "Test output value" msgstr "" -#: stock/models.py:1759 +#: stock/models.py:1779 msgid "Test result attachment" msgstr "" -#: stock/models.py:1765 +#: stock/models.py:1785 msgid "Test notes" msgstr "" @@ -5850,6 +5799,10 @@ msgstr "" msgid "No stocktake performed" msgstr "" +#: stock/templates/stock/item_base.html:499 +msgid "Edit Stock Status" +msgstr "" + #: stock/templates/stock/item_childs.html:12 msgid "Child Stock Items" msgstr "" @@ -5909,6 +5862,19 @@ msgstr "" msgid "Add Test Data" msgstr "" +#: stock/templates/stock/item_tests.html:86 +#: stock/templates/stock/item_tests.html:111 +msgid "Add Test Result" +msgstr "" + +#: stock/templates/stock/item_tests.html:131 +msgid "Edit Test Result" +msgstr "" + +#: stock/templates/stock/item_tests.html:145 +msgid "Delete Test Result" +msgstr "" + #: stock/templates/stock/location.html:20 msgid "You are not in the list of owners of this location. This stock location cannot be edited." msgstr "" @@ -5957,7 +5923,7 @@ msgid "Stock Details" msgstr "" #: stock/templates/stock/location.html:117 templates/InvenTree/search.html:279 -#: templates/stats.html:97 users/models.py:41 +#: templates/stats.html:97 users/models.py:42 msgid "Stock Locations" msgstr "" @@ -5997,7 +5963,7 @@ msgstr "" msgid "The following stock items will be uninstalled" msgstr "" -#: stock/templates/stock/stockitem_convert.html:7 stock/views.py:1364 +#: stock/templates/stock/stockitem_convert.html:7 stock/views.py:1196 msgid "Convert Stock Item" msgstr "" @@ -6030,8 +5996,8 @@ msgstr "" msgid "Edit Stock Location" msgstr "" -#: stock/views.py:230 stock/views.py:1343 stock/views.py:1465 -#: stock/views.py:1830 +#: stock/views.py:230 stock/views.py:1175 stock/views.py:1297 +#: stock/views.py:1662 msgid "Owner is required (ownership control is enabled)" msgstr "" @@ -6039,208 +6005,188 @@ msgstr "" msgid "Stock Location QR code" msgstr "" -#: stock/views.py:265 -msgid "Add Stock Item Attachment" -msgstr "" - -#: stock/views.py:311 -msgid "Edit Stock Item Attachment" -msgstr "" - -#: stock/views.py:327 -msgid "Delete Stock Item Attachment" -msgstr "" - -#: stock/views.py:343 +#: stock/views.py:264 msgid "Assign to Customer" msgstr "" -#: stock/views.py:352 +#: stock/views.py:273 msgid "Customer must be specified" msgstr "" -#: stock/views.py:376 +#: stock/views.py:297 msgid "Return to Stock" msgstr "" -#: stock/views.py:385 +#: stock/views.py:306 msgid "Specify a valid location" msgstr "" -#: stock/views.py:396 +#: stock/views.py:317 msgid "Stock item returned from customer" msgstr "" -#: stock/views.py:407 +#: stock/views.py:328 msgid "Delete All Test Data" msgstr "" -#: stock/views.py:424 +#: stock/views.py:345 msgid "Confirm test data deletion" msgstr "" -#: stock/views.py:444 -msgid "Add Test Result" -msgstr "" - -#: stock/views.py:484 -msgid "Edit Test Result" -msgstr "" - -#: stock/views.py:501 -msgid "Delete Test Result" -msgstr "" - -#: stock/views.py:509 +#: stock/views.py:362 msgid "Stock Export Options" msgstr "" -#: stock/views.py:630 +#: stock/views.py:483 msgid "Stock Item QR Code" msgstr "" -#: stock/views.py:656 +#: stock/views.py:509 msgid "Install Stock Item" msgstr "" -#: stock/views.py:755 +#: stock/views.py:608 msgid "Uninstall Stock Items" msgstr "" -#: stock/views.py:863 +#: stock/views.py:716 msgid "Uninstalled stock items" msgstr "" -#: stock/views.py:888 +#: stock/views.py:741 msgid "Adjust Stock" msgstr "" -#: stock/views.py:998 +#: stock/views.py:851 msgid "Move Stock Items" msgstr "" -#: stock/views.py:998 +#: stock/views.py:851 msgid "Move" msgstr "" -#: stock/views.py:999 +#: stock/views.py:852 msgid "Count Stock Items" msgstr "" -#: stock/views.py:999 +#: stock/views.py:852 msgid "Count" msgstr "" -#: stock/views.py:1000 +#: stock/views.py:853 msgid "Remove From Stock" msgstr "" -#: stock/views.py:1000 +#: stock/views.py:853 msgid "Take" msgstr "" -#: stock/views.py:1001 +#: stock/views.py:854 msgid "Add Stock Items" msgstr "" -#: stock/views.py:1001 users/models.py:187 +#: stock/views.py:854 users/models.py:188 msgid "Add" msgstr "" -#: stock/views.py:1002 +#: stock/views.py:855 msgid "Delete Stock Items" msgstr "" -#: stock/views.py:1031 +#: stock/views.py:884 msgid "Must enter integer value" msgstr "" -#: stock/views.py:1036 +#: stock/views.py:889 msgid "Quantity must be positive" msgstr "" -#: stock/views.py:1043 +#: stock/views.py:896 #, python-brace-format msgid "Quantity must not exceed {x}" msgstr "" -#: stock/views.py:1107 +#: stock/views.py:960 msgid "No action performed" msgstr "" -#: stock/views.py:1122 +#: stock/views.py:975 #, python-brace-format msgid "Added stock to {n} items" msgstr "" -#: stock/views.py:1137 +#: stock/views.py:990 #, python-brace-format msgid "Removed stock from {n} items" msgstr "" -#: stock/views.py:1150 +#: stock/views.py:1003 #, python-brace-format msgid "Counted stock for {n} items" msgstr "" -#: stock/views.py:1190 +#: stock/views.py:1043 msgid "No items were moved" msgstr "" -#: stock/views.py:1193 +#: stock/views.py:1046 #, python-brace-format msgid "Moved {n} items to {dest}" msgstr "" -#: stock/views.py:1212 +#: stock/views.py:1065 #, python-brace-format msgid "Deleted {n} stock items" msgstr "" -#: stock/views.py:1222 -msgid "Edit Stock Item Status" -msgstr "" - -#: stock/views.py:1245 +#: stock/views.py:1077 msgid "Edit Stock Item" msgstr "" -#: stock/views.py:1482 +#: stock/views.py:1314 msgid "Serialize Stock" msgstr "" -#: stock/views.py:1575 templates/js/build.js:327 +#: stock/views.py:1407 templates/js/build.js:327 msgid "Create new Stock Item" msgstr "" -#: stock/views.py:1717 +#: stock/views.py:1549 msgid "Duplicate Stock Item" msgstr "" -#: stock/views.py:1799 +#: stock/views.py:1631 msgid "Quantity cannot be negative" msgstr "" -#: stock/views.py:1899 +#: stock/views.py:1731 msgid "Delete Stock Location" msgstr "" -#: stock/views.py:1912 +#: stock/views.py:1744 msgid "Delete Stock Item" msgstr "" -#: stock/views.py:1923 +#: stock/views.py:1755 msgid "Delete Stock Tracking Entry" msgstr "" -#: stock/views.py:1930 +#: stock/views.py:1762 msgid "Edit Stock Tracking Entry" msgstr "" -#: stock/views.py:1939 +#: stock/views.py:1771 msgid "Add Stock Tracking Entry" msgstr "" +#: templates/403.html:5 templates/403.html:11 +msgid "Permission Denied" +msgstr "" + +#: templates/403.html:14 +msgid "You do not have permission to view this page." +msgstr "" + #: templates/404.html:5 templates/404.html:11 msgid "Page Not Found" msgstr "" @@ -6269,35 +6215,39 @@ msgstr "" msgid "Recently Updated" msgstr "" -#: templates/InvenTree/index.html:145 -msgid "Expired Stock" +#: templates/InvenTree/index.html:131 +msgid "Depleted Stock" msgstr "" #: templates/InvenTree/index.html:146 +msgid "Expired Stock" +msgstr "" + +#: templates/InvenTree/index.html:147 msgid "Stale Stock" msgstr "" -#: templates/InvenTree/index.html:184 +#: templates/InvenTree/index.html:192 msgid "Build Orders In Progress" msgstr "" -#: templates/InvenTree/index.html:185 +#: templates/InvenTree/index.html:193 msgid "Overdue Build Orders" msgstr "" -#: templates/InvenTree/index.html:206 +#: templates/InvenTree/index.html:214 msgid "Outstanding Purchase Orders" msgstr "" -#: templates/InvenTree/index.html:207 +#: templates/InvenTree/index.html:215 msgid "Overdue Purchase Orders" msgstr "" -#: templates/InvenTree/index.html:229 +#: templates/InvenTree/index.html:237 msgid "Outstanding Sales Orders" msgstr "" -#: templates/InvenTree/index.html:230 +#: templates/InvenTree/index.html:238 msgid "Overdue Sales Orders" msgstr "" @@ -6582,24 +6532,12 @@ msgstr "" msgid "copy version information" msgstr "" -#: templates/about.html:100 templates/js/modals.js:568 -#: templates/js/modals.js:861 templates/modals.html:29 templates/modals.html:54 -#: templates/modals.html:97 +#: templates/about.html:100 templates/js/modals.js:34 +#: templates/js/modals.js:677 templates/js/modals.js:970 +#: templates/modals.html:29 templates/modals.html:54 templates/modals.html:97 msgid "Close" msgstr "" -#: templates/attachment_table.html:6 -msgid "Add Attachment" -msgstr "" - -#: templates/attachment_table.html:17 -msgid "Uploaded" -msgstr "" - -#: templates/attachment_table.html:35 -msgid "Delete attachment" -msgstr "" - #: templates/image_download.html:8 msgid "Specify URL for downloading image" msgstr "" @@ -6616,6 +6554,22 @@ msgstr "" msgid "Remote image must not exceed maximum allowable file size" msgstr "" +#: templates/js/attachment.js:16 +msgid "No attachments found" +msgstr "" + +#: templates/js/attachment.js:56 +msgid "Upload Date" +msgstr "" + +#: templates/js/attachment.js:69 +msgid "Edit attachment" +msgstr "" + +#: templates/js/attachment.js:76 +msgid "Delete attachment" +msgstr "" + #: templates/js/barcode.js:8 msgid "Scan barcode data here using wedge scanner" msgstr "" @@ -6644,7 +6598,7 @@ msgstr "" msgid "Unknown response from server" msgstr "" -#: templates/js/barcode.js:119 templates/js/modals.js:921 +#: templates/js/barcode.js:119 templates/js/modals.js:1030 msgid "Invalid server response" msgstr "" @@ -6744,7 +6698,7 @@ msgstr "" msgid "Edit BOM Item" msgstr "" -#: templates/js/bom.js:372 +#: templates/js/bom.js:372 templates/js/bom.js:519 msgid "Delete BOM Item" msgstr "" @@ -6772,7 +6726,7 @@ msgstr "" msgid "No build order allocations found" msgstr "" -#: templates/js/build.js:222 templates/js/order.js:382 +#: templates/js/build.js:222 templates/js/order.js:449 msgid "Location not specified" msgstr "" @@ -6798,7 +6752,7 @@ msgid "No builds matching query" msgstr "" #: templates/js/build.js:806 templates/js/part.js:390 templates/js/part.js:635 -#: templates/js/stock.js:514 templates/js/stock.js:966 +#: templates/js/stock.js:514 templates/js/stock.js:980 msgid "Select" msgstr "" @@ -6810,45 +6764,69 @@ msgstr "" msgid "No parts allocated for" msgstr "" -#: templates/js/company.js:74 +#: templates/js/company.js:45 +msgid "Edit Company" +msgstr "Edytuj firmę" + +#: templates/js/company.js:66 +msgid "Add new Company" +msgstr "" + +#: templates/js/company.js:143 msgid "Parts Supplied" msgstr "" -#: templates/js/company.js:83 +#: templates/js/company.js:152 msgid "Parts Manufactured" msgstr "" -#: templates/js/company.js:96 +#: templates/js/company.js:165 msgid "No company information found" msgstr "" -#: templates/js/company.js:129 +#: templates/js/company.js:183 +msgid "The following manufacturer parts will be deleted" +msgstr "" + +#: templates/js/company.js:200 +msgid "Delete Manufacturer Parts" +msgstr "" + +#: templates/js/company.js:253 msgid "No manufacturer parts found" msgstr "" -#: templates/js/company.js:148 templates/js/company.js:347 +#: templates/js/company.js:272 templates/js/company.js:472 #: templates/js/part.js:68 templates/js/part.js:153 msgid "Template part" msgstr "" -#: templates/js/company.js:152 templates/js/company.js:351 +#: templates/js/company.js:276 templates/js/company.js:476 #: templates/js/part.js:72 templates/js/part.js:157 msgid "Assembled part" msgstr "" -#: templates/js/company.js:226 +#: templates/js/company.js:350 msgid "No parameters found" msgstr "" -#: templates/js/company.js:262 +#: templates/js/company.js:386 msgid "Edit parameter" msgstr "" -#: templates/js/company.js:263 +#: templates/js/company.js:387 msgid "Delete parameter" msgstr "" -#: templates/js/company.js:328 +#: templates/js/company.js:406 +msgid "Edit Parameter" +msgstr "" + +#: templates/js/company.js:417 +msgid "Delete Parameter" +msgstr "" + +#: templates/js/company.js:453 msgid "No supplier parts found" msgstr "" @@ -6876,6 +6854,83 @@ msgstr "" msgid "Create filter" msgstr "" +#: templates/js/forms.js:278 templates/js/forms.js:291 +#: templates/js/forms.js:303 templates/js/forms.js:315 +msgid "Action Prohibited" +msgstr "" + +#: templates/js/forms.js:279 +msgid "Create operation not allowed" +msgstr "" + +#: templates/js/forms.js:292 +msgid "Update operation not allowed" +msgstr "" + +#: templates/js/forms.js:304 +msgid "Delete operation not allowed" +msgstr "" + +#: templates/js/forms.js:316 +msgid "View operation not allowed" +msgstr "" + +#: templates/js/forms.js:583 templates/js/modals.js:1040 +msgid "No Response" +msgstr "" + +#: templates/js/forms.js:584 templates/js/modals.js:1041 +msgid "No response from the InvenTree server" +msgstr "" + +#: templates/js/forms.js:590 templates/js/modals.js:1050 +msgid "Error 401: Not Authenticated" +msgstr "" + +#: templates/js/forms.js:591 templates/js/modals.js:1051 +msgid "Authentication credentials not supplied" +msgstr "" + +#: templates/js/forms.js:597 templates/js/modals.js:1055 +msgid "Error 403: Permission Denied" +msgstr "" + +#: templates/js/forms.js:598 templates/js/modals.js:1056 +msgid "You do not have the required permissions to access this function" +msgstr "" + +#: templates/js/forms.js:604 templates/js/modals.js:1060 +msgid "Error 404: Resource Not Found" +msgstr "" + +#: templates/js/forms.js:605 templates/js/modals.js:1061 +msgid "The requested resource could not be located on the server" +msgstr "" + +#: templates/js/forms.js:611 templates/js/modals.js:1065 +msgid "Error 408: Timeout" +msgstr "" + +#: templates/js/forms.js:612 templates/js/modals.js:1066 +msgid "Connection timeout while requesting data from server" +msgstr "" + +#: templates/js/forms.js:618 templates/js/modals.js:1069 +msgid "Error requesting form data" +msgstr "" + +#: templates/js/forms.js:788 templates/modals.html:21 templates/modals.html:47 +msgid "Form errors exist" +msgstr "" + +#: templates/js/forms.js:1161 +msgid "Searching" +msgstr "" + +#: templates/js/forms.js:1301 +msgid "Clear input" +msgstr "" + #: templates/js/label.js:10 templates/js/report.js:98 msgid "Select Stock Items" msgstr "" @@ -6916,112 +6971,102 @@ msgstr "" msgid "Select Label Template" msgstr "" -#: templates/js/modals.js:265 -msgid "Waiting for server..." -msgstr "" - -#: templates/js/modals.js:424 -msgid "Show Error Information" -msgstr "" - -#: templates/js/modals.js:491 templates/modals.html:76 -msgid "Accept" -msgstr "" - -#: templates/js/modals.js:492 templates/modals.html:75 +#: templates/js/modals.js:59 templates/js/modals.js:105 +#: templates/js/modals.js:601 templates/modals.html:75 msgid "Cancel" msgstr "" -#: templates/js/modals.js:556 -msgid "Loading Data" -msgstr "" - -#: templates/js/modals.js:567 templates/js/modals.js:860 +#: templates/js/modals.js:60 templates/js/modals.js:104 +#: templates/js/modals.js:676 templates/js/modals.js:969 #: templates/modals.html:30 templates/modals.html:55 msgid "Submit" msgstr "" -#: templates/js/modals.js:811 +#: templates/js/modals.js:103 +msgid "Form Title" +msgstr "" + +#: templates/js/modals.js:374 +msgid "Waiting for server..." +msgstr "" + +#: templates/js/modals.js:533 +msgid "Show Error Information" +msgstr "" + +#: templates/js/modals.js:600 templates/modals.html:76 +msgid "Accept" +msgstr "" + +#: templates/js/modals.js:665 +msgid "Loading Data" +msgstr "" + +#: templates/js/modals.js:920 msgid "Invalid response from server" msgstr "" -#: templates/js/modals.js:811 +#: templates/js/modals.js:920 msgid "Form data missing from server response" msgstr "" -#: templates/js/modals.js:824 +#: templates/js/modals.js:933 msgid "Error posting form data" msgstr "" -#: templates/js/modals.js:921 +#: templates/js/modals.js:1030 msgid "JSON response missing form data" msgstr "" -#: templates/js/modals.js:931 -msgid "No Response" -msgstr "" - -#: templates/js/modals.js:932 -msgid "No response from the InvenTree server" -msgstr "" - -#: templates/js/modals.js:936 +#: templates/js/modals.js:1045 msgid "Error 400: Bad Request" msgstr "" -#: templates/js/modals.js:937 +#: templates/js/modals.js:1046 msgid "Server returned error code 400" msgstr "" -#: templates/js/modals.js:941 -msgid "Error 401: Not Authenticated" +#: templates/js/model_renderers.js:21 +msgid "Company ID" msgstr "" -#: templates/js/modals.js:942 -msgid "Authentication credentials not supplied" +#: templates/js/model_renderers.js:63 +msgid "Location ID" msgstr "" -#: templates/js/modals.js:946 -msgid "Error 403: Permission Denied" +#: templates/js/model_renderers.js:90 +msgid "Part ID" msgstr "" -#: templates/js/modals.js:947 -msgid "You do not have the required permissions to access this function" +#: templates/js/model_renderers.js:126 +msgid "Category ID" msgstr "" -#: templates/js/modals.js:951 -msgid "Error 404: Resource Not Found" +#: templates/js/model_renderers.js:150 +msgid "Supplier Part ID" msgstr "" -#: templates/js/modals.js:952 -msgid "The requested resource could not be located on the server" +#: templates/js/order.js:31 +msgid "Create Sales Order" msgstr "" -#: templates/js/modals.js:956 -msgid "Error 408: Timeout" -msgstr "" - -#: templates/js/modals.js:957 -msgid "Connection timeout while requesting data from server" -msgstr "" - -#: templates/js/modals.js:960 -msgid "Error requesting form data" -msgstr "" - -#: templates/js/order.js:138 +#: templates/js/order.js:200 msgid "No purchase orders found" msgstr "" -#: templates/js/order.js:162 templates/js/order.js:257 +#: templates/js/order.js:224 templates/js/order.js:319 msgid "Order is overdue" msgstr "" -#: templates/js/order.js:234 +#: templates/js/order.js:296 msgid "No sales orders found" msgstr "" -#: templates/js/order.js:343 +#: templates/js/order.js:333 +msgid "Invalid Customer" +msgstr "" + +#: templates/js/order.js:410 msgid "No sales order allocations found" msgstr "" @@ -7061,11 +7106,11 @@ msgstr "" msgid "No category" msgstr "" -#: templates/js/part.js:476 templates/js/table_filters.js:323 +#: templates/js/part.js:476 templates/js/table_filters.js:328 msgid "Low stock" msgstr "" -#: templates/js/part.js:660 templates/js/stock.js:990 +#: templates/js/part.js:660 templates/js/stock.js:1004 msgid "Path" msgstr "" @@ -7085,7 +7130,22 @@ msgstr "" msgid "This test is defined for a parent part" msgstr "" -#: templates/js/part.js:806 +#: templates/js/part.js:786 +#, python-brace-format +msgid "No ${human_name} information found" +msgstr "" + +#: templates/js/part.js:839 +#, python-brace-format +msgid "Edit ${human_name}" +msgstr "" + +#: templates/js/part.js:840 +#, python-brace-format +msgid "Delete ${human_name}" +msgstr "" + +#: templates/js/part.js:959 msgid "Single Price Difference" msgstr "" @@ -7263,75 +7323,75 @@ msgstr "" msgid "Stocktake" msgstr "" -#: templates/js/stock.js:853 +#: templates/js/stock.js:867 msgid "Stock Status" msgstr "" -#: templates/js/stock.js:868 +#: templates/js/stock.js:882 msgid "Set Stock Status" msgstr "" -#: templates/js/stock.js:882 +#: templates/js/stock.js:896 msgid "Select Status Code" msgstr "" -#: templates/js/stock.js:883 +#: templates/js/stock.js:897 msgid "Status code must be selected" msgstr "" -#: templates/js/stock.js:1022 +#: templates/js/stock.js:1036 msgid "Invalid date" msgstr "" -#: templates/js/stock.js:1069 +#: templates/js/stock.js:1083 msgid "Location no longer exists" msgstr "" -#: templates/js/stock.js:1088 +#: templates/js/stock.js:1102 msgid "Purchase order no longer exists" msgstr "" -#: templates/js/stock.js:1107 +#: templates/js/stock.js:1121 msgid "Customer no longer exists" msgstr "" -#: templates/js/stock.js:1125 +#: templates/js/stock.js:1139 msgid "Stock item no longer exists" msgstr "" -#: templates/js/stock.js:1148 +#: templates/js/stock.js:1162 msgid "Added" msgstr "" -#: templates/js/stock.js:1156 +#: templates/js/stock.js:1170 msgid "Removed" msgstr "" -#: templates/js/stock.js:1188 +#: templates/js/stock.js:1202 msgid "No user information" msgstr "" -#: templates/js/stock.js:1200 +#: templates/js/stock.js:1214 msgid "Edit tracking entry" msgstr "" -#: templates/js/stock.js:1201 +#: templates/js/stock.js:1215 msgid "Delete tracking entry" msgstr "" -#: templates/js/stock.js:1325 +#: templates/js/stock.js:1339 msgid "Create New Location" msgstr "" -#: templates/js/stock.js:1366 +#: templates/js/stock.js:1380 msgid "No installed items" msgstr "" -#: templates/js/stock.js:1389 +#: templates/js/stock.js:1403 msgid "Serial" msgstr "" -#: templates/js/stock.js:1417 +#: templates/js/stock.js:1431 msgid "Uninstall Stock Item" msgstr "" @@ -7352,7 +7412,7 @@ msgid "Include locations" msgstr "" #: templates/js/table_filters.js:86 templates/js/table_filters.js:87 -#: templates/js/table_filters.js:300 +#: templates/js/table_filters.js:305 msgid "Include subcategories" msgstr "" @@ -7385,7 +7445,7 @@ msgstr "" msgid "Batch code" msgstr "" -#: templates/js/table_filters.js:123 templates/js/table_filters.js:290 +#: templates/js/table_filters.js:123 templates/js/table_filters.js:295 msgid "Active parts" msgstr "" @@ -7457,43 +7517,51 @@ msgstr "" msgid "Stock status" msgstr "" -#: templates/js/table_filters.js:236 +#: templates/js/table_filters.js:211 +msgid "Has purchase price" +msgstr "" + +#: templates/js/table_filters.js:212 +msgid "Show stock items which have a purchase price set" +msgstr "" + +#: templates/js/table_filters.js:241 msgid "Build status" msgstr "" -#: templates/js/table_filters.js:255 templates/js/table_filters.js:272 +#: templates/js/table_filters.js:260 templates/js/table_filters.js:277 msgid "Order status" msgstr "" -#: templates/js/table_filters.js:260 templates/js/table_filters.js:277 +#: templates/js/table_filters.js:265 templates/js/table_filters.js:282 msgid "Outstanding" msgstr "" -#: templates/js/table_filters.js:301 +#: templates/js/table_filters.js:306 msgid "Include parts in subcategories" msgstr "" -#: templates/js/table_filters.js:305 +#: templates/js/table_filters.js:310 msgid "Has IPN" msgstr "" -#: templates/js/table_filters.js:306 +#: templates/js/table_filters.js:311 msgid "Part has internal part number" msgstr "" -#: templates/js/table_filters.js:311 +#: templates/js/table_filters.js:316 msgid "Show active parts" msgstr "" -#: templates/js/table_filters.js:319 +#: templates/js/table_filters.js:324 msgid "Stock available" msgstr "" -#: templates/js/table_filters.js:335 +#: templates/js/table_filters.js:340 msgid "Starred" msgstr "" -#: templates/js/table_filters.js:347 +#: templates/js/table_filters.js:352 msgid "Purchasable" msgstr "" @@ -7550,10 +7618,6 @@ msgstr "" msgid "All" msgstr "" -#: templates/modals.html:21 templates/modals.html:47 -msgid "Form errors exist" -msgstr "" - #: templates/navbar.html:13 msgid "Toggle navigation" msgstr "" @@ -7570,7 +7634,7 @@ msgstr "" msgid "Scan Barcode" msgstr "" -#: templates/navbar.html:77 users/models.py:38 +#: templates/navbar.html:77 users/models.py:39 msgid "Admin" msgstr "" @@ -7790,35 +7854,35 @@ msgstr "" msgid "Important dates" msgstr "" -#: users/models.py:174 +#: users/models.py:175 msgid "Permission set" msgstr "" -#: users/models.py:182 +#: users/models.py:183 msgid "Group" msgstr "" -#: users/models.py:185 +#: users/models.py:186 msgid "View" msgstr "" -#: users/models.py:185 +#: users/models.py:186 msgid "Permission to view items" msgstr "" -#: users/models.py:187 +#: users/models.py:188 msgid "Permission to add items" msgstr "" -#: users/models.py:189 +#: users/models.py:190 msgid "Change" msgstr "" -#: users/models.py:189 +#: users/models.py:190 msgid "Permissions to edit items" msgstr "" -#: users/models.py:191 +#: users/models.py:192 msgid "Permission to delete items" msgstr "" diff --git a/InvenTree/locale/ru/LC_MESSAGES/django.po b/InvenTree/locale/ru/LC_MESSAGES/django.po index ea71217a29..af63aef8e1 100644 --- a/InvenTree/locale/ru/LC_MESSAGES/django.po +++ b/InvenTree/locale/ru/LC_MESSAGES/django.po @@ -2,8 +2,8 @@ msgid "" msgstr "" "Project-Id-Version: inventree\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2021-07-01 22:35+0000\n" -"PO-Revision-Date: 2021-07-01 22:38\n" +"POT-Creation-Date: 2021-07-03 12:15+0000\n" +"PO-Revision-Date: 2021-07-03 12:44\n" "Last-Translator: \n" "Language-Team: Russian\n" "Language: ru_RU\n" @@ -29,14 +29,14 @@ msgstr "Действие не указано" msgid "No matching action found" msgstr "Соответствующее действие не найдено" -#: InvenTree/fields.py:84 +#: InvenTree/fields.py:99 msgid "Enter date" msgstr "Введите дату" #: InvenTree/forms.py:112 build/forms.py:102 build/forms.py:123 #: build/forms.py:145 build/forms.py:169 build/forms.py:185 build/forms.py:227 -#: order/forms.py:31 order/forms.py:42 order/forms.py:53 order/forms.py:64 -#: order/forms.py:75 part/forms.py:134 +#: order/forms.py:30 order/forms.py:41 order/forms.py:52 order/forms.py:63 +#: order/forms.py:74 part/forms.py:118 templates/js/forms.js:486 msgid "Confirm" msgstr "Подтвердить" @@ -77,8 +77,8 @@ msgstr "Выбрать категорию" msgid "Duplicate serial: {n}" msgstr "Дублировать серийный номер: {n}" -#: InvenTree/helpers.py:403 order/models.py:244 order/models.py:354 -#: stock/views.py:1795 +#: InvenTree/helpers.py:403 order/models.py:311 order/models.py:421 +#: stock/views.py:1627 msgid "Invalid quantity provided" msgstr "недопустимое количество" @@ -106,49 +106,53 @@ msgstr "Серийных номеров не найдено" msgid "Number of unique serial number ({s}) must match quantity ({q})" msgstr "Число уникальных серийных номеров ({s}) должно соответствовать количеству ({q})" -#: InvenTree/models.py:59 stock/models.py:1758 +#: InvenTree/models.py:61 stock/models.py:1778 msgid "Attachment" msgstr "Вложения" -#: InvenTree/models.py:60 +#: InvenTree/models.py:62 msgid "Select file to attach" msgstr "Выберите файл для вложения" -#: InvenTree/models.py:62 templates/attachment_table.html:16 +#: InvenTree/models.py:64 templates/js/attachment.js:52 msgid "Comment" msgstr "Комментарий" -#: InvenTree/models.py:62 +#: InvenTree/models.py:64 msgid "File comment" msgstr "Комментарий к файлу" -#: InvenTree/models.py:68 InvenTree/models.py:69 part/models.py:2022 +#: InvenTree/models.py:70 InvenTree/models.py:71 part/models.py:2043 #: report/templates/report/inventree_test_report_base.html:91 -#: templates/js/stock.js:1179 +#: templates/js/stock.js:1193 msgid "User" msgstr "Пользователь" -#: InvenTree/models.py:72 +#: InvenTree/models.py:74 msgid "upload date" msgstr "дата загрузки" -#: InvenTree/models.py:107 InvenTree/models.py:108 company/models.py:396 -#: label/models.py:102 part/models.py:671 part/models.py:2163 +#: InvenTree/models.py:102 +msgid "Invalid choice" +msgstr "" + +#: InvenTree/models.py:118 InvenTree/models.py:119 company/models.py:414 +#: label/models.py:103 part/models.py:680 part/models.py:2192 #: part/templates/part/params.html:27 report/models.py:180 #: templates/InvenTree/search.html:137 templates/InvenTree/search.html:289 -#: templates/js/company.js:235 templates/js/part.js:118 -#: templates/js/part.js:642 templates/js/stock.js:972 +#: templates/js/company.js:359 templates/js/part.js:118 +#: templates/js/part.js:642 templates/js/stock.js:986 msgid "Name" msgstr "Название" -#: InvenTree/models.py:114 build/models.py:135 -#: build/templates/build/detail.html:21 company/models.py:339 -#: company/models.py:532 company/templates/company/detail.html:27 +#: InvenTree/models.py:125 build/models.py:139 +#: build/templates/build/detail.html:21 company/models.py:353 +#: company/models.py:554 company/templates/company/detail.html:27 #: company/templates/company/manufacturer_part_base.html:72 #: company/templates/company/supplier_part_base.html:71 -#: company/templates/company/supplier_part_detail.html:31 label/models.py:109 -#: order/models.py:100 order/templates/order/purchase_order_detail.html:147 -#: part/models.py:695 part/templates/part/detail.html:54 +#: company/templates/company/supplier_part_detail.html:31 label/models.py:110 +#: order/models.py:154 order/templates/order/purchase_order_detail.html:174 +#: part/models.py:704 part/templates/part/detail.html:54 #: part/templates/part/set_category.html:14 report/models.py:193 #: report/models.py:530 report/models.py:569 #: report/templates/report/inventree_build_order_base.html:118 @@ -156,39 +160,43 @@ msgstr "Название" #: templates/InvenTree/search.html:296 #: templates/InvenTree/settings/header.html:9 templates/js/bom.js:190 #: templates/js/build.js:834 templates/js/build.js:1102 -#: templates/js/company.js:56 templates/js/order.js:183 -#: templates/js/order.js:280 templates/js/part.js:177 templates/js/part.js:260 +#: templates/js/company.js:125 templates/js/order.js:245 +#: templates/js/order.js:347 templates/js/part.js:177 templates/js/part.js:260 #: templates/js/part.js:437 templates/js/part.js:654 templates/js/part.js:722 -#: templates/js/stock.js:557 templates/js/stock.js:984 -#: templates/js/stock.js:1029 +#: templates/js/stock.js:557 templates/js/stock.js:998 +#: templates/js/stock.js:1043 msgid "Description" msgstr "Описание" -#: InvenTree/models.py:115 +#: InvenTree/models.py:126 msgid "Description (optional)" msgstr "Описание (необязательно)" -#: InvenTree/models.py:123 +#: InvenTree/models.py:134 msgid "parent" msgstr "родитель" -#: InvenTree/settings.py:504 +#: InvenTree/serializers.py:52 +msgid "Must be a valid number" +msgstr "" + +#: InvenTree/settings.py:505 msgid "English" msgstr "Английский" -#: InvenTree/settings.py:505 +#: InvenTree/settings.py:506 msgid "French" msgstr "Французский" -#: InvenTree/settings.py:506 +#: InvenTree/settings.py:507 msgid "German" msgstr "Немецкий" -#: InvenTree/settings.py:507 +#: InvenTree/settings.py:508 msgid "Polish" msgstr "Польский" -#: InvenTree/settings.py:508 +#: InvenTree/settings.py:509 msgid "Turkish" msgstr "Турецкий" @@ -446,50 +454,48 @@ msgid "Order target date" msgstr "Срок выполнения заказа" #: build/forms.py:42 build/templates/build/build_base.html:146 -#: build/templates/build/detail.html:121 order/forms.py:118 order/forms.py:153 +#: build/templates/build/detail.html:121 #: order/templates/order/order_base.html:124 #: order/templates/order/sales_order_base.html:119 #: report/templates/report/inventree_build_order_base.html:126 -#: templates/js/build.js:881 templates/js/order.js:200 -#: templates/js/order.js:298 +#: templates/js/build.js:881 templates/js/order.js:262 +#: templates/js/order.js:365 msgid "Target Date" msgstr "Целевая дата" -#: build/forms.py:43 build/models.py:225 +#: build/forms.py:43 build/models.py:229 msgid "Target date for build completion. Build will be overdue after this date." msgstr "Целевая дата для сборки. Сборка будет просрочена после этой даты." -#: build/forms.py:48 build/forms.py:90 build/forms.py:266 build/models.py:1346 +#: build/forms.py:48 build/forms.py:90 build/forms.py:266 build/models.py:1354 #: build/templates/build/allocation_card.html:23 #: build/templates/build/auto_allocate.html:17 #: build/templates/build/build_base.html:133 #: build/templates/build/detail.html:31 common/models.py:741 -#: company/forms.py:189 company/templates/company/supplier_part_pricing.html:77 -#: order/forms.py:197 order/forms.py:215 order/forms.py:250 order/forms.py:272 -#: order/forms.py:289 order/models.py:613 order/models.py:835 -#: order/templates/order/order_wizard/match_parts.html:30 +#: company/forms.py:124 company/templates/company/supplier_part_pricing.html:79 +#: order/forms.py:120 order/forms.py:142 order/forms.py:159 order/models.py:702 +#: order/models.py:941 order/templates/order/order_wizard/match_parts.html:30 #: order/templates/order/order_wizard/select_parts.html:34 -#: order/templates/order/purchase_order_detail.html:179 -#: order/templates/order/sales_order_detail.html:70 -#: order/templates/order/sales_order_detail.html:77 -#: order/templates/order/sales_order_detail.html:162 -#: order/templates/order/sales_order_detail.html:234 part/forms.py:342 -#: part/forms.py:372 part/forms.py:388 part/forms.py:404 part/models.py:2293 -#: part/templates/part/internal_prices.html:98 -#: part/templates/part/order_prices.html:203 -#: part/templates/part/part_pricing.html:16 -#: part/templates/part/sale_prices.html:85 +#: order/templates/order/purchase_order_detail.html:206 +#: order/templates/order/sales_order_detail.html:80 +#: order/templates/order/sales_order_detail.html:87 +#: order/templates/order/sales_order_detail.html:172 +#: order/templates/order/sales_order_detail.html:244 part/forms.py:314 +#: part/forms.py:344 part/forms.py:360 part/forms.py:376 part/models.py:2330 +#: part/templates/part/part_pricing.html:16 part/templates/part/prices.html:377 +#: part/templates/part/prices.html:474 #: report/templates/report/inventree_build_order_base.html:114 #: report/templates/report/inventree_po_report.html:91 #: report/templates/report/inventree_so_report.html:91 #: report/templates/report/inventree_test_report_base.html:77 -#: stock/forms.py:175 stock/forms.py:308 +#: stock/forms.py:142 stock/forms.py:275 #: stock/templates/stock/item_base.html:255 #: stock/templates/stock/stock_adjust.html:18 templates/js/barcode.js:364 #: templates/js/bom.js:205 templates/js/build.js:233 templates/js/build.js:572 -#: templates/js/build.js:1112 templates/js/order.js:393 -#: templates/js/part.js:796 templates/js/stock.js:1164 -#: templates/js/stock.js:1383 +#: templates/js/build.js:1112 templates/js/model_renderers.js:43 +#: templates/js/order.js:460 templates/js/part.js:827 templates/js/part.js:949 +#: templates/js/part.js:1005 templates/js/stock.js:1178 +#: templates/js/stock.js:1397 msgid "Quantity" msgstr "Количество" @@ -501,7 +507,7 @@ msgstr "Количество элементов для сборки" msgid "Enter quantity for build output" msgstr "Введите количество для вывода сборки" -#: build/forms.py:95 order/forms.py:244 stock/forms.py:118 +#: build/forms.py:95 order/forms.py:114 stock/forms.py:85 msgid "Serial Numbers" msgstr "Серийные номера" @@ -530,12 +536,12 @@ msgid "Mark build as complete" msgstr "Пометить сборку как завершенную" #: build/forms.py:210 build/templates/build/auto_allocate.html:18 -#: stock/forms.py:347 stock/templates/stock/item_base.html:285 +#: stock/forms.py:314 stock/templates/stock/item_base.html:285 #: stock/templates/stock/stock_adjust.html:17 #: templates/InvenTree/search.html:260 templates/js/barcode.js:363 #: templates/js/barcode.js:531 templates/js/build.js:218 -#: templates/js/build.js:586 templates/js/order.js:378 -#: templates/js/stock.js:643 templates/js/stock.js:1056 +#: templates/js/build.js:586 templates/js/order.js:445 +#: templates/js/stock.js:643 templates/js/stock.js:1070 msgid "Location" msgstr "Расположение" @@ -544,13 +550,13 @@ msgid "Location of completed parts" msgstr "Расположение укомплектованных частей" #: build/forms.py:215 build/templates/build/build_base.html:138 -#: build/templates/build/detail.html:59 order/models.py:465 +#: build/templates/build/detail.html:59 order/models.py:545 #: order/templates/order/receive_parts.html:24 #: stock/templates/stock/item_base.html:408 templates/InvenTree/search.html:252 #: templates/js/barcode.js:119 templates/js/build.js:868 -#: templates/js/order.js:187 templates/js/order.js:285 -#: templates/js/stock.js:630 templates/js/stock.js:1133 -#: templates/js/stock.js:1399 +#: templates/js/order.js:249 templates/js/order.js:352 +#: templates/js/stock.js:630 templates/js/stock.js:1147 +#: templates/js/stock.js:1413 msgid "Status" msgstr "Статус" @@ -582,60 +588,60 @@ msgstr "Подтвердите отмену сборки" msgid "Select quantity of stock to allocate" msgstr "Выберите количество запасов для распределения" -#: build/models.py:66 build/templates/build/build_base.html:9 +#: build/models.py:70 build/templates/build/build_base.html:9 #: build/templates/build/build_base.html:73 #: report/templates/report/inventree_build_order_base.html:106 #: templates/js/build.js:195 msgid "Build Order" msgstr "Порядок сборки" -#: build/models.py:67 build/templates/build/index.html:8 +#: build/models.py:71 build/templates/build/index.html:8 #: build/templates/build/index.html:15 order/templates/order/so_builds.html:12 #: order/templates/order/so_navbar.html:19 #: order/templates/order/so_navbar.html:22 part/templates/part/navbar.html:58 -#: part/templates/part/navbar.html:61 templates/InvenTree/index.html:183 +#: part/templates/part/navbar.html:61 templates/InvenTree/index.html:191 #: templates/InvenTree/search.html:185 -#: templates/InvenTree/settings/tabs.html:34 users/models.py:43 +#: templates/InvenTree/settings/tabs.html:34 users/models.py:44 msgid "Build Orders" msgstr "Порядок сборки" -#: build/models.py:127 +#: build/models.py:131 msgid "Build Order Reference" msgstr "Ссылка на заказ" -#: build/models.py:128 order/models.py:98 order/models.py:615 -#: order/templates/order/purchase_order_detail.html:174 -#: order/templates/order/sales_order_detail.html:229 part/models.py:2302 +#: build/models.py:132 order/models.py:242 order/models.py:529 +#: order/models.py:709 order/templates/order/purchase_order_detail.html:201 +#: order/templates/order/sales_order_detail.html:239 part/models.py:2339 #: report/templates/report/inventree_po_report.html:92 #: report/templates/report/inventree_so_report.html:92 templates/js/bom.js:197 #: templates/js/build.js:661 templates/js/build.js:1106 msgid "Reference" msgstr "" -#: build/models.py:138 +#: build/models.py:142 msgid "Brief description of the build" msgstr "" -#: build/models.py:147 build/templates/build/build_base.html:163 +#: build/models.py:151 build/templates/build/build_base.html:163 #: build/templates/build/detail.html:77 msgid "Parent Build" msgstr "" -#: build/models.py:148 +#: build/models.py:152 msgid "BuildOrder to which this build is allocated" msgstr "" -#: build/models.py:153 build/templates/build/auto_allocate.html:16 +#: build/models.py:157 build/templates/build/auto_allocate.html:16 #: build/templates/build/build_base.html:128 -#: build/templates/build/detail.html:26 company/models.py:663 -#: order/models.py:657 order/models.py:712 +#: build/templates/build/detail.html:26 company/models.py:689 +#: order/models.py:755 order/models.py:814 #: order/templates/order/order_wizard/select_parts.html:32 -#: order/templates/order/purchase_order_detail.html:132 +#: order/templates/order/purchase_order_detail.html:159 #: order/templates/order/receive_parts.html:19 -#: order/templates/order/sales_order_detail.html:214 part/models.py:321 -#: part/models.py:1975 part/models.py:1987 part/models.py:2002 -#: part/models.py:2020 part/models.py:2095 part/models.py:2191 -#: part/models.py:2277 part/templates/part/part_app_base.html:8 +#: order/templates/order/sales_order_detail.html:224 part/models.py:325 +#: part/models.py:1988 part/models.py:2004 part/models.py:2023 +#: part/models.py:2041 part/models.py:2120 part/models.py:2224 +#: part/models.py:2314 part/templates/part/part_app_base.html:8 #: part/templates/part/part_pricing.html:12 part/templates/part/related.html:29 #: part/templates/part/set_category.html:13 #: report/templates/report/inventree_build_order_base.html:110 @@ -644,222 +650,222 @@ msgstr "" #: templates/InvenTree/search.html:112 templates/InvenTree/search.html:210 #: templates/js/barcode.js:362 templates/js/bom.js:163 #: templates/js/build.js:552 templates/js/build.js:839 -#: templates/js/build.js:1079 templates/js/company.js:140 -#: templates/js/company.js:339 templates/js/part.js:241 +#: templates/js/build.js:1079 templates/js/company.js:264 +#: templates/js/company.js:464 templates/js/part.js:241 #: templates/js/part.js:404 templates/js/stock.js:526 -#: templates/js/stock.js:1371 +#: templates/js/stock.js:1385 msgid "Part" msgstr "" -#: build/models.py:161 +#: build/models.py:165 msgid "Select part to build" msgstr "" -#: build/models.py:166 +#: build/models.py:170 msgid "Sales Order Reference" msgstr "" -#: build/models.py:170 +#: build/models.py:174 msgid "SalesOrder to which this build is allocated" msgstr "" -#: build/models.py:175 +#: build/models.py:179 msgid "Source Location" msgstr "" -#: build/models.py:179 +#: build/models.py:183 msgid "Select location to take stock from for this build (leave blank to take from any stock location)" msgstr "" -#: build/models.py:184 +#: build/models.py:188 msgid "Destination Location" msgstr "" -#: build/models.py:188 +#: build/models.py:192 msgid "Select location where the completed items will be stored" msgstr "" -#: build/models.py:192 +#: build/models.py:196 msgid "Build Quantity" msgstr "" -#: build/models.py:195 +#: build/models.py:199 msgid "Number of stock items to build" msgstr "" -#: build/models.py:199 +#: build/models.py:203 msgid "Completed items" msgstr "" -#: build/models.py:201 +#: build/models.py:205 msgid "Number of stock items which have been completed" msgstr "" -#: build/models.py:205 part/templates/part/part_base.html:167 +#: build/models.py:209 part/templates/part/part_base.html:167 msgid "Build Status" msgstr "" -#: build/models.py:209 +#: build/models.py:213 msgid "Build status code" msgstr "" -#: build/models.py:213 stock/models.py:462 +#: build/models.py:217 stock/models.py:470 msgid "Batch Code" msgstr "" -#: build/models.py:217 +#: build/models.py:221 msgid "Batch code for this build output" msgstr "" -#: build/models.py:220 order/models.py:104 part/models.py:867 -#: part/templates/part/detail.html:126 templates/js/order.js:293 +#: build/models.py:224 order/models.py:158 part/models.py:876 +#: part/templates/part/detail.html:126 templates/js/order.js:360 msgid "Creation Date" msgstr "" -#: build/models.py:224 order/models.py:471 +#: build/models.py:228 order/models.py:551 msgid "Target completion date" msgstr "" -#: build/models.py:228 order/models.py:217 templates/js/build.js:886 +#: build/models.py:232 order/models.py:284 templates/js/build.js:886 msgid "Completion Date" msgstr "" -#: build/models.py:234 +#: build/models.py:238 msgid "completed by" msgstr "" -#: build/models.py:242 +#: build/models.py:246 msgid "Issued by" msgstr "" -#: build/models.py:243 +#: build/models.py:247 msgid "User who issued this build order" msgstr "" -#: build/models.py:251 build/templates/build/build_base.html:184 -#: build/templates/build/detail.html:105 order/models.py:118 +#: build/models.py:255 build/templates/build/build_base.html:184 +#: build/templates/build/detail.html:105 order/models.py:172 #: order/templates/order/order_base.html:138 -#: order/templates/order/sales_order_base.html:140 part/models.py:871 +#: order/templates/order/sales_order_base.html:140 part/models.py:880 #: report/templates/report/inventree_build_order_base.html:159 msgid "Responsible" msgstr "" -#: build/models.py:252 +#: build/models.py:256 msgid "User responsible for this build order" msgstr "" -#: build/models.py:257 build/templates/build/detail.html:91 +#: build/models.py:261 build/templates/build/detail.html:91 #: company/templates/company/manufacturer_part_base.html:79 #: company/templates/company/manufacturer_part_detail.html:28 #: company/templates/company/supplier_part_base.html:78 #: company/templates/company/supplier_part_detail.html:28 #: part/templates/part/detail.html:83 part/templates/part/part_base.html:94 -#: stock/models.py:456 stock/templates/stock/item_base.html:345 +#: stock/models.py:464 stock/templates/stock/item_base.html:345 msgid "External Link" msgstr "" -#: build/models.py:258 part/models.py:729 stock/models.py:458 +#: build/models.py:262 part/models.py:738 stock/models.py:466 msgid "Link to external URL" msgstr "" -#: build/models.py:262 build/templates/build/navbar.html:53 -#: company/models.py:132 company/models.py:539 +#: build/models.py:266 build/templates/build/navbar.html:53 +#: company/models.py:141 company/models.py:561 #: company/templates/company/navbar.html:70 -#: company/templates/company/navbar.html:73 order/models.py:122 -#: order/models.py:617 order/templates/order/po_navbar.html:38 +#: company/templates/company/navbar.html:73 order/models.py:176 +#: order/models.py:711 order/templates/order/po_navbar.html:38 #: order/templates/order/po_navbar.html:41 -#: order/templates/order/purchase_order_detail.html:243 -#: order/templates/order/sales_order_detail.html:309 +#: order/templates/order/purchase_order_detail.html:270 +#: order/templates/order/sales_order_detail.html:319 #: order/templates/order/so_navbar.html:33 -#: order/templates/order/so_navbar.html:36 part/models.py:856 -#: part/templates/part/navbar.html:145 +#: order/templates/order/so_navbar.html:36 part/models.py:865 +#: part/templates/part/navbar.html:133 #: report/templates/report/inventree_build_order_base.html:173 -#: stock/forms.py:173 stock/forms.py:317 stock/forms.py:349 stock/forms.py:377 -#: stock/models.py:528 stock/models.py:1662 stock/models.py:1764 +#: stock/forms.py:140 stock/forms.py:284 stock/forms.py:316 stock/forms.py:344 +#: stock/models.py:536 stock/models.py:1678 stock/models.py:1784 #: stock/templates/stock/navbar.html:57 templates/js/barcode.js:37 -#: templates/js/bom.js:349 templates/js/stock.js:141 templates/js/stock.js:699 +#: templates/js/bom.js:349 templates/js/stock.js:141 templates/js/stock.js:713 msgid "Notes" msgstr "" -#: build/models.py:263 +#: build/models.py:267 msgid "Extra build notes" msgstr "" -#: build/models.py:740 +#: build/models.py:744 msgid "No build output specified" msgstr "" -#: build/models.py:743 +#: build/models.py:747 msgid "Build output is already completed" msgstr "" -#: build/models.py:746 +#: build/models.py:750 msgid "Build output does not match Build Order" msgstr "" -#: build/models.py:1152 +#: build/models.py:1160 msgid "BuildItem must be unique for build, stock_item and install_into" msgstr "" -#: build/models.py:1177 +#: build/models.py:1185 msgid "Build item must specify a build output, as master part is marked as trackable" msgstr "" -#: build/models.py:1181 +#: build/models.py:1189 #, python-brace-format msgid "Allocated quantity ({n}) must not exceed available quantity ({q})" msgstr "" -#: build/models.py:1188 order/models.py:809 +#: build/models.py:1196 order/models.py:915 msgid "StockItem is over-allocated" msgstr "" -#: build/models.py:1192 order/models.py:812 +#: build/models.py:1200 order/models.py:918 msgid "Allocation quantity must be greater than zero" msgstr "" -#: build/models.py:1196 +#: build/models.py:1204 msgid "Quantity must be 1 for serialized stock" msgstr "" -#: build/models.py:1256 +#: build/models.py:1264 #, python-brace-format msgid "Selected stock item not found in BOM for part '{p}'" msgstr "" -#: build/models.py:1316 stock/templates/stock/item_base.html:317 +#: build/models.py:1324 stock/templates/stock/item_base.html:317 #: templates/InvenTree/search.html:183 templates/js/build.js:812 #: templates/navbar.html:29 msgid "Build" msgstr "" -#: build/models.py:1317 +#: build/models.py:1325 msgid "Build to allocate parts" msgstr "" -#: build/models.py:1333 stock/templates/stock/item_base.html:8 +#: build/models.py:1341 stock/templates/stock/item_base.html:8 #: stock/templates/stock/item_base.html:31 #: stock/templates/stock/item_base.html:339 #: stock/templates/stock/stock_adjust.html:16 templates/js/build.js:206 #: templates/js/build.js:211 templates/js/build.js:929 -#: templates/js/order.js:366 templates/js/order.js:371 -#: templates/js/stock.js:1115 +#: templates/js/order.js:433 templates/js/order.js:438 +#: templates/js/stock.js:1129 msgid "Stock Item" msgstr "" -#: build/models.py:1334 +#: build/models.py:1342 msgid "Source stock item" msgstr "" -#: build/models.py:1347 +#: build/models.py:1355 msgid "Stock quantity to allocate to build" msgstr "" -#: build/models.py:1355 +#: build/models.py:1363 msgid "Install into" msgstr "" -#: build/models.py:1356 +#: build/models.py:1364 msgid "Destination stock item" msgstr "" @@ -893,7 +899,7 @@ msgstr "" #: build/templates/build/allocate.html:30 #: company/templates/company/detail_manufacturer_part.html:33 -#: company/templates/company/detail_supplier_part.html:32 order/views.py:992 +#: company/templates/company/detail_supplier_part.html:32 order/views.py:724 #: part/templates/part/category.html:136 msgid "Order Parts" msgstr "" @@ -912,23 +918,52 @@ msgstr "" #: build/templates/build/allocation_card.html:21 #: build/templates/build/complete_output.html:46 -#: order/templates/order/sales_order_detail.html:75 -#: order/templates/order/sales_order_detail.html:160 +#: order/templates/order/sales_order_detail.html:85 +#: order/templates/order/sales_order_detail.html:170 #: report/templates/report/inventree_test_report_base.html:75 -#: stock/models.py:450 stock/templates/stock/item_base.html:249 -#: templates/js/build.js:570 +#: stock/models.py:458 stock/templates/stock/item_base.html:249 +#: templates/js/build.js:570 templates/js/model_renderers.js:41 msgid "Serial Number" msgstr "" #: build/templates/build/attachments.html:12 #: build/templates/build/navbar.html:43 build/templates/build/navbar.html:46 #: order/templates/order/po_navbar.html:35 -#: order/templates/order/so_navbar.html:29 part/templates/part/navbar.html:136 -#: part/templates/part/navbar.html:139 stock/templates/stock/navbar.html:47 +#: order/templates/order/so_navbar.html:29 part/templates/part/navbar.html:124 +#: part/templates/part/navbar.html:127 stock/templates/stock/navbar.html:47 #: stock/templates/stock/navbar.html:50 msgid "Attachments" msgstr "" +#: build/templates/build/attachments.html:51 +#: order/templates/order/so_attachments.html:79 +#: part/templates/part/attachments.html:81 +#: stock/templates/stock/item_attachments.html:81 +#: templates/attachment_table.html:6 +msgid "Add Attachment" +msgstr "" + +#: build/templates/build/attachments.html:69 +#: order/templates/order/so_attachments.html:52 +#: part/templates/part/attachments.html:35 +#: stock/templates/stock/item_attachments.html:49 +msgid "Edit Attachment" +msgstr "" + +#: build/templates/build/attachments.html:76 +#: order/templates/order/so_attachments.html:58 +#: part/templates/part/attachments.html:44 +#: stock/templates/stock/item_attachments.html:58 +msgid "Confirm Delete Operation" +msgstr "" + +#: build/templates/build/attachments.html:77 +#: order/templates/order/so_attachments.html:59 +#: part/templates/part/attachments.html:45 +#: stock/templates/stock/item_attachments.html:59 +msgid "Delete Attachment" +msgstr "" + #: build/templates/build/auto_allocate.html:9 msgid "Automatically Allocate Stock" msgstr "" @@ -989,8 +1024,8 @@ msgstr "" #: order/templates/order/order_base.html:86 #: order/templates/order/sales_order_base.html:43 #: order/templates/order/sales_order_base.html:88 -#: templates/js/table_filters.js:245 templates/js/table_filters.js:264 -#: templates/js/table_filters.js:281 +#: templates/js/table_filters.js:250 templates/js/table_filters.js:269 +#: templates/js/table_filters.js:286 msgid "Overdue" msgstr "" @@ -1036,13 +1071,13 @@ msgid "Progress" msgstr "" #: build/templates/build/build_base.html:170 -#: build/templates/build/detail.html:84 order/models.py:710 +#: build/templates/build/detail.html:84 order/models.py:812 #: order/templates/order/sales_order_base.html:9 #: order/templates/order/sales_order_base.html:35 #: order/templates/order/sales_order_ship.html:25 #: report/templates/report/inventree_build_order_base.html:136 #: report/templates/report/inventree_so_report.html:77 -#: stock/templates/stock/item_base.html:279 templates/js/order.js:245 +#: stock/templates/stock/item_base.html:279 templates/js/order.js:307 msgid "Sales Order" msgstr "" @@ -1183,10 +1218,10 @@ msgstr "" msgid "Stock can be taken from any available location." msgstr "" -#: build/templates/build/detail.html:46 order/forms.py:89 order/models.py:673 -#: order/templates/order/purchase_order_detail.html:239 -#: order/templates/order/receive_parts.html:25 stock/forms.py:169 -#: stock/forms.py:375 +#: build/templates/build/detail.html:46 order/forms.py:88 order/models.py:771 +#: order/templates/order/purchase_order_detail.html:266 +#: order/templates/order/receive_parts.html:25 stock/forms.py:136 +#: stock/forms.py:342 msgid "Destination" msgstr "" @@ -1196,7 +1231,7 @@ msgstr "" #: build/templates/build/detail.html:70 #: stock/templates/stock/item_base.html:303 templates/js/stock.js:638 -#: templates/js/stock.js:1406 templates/js/table_filters.js:112 +#: templates/js/stock.js:1420 templates/js/table_filters.js:112 #: templates/js/table_filters.js:206 msgid "Batch" msgstr "" @@ -1251,7 +1286,7 @@ msgstr "" #: company/templates/company/navbar.html:15 #: order/templates/order/po_navbar.html:15 #: order/templates/order/so_navbar.html:15 part/templates/part/navbar.html:18 -#: templates/js/stock.js:1044 +#: templates/js/stock.js:1058 msgid "Details" msgstr "" @@ -1287,7 +1322,6 @@ msgstr "" #: order/templates/order/order_notes.html:27 #: order/templates/order/sales_order_notes.html:29 #: part/templates/part/notes.html:27 stock/templates/stock/item_base.html:487 -#: stock/templates/stock/item_base.html:497 #: stock/templates/stock/item_notes.html:26 msgid "Save" msgstr "" @@ -1316,7 +1350,7 @@ msgstr "" msgid "Maximum output quantity is " msgstr "" -#: build/views.py:184 stock/views.py:1821 +#: build/views.py:184 stock/views.py:1653 msgid "Serial numbers already exist" msgstr "" @@ -1332,7 +1366,7 @@ msgstr "" msgid "Confirm unallocation of build stock" msgstr "" -#: build/views.py:281 build/views.py:371 stock/views.py:425 +#: build/views.py:281 build/views.py:371 stock/views.py:346 msgid "Check the confirmation box" msgstr "" @@ -1429,31 +1463,6 @@ msgstr "" msgid "Updated Build Item" msgstr "" -#: build/views.py:1070 -msgid "Add Build Order Attachment" -msgstr "" - -#: build/views.py:1083 order/views.py:117 order/views.py:169 part/views.py:178 -#: stock/views.py:277 -msgid "Added attachment" -msgstr "" - -#: build/views.py:1119 order/views.py:196 order/views.py:217 -msgid "Edit Attachment" -msgstr "" - -#: build/views.py:1129 order/views.py:200 order/views.py:221 -msgid "Attachment updated" -msgstr "" - -#: build/views.py:1139 order/views.py:236 order/views.py:250 -msgid "Delete Attachment" -msgstr "" - -#: build/views.py:1144 order/views.py:242 order/views.py:256 stock/views.py:333 -msgid "Deleted attachment" -msgstr "" - #: common/files.py:66 msgid "Unsupported file format: {ext.upper()}" msgstr "" @@ -1470,7 +1479,7 @@ msgstr "" msgid "Error reading file (data could be corrupted)" msgstr "" -#: common/forms.py:34 templates/attachment_table.html:15 +#: common/forms.py:34 templates/js/attachment.js:42 msgid "File" msgstr "" @@ -1503,7 +1512,7 @@ msgstr "" msgid "Use the instance name in the title-bar" msgstr "" -#: common/models.py:72 company/models.py:94 company/models.py:95 +#: common/models.py:72 company/models.py:99 company/models.py:100 msgid "Company name" msgstr "" @@ -1607,9 +1616,9 @@ msgstr "" msgid "Number of recent parts to display on index page" msgstr "" -#: common/models.py:160 part/models.py:2193 part/templates/part/detail.html:160 -#: report/models.py:186 stock/forms.py:259 templates/js/table_filters.js:25 -#: templates/js/table_filters.js:315 +#: common/models.py:160 part/models.py:2226 part/templates/part/detail.html:160 +#: report/models.py:186 stock/forms.py:226 templates/js/table_filters.js:25 +#: templates/js/table_filters.js:320 msgid "Template" msgstr "" @@ -1617,8 +1626,8 @@ msgstr "" msgid "Parts are templates by default" msgstr "" -#: common/models.py:167 part/models.py:819 part/templates/part/detail.html:170 -#: templates/js/table_filters.js:128 templates/js/table_filters.js:327 +#: common/models.py:167 part/models.py:828 part/templates/part/detail.html:170 +#: templates/js/table_filters.js:128 templates/js/table_filters.js:332 msgid "Assembly" msgstr "" @@ -1626,8 +1635,8 @@ msgstr "" msgid "Parts can be assembled from other components by default" msgstr "" -#: common/models.py:174 part/models.py:825 part/templates/part/detail.html:180 -#: templates/js/table_filters.js:331 +#: common/models.py:174 part/models.py:834 part/templates/part/detail.html:180 +#: templates/js/table_filters.js:336 msgid "Component" msgstr "" @@ -1635,7 +1644,7 @@ msgstr "" msgid "Parts can be used as sub-components by default" msgstr "" -#: common/models.py:181 part/models.py:836 part/templates/part/detail.html:200 +#: common/models.py:181 part/models.py:845 part/templates/part/detail.html:200 msgid "Purchaseable" msgstr "" @@ -1643,8 +1652,8 @@ msgstr "" msgid "Parts are purchaseable by default" msgstr "" -#: common/models.py:188 part/models.py:841 part/templates/part/detail.html:210 -#: templates/js/table_filters.js:339 +#: common/models.py:188 part/models.py:850 part/templates/part/detail.html:210 +#: templates/js/table_filters.js:344 msgid "Salable" msgstr "" @@ -1652,8 +1661,8 @@ msgstr "" msgid "Parts are salable by default" msgstr "" -#: common/models.py:195 part/models.py:831 part/templates/part/detail.html:190 -#: templates/js/table_filters.js:33 templates/js/table_filters.js:343 +#: common/models.py:195 part/models.py:840 part/templates/part/detail.html:190 +#: templates/js/table_filters.js:33 templates/js/table_filters.js:348 msgid "Trackable" msgstr "" @@ -1661,7 +1670,7 @@ msgstr "" msgid "Parts are trackable by default" msgstr "" -#: common/models.py:202 part/models.py:851 part/templates/part/detail.html:150 +#: common/models.py:202 part/models.py:860 part/templates/part/detail.html:150 #: templates/js/table_filters.js:29 msgid "Virtual" msgstr "" @@ -1858,13 +1867,12 @@ msgstr "" msgid "Key string must be unique" msgstr "" -#: common/models.py:742 company/forms.py:190 +#: common/models.py:742 company/forms.py:125 msgid "Price break quantity" msgstr "" -#: common/models.py:749 company/templates/company/supplier_part_pricing.html:82 -#: part/templates/part/internal_prices.html:103 -#: part/templates/part/sale_prices.html:90 +#: common/models.py:749 company/templates/company/supplier_part_pricing.html:84 +#: templates/js/part.js:832 msgid "Price" msgstr "" @@ -1894,16 +1902,16 @@ msgstr "" #: common/views.py:184 order/templates/order/order_wizard/po_upload.html:42 #: order/templates/order/po_navbar.html:19 -#: order/templates/order/po_navbar.html:22 order/views.py:605 +#: order/templates/order/po_navbar.html:22 order/views.py:337 #: part/templates/part/bom_upload/upload_file.html:27 -#: part/templates/part/import_wizard/part_upload.html:45 part/views.py:761 +#: part/templates/part/import_wizard/part_upload.html:45 part/views.py:621 msgid "Upload File" msgstr "" #: common/views.py:185 order/templates/order/order_wizard/match_fields.html:52 -#: order/views.py:606 part/templates/part/bom_upload/select_fields.html:58 +#: order/views.py:338 part/templates/part/bom_upload/select_fields.html:58 #: part/templates/part/import_wizard/ajax_match_fields.html:45 -#: part/templates/part/import_wizard/match_fields.html:52 part/views.py:762 +#: part/templates/part/import_wizard/match_fields.html:52 part/views.py:622 msgid "Match Fields" msgstr "" @@ -1928,269 +1936,277 @@ msgstr "" msgid "Previous Step" msgstr "" -#: company/forms.py:37 company/models.py:142 -#: company/templates/company/detail.html:42 -msgid "Currency" -msgstr "" - -#: company/forms.py:38 company/models.py:144 -msgid "Default currency used for this company" -msgstr "" - -#: company/forms.py:76 part/forms.py:46 +#: company/forms.py:26 part/forms.py:46 msgid "URL" msgstr "" -#: company/forms.py:77 part/forms.py:47 +#: company/forms.py:27 part/forms.py:47 msgid "Image URL" msgstr "" -#: company/forms.py:132 templates/js/part.js:787 +#: company/forms.py:67 templates/js/part.js:940 msgid "Single Price" msgstr "" -#: company/forms.py:133 +#: company/forms.py:68 msgid "Single quantity price" msgstr "" -#: company/forms.py:141 company/models.py:321 +#: company/forms.py:76 company/models.py:335 msgid "Select manufacturer" msgstr "" -#: company/forms.py:147 company/models.py:328 +#: company/forms.py:82 company/models.py:342 msgid "Manufacturer Part Number" msgstr "" -#: company/forms.py:149 company/models.py:327 +#: company/forms.py:84 company/models.py:341 #: company/templates/company/manufacturer_part_base.html:89 #: company/templates/company/manufacturer_part_detail.html:26 #: company/templates/company/supplier_part_base.html:102 #: company/templates/company/supplier_part_detail.html:35 -#: order/templates/order/purchase_order_detail.html:162 part/bom.py:171 -#: part/bom.py:242 templates/js/company.js:181 templates/js/company.js:408 +#: order/templates/order/purchase_order_detail.html:189 part/bom.py:171 +#: part/bom.py:242 templates/js/company.js:305 templates/js/company.js:533 msgid "MPN" msgstr "" -#: company/models.py:99 +#: company/models.py:104 msgid "Company description" msgstr "" -#: company/models.py:100 +#: company/models.py:105 msgid "Description of the company" msgstr "" -#: company/models.py:104 company/templates/company/company_base.html:70 -#: company/templates/company/detail.html:33 templates/js/company.js:60 +#: company/models.py:111 company/templates/company/company_base.html:70 +#: company/templates/company/detail.html:33 templates/js/company.js:129 msgid "Website" msgstr "" -#: company/models.py:104 +#: company/models.py:112 msgid "Company website URL" msgstr "" -#: company/models.py:107 company/templates/company/company_base.html:77 +#: company/models.py:116 company/templates/company/company_base.html:77 msgid "Address" msgstr "" -#: company/models.py:108 +#: company/models.py:117 msgid "Company address" msgstr "" -#: company/models.py:111 +#: company/models.py:120 msgid "Phone number" msgstr "" -#: company/models.py:112 +#: company/models.py:121 msgid "Contact phone number" msgstr "" -#: company/models.py:115 company/templates/company/company_base.html:91 +#: company/models.py:124 company/templates/company/company_base.html:91 msgid "Email" msgstr "" -#: company/models.py:115 +#: company/models.py:124 msgid "Contact email address" msgstr "" -#: company/models.py:118 company/templates/company/company_base.html:98 +#: company/models.py:127 company/templates/company/company_base.html:98 msgid "Contact" msgstr "" -#: company/models.py:119 +#: company/models.py:128 msgid "Point of contact" msgstr "" -#: company/models.py:121 company/models.py:333 company/models.py:526 -#: order/models.py:102 part/models.py:728 +#: company/models.py:130 company/models.py:347 company/models.py:548 +#: order/models.py:156 part/models.py:737 #: report/templates/report/inventree_build_order_base.html:165 -#: templates/js/company.js:188 templates/js/company.js:419 +#: templates/js/company.js:312 templates/js/company.js:544 #: templates/js/part.js:498 msgid "Link" msgstr "" -#: company/models.py:121 +#: company/models.py:130 msgid "Link to external company information" msgstr "" -#: company/models.py:129 part/models.py:738 +#: company/models.py:138 part/models.py:747 msgid "Image" msgstr "" -#: company/models.py:134 +#: company/models.py:143 msgid "is customer" msgstr "" -#: company/models.py:134 +#: company/models.py:143 msgid "Do you sell items to this company?" msgstr "" -#: company/models.py:136 +#: company/models.py:145 msgid "is supplier" msgstr "" -#: company/models.py:136 +#: company/models.py:145 msgid "Do you purchase items from this company?" msgstr "" -#: company/models.py:138 +#: company/models.py:147 msgid "is manufacturer" msgstr "" -#: company/models.py:138 +#: company/models.py:147 msgid "Does this company manufacture parts?" msgstr "" -#: company/models.py:305 company/models.py:497 stock/models.py:403 +#: company/models.py:151 company/serializers.py:259 +#: company/templates/company/detail.html:42 +msgid "Currency" +msgstr "" + +#: company/models.py:154 +msgid "Default currency used for this company" +msgstr "" + +#: company/models.py:319 company/models.py:519 stock/models.py:411 #: stock/templates/stock/item_base.html:235 msgid "Base Part" msgstr "" -#: company/models.py:309 company/models.py:501 order/views.py:1603 +#: company/models.py:323 company/models.py:523 order/views.py:1127 msgid "Select part" msgstr "" -#: company/models.py:320 company/templates/company/detail.html:57 +#: company/models.py:334 company/templates/company/detail.html:57 #: company/templates/company/manufacturer_part_base.html:85 #: company/templates/company/manufacturer_part_detail.html:25 #: company/templates/company/supplier_part_base.html:94 #: company/templates/company/supplier_part_detail.html:34 part/bom.py:170 #: part/bom.py:241 stock/templates/stock/item_base.html:352 -#: templates/js/company.js:44 templates/js/company.js:165 -#: templates/js/company.js:390 +#: templates/js/company.js:113 templates/js/company.js:289 +#: templates/js/company.js:515 msgid "Manufacturer" msgstr "" -#: company/models.py:334 +#: company/models.py:348 msgid "URL for external manufacturer part link" msgstr "" -#: company/models.py:340 +#: company/models.py:354 msgid "Manufacturer part description" msgstr "" -#: company/models.py:390 company/models.py:520 +#: company/models.py:408 company/models.py:542 #: company/templates/company/manufacturer_part_base.html:6 #: company/templates/company/manufacturer_part_base.html:19 #: stock/templates/stock/item_base.html:362 msgid "Manufacturer Part" msgstr "" -#: company/models.py:397 +#: company/models.py:415 msgid "Parameter name" msgstr "" -#: company/models.py:403 part/templates/part/params.html:28 +#: company/models.py:421 part/templates/part/params.html:28 #: report/templates/report/inventree_test_report_base.html:90 -#: stock/models.py:1751 templates/InvenTree/settings/header.html:8 -#: templates/js/company.js:241 templates/js/stock.js:137 +#: stock/models.py:1771 templates/InvenTree/settings/header.html:8 +#: templates/js/company.js:365 templates/js/stock.js:137 msgid "Value" msgstr "" -#: company/models.py:404 +#: company/models.py:422 msgid "Parameter value" msgstr "" -#: company/models.py:410 part/models.py:813 part/models.py:2165 +#: company/models.py:428 part/models.py:822 part/models.py:2194 #: part/templates/part/detail.html:106 part/templates/part/params.html:29 -#: templates/js/company.js:247 +#: templates/js/company.js:371 msgid "Units" msgstr "" -#: company/models.py:411 +#: company/models.py:429 msgid "Parameter units" msgstr "" -#: company/models.py:507 company/templates/company/detail.html:62 +#: company/models.py:529 company/templates/company/detail.html:62 #: company/templates/company/supplier_part_base.html:84 -#: company/templates/company/supplier_part_detail.html:25 order/models.py:189 +#: company/templates/company/supplier_part_detail.html:25 order/models.py:256 #: order/templates/order/order_base.html:92 #: order/templates/order/order_wizard/select_pos.html:30 part/bom.py:175 #: part/bom.py:286 stock/templates/stock/item_base.html:369 -#: templates/js/company.js:48 templates/js/company.js:364 -#: templates/js/order.js:170 +#: templates/js/company.js:117 templates/js/company.js:489 +#: templates/js/order.js:232 msgid "Supplier" msgstr "" -#: company/models.py:508 +#: company/models.py:530 msgid "Select supplier" msgstr "" -#: company/models.py:513 company/templates/company/supplier_part_base.html:88 +#: company/models.py:535 company/templates/company/supplier_part_base.html:88 #: company/templates/company/supplier_part_detail.html:26 -#: order/templates/order/purchase_order_detail.html:153 part/bom.py:176 +#: order/templates/order/purchase_order_detail.html:180 part/bom.py:176 #: part/bom.py:287 msgid "SKU" msgstr "" -#: company/models.py:514 +#: company/models.py:536 msgid "Supplier stock keeping unit" msgstr "" -#: company/models.py:521 +#: company/models.py:543 msgid "Select manufacturer part" msgstr "" -#: company/models.py:527 +#: company/models.py:549 msgid "URL for external supplier part link" msgstr "" -#: company/models.py:533 +#: company/models.py:555 msgid "Supplier part description" msgstr "" -#: company/models.py:538 company/templates/company/supplier_part_base.html:116 -#: company/templates/company/supplier_part_detail.html:38 part/models.py:2305 +#: company/models.py:560 company/templates/company/supplier_part_base.html:116 +#: company/templates/company/supplier_part_detail.html:38 part/models.py:2342 #: report/templates/report/inventree_po_report.html:93 #: report/templates/report/inventree_so_report.html:93 msgid "Note" msgstr "" -#: company/models.py:542 part/models.py:1606 +#: company/models.py:564 part/models.py:1615 msgid "base cost" msgstr "" -#: company/models.py:542 part/models.py:1606 +#: company/models.py:564 part/models.py:1615 msgid "Minimum charge (e.g. stocking fee)" msgstr "" -#: company/models.py:544 company/templates/company/supplier_part_base.html:109 -#: stock/models.py:427 stock/templates/stock/item_base.html:310 -#: templates/js/stock.js:695 +#: company/models.py:566 company/templates/company/supplier_part_base.html:109 +#: stock/models.py:435 stock/templates/stock/item_base.html:310 +#: templates/js/stock.js:709 msgid "Packaging" msgstr "" -#: company/models.py:544 +#: company/models.py:566 msgid "Part packaging" msgstr "" -#: company/models.py:546 part/models.py:1608 +#: company/models.py:568 part/models.py:1617 msgid "multiple" msgstr "" -#: company/models.py:546 +#: company/models.py:568 msgid "Order multiple" msgstr "" +#: company/serializers.py:68 +msgid "Default currency used for this supplier" +msgstr "" + +#: company/serializers.py:69 +msgid "Currency Code" +msgstr "" + #: company/templates/company/assigned_stock.html:10 #: company/templates/company/navbar.html:62 #: company/templates/company/navbar.html:65 templates/js/build.js:563 @@ -2199,7 +2215,7 @@ msgstr "" #: company/templates/company/company_base.html:9 #: company/templates/company/company_base.html:35 -#: templates/InvenTree/search.html:304 templates/js/company.js:33 +#: templates/InvenTree/search.html:304 templates/js/company.js:102 msgid "Company" msgstr "" @@ -2213,7 +2229,7 @@ msgstr "" msgid "Download image from URL" msgstr "" -#: company/templates/company/company_base.html:46 order/views.py:313 +#: company/templates/company/company_base.html:46 templates/js/order.js:61 msgid "Create Purchase Order" msgstr "" @@ -2221,7 +2237,8 @@ msgstr "" msgid "Edit company information" msgstr "" -#: company/templates/company/company_base.html:56 company/views.py:326 +#: company/templates/company/company_base.html:56 +#: company/templates/company/company_base.html:126 msgid "Delete Company" msgstr "" @@ -2235,15 +2252,9 @@ msgstr "" msgid "Phone" msgstr "" -#: company/templates/company/delete.html:7 -#, python-format -msgid "Are you sure you want to delete company '%(name)s'?" -msgstr "" - -#: company/templates/company/delete.html:12 -#, python-format -msgid "There are %(count)s parts sourced from this company.
\n" -"If this supplier is deleted, these supplier part entries will also be deleted." +#: company/templates/company/company_base.html:166 +#: part/templates/part/part_base.html:307 +msgid "Upload Image" msgstr "" #: company/templates/company/detail.html:21 @@ -2258,11 +2269,11 @@ msgstr "" msgid "Uses default currency" msgstr "" -#: company/templates/company/detail.html:67 order/models.py:460 -#: order/templates/order/sales_order_base.html:94 stock/models.py:445 -#: stock/models.py:446 stock/templates/stock/item_base.html:262 -#: templates/js/company.js:40 templates/js/order.js:267 -#: templates/js/stock.js:1097 +#: company/templates/company/detail.html:67 order/models.py:540 +#: order/templates/order/sales_order_base.html:94 stock/models.py:453 +#: stock/models.py:454 stock/templates/stock/item_base.html:262 +#: templates/js/company.js:109 templates/js/order.js:329 +#: templates/js/stock.js:1111 msgid "Customer" msgstr "" @@ -2283,6 +2294,7 @@ msgstr "" #: company/templates/company/detail_manufacturer_part.html:28 #: company/templates/company/detail_supplier_part.html:27 #: company/templates/company/manufacturer_part_suppliers.html:20 +#: company/templates/company/manufacturer_part_suppliers.html:46 #: part/templates/part/category.html:131 #: part/templates/part/manufacturer.html:22 #: part/templates/part/supplier.html:20 @@ -2305,26 +2317,25 @@ msgstr "" msgid "Delete Parts" msgstr "" -#: company/templates/company/detail_manufacturer_part.html:66 +#: company/templates/company/detail_manufacturer_part.html:68 #: company/templates/company/detail_supplier_part.html:66 #: part/templates/part/bom.html:159 part/templates/part/category.html:127 -#: templates/js/stock.js:1312 +#: templates/js/stock.js:1326 msgid "New Part" msgstr "" -#: company/templates/company/detail_manufacturer_part.html:67 +#: company/templates/company/detail_manufacturer_part.html:69 #: company/templates/company/detail_supplier_part.html:67 msgid "Create new Part" msgstr "" -#: company/templates/company/detail_manufacturer_part.html:72 -#: company/views.py:71 part/templates/part/manufacturer.html:52 -#: part/templates/part/supplier.html:56 +#: company/templates/company/detail_manufacturer_part.html:74 +#: company/views.py:66 part/templates/part/manufacturer.html:52 +#: part/templates/part/supplier.html:55 msgid "New Manufacturer" msgstr "" -#: company/templates/company/detail_manufacturer_part.html:73 -#: company/views.py:284 +#: company/templates/company/detail_manufacturer_part.html:75 msgid "Create new Manufacturer" msgstr "" @@ -2335,7 +2346,7 @@ msgstr "" #: company/templates/company/detail_stock.html:37 #: company/templates/company/supplier_part_stock.html:34 #: part/templates/part/category.html:123 part/templates/part/category.html:137 -#: part/templates/part/stock.html:54 stock/templates/stock/location.html:163 +#: part/templates/part/stock.html:55 stock/templates/stock/location.html:163 msgid "Export" msgstr "" @@ -2347,26 +2358,24 @@ msgstr "" #: company/templates/company/detail_supplier_part.html:21 #: order/templates/order/order_wizard/select_parts.html:44 -#: order/templates/order/purchase_order_detail.html:50 +#: part/templates/part/part_base.html:429 msgid "Create new supplier part" msgstr "" #: company/templates/company/detail_supplier_part.html:22 #: company/templates/company/manufacturer_part_suppliers.html:17 -#: order/templates/order/purchase_order_detail.html:49 -#: part/templates/part/supplier.html:17 templates/js/stock.js:1318 +#: part/templates/part/part_base.html:428 part/templates/part/supplier.html:17 +#: templates/js/stock.js:1332 msgid "New Supplier Part" msgstr "" #: company/templates/company/detail_supplier_part.html:72 -#: company/templates/company/manufacturer_part_suppliers.html:82 -#: company/views.py:64 order/templates/order/purchase_orders.html:185 -#: part/templates/part/supplier.html:50 +#: company/templates/company/manufacturer_part_suppliers.html:96 +#: company/views.py:60 part/templates/part/supplier.html:50 msgid "New Supplier" msgstr "" -#: company/templates/company/detail_supplier_part.html:73 company/views.py:281 -#: order/templates/order/purchase_orders.html:186 +#: company/templates/company/detail_supplier_part.html:73 msgid "Create new Supplier" msgstr "" @@ -2401,20 +2410,19 @@ msgstr "" msgid "Internal Part" msgstr "" -#: company/templates/company/manufacturer_part_delete.html:6 -msgid "Are you sure you want to delete the following Manufacturer Parts?" +#: company/templates/company/manufacturer_part_base.html:125 +msgid "Edit Manufacturer Part" msgstr "" -#: company/templates/company/manufacturer_part_delete.html:36 -#, python-format -msgid "There are %(count)s suppliers defined for this manufacturer part. If you delete it, the following supplier parts will also be deleted:" +#: company/templates/company/manufacturer_part_base.html:134 +msgid "Delete Manufacturer Part" msgstr "" #: company/templates/company/manufacturer_part_navbar.html:14 #: company/templates/company/manufacturer_part_suppliers.html:10 -#: company/views.py:63 part/templates/part/navbar.html:87 -#: part/templates/part/navbar.html:90 templates/InvenTree/search.html:316 -#: templates/navbar.html:35 +#: company/views.py:59 part/templates/part/navbar.html:87 +#: part/templates/part/navbar.html:90 part/templates/part/prices.html:153 +#: templates/InvenTree/search.html:316 templates/navbar.html:35 msgid "Suppliers" msgstr "" @@ -2425,7 +2433,7 @@ msgstr "" #: company/templates/company/manufacturer_part_navbar.html:22 #: company/templates/company/navbar.html:41 #: company/templates/company/supplier_part_navbar.html:15 -#: part/templates/part/navbar.html:39 stock/api.py:54 +#: part/templates/part/navbar.html:39 stock/api.py:53 #: stock/templates/stock/loc_link.html:7 stock/templates/stock/location.html:36 #: stock/templates/stock/stock_app_base.html:10 #: templates/InvenTree/index.html:128 templates/InvenTree/search.html:196 @@ -2451,9 +2459,11 @@ msgid "Delete supplier parts" msgstr "" #: company/templates/company/manufacturer_part_suppliers.html:22 +#: company/templates/company/manufacturer_part_suppliers.html:48 +#: company/templates/company/manufacturer_part_suppliers.html:142 #: part/templates/part/manufacturer.html:24 part/templates/part/params.html:44 #: part/templates/part/related.html:44 part/templates/part/supplier.html:22 -#: stock/views.py:1002 users/models.py:191 +#: stock/views.py:855 templates/js/company.js:203 users/models.py:192 msgid "Delete" msgstr "" @@ -2471,11 +2481,27 @@ msgstr "" msgid "New Parameter" msgstr "" -#: company/templates/company/manufacturer_part_suppliers.html:83 +#: company/templates/company/manufacturer_part_suppliers.html:48 +msgid "Delete parameters" +msgstr "" + +#: company/templates/company/manufacturer_part_suppliers.html:80 +msgid "Add Parameter" +msgstr "" + +#: company/templates/company/manufacturer_part_suppliers.html:97 #: part/templates/part/supplier.html:51 msgid "Create new supplier" msgstr "" +#: company/templates/company/manufacturer_part_suppliers.html:127 +msgid "Selected parameters will be deleted" +msgstr "" + +#: company/templates/company/manufacturer_part_suppliers.html:139 +msgid "Delete Parameters" +msgstr "" + #: company/templates/company/navbar.html:20 #: company/templates/company/navbar.html:23 msgid "Manufactured Parts" @@ -2492,8 +2518,8 @@ msgstr "" #: stock/templates/stock/location.html:136 #: stock/templates/stock/location_navbar.html:22 #: stock/templates/stock/location_navbar.html:29 -#: templates/InvenTree/search.html:198 templates/js/stock.js:996 -#: templates/stats.html:93 templates/stats.html:102 users/models.py:42 +#: templates/InvenTree/search.html:198 templates/js/stock.js:1010 +#: templates/stats.html:93 templates/stats.html:102 users/models.py:43 msgid "Stock Items" msgstr "" @@ -2503,11 +2529,11 @@ msgstr "" #: company/templates/company/sales_orders.html:11 #: order/templates/order/sales_orders.html:8 #: order/templates/order/sales_orders.html:13 -#: part/templates/part/navbar.html:113 part/templates/part/navbar.html:116 -#: part/templates/part/sales_orders.html:10 templates/InvenTree/index.html:228 +#: part/templates/part/navbar.html:101 part/templates/part/navbar.html:104 +#: part/templates/part/sales_orders.html:10 templates/InvenTree/index.html:236 #: templates/InvenTree/search.html:345 #: templates/InvenTree/settings/tabs.html:40 templates/navbar.html:46 -#: users/models.py:45 +#: users/models.py:46 msgid "Sales Orders" msgstr "" @@ -2516,10 +2542,10 @@ msgstr "" #: order/templates/order/purchase_orders.html:8 #: order/templates/order/purchase_orders.html:13 #: part/templates/part/navbar.html:93 part/templates/part/navbar.html:96 -#: part/templates/part/orders.html:10 templates/InvenTree/index.html:205 +#: part/templates/part/orders.html:10 templates/InvenTree/index.html:213 #: templates/InvenTree/search.html:325 #: templates/InvenTree/settings/tabs.html:37 templates/navbar.html:37 -#: users/models.py:44 +#: users/models.py:45 msgid "Purchase Orders" msgstr "" @@ -2548,8 +2574,9 @@ msgid "New Sales Order" msgstr "" #: company/templates/company/supplier_part_base.html:7 -#: company/templates/company/supplier_part_base.html:20 stock/models.py:412 -#: stock/templates/stock/item_base.html:374 templates/js/company.js:380 +#: company/templates/company/supplier_part_base.html:20 stock/models.py:420 +#: stock/templates/stock/item_base.html:374 templates/js/company.js:505 +#: templates/js/stock.js:690 msgid "Supplier Part" msgstr "" @@ -2594,459 +2621,401 @@ msgid "Order Part" msgstr "" #: company/templates/company/supplier_part_pricing.html:11 +#: part/templates/part/navbar.html:74 msgid "Pricing Information" msgstr "" -#: company/templates/company/supplier_part_pricing.html:19 company/views.py:855 -#: part/templates/part/sale_prices.html:17 part/views.py:2918 +#: company/templates/company/supplier_part_pricing.html:19 +#: company/templates/company/supplier_part_pricing.html:118 +#: part/templates/part/prices.html:264 part/views.py:2788 msgid "Add Price Break" msgstr "" #: company/templates/company/supplier_part_pricing.html:38 -#: part/templates/part/sale_prices.html:46 msgid "No price break information found" msgstr "" -#: company/templates/company/supplier_part_pricing.html:89 -#: part/templates/part/sale_prices.html:97 +#: company/templates/company/supplier_part_pricing.html:52 part/views.py:2850 +msgid "Delete Price Break" +msgstr "" + +#: company/templates/company/supplier_part_pricing.html:66 part/views.py:2836 +msgid "Edit Price Break" +msgstr "" + +#: company/templates/company/supplier_part_pricing.html:91 msgid "Edit price break" msgstr "" -#: company/templates/company/supplier_part_pricing.html:90 -#: part/templates/part/sale_prices.html:98 +#: company/templates/company/supplier_part_pricing.html:92 msgid "Delete price break" msgstr "" -#: company/views.py:70 part/templates/part/navbar.html:81 -#: part/templates/part/navbar.html:84 templates/InvenTree/search.html:306 -#: templates/navbar.html:36 +#: company/views.py:65 part/templates/part/navbar.html:81 +#: part/templates/part/navbar.html:84 part/templates/part/prices.html:157 +#: templates/InvenTree/search.html:306 templates/navbar.html:36 msgid "Manufacturers" msgstr "" -#: company/views.py:77 templates/InvenTree/search.html:336 +#: company/views.py:71 templates/InvenTree/search.html:336 #: templates/navbar.html:45 msgid "Customers" msgstr "" -#: company/views.py:78 order/templates/order/sales_orders.html:187 +#: company/views.py:72 msgid "New Customer" msgstr "" -#: company/views.py:86 +#: company/views.py:79 msgid "Companies" msgstr "" -#: company/views.py:87 +#: company/views.py:80 msgid "New Company" msgstr "" -#: company/views.py:169 part/views.py:1115 +#: company/views.py:161 part/views.py:1007 msgid "Download Image" msgstr "" -#: company/views.py:198 part/views.py:1147 +#: company/views.py:190 part/views.py:1039 msgid "Image size exceeds maximum allowable size for download" msgstr "" -#: company/views.py:205 part/views.py:1154 +#: company/views.py:197 part/views.py:1046 #, python-brace-format msgid "Invalid response: {code}" msgstr "" -#: company/views.py:214 part/views.py:1163 +#: company/views.py:206 part/views.py:1055 msgid "Supplied URL is not a valid image file" msgstr "" -#: company/views.py:243 -msgid "Update Company Image" -msgstr "" - -#: company/views.py:249 -msgid "Updated company image" -msgstr "" - -#: company/views.py:259 -msgid "Edit Company" -msgstr "" - -#: company/views.py:264 -msgid "Edited company information" -msgstr "" - -#: company/views.py:287 order/templates/order/sales_orders.html:188 -msgid "Create new Customer" -msgstr "" - -#: company/views.py:289 -msgid "Create new Company" -msgstr "" - -#: company/views.py:316 -msgid "Created new company" -msgstr "" - -#: company/views.py:332 -msgid "Company was deleted" -msgstr "" - -#: company/views.py:357 -msgid "Edit Manufacturer Part" -msgstr "" - -#: company/views.py:366 +#: company/views.py:251 msgid "Create New Manufacturer Part" msgstr "" -#: company/views.py:440 -msgid "Delete Manufacturer Part" -msgstr "" - -#: company/views.py:514 -msgid "Add Manufacturer Part Parameter" -msgstr "" - -#: company/views.py:548 -msgid "Edit Manufacturer Part Parameter" -msgstr "" - -#: company/views.py:588 +#: company/views.py:334 msgid "Edit Supplier Part" msgstr "" -#: company/views.py:639 templates/js/stock.js:1319 +#: company/views.py:385 templates/js/stock.js:1333 msgid "Create new Supplier Part" msgstr "" -#: company/views.py:783 +#: company/views.py:529 msgid "Delete Supplier Part" msgstr "" -#: company/views.py:860 part/views.py:2922 -msgid "Added new price break" -msgstr "" - -#: company/views.py:916 part/views.py:2966 -msgid "Edit Price Break" -msgstr "" - -#: company/views.py:931 part/views.py:2980 -msgid "Delete Price Break" -msgstr "" - #: label/api.py:56 report/api.py:201 msgid "No valid objects provided to template" msgstr "" -#: label/models.py:103 +#: label/models.py:104 msgid "Label name" msgstr "" -#: label/models.py:110 +#: label/models.py:111 msgid "Label description" msgstr "" -#: label/models.py:117 stock/forms.py:202 +#: label/models.py:118 stock/forms.py:169 msgid "Label" msgstr "" -#: label/models.py:118 +#: label/models.py:119 msgid "Label template file" msgstr "" -#: label/models.py:124 report/models.py:297 +#: label/models.py:125 report/models.py:297 msgid "Enabled" msgstr "" -#: label/models.py:125 +#: label/models.py:126 msgid "Label template is enabled" msgstr "" -#: label/models.py:130 +#: label/models.py:131 msgid "Width [mm]" msgstr "" -#: label/models.py:131 +#: label/models.py:132 msgid "Label width, specified in mm" msgstr "" -#: label/models.py:137 +#: label/models.py:138 msgid "Height [mm]" msgstr "" -#: label/models.py:138 +#: label/models.py:139 msgid "Label height, specified in mm" msgstr "" -#: label/models.py:144 report/models.py:290 +#: label/models.py:145 report/models.py:290 msgid "Filename Pattern" msgstr "" -#: label/models.py:145 +#: label/models.py:146 msgid "Pattern for generating label filenames" msgstr "" -#: label/models.py:244 label/models.py:297 +#: label/models.py:249 label/models.py:306 msgid "Query filters (comma-separated list of key=value pairs" msgstr "" -#: label/models.py:245 label/models.py:298 report/models.py:317 +#: label/models.py:250 label/models.py:307 report/models.py:317 #: report/models.py:440 report/models.py:474 msgid "Filters" msgstr "" -#: order/forms.py:31 order/templates/order/order_base.html:47 +#: order/forms.py:30 order/templates/order/order_base.html:47 msgid "Place order" msgstr "" -#: order/forms.py:42 order/templates/order/order_base.html:54 +#: order/forms.py:41 order/templates/order/order_base.html:54 msgid "Mark order as complete" msgstr "" -#: order/forms.py:53 order/forms.py:64 order/templates/order/order_base.html:59 +#: order/forms.py:52 order/forms.py:63 order/templates/order/order_base.html:59 #: order/templates/order/sales_order_base.html:61 msgid "Cancel order" msgstr "" -#: order/forms.py:75 order/templates/order/sales_order_base.html:58 +#: order/forms.py:74 order/templates/order/sales_order_base.html:58 msgid "Ship order" msgstr "" -#: order/forms.py:90 +#: order/forms.py:89 msgid "Receive parts to this location" msgstr "" -#: order/forms.py:112 -msgid "Purchase Order reference" -msgstr "" - -#: order/forms.py:119 -msgid "Target date for order delivery. Order will be overdue after this date." -msgstr "" - -#: order/forms.py:147 -msgid "Enter sales order number" -msgstr "" - -#: order/forms.py:154 order/models.py:472 -msgid "Target date for order completion. Order will be overdue after this date." -msgstr "" - -#: order/forms.py:246 +#: order/forms.py:116 msgid "Enter stock item serial numbers" msgstr "" -#: order/forms.py:252 +#: order/forms.py:122 msgid "Enter quantity of stock items" msgstr "" -#: order/models.py:98 -msgid "Order reference" -msgstr "" - -#: order/models.py:100 +#: order/models.py:154 msgid "Order description" msgstr "" -#: order/models.py:102 +#: order/models.py:156 msgid "Link to external page" msgstr "" -#: order/models.py:110 part/templates/part/detail.html:132 +#: order/models.py:164 part/templates/part/detail.html:132 msgid "Created By" msgstr "" -#: order/models.py:117 +#: order/models.py:171 msgid "User or group responsible for this order" msgstr "" -#: order/models.py:122 +#: order/models.py:176 msgid "Order notes" msgstr "" -#: order/models.py:181 order/models.py:465 +#: order/models.py:243 order/models.py:530 +msgid "Order reference" +msgstr "" + +#: order/models.py:248 order/models.py:545 msgid "Purchase order status" msgstr "" -#: order/models.py:190 +#: order/models.py:257 msgid "Company from which the items are being ordered" msgstr "" -#: order/models.py:193 order/templates/order/order_base.html:98 -#: templates/js/order.js:179 +#: order/models.py:260 order/templates/order/order_base.html:98 +#: templates/js/order.js:241 msgid "Supplier Reference" msgstr "" -#: order/models.py:193 +#: order/models.py:260 msgid "Supplier order reference code" msgstr "" -#: order/models.py:200 +#: order/models.py:267 msgid "received by" msgstr "" -#: order/models.py:205 +#: order/models.py:272 msgid "Issue Date" msgstr "" -#: order/models.py:206 +#: order/models.py:273 msgid "Date order was issued" msgstr "" -#: order/models.py:211 +#: order/models.py:278 msgid "Target Delivery Date" msgstr "" -#: order/models.py:212 +#: order/models.py:279 msgid "Expected date for order delivery. Order will be overdue after this date." msgstr "" -#: order/models.py:218 +#: order/models.py:285 msgid "Date order was completed" msgstr "" -#: order/models.py:242 part/views.py:1853 stock/models.py:300 -#: stock/models.py:1015 +#: order/models.py:309 part/views.py:1730 stock/models.py:308 +#: stock/models.py:1023 msgid "Quantity must be greater than zero" msgstr "" -#: order/models.py:247 +#: order/models.py:314 msgid "Part supplier must match PO supplier" msgstr "" -#: order/models.py:345 +#: order/models.py:412 msgid "Lines can only be received against an order marked as 'Placed'" msgstr "" -#: order/models.py:349 +#: order/models.py:416 msgid "Quantity must be an integer" msgstr "" -#: order/models.py:351 +#: order/models.py:418 msgid "Quantity must be a positive number" msgstr "" -#: order/models.py:461 +#: order/models.py:541 msgid "Company to which the items are being sold" msgstr "" -#: order/models.py:467 +#: order/models.py:547 msgid "Customer Reference " msgstr "" -#: order/models.py:467 +#: order/models.py:547 msgid "Customer order reference code" msgstr "" -#: order/models.py:475 templates/js/order.js:303 +#: order/models.py:552 +msgid "Target date for order completion. Order will be overdue after this date." +msgstr "" + +#: order/models.py:555 templates/js/order.js:370 msgid "Shipment Date" msgstr "" -#: order/models.py:482 +#: order/models.py:562 msgid "shipped by" msgstr "" -#: order/models.py:526 +#: order/models.py:606 msgid "SalesOrder cannot be shipped as it is not currently pending" msgstr "" -#: order/models.py:613 +#: order/models.py:703 msgid "Item quantity" msgstr "" -#: order/models.py:615 +#: order/models.py:709 msgid "Line item reference" msgstr "" -#: order/models.py:617 +#: order/models.py:711 msgid "Line item notes" msgstr "" -#: order/models.py:643 order/models.py:710 templates/js/order.js:353 +#: order/models.py:741 order/models.py:812 templates/js/order.js:420 msgid "Order" msgstr "" -#: order/models.py:644 order/templates/order/order_base.html:9 +#: order/models.py:742 order/templates/order/order_base.html:9 #: order/templates/order/order_base.html:24 #: report/templates/report/inventree_po_report.html:77 -#: stock/templates/stock/item_base.html:324 templates/js/order.js:148 -#: templates/js/stock.js:669 templates/js/stock.js:1078 +#: stock/templates/stock/item_base.html:324 templates/js/order.js:210 +#: templates/js/stock.js:669 templates/js/stock.js:1092 msgid "Purchase Order" msgstr "" -#: order/models.py:658 +#: order/models.py:756 msgid "Supplier part" msgstr "" -#: order/models.py:661 order/templates/order/order_base.html:131 -#: order/templates/order/purchase_order_detail.html:219 +#: order/models.py:759 order/templates/order/order_base.html:131 +#: order/templates/order/purchase_order_detail.html:246 #: order/templates/order/receive_parts.html:22 #: order/templates/order/sales_order_base.html:133 msgid "Received" msgstr "" -#: order/models.py:661 +#: order/models.py:759 msgid "Number of items received" msgstr "" -#: order/models.py:667 stock/models.py:537 -#: stock/templates/stock/item_base.html:331 templates/js/stock.js:690 +#: order/models.py:765 part/templates/part/prices.html:166 stock/models.py:545 +#: stock/templates/stock/item_base.html:331 templates/js/stock.js:704 msgid "Purchase Price" msgstr "" -#: order/models.py:668 +#: order/models.py:766 msgid "Unit purchase price" msgstr "" -#: order/models.py:676 +#: order/models.py:774 msgid "Where does the Purchaser want this item to be stored?" msgstr "" -#: order/models.py:718 part/templates/part/navbar.html:110 -#: part/templates/part/order_prices.html:108 -#: part/templates/part/part_pricing.html:97 +#: order/models.py:820 part/templates/part/part_pricing.html:97 +#: part/templates/part/prices.html:103 part/templates/part/prices.html:278 msgid "Sale Price" msgstr "" -#: order/models.py:719 +#: order/models.py:821 msgid "Unit sale price" msgstr "" -#: order/models.py:794 order/models.py:796 +#: order/models.py:900 order/models.py:902 msgid "Stock item has not been assigned" msgstr "" -#: order/models.py:800 +#: order/models.py:906 msgid "Cannot allocate stock item to a line with a different part" msgstr "" -#: order/models.py:802 +#: order/models.py:908 msgid "Cannot allocate stock to a line without a part" msgstr "" -#: order/models.py:805 +#: order/models.py:911 msgid "Allocation quantity cannot exceed stock quantity" msgstr "" -#: order/models.py:815 +#: order/models.py:921 msgid "Quantity must be 1 for serialized stock item" msgstr "" -#: order/models.py:820 +#: order/models.py:926 msgid "Line" msgstr "" -#: order/models.py:831 +#: order/models.py:937 msgid "Item" msgstr "" -#: order/models.py:832 +#: order/models.py:938 msgid "Select stock item to allocate" msgstr "" -#: order/models.py:835 +#: order/models.py:941 msgid "Enter stock allocation quantity" msgstr "" +#: order/serializers.py:139 +msgid "Purchase price currency" +msgstr "" + +#: order/serializers.py:359 +msgid "Sale price currency" +msgstr "" + #: order/templates/order/delete_attachment.html:5 #: stock/templates/stock/attachment_delete.html:5 #: templates/attachment_delete.html:5 @@ -3091,16 +3060,22 @@ msgstr "" msgid "Issued" msgstr "" -#: order/templates/order/order_base.html:180 -#: order/templates/order/purchase_order_detail.html:100 +#: order/templates/order/order_base.html:188 +msgid "Edit Purchase Order" +msgstr "" + +#: order/templates/order/order_base.html:199 +#: order/templates/order/purchase_order_detail.html:127 #: part/templates/part/category.html:217 part/templates/part/category.html:259 -#: stock/templates/stock/location.html:191 templates/js/stock.js:736 -#: templates/js/stock.js:1324 +#: part/templates/part/part_base.html:415 +#: stock/templates/stock/location.html:191 templates/js/stock.js:750 +#: templates/js/stock.js:1338 msgid "New Location" msgstr "" -#: order/templates/order/order_base.html:181 -#: order/templates/order/purchase_order_detail.html:101 +#: order/templates/order/order_base.html:200 +#: order/templates/order/purchase_order_detail.html:128 +#: part/templates/part/part_base.html:416 #: stock/templates/stock/location.html:42 msgid "Create new stock location" msgstr "" @@ -3253,7 +3228,7 @@ msgid "Select existing purchase orders, or create new orders." msgstr "" #: order/templates/order/order_wizard/select_pos.html:31 -#: templates/js/order.js:205 templates/js/order.js:308 +#: templates/js/order.js:267 templates/js/order.js:375 msgid "Items" msgstr "" @@ -3277,7 +3252,6 @@ msgid "Purchase Order Attachments" msgstr "" #: order/templates/order/po_lineitem_delete.html:5 -#: order/templates/order/so_lineitem_delete.html:5 msgid "Are you sure you wish to delete this line item?" msgstr "" @@ -3295,40 +3269,52 @@ msgid "Purchase Order Items" msgstr "" #: order/templates/order/purchase_order_detail.html:24 -#: order/templates/order/sales_order_detail.html:22 order/views.py:1327 -#: order/views.py:1410 +#: order/templates/order/purchase_order_detail.html:64 +#: order/templates/order/sales_order_detail.html:22 +#: order/templates/order/sales_order_detail.html:56 msgid "Add Line Item" msgstr "" -#: order/templates/order/purchase_order_detail.html:114 +#: order/templates/order/purchase_order_detail.html:100 +#: order/templates/order/sales_order_detail.html:398 +msgid "Edit Line Item" +msgstr "" + +#: order/templates/order/purchase_order_detail.html:110 +#: order/templates/order/sales_order_detail.html:408 +msgid "Delete Line Item" +msgstr "" + +#: order/templates/order/purchase_order_detail.html:141 msgid "No line items found" msgstr "" -#: order/templates/order/purchase_order_detail.html:142 -#: order/templates/order/sales_order_detail.html:223 +#: order/templates/order/purchase_order_detail.html:169 +#: order/templates/order/sales_order_detail.html:233 msgid "Total" msgstr "" -#: order/templates/order/purchase_order_detail.html:191 -#: order/templates/order/sales_order_detail.html:246 +#: order/templates/order/purchase_order_detail.html:218 +#: order/templates/order/sales_order_detail.html:256 templates/js/part.js:807 +#: templates/js/part.js:996 msgid "Unit Price" msgstr "" -#: order/templates/order/purchase_order_detail.html:198 -#: order/templates/order/sales_order_detail.html:253 +#: order/templates/order/purchase_order_detail.html:225 +#: order/templates/order/sales_order_detail.html:263 msgid "Total price" msgstr "" -#: order/templates/order/purchase_order_detail.html:255 -#: order/templates/order/sales_order_detail.html:359 +#: order/templates/order/purchase_order_detail.html:282 +#: order/templates/order/sales_order_detail.html:369 msgid "Edit line item" msgstr "" -#: order/templates/order/purchase_order_detail.html:256 +#: order/templates/order/purchase_order_detail.html:283 msgid "Delete line item" msgstr "" -#: order/templates/order/purchase_order_detail.html:261 +#: order/templates/order/purchase_order_detail.html:288 msgid "Receive line item" msgstr "" @@ -3343,7 +3329,7 @@ msgid "Receive outstanding parts for %(order)s - %(desc)s" msgstr "" #: order/templates/order/receive_parts.html:14 part/api.py:45 -#: part/models.py:322 part/templates/part/cat_link.html:7 +#: part/models.py:326 part/templates/part/cat_link.html:7 #: part/templates/part/category.html:108 part/templates/part/category.html:157 #: part/templates/part/category_navbar.html:25 #: part/templates/part/category_navbar.html:32 @@ -3351,7 +3337,7 @@ msgstr "" #: templates/InvenTree/index.html:97 templates/InvenTree/search.html:114 #: templates/InvenTree/settings/tabs.html:28 templates/js/part.js:666 #: templates/navbar.html:23 templates/stats.html:80 templates/stats.html:89 -#: users/models.py:40 +#: users/models.py:41 msgid "Parts" msgstr "" @@ -3393,10 +3379,14 @@ msgstr "" msgid "Sales Order Details" msgstr "" -#: order/templates/order/sales_order_base.html:100 templates/js/order.js:275 +#: order/templates/order/sales_order_base.html:100 templates/js/order.js:342 msgid "Customer Reference" msgstr "" +#: order/templates/order/sales_order_base.html:177 +msgid "Edit Sales Order" +msgstr "" + #: order/templates/order/sales_order_cancel.html:8 #: order/templates/order/sales_order_ship.html:9 #: part/templates/part/bom_duplicate.html:12 @@ -3412,69 +3402,69 @@ msgstr "" msgid "Sales Order Items" msgstr "" -#: order/templates/order/sales_order_detail.html:95 templates/js/bom.js:358 +#: order/templates/order/sales_order_detail.html:105 templates/js/bom.js:358 #: templates/js/build.js:725 templates/js/build.js:1142 msgid "Actions" msgstr "" -#: order/templates/order/sales_order_detail.html:102 templates/js/build.js:611 +#: order/templates/order/sales_order_detail.html:112 templates/js/build.js:611 #: templates/js/build.js:947 msgid "Edit stock allocation" msgstr "" -#: order/templates/order/sales_order_detail.html:103 templates/js/build.js:613 +#: order/templates/order/sales_order_detail.html:113 templates/js/build.js:613 #: templates/js/build.js:948 msgid "Delete stock allocation" msgstr "" -#: order/templates/order/sales_order_detail.html:176 +#: order/templates/order/sales_order_detail.html:186 msgid "No matching line items" msgstr "" -#: order/templates/order/sales_order_detail.html:206 +#: order/templates/order/sales_order_detail.html:216 msgid "ID" msgstr "" -#: order/templates/order/sales_order_detail.html:274 templates/js/build.js:676 +#: order/templates/order/sales_order_detail.html:284 templates/js/build.js:676 #: templates/js/build.js:943 msgid "Allocated" msgstr "" -#: order/templates/order/sales_order_detail.html:276 +#: order/templates/order/sales_order_detail.html:286 msgid "Fulfilled" msgstr "" -#: order/templates/order/sales_order_detail.html:313 +#: order/templates/order/sales_order_detail.html:323 msgid "PO" msgstr "" -#: order/templates/order/sales_order_detail.html:343 +#: order/templates/order/sales_order_detail.html:353 msgid "Allocate serial numbers" msgstr "" -#: order/templates/order/sales_order_detail.html:346 templates/js/build.js:739 +#: order/templates/order/sales_order_detail.html:356 templates/js/build.js:739 msgid "Allocate stock" msgstr "" -#: order/templates/order/sales_order_detail.html:349 +#: order/templates/order/sales_order_detail.html:359 msgid "Purchase stock" msgstr "" -#: order/templates/order/sales_order_detail.html:353 templates/js/build.js:732 +#: order/templates/order/sales_order_detail.html:363 templates/js/build.js:732 #: templates/js/build.js:1150 msgid "Build stock" msgstr "" -#: order/templates/order/sales_order_detail.html:356 -#: order/templates/order/sales_order_detail.html:465 +#: order/templates/order/sales_order_detail.html:366 +#: order/templates/order/sales_order_detail.html:485 msgid "Calculate price" msgstr "" -#: order/templates/order/sales_order_detail.html:360 +#: order/templates/order/sales_order_detail.html:370 msgid "Delete line item " msgstr "" -#: order/templates/order/sales_order_detail.html:471 +#: order/templates/order/sales_order_detail.html:491 msgid "Update Unit Price" msgstr "" @@ -3515,194 +3505,154 @@ msgstr "" msgid "Sales Order Attachments" msgstr "" -#: order/views.py:106 -msgid "Add Purchase Order Attachment" -msgstr "" - -#: order/views.py:156 -msgid "Add Sales Order Attachment" -msgstr "" - -#: order/views.py:348 -msgid "Create Sales Order" -msgstr "" - -#: order/views.py:383 -msgid "Edit Purchase Order" -msgstr "" - -#: order/views.py:403 -msgid "Edit Sales Order" -msgstr "" - -#: order/views.py:419 +#: order/views.py:151 msgid "Cancel Order" msgstr "" -#: order/views.py:428 order/views.py:454 +#: order/views.py:160 order/views.py:186 msgid "Confirm order cancellation" msgstr "" -#: order/views.py:431 order/views.py:457 +#: order/views.py:163 order/views.py:189 msgid "Order cannot be cancelled" msgstr "" -#: order/views.py:445 +#: order/views.py:177 msgid "Cancel sales order" msgstr "" -#: order/views.py:471 +#: order/views.py:203 msgid "Issue Order" msgstr "" -#: order/views.py:480 +#: order/views.py:212 msgid "Confirm order placement" msgstr "" -#: order/views.py:490 +#: order/views.py:222 msgid "Purchase order issued" msgstr "" -#: order/views.py:501 +#: order/views.py:233 msgid "Complete Order" msgstr "" -#: order/views.py:517 +#: order/views.py:249 msgid "Confirm order completion" msgstr "" -#: order/views.py:528 +#: order/views.py:260 msgid "Purchase order completed" msgstr "" -#: order/views.py:538 +#: order/views.py:270 msgid "Ship Order" msgstr "" -#: order/views.py:554 +#: order/views.py:286 msgid "Confirm order shipment" msgstr "" -#: order/views.py:560 +#: order/views.py:292 msgid "Could not ship order" msgstr "" -#: order/views.py:607 +#: order/views.py:339 msgid "Match Supplier Parts" msgstr "" -#: order/views.py:804 +#: order/views.py:536 msgid "Receive Parts" msgstr "" -#: order/views.py:874 +#: order/views.py:606 msgid "Items received" msgstr "" -#: order/views.py:888 +#: order/views.py:620 msgid "No destination set" msgstr "" -#: order/views.py:933 +#: order/views.py:665 msgid "Error converting quantity to number" msgstr "" -#: order/views.py:939 +#: order/views.py:671 msgid "Receive quantity less than zero" msgstr "" -#: order/views.py:945 +#: order/views.py:677 msgid "No lines specified" msgstr "" -#: order/views.py:1018 +#: order/views.py:750 msgid "Update prices" msgstr "" -#: order/views.py:1276 +#: order/views.py:1008 #, python-brace-format msgid "Ordered {n} parts" msgstr "" -#: order/views.py:1336 -msgid "Supplier part must be specified" -msgstr "" - -#: order/views.py:1342 -msgid "Supplier must match for Part and Order" -msgstr "" - -#: order/views.py:1473 order/views.py:1491 -msgid "Edit Line Item" -msgstr "" - -#: order/views.py:1507 order/views.py:1519 -msgid "Delete Line Item" -msgstr "" - -#: order/views.py:1512 order/views.py:1524 -msgid "Deleted line item" -msgstr "" - -#: order/views.py:1537 +#: order/views.py:1061 msgid "Allocate Serial Numbers" msgstr "" -#: order/views.py:1582 +#: order/views.py:1106 #, python-brace-format msgid "Allocated {n} items" msgstr "" -#: order/views.py:1598 +#: order/views.py:1122 msgid "Select line item" msgstr "" -#: order/views.py:1629 +#: order/views.py:1153 #, python-brace-format msgid "No matching item for serial {serial}" msgstr "" -#: order/views.py:1639 +#: order/views.py:1163 #, python-brace-format msgid "{serial} is not in stock" msgstr "" -#: order/views.py:1647 +#: order/views.py:1171 #, python-brace-format msgid "{serial} already allocated to an order" msgstr "" -#: order/views.py:1701 +#: order/views.py:1225 msgid "Allocate Stock to Order" msgstr "" -#: order/views.py:1775 +#: order/views.py:1299 msgid "Edit Allocation Quantity" msgstr "" -#: order/views.py:1790 +#: order/views.py:1314 msgid "Remove allocation" msgstr "" -#: order/views.py:1862 +#: order/views.py:1386 msgid "Sales order not found" msgstr "" -#: order/views.py:1868 +#: order/views.py:1392 msgid "Price not found" msgstr "" -#: order/views.py:1871 +#: order/views.py:1395 #, python-brace-format msgid "Updated {part} unit-price to {price}" msgstr "" -#: order/views.py:1876 +#: order/views.py:1400 #, python-brace-format msgid "Updated {part} unit-price to {price} and quantity to {qty}" msgstr "" -#: part/bom.py:138 part/models.py:72 part/models.py:747 +#: part/bom.py:138 part/models.py:72 part/models.py:756 #: part/templates/part/category.html:75 part/templates/part/detail.html:90 msgid "Default Location" msgstr "" @@ -3724,143 +3674,143 @@ msgstr "" msgid "Error reading BOM file (incorrect row size)" msgstr "" -#: part/forms.py:89 stock/forms.py:265 +#: part/forms.py:73 stock/forms.py:232 msgid "File Format" msgstr "" -#: part/forms.py:89 stock/forms.py:265 +#: part/forms.py:73 stock/forms.py:232 msgid "Select output file format" msgstr "" -#: part/forms.py:91 +#: part/forms.py:75 msgid "Cascading" msgstr "" -#: part/forms.py:91 +#: part/forms.py:75 msgid "Download cascading / multi-level BOM" msgstr "" -#: part/forms.py:93 +#: part/forms.py:77 msgid "Levels" msgstr "" -#: part/forms.py:93 +#: part/forms.py:77 msgid "Select maximum number of BOM levels to export (0 = all levels)" msgstr "" -#: part/forms.py:95 +#: part/forms.py:79 msgid "Include Parameter Data" msgstr "" -#: part/forms.py:95 +#: part/forms.py:79 msgid "Include part parameters data in exported BOM" msgstr "" -#: part/forms.py:97 +#: part/forms.py:81 msgid "Include Stock Data" msgstr "" -#: part/forms.py:97 +#: part/forms.py:81 msgid "Include part stock data in exported BOM" msgstr "" -#: part/forms.py:99 +#: part/forms.py:83 msgid "Include Manufacturer Data" msgstr "" -#: part/forms.py:99 +#: part/forms.py:83 msgid "Include part manufacturer data in exported BOM" msgstr "" -#: part/forms.py:101 +#: part/forms.py:85 msgid "Include Supplier Data" msgstr "" -#: part/forms.py:101 +#: part/forms.py:85 msgid "Include part supplier data in exported BOM" msgstr "" -#: part/forms.py:122 part/models.py:2191 +#: part/forms.py:106 part/models.py:2224 msgid "Parent Part" msgstr "" -#: part/forms.py:123 part/templates/part/bom_duplicate.html:7 +#: part/forms.py:107 part/templates/part/bom_duplicate.html:7 msgid "Select parent part to copy BOM from" msgstr "" -#: part/forms.py:129 +#: part/forms.py:113 msgid "Clear existing BOM items" msgstr "" -#: part/forms.py:135 +#: part/forms.py:119 msgid "Confirm BOM duplication" msgstr "" -#: part/forms.py:153 +#: part/forms.py:137 msgid "validate" msgstr "" -#: part/forms.py:153 +#: part/forms.py:137 msgid "Confirm that the BOM is correct" msgstr "" -#: part/forms.py:165 +#: part/forms.py:149 msgid "BOM file" msgstr "" -#: part/forms.py:165 +#: part/forms.py:149 msgid "Select BOM file to upload" msgstr "" -#: part/forms.py:184 +#: part/forms.py:168 msgid "Related Part" msgstr "" -#: part/forms.py:203 +#: part/forms.py:175 msgid "Select part category" msgstr "" -#: part/forms.py:220 +#: part/forms.py:192 msgid "Duplicate all BOM data for this part" msgstr "" -#: part/forms.py:221 +#: part/forms.py:193 msgid "Copy BOM" msgstr "" -#: part/forms.py:226 +#: part/forms.py:198 msgid "Duplicate all parameter data for this part" msgstr "" -#: part/forms.py:227 +#: part/forms.py:199 msgid "Copy Parameters" msgstr "" -#: part/forms.py:232 +#: part/forms.py:204 msgid "Confirm part creation" msgstr "" -#: part/forms.py:237 +#: part/forms.py:209 msgid "Include category parameter templates" msgstr "" -#: part/forms.py:242 +#: part/forms.py:214 msgid "Include parent categories parameter templates" msgstr "" -#: part/forms.py:322 +#: part/forms.py:294 msgid "Add parameter template to same level categories" msgstr "" -#: part/forms.py:326 +#: part/forms.py:298 msgid "Add parameter template to all categories" msgstr "" -#: part/forms.py:344 part/models.py:2286 +#: part/forms.py:316 part/models.py:2323 msgid "Sub part" msgstr "" -#: part/forms.py:373 +#: part/forms.py:345 msgid "Input quantity for price calculation" msgstr "" @@ -3876,362 +3826,362 @@ msgstr "" msgid "Default keywords for parts in this category" msgstr "" -#: part/models.py:82 part/models.py:2237 +#: part/models.py:86 part/models.py:2270 #: part/templates/part/part_app_base.html:10 msgid "Part Category" msgstr "" -#: part/models.py:83 part/templates/part/category.html:32 +#: part/models.py:87 part/templates/part/category.html:32 #: part/templates/part/category.html:103 templates/InvenTree/search.html:127 -#: templates/stats.html:84 users/models.py:39 +#: templates/stats.html:84 users/models.py:40 msgid "Part Categories" msgstr "" -#: part/models.py:448 part/models.py:460 +#: part/models.py:457 part/models.py:469 #, python-brace-format msgid "Part '{p1}' is used in BOM for '{p2}' (recursive)" msgstr "" -#: part/models.py:557 +#: part/models.py:566 msgid "Next available serial numbers are" msgstr "" -#: part/models.py:561 +#: part/models.py:570 msgid "Next available serial number is" msgstr "" -#: part/models.py:566 +#: part/models.py:575 msgid "Most recent serial number is" msgstr "" -#: part/models.py:645 +#: part/models.py:654 msgid "Duplicate IPN not allowed in part settings" msgstr "" -#: part/models.py:670 part/templates/part/detail.html:22 +#: part/models.py:679 part/templates/part/detail.html:22 msgid "Part name" msgstr "" -#: part/models.py:677 +#: part/models.py:686 msgid "Is Template" msgstr "" -#: part/models.py:678 +#: part/models.py:687 msgid "Is this part a template part?" msgstr "" -#: part/models.py:689 +#: part/models.py:698 msgid "Is this part a variant of another part?" msgstr "" -#: part/models.py:690 part/templates/part/detail.html:60 +#: part/models.py:699 part/templates/part/detail.html:60 msgid "Variant Of" msgstr "" -#: part/models.py:696 +#: part/models.py:705 msgid "Part description" msgstr "" -#: part/models.py:701 part/templates/part/category.html:82 +#: part/models.py:710 part/templates/part/category.html:82 #: part/templates/part/detail.html:67 msgid "Keywords" msgstr "" -#: part/models.py:702 +#: part/models.py:711 msgid "Part keywords to improve visibility in search results" msgstr "" -#: part/models.py:709 part/models.py:2236 part/templates/part/detail.html:73 +#: part/models.py:718 part/models.py:2269 part/templates/part/detail.html:73 #: part/templates/part/set_category.html:15 templates/js/part.js:452 msgid "Category" msgstr "" -#: part/models.py:710 +#: part/models.py:719 msgid "Part category" msgstr "" -#: part/models.py:715 part/templates/part/detail.html:28 +#: part/models.py:724 part/templates/part/detail.html:28 #: part/templates/part/part_base.html:87 templates/js/part.js:169 #: templates/js/part.js:296 msgid "IPN" msgstr "" -#: part/models.py:716 +#: part/models.py:725 msgid "Internal Part Number" msgstr "" -#: part/models.py:722 +#: part/models.py:731 msgid "Part revision or version number" msgstr "" -#: part/models.py:723 part/templates/part/detail.html:35 report/models.py:199 +#: part/models.py:732 part/templates/part/detail.html:35 report/models.py:199 #: templates/js/part.js:173 msgid "Revision" msgstr "" -#: part/models.py:745 +#: part/models.py:754 msgid "Where is this item normally stored?" msgstr "" -#: part/models.py:792 part/templates/part/detail.html:97 +#: part/models.py:801 part/templates/part/detail.html:97 msgid "Default Supplier" msgstr "" -#: part/models.py:793 +#: part/models.py:802 msgid "Default supplier part" msgstr "" -#: part/models.py:800 +#: part/models.py:809 msgid "Default Expiry" msgstr "" -#: part/models.py:801 +#: part/models.py:810 msgid "Expiry time (in days) for stock items of this part" msgstr "" -#: part/models.py:806 part/templates/part/detail.html:113 +#: part/models.py:815 part/templates/part/detail.html:113 msgid "Minimum Stock" msgstr "" -#: part/models.py:807 +#: part/models.py:816 msgid "Minimum allowed stock level" msgstr "" -#: part/models.py:814 +#: part/models.py:823 msgid "Stock keeping units for this part" msgstr "" -#: part/models.py:820 +#: part/models.py:829 msgid "Can this part be built from other parts?" msgstr "" -#: part/models.py:826 +#: part/models.py:835 msgid "Can this part be used to build other parts?" msgstr "" -#: part/models.py:832 +#: part/models.py:841 msgid "Does this part have tracking for unique items?" msgstr "" -#: part/models.py:837 +#: part/models.py:846 msgid "Can this part be purchased from external suppliers?" msgstr "" -#: part/models.py:842 +#: part/models.py:851 msgid "Can this part be sold to customers?" msgstr "" -#: part/models.py:846 part/templates/part/detail.html:227 +#: part/models.py:855 part/templates/part/detail.html:227 #: templates/js/table_filters.js:21 templates/js/table_filters.js:65 -#: templates/js/table_filters.js:241 templates/js/table_filters.js:310 +#: templates/js/table_filters.js:246 templates/js/table_filters.js:315 msgid "Active" msgstr "" -#: part/models.py:847 +#: part/models.py:856 msgid "Is this part active?" msgstr "" -#: part/models.py:852 +#: part/models.py:861 msgid "Is this a virtual part, such as a software product or license?" msgstr "" -#: part/models.py:857 +#: part/models.py:866 msgid "Part notes - supports Markdown formatting" msgstr "" -#: part/models.py:860 +#: part/models.py:869 msgid "BOM checksum" msgstr "" -#: part/models.py:860 +#: part/models.py:869 msgid "Stored BOM checksum" msgstr "" -#: part/models.py:863 +#: part/models.py:872 msgid "BOM checked by" msgstr "" -#: part/models.py:865 +#: part/models.py:874 msgid "BOM checked date" msgstr "" -#: part/models.py:869 +#: part/models.py:878 msgid "Creation User" msgstr "" -#: part/models.py:1608 +#: part/models.py:1617 msgid "Sell multiple" msgstr "" -#: part/models.py:2063 +#: part/models.py:2088 msgid "Test templates can only be created for trackable parts" msgstr "" -#: part/models.py:2080 +#: part/models.py:2105 msgid "Test with this name already exists for this part" msgstr "" -#: part/models.py:2100 templates/js/part.js:717 templates/js/stock.js:117 +#: part/models.py:2125 templates/js/part.js:717 templates/js/stock.js:117 msgid "Test Name" msgstr "" -#: part/models.py:2101 +#: part/models.py:2126 msgid "Enter a name for the test" msgstr "" -#: part/models.py:2106 +#: part/models.py:2131 msgid "Test Description" msgstr "" -#: part/models.py:2107 +#: part/models.py:2132 msgid "Enter description for this test" msgstr "" -#: part/models.py:2112 templates/js/part.js:726 -#: templates/js/table_filters.js:227 +#: part/models.py:2137 templates/js/part.js:726 +#: templates/js/table_filters.js:232 msgid "Required" msgstr "" -#: part/models.py:2113 +#: part/models.py:2138 msgid "Is this test required to pass?" msgstr "" -#: part/models.py:2118 templates/js/part.js:734 +#: part/models.py:2143 templates/js/part.js:734 msgid "Requires Value" msgstr "" -#: part/models.py:2119 +#: part/models.py:2144 msgid "Does this test require a value when adding a test result?" msgstr "" -#: part/models.py:2124 templates/js/part.js:741 +#: part/models.py:2149 templates/js/part.js:741 msgid "Requires Attachment" msgstr "" -#: part/models.py:2125 +#: part/models.py:2150 msgid "Does this test require a file attachment when adding a test result?" msgstr "" -#: part/models.py:2158 +#: part/models.py:2187 msgid "Parameter template name must be unique" msgstr "" -#: part/models.py:2163 +#: part/models.py:2192 msgid "Parameter Name" msgstr "" -#: part/models.py:2165 +#: part/models.py:2194 msgid "Parameter Units" msgstr "" -#: part/models.py:2193 part/models.py:2242 part/models.py:2243 +#: part/models.py:2226 part/models.py:2275 part/models.py:2276 #: templates/InvenTree/settings/category.html:62 msgid "Parameter Template" msgstr "" -#: part/models.py:2195 +#: part/models.py:2228 msgid "Data" msgstr "" -#: part/models.py:2195 +#: part/models.py:2228 msgid "Parameter Value" msgstr "" -#: part/models.py:2247 templates/InvenTree/settings/category.html:67 +#: part/models.py:2280 templates/InvenTree/settings/category.html:67 msgid "Default Value" msgstr "" -#: part/models.py:2248 +#: part/models.py:2281 msgid "Default Parameter Value" msgstr "" -#: part/models.py:2278 +#: part/models.py:2315 msgid "Select parent part" msgstr "" -#: part/models.py:2287 +#: part/models.py:2324 msgid "Select part to be used in BOM" msgstr "" -#: part/models.py:2293 +#: part/models.py:2330 msgid "BOM quantity for this BOM item" msgstr "" -#: part/models.py:2295 templates/js/bom.js:216 templates/js/bom.js:278 +#: part/models.py:2332 templates/js/bom.js:216 templates/js/bom.js:278 msgid "Optional" msgstr "" -#: part/models.py:2295 +#: part/models.py:2332 msgid "This BOM item is optional" msgstr "" -#: part/models.py:2298 +#: part/models.py:2335 msgid "Overage" msgstr "" -#: part/models.py:2299 +#: part/models.py:2336 msgid "Estimated build wastage quantity (absolute or percentage)" msgstr "" -#: part/models.py:2302 +#: part/models.py:2339 msgid "BOM item reference" msgstr "" -#: part/models.py:2305 +#: part/models.py:2342 msgid "BOM item notes" msgstr "" -#: part/models.py:2307 +#: part/models.py:2344 msgid "Checksum" msgstr "" -#: part/models.py:2307 +#: part/models.py:2344 msgid "BOM line checksum" msgstr "" -#: part/models.py:2311 templates/js/bom.js:295 templates/js/bom.js:302 +#: part/models.py:2348 templates/js/bom.js:295 templates/js/bom.js:302 #: templates/js/table_filters.js:51 msgid "Inherited" msgstr "" -#: part/models.py:2312 +#: part/models.py:2349 msgid "This BOM item is inherited by BOMs for variant parts" msgstr "" -#: part/models.py:2317 templates/js/bom.js:287 +#: part/models.py:2354 templates/js/bom.js:287 msgid "Allow Variants" msgstr "" -#: part/models.py:2318 +#: part/models.py:2355 msgid "Stock items for variant parts can be used for this BOM item" msgstr "" -#: part/models.py:2394 part/views.py:1859 part/views.py:1911 -#: stock/models.py:290 +#: part/models.py:2431 part/views.py:1736 part/views.py:1788 +#: stock/models.py:298 msgid "Quantity must be integer value for trackable parts" msgstr "" -#: part/models.py:2403 part/models.py:2405 +#: part/models.py:2440 part/models.py:2442 msgid "Sub part must be specified" msgstr "" -#: part/models.py:2408 +#: part/models.py:2445 msgid "BOM Item" msgstr "" -#: part/models.py:2527 +#: part/models.py:2564 msgid "Part 1" msgstr "" -#: part/models.py:2531 +#: part/models.py:2568 msgid "Part 2" msgstr "" -#: part/models.py:2531 +#: part/models.py:2568 msgid "Select Related Part" msgstr "" -#: part/models.py:2563 +#: part/models.py:2600 msgid "Error creating relationship: check that the part is not related to itself and that the relationship is unique" msgstr "" @@ -4247,14 +4197,6 @@ msgstr "" msgid "Part Attachments" msgstr "" -#: part/templates/part/bom-delete.html:6 -msgid "Are you sure you want to delete this BOM item?" -msgstr "" - -#: part/templates/part/bom-delete.html:8 -msgid "Deleting this entry will remove the BOM row from the following part" -msgstr "" - #: part/templates/part/bom.html:10 part/templates/part/navbar.html:51 #: part/templates/part/navbar.html:54 msgid "Bill of Materials" @@ -4303,7 +4245,7 @@ msgstr "" msgid "Validate Bill of Materials" msgstr "" -#: part/templates/part/bom.html:61 part/views.py:2154 +#: part/templates/part/bom.html:61 part/views.py:2031 msgid "Export Bill of Materials" msgstr "" @@ -4319,8 +4261,8 @@ msgstr "" msgid "All selected BOM items will be deleted" msgstr "" -#: part/templates/part/bom.html:160 part/views.py:590 -#: templates/js/stock.js:1313 +#: part/templates/part/bom.html:160 part/views.py:450 +#: templates/js/stock.js:1327 msgid "Create New Part" msgstr "" @@ -4401,7 +4343,7 @@ msgstr "" msgid "All parts" msgstr "" -#: part/templates/part/category.html:38 part/views.py:2564 +#: part/templates/part/category.html:38 part/views.py:2441 msgid "Create new part category" msgstr "" @@ -4461,11 +4403,12 @@ msgid "View grid display" msgstr "" #: part/templates/part/category.html:218 -#: stock/templates/stock/location.html:192 templates/js/stock.js:737 +#: stock/templates/stock/location.html:192 templates/js/stock.js:751 msgid "Create new location" msgstr "" #: part/templates/part/category.html:223 part/templates/part/category.html:253 +#: part/templates/part/part_base.html:378 msgid "New Category" msgstr "" @@ -4477,10 +4420,18 @@ msgstr "" msgid "Create new Part Category" msgstr "" -#: part/templates/part/category.html:260 stock/views.py:1391 +#: part/templates/part/category.html:260 stock/views.py:1223 msgid "Create new Stock Location" msgstr "" +#: part/templates/part/category.html:279 +msgid "Select parent category" +msgstr "" + +#: part/templates/part/category.html:286 part/views.py:2389 +msgid "Edit Part Category" +msgstr "" + #: part/templates/part/category_delete.html:5 msgid "Are you sure you want to delete category" msgstr "" @@ -4526,7 +4477,7 @@ msgstr "" msgid "Part Parameters" msgstr "" -#: part/templates/part/copy_part.html:9 part/views.py:466 +#: part/templates/part/copy_part.html:9 part/views.py:326 msgid "Duplicate Part" msgstr "" @@ -4639,36 +4590,6 @@ msgstr "" msgid "Import Parts from File" msgstr "" -#: part/templates/part/internal_prices.html:11 -#: part/templates/part/navbar.html:101 -msgid "Internal Price Information" -msgstr "" - -#: part/templates/part/internal_prices.html:19 part/views.py:2989 -msgid "Add Internal Price Break" -msgstr "" - -#: part/templates/part/internal_prices.html:28 templates/403.html:5 -#: templates/403.html:11 -msgid "Permission Denied" -msgstr "" - -#: part/templates/part/internal_prices.html:31 templates/403.html:14 -msgid "You do not have permission to view this page." -msgstr "" - -#: part/templates/part/internal_prices.html:59 -msgid "No internal price break information found" -msgstr "" - -#: part/templates/part/internal_prices.html:110 -msgid "Edit internal price break" -msgstr "" - -#: part/templates/part/internal_prices.html:111 -msgid "Delete internal price break" -msgstr "" - #: part/templates/part/manufacturer.html:11 msgid "Part Manufacturers" msgstr "" @@ -4678,7 +4599,7 @@ msgid "Delete manufacturer parts" msgstr "" #: part/templates/part/manufacturer.html:53 -#: part/templates/part/supplier.html:57 +#: part/templates/part/supplier.html:56 msgid "Create new manufacturer" msgstr "" @@ -4702,125 +4623,27 @@ msgstr "" msgid "Used In" msgstr "" -#: part/templates/part/navbar.html:75 part/templates/part/order_prices.html:12 -msgid "Order Price Information" +#: part/templates/part/navbar.html:77 +msgid "Prices" msgstr "" -#: part/templates/part/navbar.html:78 -msgid "Order Price" -msgstr "" - -#: part/templates/part/navbar.html:104 part/templates/part/order_prices.html:94 -#: part/templates/part/part_pricing.html:82 -msgid "Internal Price" -msgstr "" - -#: part/templates/part/navbar.html:107 -msgid "Sales Price Information" -msgstr "" - -#: part/templates/part/navbar.html:121 part/templates/part/part_tests.html:10 +#: part/templates/part/navbar.html:109 part/templates/part/part_tests.html:10 msgid "Part Test Templates" msgstr "" -#: part/templates/part/navbar.html:124 stock/templates/stock/item_base.html:414 +#: part/templates/part/navbar.html:112 stock/templates/stock/item_base.html:414 msgid "Tests" msgstr "" -#: part/templates/part/navbar.html:129 part/templates/part/navbar.html:132 +#: part/templates/part/navbar.html:117 part/templates/part/navbar.html:120 #: part/templates/part/related.html:10 msgid "Related Parts" msgstr "" -#: part/templates/part/navbar.html:142 part/templates/part/notes.html:12 +#: part/templates/part/navbar.html:130 part/templates/part/notes.html:12 msgid "Part Notes" msgstr "" -#: part/templates/part/order_prices.html:25 -#: part/templates/part/part_base.html:282 -msgid "Calculate" -msgstr "" - -#: part/templates/part/order_prices.html:32 -msgid "Pricing ranges" -msgstr "" - -#: part/templates/part/order_prices.html:37 -#: part/templates/part/part_pricing.html:22 -msgid "Supplier Pricing" -msgstr "" - -#: part/templates/part/order_prices.html:38 -#: part/templates/part/order_prices.html:63 -#: part/templates/part/order_prices.html:95 -#: part/templates/part/order_prices.html:109 -#: part/templates/part/part_pricing.html:26 -#: part/templates/part/part_pricing.html:52 -#: part/templates/part/part_pricing.html:85 -#: part/templates/part/part_pricing.html:100 -msgid "Unit Cost" -msgstr "" - -#: part/templates/part/order_prices.html:45 -#: part/templates/part/order_prices.html:70 -#: part/templates/part/order_prices.html:100 -#: part/templates/part/order_prices.html:114 -#: part/templates/part/part_pricing.html:32 -#: part/templates/part/part_pricing.html:58 -#: part/templates/part/part_pricing.html:89 -#: part/templates/part/part_pricing.html:104 -msgid "Total Cost" -msgstr "" - -#: part/templates/part/order_prices.html:53 -#: part/templates/part/part_pricing.html:40 -msgid "No supplier pricing available" -msgstr "" - -#: part/templates/part/order_prices.html:62 -#: part/templates/part/order_prices.html:129 -#: part/templates/part/part_pricing.html:48 -msgid "BOM Pricing" -msgstr "" - -#: part/templates/part/order_prices.html:78 -#: part/templates/part/part_pricing.html:66 -msgid "Note: BOM pricing is incomplete for this part" -msgstr "" - -#: part/templates/part/order_prices.html:85 -#: part/templates/part/part_pricing.html:73 -msgid "No BOM pricing available" -msgstr "" - -#: part/templates/part/order_prices.html:123 -#: part/templates/part/part_pricing.html:113 -msgid "No pricing information is available for this part." -msgstr "" - -#: part/templates/part/order_prices.html:139 -msgid "Stock Pricing" -msgstr "" - -#: part/templates/part/order_prices.html:147 -msgid "No stock pricing history is available for this part." -msgstr "" - -#: part/templates/part/order_prices.html:166 -#, python-format -msgid "Single Price - %(currency)s" -msgstr "" - -#: part/templates/part/order_prices.html:178 -#, python-format -msgid "Single Price Difference - %(currency)s" -msgstr "" - -#: part/templates/part/order_prices.html:190 -#, python-format -msgid "Part Single Price - %(currency)s" -msgstr "" - #: part/templates/part/params.html:17 msgid "Add new parameter" msgstr "" @@ -4841,8 +4664,8 @@ msgstr "" msgid "Part List" msgstr "" -#: part/templates/part/part_base.html:26 templates/js/company.js:156 -#: templates/js/company.js:355 templates/js/part.js:84 templates/js/part.js:161 +#: part/templates/part/part_base.html:26 templates/js/company.js:280 +#: templates/js/company.js:480 templates/js/part.js:84 templates/js/part.js:161 msgid "Inactive" msgstr "" @@ -4905,7 +4728,7 @@ msgstr "" msgid "In Stock" msgstr "" -#: part/templates/part/part_base.html:143 templates/InvenTree/index.html:131 +#: part/templates/part/part_base.html:143 templates/InvenTree/index.html:132 msgid "Required for Build Orders" msgstr "" @@ -4926,10 +4749,86 @@ msgstr "" msgid "Building" msgstr "" +#: part/templates/part/part_base.html:285 part/templates/part/prices.html:131 +msgid "Calculate" +msgstr "" + +#: part/templates/part/part_base.html:379 +msgid "Create New Part Category" +msgstr "" + +#: part/templates/part/part_base.html:387 +msgid "New Parent" +msgstr "" + +#: part/templates/part/part_base.html:435 +msgid "Edit Part" +msgstr "" + +#: part/templates/part/part_pricing.html:22 part/templates/part/prices.html:27 +msgid "Supplier Pricing" +msgstr "" + +#: part/templates/part/part_pricing.html:26 +#: part/templates/part/part_pricing.html:52 +#: part/templates/part/part_pricing.html:85 +#: part/templates/part/part_pricing.html:100 part/templates/part/prices.html:31 +#: part/templates/part/prices.html:58 part/templates/part/prices.html:90 +#: part/templates/part/prices.html:107 +msgid "Unit Cost" +msgstr "" + +#: part/templates/part/part_pricing.html:32 +#: part/templates/part/part_pricing.html:58 +#: part/templates/part/part_pricing.html:89 +#: part/templates/part/part_pricing.html:104 part/templates/part/prices.html:38 +#: part/templates/part/prices.html:65 part/templates/part/prices.html:95 +#: part/templates/part/prices.html:112 +msgid "Total Cost" +msgstr "" + +#: part/templates/part/part_pricing.html:40 part/templates/part/prices.html:46 +msgid "No supplier pricing available" +msgstr "" + +#: part/templates/part/part_pricing.html:48 part/templates/part/prices.html:55 +#: part/templates/part/prices.html:235 +msgid "BOM Pricing" +msgstr "" + +#: part/templates/part/part_pricing.html:66 part/templates/part/prices.html:73 +msgid "Note: BOM pricing is incomplete for this part" +msgstr "" + +#: part/templates/part/part_pricing.html:73 part/templates/part/prices.html:80 +msgid "No BOM pricing available" +msgstr "" + +#: part/templates/part/part_pricing.html:82 part/templates/part/prices.html:89 +msgid "Internal Price" +msgstr "" + +#: part/templates/part/part_pricing.html:113 +#: part/templates/part/prices.html:121 +msgid "No pricing information is available for this part." +msgstr "" + #: part/templates/part/part_tests.html:17 msgid "Add Test Template" msgstr "" +#: part/templates/part/part_tests.html:61 +msgid "Add Test Result Template" +msgstr "" + +#: part/templates/part/part_tests.html:79 +msgid "Edit Test Result Template" +msgstr "" + +#: part/templates/part/part_tests.html:91 +msgid "Delete Test Result Template" +msgstr "" + #: part/templates/part/part_thumb.html:20 msgid "Select from existing images" msgstr "" @@ -4964,12 +4863,98 @@ msgstr "" msgid "There are %(count)s unique parts tracked for '%(full_name)s'. Deleting this part will permanently remove this tracking information." msgstr "" -#: part/templates/part/related.html:18 -msgid "Add Related" +#: part/templates/part/prices.html:12 +msgid "General Price Information" msgstr "" -#: part/templates/part/sale_prices.html:10 -msgid "Sell Price Information" +#: part/templates/part/prices.html:22 +msgid "Pricing ranges" +msgstr "" + +#: part/templates/part/prices.html:28 +msgid "Show supplier cost" +msgstr "" + +#: part/templates/part/prices.html:29 +msgid "Show purchase price" +msgstr "" + +#: part/templates/part/prices.html:56 +msgid "Show BOM cost" +msgstr "" + +#: part/templates/part/prices.html:104 +msgid "Show sale cost" +msgstr "" + +#: part/templates/part/prices.html:105 +msgid "Show sale price" +msgstr "" + +#: part/templates/part/prices.html:127 +msgid "Calculation parameters" +msgstr "" + +#: part/templates/part/prices.html:146 +msgid "Supplier Cost" +msgstr "" + +#: part/templates/part/prices.html:147 part/templates/part/prices.html:167 +#: part/templates/part/prices.html:193 part/templates/part/prices.html:224 +#: part/templates/part/prices.html:251 part/templates/part/prices.html:279 +msgid "Jump to overview" +msgstr "" + +#: part/templates/part/prices.html:172 +msgid "Stock Pricing" +msgstr "" + +#: part/templates/part/prices.html:180 +msgid "No stock pricing history is available for this part." +msgstr "" + +#: part/templates/part/prices.html:192 +msgid "Internal Cost" +msgstr "" + +#: part/templates/part/prices.html:206 part/views.py:2859 +msgid "Add Internal Price Break" +msgstr "" + +#: part/templates/part/prices.html:223 +msgid "BOM Cost" +msgstr "" + +#: part/templates/part/prices.html:250 +msgid "Sale Cost" +msgstr "" + +#: part/templates/part/prices.html:290 +msgid "No sale pice history available for this part." +msgstr "" + +#: part/templates/part/prices.html:340 +#, python-format +msgid "Single Price - %(currency)s" +msgstr "" + +#: part/templates/part/prices.html:352 +#, python-format +msgid "Single Price Difference - %(currency)s" +msgstr "" + +#: part/templates/part/prices.html:364 +#, python-format +msgid "Part Single Price - %(currency)s" +msgstr "" + +#: part/templates/part/prices.html:464 +#, python-format +msgid "Unit Price - %(currency)s" +msgstr "" + +#: part/templates/part/related.html:18 +msgid "Add Related" msgstr "" #: part/templates/part/sales_orders.html:18 @@ -5043,216 +5028,180 @@ msgstr "" msgid "Delete Related Part" msgstr "" -#: part/views.py:164 -msgid "Add part attachment" -msgstr "" - -#: part/views.py:217 templates/attachment_table.html:32 -msgid "Edit attachment" -msgstr "" - -#: part/views.py:221 -msgid "Part attachment updated" -msgstr "" - -#: part/views.py:236 -msgid "Delete Part Attachment" -msgstr "" - -#: part/views.py:244 -msgid "Deleted part attachment" -msgstr "" - -#: part/views.py:253 -msgid "Create Test Template" -msgstr "" - -#: part/views.py:280 -msgid "Edit Test Template" -msgstr "" - -#: part/views.py:294 -msgid "Delete Test Template" -msgstr "" - -#: part/views.py:301 +#: part/views.py:161 msgid "Set Part Category" msgstr "" -#: part/views.py:351 +#: part/views.py:211 #, python-brace-format msgid "Set category for {n} parts" msgstr "" -#: part/views.py:386 +#: part/views.py:246 msgid "Create Variant" msgstr "" -#: part/views.py:471 +#: part/views.py:331 msgid "Copied part" msgstr "" -#: part/views.py:525 part/views.py:663 +#: part/views.py:385 part/views.py:523 msgid "Possible matches exist - confirm creation of new part" msgstr "" -#: part/views.py:595 +#: part/views.py:455 msgid "Created new part" msgstr "" -#: part/views.py:763 +#: part/views.py:623 msgid "Match References" msgstr "" -#: part/views.py:1092 +#: part/views.py:925 +msgid "None" +msgstr "" + +#: part/views.py:984 msgid "Part QR Code" msgstr "" -#: part/views.py:1194 -msgid "Upload Part Image" -msgstr "" - -#: part/views.py:1200 part/views.py:1235 -msgid "Updated part image" -msgstr "" - -#: part/views.py:1209 +#: part/views.py:1086 msgid "Select Part Image" msgstr "" -#: part/views.py:1238 +#: part/views.py:1112 +msgid "Updated part image" +msgstr "" + +#: part/views.py:1115 msgid "Part image not found" msgstr "" -#: part/views.py:1249 +#: part/views.py:1126 msgid "Edit Part Properties" msgstr "" -#: part/views.py:1284 +#: part/views.py:1161 msgid "Duplicate BOM" msgstr "" -#: part/views.py:1314 +#: part/views.py:1191 msgid "Confirm duplication of BOM from parent" msgstr "" -#: part/views.py:1335 +#: part/views.py:1212 msgid "Validate BOM" msgstr "" -#: part/views.py:1356 +#: part/views.py:1233 msgid "Confirm that the BOM is valid" msgstr "" -#: part/views.py:1367 +#: part/views.py:1244 msgid "Validated Bill of Materials" msgstr "" -#: part/views.py:1501 +#: part/views.py:1378 msgid "No BOM file provided" msgstr "" -#: part/views.py:1862 +#: part/views.py:1739 msgid "Enter a valid quantity" msgstr "" -#: part/views.py:1887 part/views.py:1890 +#: part/views.py:1764 part/views.py:1767 msgid "Select valid part" msgstr "" -#: part/views.py:1896 +#: part/views.py:1773 msgid "Duplicate part selected" msgstr "" -#: part/views.py:1934 +#: part/views.py:1811 msgid "Select a part" msgstr "" -#: part/views.py:1940 +#: part/views.py:1817 msgid "Selected part creates a circular BOM" msgstr "" -#: part/views.py:1944 +#: part/views.py:1821 msgid "Specify quantity" msgstr "" -#: part/views.py:2206 +#: part/views.py:2083 msgid "Confirm Part Deletion" msgstr "" -#: part/views.py:2213 +#: part/views.py:2090 msgid "Part was deleted" msgstr "" -#: part/views.py:2222 +#: part/views.py:2099 msgid "Part Pricing" msgstr "" -#: part/views.py:2363 +#: part/views.py:2240 msgid "Create Part Parameter Template" msgstr "" -#: part/views.py:2373 +#: part/views.py:2250 msgid "Edit Part Parameter Template" msgstr "" -#: part/views.py:2380 +#: part/views.py:2257 msgid "Delete Part Parameter Template" msgstr "" -#: part/views.py:2388 +#: part/views.py:2265 msgid "Create Part Parameter" msgstr "" -#: part/views.py:2438 +#: part/views.py:2315 msgid "Edit Part Parameter" msgstr "" -#: part/views.py:2452 +#: part/views.py:2329 msgid "Delete Part Parameter" msgstr "" -#: part/views.py:2512 -msgid "Edit Part Category" -msgstr "" - -#: part/views.py:2550 +#: part/views.py:2427 msgid "Delete Part Category" msgstr "" -#: part/views.py:2556 +#: part/views.py:2433 msgid "Part category was deleted" msgstr "" -#: part/views.py:2608 +#: part/views.py:2485 msgid "Create Category Parameter Template" msgstr "" -#: part/views.py:2709 +#: part/views.py:2586 msgid "Edit Category Parameter Template" msgstr "" -#: part/views.py:2765 +#: part/views.py:2642 msgid "Delete Category Parameter Template" msgstr "" -#: part/views.py:2784 +#: part/views.py:2661 msgid "Create BOM Item" msgstr "" -#: part/views.py:2854 +#: part/views.py:2731 msgid "Edit BOM item" msgstr "" -#: part/views.py:2910 -msgid "Confim BOM item deletion" +#: part/views.py:2792 +msgid "Added new price break" msgstr "" -#: part/views.py:2998 +#: part/views.py:2868 msgid "Edit Internal Price Break" msgstr "" -#: part/views.py:3006 +#: part/views.py:2876 msgid "Delete Internal Price Break" msgstr "" @@ -5358,17 +5307,17 @@ msgid "Test Results" msgstr "" #: report/templates/report/inventree_test_report_base.html:88 -#: stock/models.py:1739 +#: stock/models.py:1759 msgid "Test" msgstr "" #: report/templates/report/inventree_test_report_base.html:89 -#: stock/models.py:1745 +#: stock/models.py:1765 msgid "Result" msgstr "" #: report/templates/report/inventree_test_report_base.html:92 -#: templates/js/order.js:195 templates/js/stock.js:1012 +#: templates/js/order.js:257 templates/js/stock.js:1026 msgid "Date" msgstr "" @@ -5380,287 +5329,287 @@ msgstr "" msgid "Fail" msgstr "" -#: stock/api.py:212 +#: stock/api.py:211 #, python-brace-format msgid "Updated stock for {n} items" msgstr "" -#: stock/api.py:281 +#: stock/api.py:280 #, python-brace-format msgid "Moved {n} parts to {loc}" msgstr "" -#: stock/forms.py:114 stock/forms.py:418 stock/models.py:505 +#: stock/forms.py:81 stock/forms.py:385 stock/models.py:513 #: stock/templates/stock/item_base.html:381 templates/js/stock.js:658 msgid "Expiry Date" msgstr "" -#: stock/forms.py:115 stock/forms.py:419 +#: stock/forms.py:82 stock/forms.py:386 msgid "Expiration date for this stock item" msgstr "" -#: stock/forms.py:118 +#: stock/forms.py:85 msgid "Enter unique serial numbers (or leave blank)" msgstr "" -#: stock/forms.py:169 +#: stock/forms.py:136 msgid "Destination for serialized stock (by default, will remain in current location)" msgstr "" -#: stock/forms.py:171 +#: stock/forms.py:138 msgid "Serial numbers" msgstr "" -#: stock/forms.py:171 +#: stock/forms.py:138 msgid "Unique serial numbers (must match quantity)" msgstr "" -#: stock/forms.py:173 stock/forms.py:349 +#: stock/forms.py:140 stock/forms.py:316 msgid "Add transaction note (optional)" msgstr "" -#: stock/forms.py:203 stock/forms.py:259 +#: stock/forms.py:170 stock/forms.py:226 msgid "Select test report template" msgstr "" -#: stock/forms.py:267 templates/js/table_filters.js:75 +#: stock/forms.py:234 templates/js/table_filters.js:75 #: templates/js/table_filters.js:138 msgid "Include sublocations" msgstr "" -#: stock/forms.py:267 +#: stock/forms.py:234 msgid "Include stock items in sub locations" msgstr "" -#: stock/forms.py:302 +#: stock/forms.py:269 msgid "Stock item to install" msgstr "" -#: stock/forms.py:309 +#: stock/forms.py:276 msgid "Stock quantity to assign" msgstr "" -#: stock/forms.py:337 +#: stock/forms.py:304 msgid "Must not exceed available quantity" msgstr "" -#: stock/forms.py:347 +#: stock/forms.py:314 msgid "Destination location for uninstalled items" msgstr "" -#: stock/forms.py:351 +#: stock/forms.py:318 msgid "Confirm uninstall" msgstr "" -#: stock/forms.py:351 +#: stock/forms.py:318 msgid "Confirm removal of installed stock items" msgstr "" -#: stock/forms.py:375 +#: stock/forms.py:342 msgid "Destination stock location" msgstr "" -#: stock/forms.py:377 +#: stock/forms.py:344 msgid "Add note (required)" msgstr "" -#: stock/forms.py:381 stock/views.py:852 stock/views.py:1051 +#: stock/forms.py:348 stock/views.py:705 stock/views.py:904 msgid "Confirm stock adjustment" msgstr "" -#: stock/forms.py:381 +#: stock/forms.py:348 msgid "Confirm movement of stock items" msgstr "" -#: stock/forms.py:383 +#: stock/forms.py:350 msgid "Set Default Location" msgstr "" -#: stock/forms.py:383 +#: stock/forms.py:350 msgid "Set the destination as the default location for selected parts" msgstr "" -#: stock/models.py:52 stock/models.py:542 +#: stock/models.py:56 stock/models.py:550 msgid "Owner" msgstr "" -#: stock/models.py:53 stock/models.py:543 +#: stock/models.py:57 stock/models.py:551 msgid "Select Owner" msgstr "" -#: stock/models.py:271 +#: stock/models.py:279 msgid "StockItem with this serial number already exists" msgstr "" -#: stock/models.py:307 +#: stock/models.py:315 #, python-brace-format msgid "Part type ('{pf}') must be {pe}" msgstr "" -#: stock/models.py:317 stock/models.py:326 +#: stock/models.py:325 stock/models.py:334 msgid "Quantity must be 1 for item with a serial number" msgstr "" -#: stock/models.py:318 +#: stock/models.py:326 msgid "Serial number cannot be set if quantity greater than 1" msgstr "" -#: stock/models.py:340 +#: stock/models.py:348 msgid "Item cannot belong to itself" msgstr "" -#: stock/models.py:346 +#: stock/models.py:354 msgid "Item must have a build reference if is_building=True" msgstr "" -#: stock/models.py:353 +#: stock/models.py:361 msgid "Build reference does not point to the same part object" msgstr "" -#: stock/models.py:395 +#: stock/models.py:403 msgid "Parent Stock Item" msgstr "" -#: stock/models.py:404 +#: stock/models.py:412 msgid "Base part" msgstr "" -#: stock/models.py:413 +#: stock/models.py:421 msgid "Select a matching supplier part for this stock item" msgstr "" -#: stock/models.py:418 stock/templates/stock/stock_app_base.html:8 +#: stock/models.py:426 stock/templates/stock/stock_app_base.html:8 msgid "Stock Location" msgstr "" -#: stock/models.py:421 +#: stock/models.py:429 msgid "Where is this stock item located?" msgstr "" -#: stock/models.py:428 +#: stock/models.py:436 msgid "Packaging this stock item is stored in" msgstr "" -#: stock/models.py:433 stock/templates/stock/item_base.html:270 +#: stock/models.py:441 stock/templates/stock/item_base.html:270 msgid "Installed In" msgstr "" -#: stock/models.py:436 +#: stock/models.py:444 msgid "Is this item installed in another item?" msgstr "" -#: stock/models.py:452 +#: stock/models.py:460 msgid "Serial number for this item" msgstr "" -#: stock/models.py:464 +#: stock/models.py:472 msgid "Batch code for this stock item" msgstr "" -#: stock/models.py:468 +#: stock/models.py:476 msgid "Stock Quantity" msgstr "" -#: stock/models.py:477 +#: stock/models.py:485 msgid "Source Build" msgstr "" -#: stock/models.py:479 +#: stock/models.py:487 msgid "Build for this stock item" msgstr "" -#: stock/models.py:490 +#: stock/models.py:498 msgid "Source Purchase Order" msgstr "" -#: stock/models.py:493 +#: stock/models.py:501 msgid "Purchase order for this stock item" msgstr "" -#: stock/models.py:499 +#: stock/models.py:507 msgid "Destination Sales Order" msgstr "" -#: stock/models.py:506 +#: stock/models.py:514 msgid "Expiry date for stock item. Stock will be considered expired after this date" msgstr "" -#: stock/models.py:519 +#: stock/models.py:527 msgid "Delete on deplete" msgstr "" -#: stock/models.py:519 +#: stock/models.py:527 msgid "Delete this Stock Item when stock is depleted" msgstr "" -#: stock/models.py:529 stock/templates/stock/item_notes.html:13 +#: stock/models.py:537 stock/templates/stock/item_notes.html:13 #: stock/templates/stock/navbar.html:54 msgid "Stock Item Notes" msgstr "" -#: stock/models.py:538 +#: stock/models.py:546 msgid "Single unit purchase price at time of purchase" msgstr "" -#: stock/models.py:1006 +#: stock/models.py:1014 msgid "Part is not set as trackable" msgstr "" -#: stock/models.py:1012 +#: stock/models.py:1020 msgid "Quantity must be integer" msgstr "" -#: stock/models.py:1018 +#: stock/models.py:1026 #, python-brace-format msgid "Quantity must not exceed available stock quantity ({n})" msgstr "" -#: stock/models.py:1021 +#: stock/models.py:1029 msgid "Serial numbers must be a list of integers" msgstr "" -#: stock/models.py:1024 +#: stock/models.py:1032 msgid "Quantity does not match serial numbers" msgstr "" -#: stock/models.py:1031 +#: stock/models.py:1039 #, python-brace-format msgid "Serial numbers already exist: {exists}" msgstr "" -#: stock/models.py:1189 +#: stock/models.py:1197 msgid "StockItem cannot be moved as it is not in stock" msgstr "" -#: stock/models.py:1663 +#: stock/models.py:1679 msgid "Entry notes" msgstr "" -#: stock/models.py:1716 +#: stock/models.py:1736 msgid "Value must be provided for this test" msgstr "" -#: stock/models.py:1722 +#: stock/models.py:1742 msgid "Attachment must be uploaded for this test" msgstr "" -#: stock/models.py:1740 +#: stock/models.py:1760 msgid "Test name" msgstr "" -#: stock/models.py:1746 templates/js/table_filters.js:217 +#: stock/models.py:1766 templates/js/table_filters.js:222 msgid "Test result" msgstr "" -#: stock/models.py:1752 +#: stock/models.py:1772 msgid "Test output value" msgstr "" -#: stock/models.py:1759 +#: stock/models.py:1779 msgid "Test result attachment" msgstr "" -#: stock/models.py:1765 +#: stock/models.py:1785 msgid "Test notes" msgstr "" @@ -5850,6 +5799,10 @@ msgstr "" msgid "No stocktake performed" msgstr "" +#: stock/templates/stock/item_base.html:499 +msgid "Edit Stock Status" +msgstr "" + #: stock/templates/stock/item_childs.html:12 msgid "Child Stock Items" msgstr "" @@ -5909,6 +5862,19 @@ msgstr "" msgid "Add Test Data" msgstr "" +#: stock/templates/stock/item_tests.html:86 +#: stock/templates/stock/item_tests.html:111 +msgid "Add Test Result" +msgstr "" + +#: stock/templates/stock/item_tests.html:131 +msgid "Edit Test Result" +msgstr "" + +#: stock/templates/stock/item_tests.html:145 +msgid "Delete Test Result" +msgstr "" + #: stock/templates/stock/location.html:20 msgid "You are not in the list of owners of this location. This stock location cannot be edited." msgstr "" @@ -5957,7 +5923,7 @@ msgid "Stock Details" msgstr "" #: stock/templates/stock/location.html:117 templates/InvenTree/search.html:279 -#: templates/stats.html:97 users/models.py:41 +#: templates/stats.html:97 users/models.py:42 msgid "Stock Locations" msgstr "" @@ -5997,7 +5963,7 @@ msgstr "" msgid "The following stock items will be uninstalled" msgstr "" -#: stock/templates/stock/stockitem_convert.html:7 stock/views.py:1364 +#: stock/templates/stock/stockitem_convert.html:7 stock/views.py:1196 msgid "Convert Stock Item" msgstr "" @@ -6030,8 +5996,8 @@ msgstr "" msgid "Edit Stock Location" msgstr "" -#: stock/views.py:230 stock/views.py:1343 stock/views.py:1465 -#: stock/views.py:1830 +#: stock/views.py:230 stock/views.py:1175 stock/views.py:1297 +#: stock/views.py:1662 msgid "Owner is required (ownership control is enabled)" msgstr "" @@ -6039,208 +6005,188 @@ msgstr "" msgid "Stock Location QR code" msgstr "" -#: stock/views.py:265 -msgid "Add Stock Item Attachment" -msgstr "" - -#: stock/views.py:311 -msgid "Edit Stock Item Attachment" -msgstr "" - -#: stock/views.py:327 -msgid "Delete Stock Item Attachment" -msgstr "" - -#: stock/views.py:343 +#: stock/views.py:264 msgid "Assign to Customer" msgstr "" -#: stock/views.py:352 +#: stock/views.py:273 msgid "Customer must be specified" msgstr "" -#: stock/views.py:376 +#: stock/views.py:297 msgid "Return to Stock" msgstr "" -#: stock/views.py:385 +#: stock/views.py:306 msgid "Specify a valid location" msgstr "" -#: stock/views.py:396 +#: stock/views.py:317 msgid "Stock item returned from customer" msgstr "" -#: stock/views.py:407 +#: stock/views.py:328 msgid "Delete All Test Data" msgstr "" -#: stock/views.py:424 +#: stock/views.py:345 msgid "Confirm test data deletion" msgstr "" -#: stock/views.py:444 -msgid "Add Test Result" -msgstr "" - -#: stock/views.py:484 -msgid "Edit Test Result" -msgstr "" - -#: stock/views.py:501 -msgid "Delete Test Result" -msgstr "" - -#: stock/views.py:509 +#: stock/views.py:362 msgid "Stock Export Options" msgstr "" -#: stock/views.py:630 +#: stock/views.py:483 msgid "Stock Item QR Code" msgstr "" -#: stock/views.py:656 +#: stock/views.py:509 msgid "Install Stock Item" msgstr "" -#: stock/views.py:755 +#: stock/views.py:608 msgid "Uninstall Stock Items" msgstr "" -#: stock/views.py:863 +#: stock/views.py:716 msgid "Uninstalled stock items" msgstr "" -#: stock/views.py:888 +#: stock/views.py:741 msgid "Adjust Stock" msgstr "" -#: stock/views.py:998 +#: stock/views.py:851 msgid "Move Stock Items" msgstr "" -#: stock/views.py:998 +#: stock/views.py:851 msgid "Move" msgstr "" -#: stock/views.py:999 +#: stock/views.py:852 msgid "Count Stock Items" msgstr "" -#: stock/views.py:999 +#: stock/views.py:852 msgid "Count" msgstr "" -#: stock/views.py:1000 +#: stock/views.py:853 msgid "Remove From Stock" msgstr "" -#: stock/views.py:1000 +#: stock/views.py:853 msgid "Take" msgstr "" -#: stock/views.py:1001 +#: stock/views.py:854 msgid "Add Stock Items" msgstr "" -#: stock/views.py:1001 users/models.py:187 +#: stock/views.py:854 users/models.py:188 msgid "Add" msgstr "" -#: stock/views.py:1002 +#: stock/views.py:855 msgid "Delete Stock Items" msgstr "" -#: stock/views.py:1031 +#: stock/views.py:884 msgid "Must enter integer value" msgstr "" -#: stock/views.py:1036 +#: stock/views.py:889 msgid "Quantity must be positive" msgstr "" -#: stock/views.py:1043 +#: stock/views.py:896 #, python-brace-format msgid "Quantity must not exceed {x}" msgstr "" -#: stock/views.py:1107 +#: stock/views.py:960 msgid "No action performed" msgstr "" -#: stock/views.py:1122 +#: stock/views.py:975 #, python-brace-format msgid "Added stock to {n} items" msgstr "" -#: stock/views.py:1137 +#: stock/views.py:990 #, python-brace-format msgid "Removed stock from {n} items" msgstr "" -#: stock/views.py:1150 +#: stock/views.py:1003 #, python-brace-format msgid "Counted stock for {n} items" msgstr "" -#: stock/views.py:1190 +#: stock/views.py:1043 msgid "No items were moved" msgstr "" -#: stock/views.py:1193 +#: stock/views.py:1046 #, python-brace-format msgid "Moved {n} items to {dest}" msgstr "" -#: stock/views.py:1212 +#: stock/views.py:1065 #, python-brace-format msgid "Deleted {n} stock items" msgstr "" -#: stock/views.py:1222 -msgid "Edit Stock Item Status" -msgstr "" - -#: stock/views.py:1245 +#: stock/views.py:1077 msgid "Edit Stock Item" msgstr "" -#: stock/views.py:1482 +#: stock/views.py:1314 msgid "Serialize Stock" msgstr "" -#: stock/views.py:1575 templates/js/build.js:327 +#: stock/views.py:1407 templates/js/build.js:327 msgid "Create new Stock Item" msgstr "" -#: stock/views.py:1717 +#: stock/views.py:1549 msgid "Duplicate Stock Item" msgstr "" -#: stock/views.py:1799 +#: stock/views.py:1631 msgid "Quantity cannot be negative" msgstr "" -#: stock/views.py:1899 +#: stock/views.py:1731 msgid "Delete Stock Location" msgstr "" -#: stock/views.py:1912 +#: stock/views.py:1744 msgid "Delete Stock Item" msgstr "" -#: stock/views.py:1923 +#: stock/views.py:1755 msgid "Delete Stock Tracking Entry" msgstr "" -#: stock/views.py:1930 +#: stock/views.py:1762 msgid "Edit Stock Tracking Entry" msgstr "" -#: stock/views.py:1939 +#: stock/views.py:1771 msgid "Add Stock Tracking Entry" msgstr "" +#: templates/403.html:5 templates/403.html:11 +msgid "Permission Denied" +msgstr "" + +#: templates/403.html:14 +msgid "You do not have permission to view this page." +msgstr "" + #: templates/404.html:5 templates/404.html:11 msgid "Page Not Found" msgstr "" @@ -6269,35 +6215,39 @@ msgstr "" msgid "Recently Updated" msgstr "" -#: templates/InvenTree/index.html:145 -msgid "Expired Stock" +#: templates/InvenTree/index.html:131 +msgid "Depleted Stock" msgstr "" #: templates/InvenTree/index.html:146 +msgid "Expired Stock" +msgstr "" + +#: templates/InvenTree/index.html:147 msgid "Stale Stock" msgstr "" -#: templates/InvenTree/index.html:184 +#: templates/InvenTree/index.html:192 msgid "Build Orders In Progress" msgstr "" -#: templates/InvenTree/index.html:185 +#: templates/InvenTree/index.html:193 msgid "Overdue Build Orders" msgstr "" -#: templates/InvenTree/index.html:206 +#: templates/InvenTree/index.html:214 msgid "Outstanding Purchase Orders" msgstr "" -#: templates/InvenTree/index.html:207 +#: templates/InvenTree/index.html:215 msgid "Overdue Purchase Orders" msgstr "" -#: templates/InvenTree/index.html:229 +#: templates/InvenTree/index.html:237 msgid "Outstanding Sales Orders" msgstr "" -#: templates/InvenTree/index.html:230 +#: templates/InvenTree/index.html:238 msgid "Overdue Sales Orders" msgstr "" @@ -6582,24 +6532,12 @@ msgstr "" msgid "copy version information" msgstr "" -#: templates/about.html:100 templates/js/modals.js:568 -#: templates/js/modals.js:861 templates/modals.html:29 templates/modals.html:54 -#: templates/modals.html:97 +#: templates/about.html:100 templates/js/modals.js:34 +#: templates/js/modals.js:677 templates/js/modals.js:970 +#: templates/modals.html:29 templates/modals.html:54 templates/modals.html:97 msgid "Close" msgstr "" -#: templates/attachment_table.html:6 -msgid "Add Attachment" -msgstr "" - -#: templates/attachment_table.html:17 -msgid "Uploaded" -msgstr "" - -#: templates/attachment_table.html:35 -msgid "Delete attachment" -msgstr "" - #: templates/image_download.html:8 msgid "Specify URL for downloading image" msgstr "" @@ -6616,6 +6554,22 @@ msgstr "" msgid "Remote image must not exceed maximum allowable file size" msgstr "" +#: templates/js/attachment.js:16 +msgid "No attachments found" +msgstr "" + +#: templates/js/attachment.js:56 +msgid "Upload Date" +msgstr "" + +#: templates/js/attachment.js:69 +msgid "Edit attachment" +msgstr "" + +#: templates/js/attachment.js:76 +msgid "Delete attachment" +msgstr "" + #: templates/js/barcode.js:8 msgid "Scan barcode data here using wedge scanner" msgstr "" @@ -6644,7 +6598,7 @@ msgstr "" msgid "Unknown response from server" msgstr "" -#: templates/js/barcode.js:119 templates/js/modals.js:921 +#: templates/js/barcode.js:119 templates/js/modals.js:1030 msgid "Invalid server response" msgstr "" @@ -6744,7 +6698,7 @@ msgstr "" msgid "Edit BOM Item" msgstr "" -#: templates/js/bom.js:372 +#: templates/js/bom.js:372 templates/js/bom.js:519 msgid "Delete BOM Item" msgstr "" @@ -6772,7 +6726,7 @@ msgstr "" msgid "No build order allocations found" msgstr "" -#: templates/js/build.js:222 templates/js/order.js:382 +#: templates/js/build.js:222 templates/js/order.js:449 msgid "Location not specified" msgstr "" @@ -6798,7 +6752,7 @@ msgid "No builds matching query" msgstr "" #: templates/js/build.js:806 templates/js/part.js:390 templates/js/part.js:635 -#: templates/js/stock.js:514 templates/js/stock.js:966 +#: templates/js/stock.js:514 templates/js/stock.js:980 msgid "Select" msgstr "" @@ -6810,45 +6764,69 @@ msgstr "" msgid "No parts allocated for" msgstr "" -#: templates/js/company.js:74 +#: templates/js/company.js:45 +msgid "Edit Company" +msgstr "" + +#: templates/js/company.js:66 +msgid "Add new Company" +msgstr "" + +#: templates/js/company.js:143 msgid "Parts Supplied" msgstr "" -#: templates/js/company.js:83 +#: templates/js/company.js:152 msgid "Parts Manufactured" msgstr "" -#: templates/js/company.js:96 +#: templates/js/company.js:165 msgid "No company information found" msgstr "" -#: templates/js/company.js:129 +#: templates/js/company.js:183 +msgid "The following manufacturer parts will be deleted" +msgstr "" + +#: templates/js/company.js:200 +msgid "Delete Manufacturer Parts" +msgstr "" + +#: templates/js/company.js:253 msgid "No manufacturer parts found" msgstr "" -#: templates/js/company.js:148 templates/js/company.js:347 +#: templates/js/company.js:272 templates/js/company.js:472 #: templates/js/part.js:68 templates/js/part.js:153 msgid "Template part" msgstr "" -#: templates/js/company.js:152 templates/js/company.js:351 +#: templates/js/company.js:276 templates/js/company.js:476 #: templates/js/part.js:72 templates/js/part.js:157 msgid "Assembled part" msgstr "" -#: templates/js/company.js:226 +#: templates/js/company.js:350 msgid "No parameters found" msgstr "" -#: templates/js/company.js:262 +#: templates/js/company.js:386 msgid "Edit parameter" msgstr "" -#: templates/js/company.js:263 +#: templates/js/company.js:387 msgid "Delete parameter" msgstr "" -#: templates/js/company.js:328 +#: templates/js/company.js:406 +msgid "Edit Parameter" +msgstr "" + +#: templates/js/company.js:417 +msgid "Delete Parameter" +msgstr "" + +#: templates/js/company.js:453 msgid "No supplier parts found" msgstr "" @@ -6876,6 +6854,83 @@ msgstr "" msgid "Create filter" msgstr "" +#: templates/js/forms.js:278 templates/js/forms.js:291 +#: templates/js/forms.js:303 templates/js/forms.js:315 +msgid "Action Prohibited" +msgstr "" + +#: templates/js/forms.js:279 +msgid "Create operation not allowed" +msgstr "" + +#: templates/js/forms.js:292 +msgid "Update operation not allowed" +msgstr "" + +#: templates/js/forms.js:304 +msgid "Delete operation not allowed" +msgstr "" + +#: templates/js/forms.js:316 +msgid "View operation not allowed" +msgstr "" + +#: templates/js/forms.js:583 templates/js/modals.js:1040 +msgid "No Response" +msgstr "" + +#: templates/js/forms.js:584 templates/js/modals.js:1041 +msgid "No response from the InvenTree server" +msgstr "" + +#: templates/js/forms.js:590 templates/js/modals.js:1050 +msgid "Error 401: Not Authenticated" +msgstr "" + +#: templates/js/forms.js:591 templates/js/modals.js:1051 +msgid "Authentication credentials not supplied" +msgstr "" + +#: templates/js/forms.js:597 templates/js/modals.js:1055 +msgid "Error 403: Permission Denied" +msgstr "" + +#: templates/js/forms.js:598 templates/js/modals.js:1056 +msgid "You do not have the required permissions to access this function" +msgstr "" + +#: templates/js/forms.js:604 templates/js/modals.js:1060 +msgid "Error 404: Resource Not Found" +msgstr "" + +#: templates/js/forms.js:605 templates/js/modals.js:1061 +msgid "The requested resource could not be located on the server" +msgstr "" + +#: templates/js/forms.js:611 templates/js/modals.js:1065 +msgid "Error 408: Timeout" +msgstr "" + +#: templates/js/forms.js:612 templates/js/modals.js:1066 +msgid "Connection timeout while requesting data from server" +msgstr "" + +#: templates/js/forms.js:618 templates/js/modals.js:1069 +msgid "Error requesting form data" +msgstr "" + +#: templates/js/forms.js:788 templates/modals.html:21 templates/modals.html:47 +msgid "Form errors exist" +msgstr "" + +#: templates/js/forms.js:1161 +msgid "Searching" +msgstr "" + +#: templates/js/forms.js:1301 +msgid "Clear input" +msgstr "" + #: templates/js/label.js:10 templates/js/report.js:98 msgid "Select Stock Items" msgstr "" @@ -6916,112 +6971,102 @@ msgstr "" msgid "Select Label Template" msgstr "" -#: templates/js/modals.js:265 -msgid "Waiting for server..." -msgstr "" - -#: templates/js/modals.js:424 -msgid "Show Error Information" -msgstr "" - -#: templates/js/modals.js:491 templates/modals.html:76 -msgid "Accept" -msgstr "" - -#: templates/js/modals.js:492 templates/modals.html:75 +#: templates/js/modals.js:59 templates/js/modals.js:105 +#: templates/js/modals.js:601 templates/modals.html:75 msgid "Cancel" msgstr "" -#: templates/js/modals.js:556 -msgid "Loading Data" -msgstr "" - -#: templates/js/modals.js:567 templates/js/modals.js:860 +#: templates/js/modals.js:60 templates/js/modals.js:104 +#: templates/js/modals.js:676 templates/js/modals.js:969 #: templates/modals.html:30 templates/modals.html:55 msgid "Submit" msgstr "" -#: templates/js/modals.js:811 +#: templates/js/modals.js:103 +msgid "Form Title" +msgstr "" + +#: templates/js/modals.js:374 +msgid "Waiting for server..." +msgstr "" + +#: templates/js/modals.js:533 +msgid "Show Error Information" +msgstr "" + +#: templates/js/modals.js:600 templates/modals.html:76 +msgid "Accept" +msgstr "" + +#: templates/js/modals.js:665 +msgid "Loading Data" +msgstr "" + +#: templates/js/modals.js:920 msgid "Invalid response from server" msgstr "" -#: templates/js/modals.js:811 +#: templates/js/modals.js:920 msgid "Form data missing from server response" msgstr "" -#: templates/js/modals.js:824 +#: templates/js/modals.js:933 msgid "Error posting form data" msgstr "" -#: templates/js/modals.js:921 +#: templates/js/modals.js:1030 msgid "JSON response missing form data" msgstr "" -#: templates/js/modals.js:931 -msgid "No Response" -msgstr "" - -#: templates/js/modals.js:932 -msgid "No response from the InvenTree server" -msgstr "" - -#: templates/js/modals.js:936 +#: templates/js/modals.js:1045 msgid "Error 400: Bad Request" msgstr "" -#: templates/js/modals.js:937 +#: templates/js/modals.js:1046 msgid "Server returned error code 400" msgstr "" -#: templates/js/modals.js:941 -msgid "Error 401: Not Authenticated" +#: templates/js/model_renderers.js:21 +msgid "Company ID" msgstr "" -#: templates/js/modals.js:942 -msgid "Authentication credentials not supplied" +#: templates/js/model_renderers.js:63 +msgid "Location ID" msgstr "" -#: templates/js/modals.js:946 -msgid "Error 403: Permission Denied" +#: templates/js/model_renderers.js:90 +msgid "Part ID" msgstr "" -#: templates/js/modals.js:947 -msgid "You do not have the required permissions to access this function" +#: templates/js/model_renderers.js:126 +msgid "Category ID" msgstr "" -#: templates/js/modals.js:951 -msgid "Error 404: Resource Not Found" +#: templates/js/model_renderers.js:150 +msgid "Supplier Part ID" msgstr "" -#: templates/js/modals.js:952 -msgid "The requested resource could not be located on the server" +#: templates/js/order.js:31 +msgid "Create Sales Order" msgstr "" -#: templates/js/modals.js:956 -msgid "Error 408: Timeout" -msgstr "" - -#: templates/js/modals.js:957 -msgid "Connection timeout while requesting data from server" -msgstr "" - -#: templates/js/modals.js:960 -msgid "Error requesting form data" -msgstr "" - -#: templates/js/order.js:138 +#: templates/js/order.js:200 msgid "No purchase orders found" msgstr "" -#: templates/js/order.js:162 templates/js/order.js:257 +#: templates/js/order.js:224 templates/js/order.js:319 msgid "Order is overdue" msgstr "" -#: templates/js/order.js:234 +#: templates/js/order.js:296 msgid "No sales orders found" msgstr "" -#: templates/js/order.js:343 +#: templates/js/order.js:333 +msgid "Invalid Customer" +msgstr "" + +#: templates/js/order.js:410 msgid "No sales order allocations found" msgstr "" @@ -7061,11 +7106,11 @@ msgstr "" msgid "No category" msgstr "" -#: templates/js/part.js:476 templates/js/table_filters.js:323 +#: templates/js/part.js:476 templates/js/table_filters.js:328 msgid "Low stock" msgstr "" -#: templates/js/part.js:660 templates/js/stock.js:990 +#: templates/js/part.js:660 templates/js/stock.js:1004 msgid "Path" msgstr "" @@ -7085,7 +7130,22 @@ msgstr "" msgid "This test is defined for a parent part" msgstr "" -#: templates/js/part.js:806 +#: templates/js/part.js:786 +#, python-brace-format +msgid "No ${human_name} information found" +msgstr "" + +#: templates/js/part.js:839 +#, python-brace-format +msgid "Edit ${human_name}" +msgstr "" + +#: templates/js/part.js:840 +#, python-brace-format +msgid "Delete ${human_name}" +msgstr "" + +#: templates/js/part.js:959 msgid "Single Price Difference" msgstr "" @@ -7263,75 +7323,75 @@ msgstr "" msgid "Stocktake" msgstr "" -#: templates/js/stock.js:853 +#: templates/js/stock.js:867 msgid "Stock Status" msgstr "" -#: templates/js/stock.js:868 +#: templates/js/stock.js:882 msgid "Set Stock Status" msgstr "" -#: templates/js/stock.js:882 +#: templates/js/stock.js:896 msgid "Select Status Code" msgstr "" -#: templates/js/stock.js:883 +#: templates/js/stock.js:897 msgid "Status code must be selected" msgstr "" -#: templates/js/stock.js:1022 +#: templates/js/stock.js:1036 msgid "Invalid date" msgstr "" -#: templates/js/stock.js:1069 +#: templates/js/stock.js:1083 msgid "Location no longer exists" msgstr "" -#: templates/js/stock.js:1088 +#: templates/js/stock.js:1102 msgid "Purchase order no longer exists" msgstr "" -#: templates/js/stock.js:1107 +#: templates/js/stock.js:1121 msgid "Customer no longer exists" msgstr "" -#: templates/js/stock.js:1125 +#: templates/js/stock.js:1139 msgid "Stock item no longer exists" msgstr "" -#: templates/js/stock.js:1148 +#: templates/js/stock.js:1162 msgid "Added" msgstr "" -#: templates/js/stock.js:1156 +#: templates/js/stock.js:1170 msgid "Removed" msgstr "" -#: templates/js/stock.js:1188 +#: templates/js/stock.js:1202 msgid "No user information" msgstr "" -#: templates/js/stock.js:1200 +#: templates/js/stock.js:1214 msgid "Edit tracking entry" msgstr "" -#: templates/js/stock.js:1201 +#: templates/js/stock.js:1215 msgid "Delete tracking entry" msgstr "" -#: templates/js/stock.js:1325 +#: templates/js/stock.js:1339 msgid "Create New Location" msgstr "" -#: templates/js/stock.js:1366 +#: templates/js/stock.js:1380 msgid "No installed items" msgstr "" -#: templates/js/stock.js:1389 +#: templates/js/stock.js:1403 msgid "Serial" msgstr "" -#: templates/js/stock.js:1417 +#: templates/js/stock.js:1431 msgid "Uninstall Stock Item" msgstr "" @@ -7352,7 +7412,7 @@ msgid "Include locations" msgstr "" #: templates/js/table_filters.js:86 templates/js/table_filters.js:87 -#: templates/js/table_filters.js:300 +#: templates/js/table_filters.js:305 msgid "Include subcategories" msgstr "" @@ -7385,7 +7445,7 @@ msgstr "" msgid "Batch code" msgstr "" -#: templates/js/table_filters.js:123 templates/js/table_filters.js:290 +#: templates/js/table_filters.js:123 templates/js/table_filters.js:295 msgid "Active parts" msgstr "" @@ -7457,43 +7517,51 @@ msgstr "" msgid "Stock status" msgstr "" -#: templates/js/table_filters.js:236 +#: templates/js/table_filters.js:211 +msgid "Has purchase price" +msgstr "" + +#: templates/js/table_filters.js:212 +msgid "Show stock items which have a purchase price set" +msgstr "" + +#: templates/js/table_filters.js:241 msgid "Build status" msgstr "" -#: templates/js/table_filters.js:255 templates/js/table_filters.js:272 +#: templates/js/table_filters.js:260 templates/js/table_filters.js:277 msgid "Order status" msgstr "" -#: templates/js/table_filters.js:260 templates/js/table_filters.js:277 +#: templates/js/table_filters.js:265 templates/js/table_filters.js:282 msgid "Outstanding" msgstr "" -#: templates/js/table_filters.js:301 +#: templates/js/table_filters.js:306 msgid "Include parts in subcategories" msgstr "" -#: templates/js/table_filters.js:305 +#: templates/js/table_filters.js:310 msgid "Has IPN" msgstr "" -#: templates/js/table_filters.js:306 +#: templates/js/table_filters.js:311 msgid "Part has internal part number" msgstr "" -#: templates/js/table_filters.js:311 +#: templates/js/table_filters.js:316 msgid "Show active parts" msgstr "" -#: templates/js/table_filters.js:319 +#: templates/js/table_filters.js:324 msgid "Stock available" msgstr "" -#: templates/js/table_filters.js:335 +#: templates/js/table_filters.js:340 msgid "Starred" msgstr "" -#: templates/js/table_filters.js:347 +#: templates/js/table_filters.js:352 msgid "Purchasable" msgstr "" @@ -7550,10 +7618,6 @@ msgstr "" msgid "All" msgstr "" -#: templates/modals.html:21 templates/modals.html:47 -msgid "Form errors exist" -msgstr "" - #: templates/navbar.html:13 msgid "Toggle navigation" msgstr "" @@ -7570,7 +7634,7 @@ msgstr "" msgid "Scan Barcode" msgstr "" -#: templates/navbar.html:77 users/models.py:38 +#: templates/navbar.html:77 users/models.py:39 msgid "Admin" msgstr "" @@ -7790,35 +7854,35 @@ msgstr "" msgid "Important dates" msgstr "" -#: users/models.py:174 +#: users/models.py:175 msgid "Permission set" msgstr "" -#: users/models.py:182 +#: users/models.py:183 msgid "Group" msgstr "" -#: users/models.py:185 +#: users/models.py:186 msgid "View" msgstr "" -#: users/models.py:185 +#: users/models.py:186 msgid "Permission to view items" msgstr "" -#: users/models.py:187 +#: users/models.py:188 msgid "Permission to add items" msgstr "" -#: users/models.py:189 +#: users/models.py:190 msgid "Change" msgstr "" -#: users/models.py:189 +#: users/models.py:190 msgid "Permissions to edit items" msgstr "" -#: users/models.py:191 +#: users/models.py:192 msgid "Permission to delete items" msgstr "" diff --git a/InvenTree/locale/tr/LC_MESSAGES/django.po b/InvenTree/locale/tr/LC_MESSAGES/django.po index 4b8bfcdd8a..4db90764bd 100644 --- a/InvenTree/locale/tr/LC_MESSAGES/django.po +++ b/InvenTree/locale/tr/LC_MESSAGES/django.po @@ -2,8 +2,8 @@ msgid "" msgstr "" "Project-Id-Version: inventree\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2021-07-01 22:35+0000\n" -"PO-Revision-Date: 2021-07-01 22:38\n" +"POT-Creation-Date: 2021-07-03 12:15+0000\n" +"PO-Revision-Date: 2021-07-03 12:44\n" "Last-Translator: \n" "Language-Team: Turkish\n" "Language: tr_TR\n" @@ -29,14 +29,14 @@ msgstr "İşlem belirtilmedi" msgid "No matching action found" msgstr "Eşleşen eylem bulunamadı" -#: InvenTree/fields.py:84 +#: InvenTree/fields.py:99 msgid "Enter date" msgstr "Tarih giriniz" #: InvenTree/forms.py:112 build/forms.py:102 build/forms.py:123 #: build/forms.py:145 build/forms.py:169 build/forms.py:185 build/forms.py:227 -#: order/forms.py:31 order/forms.py:42 order/forms.py:53 order/forms.py:64 -#: order/forms.py:75 part/forms.py:134 +#: order/forms.py:30 order/forms.py:41 order/forms.py:52 order/forms.py:63 +#: order/forms.py:74 part/forms.py:118 templates/js/forms.js:486 msgid "Confirm" msgstr "Onay" @@ -77,8 +77,8 @@ msgstr "Kategori Seçin" msgid "Duplicate serial: {n}" msgstr "Tekrarlanan seri {n}" -#: InvenTree/helpers.py:403 order/models.py:244 order/models.py:354 -#: stock/views.py:1795 +#: InvenTree/helpers.py:403 order/models.py:311 order/models.py:421 +#: stock/views.py:1627 msgid "Invalid quantity provided" msgstr "Geçersiz veri sağlandı" @@ -106,49 +106,53 @@ msgstr "Seri numarası bulunamadı" msgid "Number of unique serial number ({s}) must match quantity ({q})" msgstr "Benzersiz seri numaralarının sayısı ({s}) girilen miktarla eşleşmeli ({q})" -#: InvenTree/models.py:59 stock/models.py:1758 +#: InvenTree/models.py:61 stock/models.py:1778 msgid "Attachment" msgstr "Ek" -#: InvenTree/models.py:60 +#: InvenTree/models.py:62 msgid "Select file to attach" msgstr "Eklenecek dosyayı seç" -#: InvenTree/models.py:62 templates/attachment_table.html:16 +#: InvenTree/models.py:64 templates/js/attachment.js:52 msgid "Comment" msgstr "Yorum" -#: InvenTree/models.py:62 +#: InvenTree/models.py:64 msgid "File comment" msgstr "Dosya yorumu" -#: InvenTree/models.py:68 InvenTree/models.py:69 part/models.py:2022 +#: InvenTree/models.py:70 InvenTree/models.py:71 part/models.py:2043 #: report/templates/report/inventree_test_report_base.html:91 -#: templates/js/stock.js:1179 +#: templates/js/stock.js:1193 msgid "User" msgstr "Kullanıcı" -#: InvenTree/models.py:72 +#: InvenTree/models.py:74 msgid "upload date" msgstr "yükleme tarihi" -#: InvenTree/models.py:107 InvenTree/models.py:108 company/models.py:396 -#: label/models.py:102 part/models.py:671 part/models.py:2163 +#: InvenTree/models.py:102 +msgid "Invalid choice" +msgstr "" + +#: InvenTree/models.py:118 InvenTree/models.py:119 company/models.py:414 +#: label/models.py:103 part/models.py:680 part/models.py:2192 #: part/templates/part/params.html:27 report/models.py:180 #: templates/InvenTree/search.html:137 templates/InvenTree/search.html:289 -#: templates/js/company.js:235 templates/js/part.js:118 -#: templates/js/part.js:642 templates/js/stock.js:972 +#: templates/js/company.js:359 templates/js/part.js:118 +#: templates/js/part.js:642 templates/js/stock.js:986 msgid "Name" msgstr "Adı" -#: InvenTree/models.py:114 build/models.py:135 -#: build/templates/build/detail.html:21 company/models.py:339 -#: company/models.py:532 company/templates/company/detail.html:27 +#: InvenTree/models.py:125 build/models.py:139 +#: build/templates/build/detail.html:21 company/models.py:353 +#: company/models.py:554 company/templates/company/detail.html:27 #: company/templates/company/manufacturer_part_base.html:72 #: company/templates/company/supplier_part_base.html:71 -#: company/templates/company/supplier_part_detail.html:31 label/models.py:109 -#: order/models.py:100 order/templates/order/purchase_order_detail.html:147 -#: part/models.py:695 part/templates/part/detail.html:54 +#: company/templates/company/supplier_part_detail.html:31 label/models.py:110 +#: order/models.py:154 order/templates/order/purchase_order_detail.html:174 +#: part/models.py:704 part/templates/part/detail.html:54 #: part/templates/part/set_category.html:14 report/models.py:193 #: report/models.py:530 report/models.py:569 #: report/templates/report/inventree_build_order_base.html:118 @@ -156,39 +160,43 @@ msgstr "Adı" #: templates/InvenTree/search.html:296 #: templates/InvenTree/settings/header.html:9 templates/js/bom.js:190 #: templates/js/build.js:834 templates/js/build.js:1102 -#: templates/js/company.js:56 templates/js/order.js:183 -#: templates/js/order.js:280 templates/js/part.js:177 templates/js/part.js:260 +#: templates/js/company.js:125 templates/js/order.js:245 +#: templates/js/order.js:347 templates/js/part.js:177 templates/js/part.js:260 #: templates/js/part.js:437 templates/js/part.js:654 templates/js/part.js:722 -#: templates/js/stock.js:557 templates/js/stock.js:984 -#: templates/js/stock.js:1029 +#: templates/js/stock.js:557 templates/js/stock.js:998 +#: templates/js/stock.js:1043 msgid "Description" msgstr "Açıklama" -#: InvenTree/models.py:115 +#: InvenTree/models.py:126 msgid "Description (optional)" msgstr "Açıklama (isteğe bağlı)" -#: InvenTree/models.py:123 +#: InvenTree/models.py:134 msgid "parent" msgstr "üst" -#: InvenTree/settings.py:504 +#: InvenTree/serializers.py:52 +msgid "Must be a valid number" +msgstr "" + +#: InvenTree/settings.py:505 msgid "English" msgstr "İngilizce" -#: InvenTree/settings.py:505 +#: InvenTree/settings.py:506 msgid "French" msgstr "Fransızca" -#: InvenTree/settings.py:506 +#: InvenTree/settings.py:507 msgid "German" msgstr "Almanca" -#: InvenTree/settings.py:507 +#: InvenTree/settings.py:508 msgid "Polish" msgstr "Polonyaca" -#: InvenTree/settings.py:508 +#: InvenTree/settings.py:509 msgid "Turkish" msgstr "Türkçe" @@ -446,50 +454,48 @@ msgid "Order target date" msgstr "Emir hedef tarihi" #: build/forms.py:42 build/templates/build/build_base.html:146 -#: build/templates/build/detail.html:121 order/forms.py:118 order/forms.py:153 +#: build/templates/build/detail.html:121 #: order/templates/order/order_base.html:124 #: order/templates/order/sales_order_base.html:119 #: report/templates/report/inventree_build_order_base.html:126 -#: templates/js/build.js:881 templates/js/order.js:200 -#: templates/js/order.js:298 +#: templates/js/build.js:881 templates/js/order.js:262 +#: templates/js/order.js:365 msgid "Target Date" msgstr "Hedeflenen tarih" -#: build/forms.py:43 build/models.py:225 +#: build/forms.py:43 build/models.py:229 msgid "Target date for build completion. Build will be overdue after this date." msgstr "Yapım işinin tamamlanması için hedef tarih. Bu tarihten sonra yapım işi gecikmiş olacak." -#: build/forms.py:48 build/forms.py:90 build/forms.py:266 build/models.py:1346 +#: build/forms.py:48 build/forms.py:90 build/forms.py:266 build/models.py:1354 #: build/templates/build/allocation_card.html:23 #: build/templates/build/auto_allocate.html:17 #: build/templates/build/build_base.html:133 #: build/templates/build/detail.html:31 common/models.py:741 -#: company/forms.py:189 company/templates/company/supplier_part_pricing.html:77 -#: order/forms.py:197 order/forms.py:215 order/forms.py:250 order/forms.py:272 -#: order/forms.py:289 order/models.py:613 order/models.py:835 -#: order/templates/order/order_wizard/match_parts.html:30 +#: company/forms.py:124 company/templates/company/supplier_part_pricing.html:79 +#: order/forms.py:120 order/forms.py:142 order/forms.py:159 order/models.py:702 +#: order/models.py:941 order/templates/order/order_wizard/match_parts.html:30 #: order/templates/order/order_wizard/select_parts.html:34 -#: order/templates/order/purchase_order_detail.html:179 -#: order/templates/order/sales_order_detail.html:70 -#: order/templates/order/sales_order_detail.html:77 -#: order/templates/order/sales_order_detail.html:162 -#: order/templates/order/sales_order_detail.html:234 part/forms.py:342 -#: part/forms.py:372 part/forms.py:388 part/forms.py:404 part/models.py:2293 -#: part/templates/part/internal_prices.html:98 -#: part/templates/part/order_prices.html:203 -#: part/templates/part/part_pricing.html:16 -#: part/templates/part/sale_prices.html:85 +#: order/templates/order/purchase_order_detail.html:206 +#: order/templates/order/sales_order_detail.html:80 +#: order/templates/order/sales_order_detail.html:87 +#: order/templates/order/sales_order_detail.html:172 +#: order/templates/order/sales_order_detail.html:244 part/forms.py:314 +#: part/forms.py:344 part/forms.py:360 part/forms.py:376 part/models.py:2330 +#: part/templates/part/part_pricing.html:16 part/templates/part/prices.html:377 +#: part/templates/part/prices.html:474 #: report/templates/report/inventree_build_order_base.html:114 #: report/templates/report/inventree_po_report.html:91 #: report/templates/report/inventree_so_report.html:91 #: report/templates/report/inventree_test_report_base.html:77 -#: stock/forms.py:175 stock/forms.py:308 +#: stock/forms.py:142 stock/forms.py:275 #: stock/templates/stock/item_base.html:255 #: stock/templates/stock/stock_adjust.html:18 templates/js/barcode.js:364 #: templates/js/bom.js:205 templates/js/build.js:233 templates/js/build.js:572 -#: templates/js/build.js:1112 templates/js/order.js:393 -#: templates/js/part.js:796 templates/js/stock.js:1164 -#: templates/js/stock.js:1383 +#: templates/js/build.js:1112 templates/js/model_renderers.js:43 +#: templates/js/order.js:460 templates/js/part.js:827 templates/js/part.js:949 +#: templates/js/part.js:1005 templates/js/stock.js:1178 +#: templates/js/stock.js:1397 msgid "Quantity" msgstr "Miktar" @@ -501,7 +507,7 @@ msgstr "Yapılacak öge sayısı" msgid "Enter quantity for build output" msgstr "Yapım işi çıktısı için miktarını girin" -#: build/forms.py:95 order/forms.py:244 stock/forms.py:118 +#: build/forms.py:95 order/forms.py:114 stock/forms.py:85 msgid "Serial Numbers" msgstr "Seri Numaraları" @@ -530,12 +536,12 @@ msgid "Mark build as complete" msgstr "Yapım işini tamamlandı olarak işaretle" #: build/forms.py:210 build/templates/build/auto_allocate.html:18 -#: stock/forms.py:347 stock/templates/stock/item_base.html:285 +#: stock/forms.py:314 stock/templates/stock/item_base.html:285 #: stock/templates/stock/stock_adjust.html:17 #: templates/InvenTree/search.html:260 templates/js/barcode.js:363 #: templates/js/barcode.js:531 templates/js/build.js:218 -#: templates/js/build.js:586 templates/js/order.js:378 -#: templates/js/stock.js:643 templates/js/stock.js:1056 +#: templates/js/build.js:586 templates/js/order.js:445 +#: templates/js/stock.js:643 templates/js/stock.js:1070 msgid "Location" msgstr "Konum" @@ -544,13 +550,13 @@ msgid "Location of completed parts" msgstr "Tamamlanmış parçaların konumu" #: build/forms.py:215 build/templates/build/build_base.html:138 -#: build/templates/build/detail.html:59 order/models.py:465 +#: build/templates/build/detail.html:59 order/models.py:545 #: order/templates/order/receive_parts.html:24 #: stock/templates/stock/item_base.html:408 templates/InvenTree/search.html:252 #: templates/js/barcode.js:119 templates/js/build.js:868 -#: templates/js/order.js:187 templates/js/order.js:285 -#: templates/js/stock.js:630 templates/js/stock.js:1133 -#: templates/js/stock.js:1399 +#: templates/js/order.js:249 templates/js/order.js:352 +#: templates/js/stock.js:630 templates/js/stock.js:1147 +#: templates/js/stock.js:1413 msgid "Status" msgstr "Durum" @@ -582,60 +588,60 @@ msgstr "Yapım işi iptalini onayla" msgid "Select quantity of stock to allocate" msgstr "Tahsis edilecek stok miktarını seçiniz" -#: build/models.py:66 build/templates/build/build_base.html:9 +#: build/models.py:70 build/templates/build/build_base.html:9 #: build/templates/build/build_base.html:73 #: report/templates/report/inventree_build_order_base.html:106 #: templates/js/build.js:195 msgid "Build Order" msgstr "Yapım İşi Emri" -#: build/models.py:67 build/templates/build/index.html:8 +#: build/models.py:71 build/templates/build/index.html:8 #: build/templates/build/index.html:15 order/templates/order/so_builds.html:12 #: order/templates/order/so_navbar.html:19 #: order/templates/order/so_navbar.html:22 part/templates/part/navbar.html:58 -#: part/templates/part/navbar.html:61 templates/InvenTree/index.html:183 +#: part/templates/part/navbar.html:61 templates/InvenTree/index.html:191 #: templates/InvenTree/search.html:185 -#: templates/InvenTree/settings/tabs.html:34 users/models.py:43 +#: templates/InvenTree/settings/tabs.html:34 users/models.py:44 msgid "Build Orders" msgstr "Yapım İşi Emirleri" -#: build/models.py:127 +#: build/models.py:131 msgid "Build Order Reference" msgstr "Yapım İşi Emri Referansı" -#: build/models.py:128 order/models.py:98 order/models.py:615 -#: order/templates/order/purchase_order_detail.html:174 -#: order/templates/order/sales_order_detail.html:229 part/models.py:2302 +#: build/models.py:132 order/models.py:242 order/models.py:529 +#: order/models.py:709 order/templates/order/purchase_order_detail.html:201 +#: order/templates/order/sales_order_detail.html:239 part/models.py:2339 #: report/templates/report/inventree_po_report.html:92 #: report/templates/report/inventree_so_report.html:92 templates/js/bom.js:197 #: templates/js/build.js:661 templates/js/build.js:1106 msgid "Reference" msgstr "Referans" -#: build/models.py:138 +#: build/models.py:142 msgid "Brief description of the build" msgstr "Yapım işinin kısa açıklaması" -#: build/models.py:147 build/templates/build/build_base.html:163 +#: build/models.py:151 build/templates/build/build_base.html:163 #: build/templates/build/detail.html:77 msgid "Parent Build" msgstr "Üst Yapım İşi" -#: build/models.py:148 +#: build/models.py:152 msgid "BuildOrder to which this build is allocated" msgstr "Bu yapım işinin tahsis edildiği yapım işi emri" -#: build/models.py:153 build/templates/build/auto_allocate.html:16 +#: build/models.py:157 build/templates/build/auto_allocate.html:16 #: build/templates/build/build_base.html:128 -#: build/templates/build/detail.html:26 company/models.py:663 -#: order/models.py:657 order/models.py:712 +#: build/templates/build/detail.html:26 company/models.py:689 +#: order/models.py:755 order/models.py:814 #: order/templates/order/order_wizard/select_parts.html:32 -#: order/templates/order/purchase_order_detail.html:132 +#: order/templates/order/purchase_order_detail.html:159 #: order/templates/order/receive_parts.html:19 -#: order/templates/order/sales_order_detail.html:214 part/models.py:321 -#: part/models.py:1975 part/models.py:1987 part/models.py:2002 -#: part/models.py:2020 part/models.py:2095 part/models.py:2191 -#: part/models.py:2277 part/templates/part/part_app_base.html:8 +#: order/templates/order/sales_order_detail.html:224 part/models.py:325 +#: part/models.py:1988 part/models.py:2004 part/models.py:2023 +#: part/models.py:2041 part/models.py:2120 part/models.py:2224 +#: part/models.py:2314 part/templates/part/part_app_base.html:8 #: part/templates/part/part_pricing.html:12 part/templates/part/related.html:29 #: part/templates/part/set_category.html:13 #: report/templates/report/inventree_build_order_base.html:110 @@ -644,222 +650,222 @@ msgstr "Bu yapım işinin tahsis edildiği yapım işi emri" #: templates/InvenTree/search.html:112 templates/InvenTree/search.html:210 #: templates/js/barcode.js:362 templates/js/bom.js:163 #: templates/js/build.js:552 templates/js/build.js:839 -#: templates/js/build.js:1079 templates/js/company.js:140 -#: templates/js/company.js:339 templates/js/part.js:241 +#: templates/js/build.js:1079 templates/js/company.js:264 +#: templates/js/company.js:464 templates/js/part.js:241 #: templates/js/part.js:404 templates/js/stock.js:526 -#: templates/js/stock.js:1371 +#: templates/js/stock.js:1385 msgid "Part" msgstr "Parça" -#: build/models.py:161 +#: build/models.py:165 msgid "Select part to build" msgstr "Yapım işi için parça seçin" -#: build/models.py:166 +#: build/models.py:170 msgid "Sales Order Reference" msgstr "Satış Emri Referansı" -#: build/models.py:170 +#: build/models.py:174 msgid "SalesOrder to which this build is allocated" msgstr "Bu yapım işinin tahsis edildiği satış emri" -#: build/models.py:175 +#: build/models.py:179 msgid "Source Location" msgstr "Kaynak Konum" -#: build/models.py:179 +#: build/models.py:183 msgid "Select location to take stock from for this build (leave blank to take from any stock location)" msgstr "Bu yapım işi için stok alınacak konumu seçin (her hangi bir stok konumundan alınması için boş bırakın)" -#: build/models.py:184 +#: build/models.py:188 msgid "Destination Location" msgstr "Hedef Konum" -#: build/models.py:188 +#: build/models.py:192 msgid "Select location where the completed items will be stored" msgstr "Tamamlanmış ögelerin saklanacağı konumu seçiniz" -#: build/models.py:192 +#: build/models.py:196 msgid "Build Quantity" msgstr "Yapım İşi Miktarı" -#: build/models.py:195 +#: build/models.py:199 msgid "Number of stock items to build" msgstr "Yapım işi stok kalemlerinin sayısı" -#: build/models.py:199 +#: build/models.py:203 msgid "Completed items" msgstr "Tamamlanmış ögeler" -#: build/models.py:201 +#: build/models.py:205 msgid "Number of stock items which have been completed" msgstr "Tamamlanan stok kalemlerinin sayısı" -#: build/models.py:205 part/templates/part/part_base.html:167 +#: build/models.py:209 part/templates/part/part_base.html:167 msgid "Build Status" msgstr "Yapım İşi Durumu" -#: build/models.py:209 +#: build/models.py:213 msgid "Build status code" msgstr "Yapım işi durum kodu" -#: build/models.py:213 stock/models.py:462 +#: build/models.py:217 stock/models.py:470 msgid "Batch Code" msgstr "Sıra numarası" -#: build/models.py:217 +#: build/models.py:221 msgid "Batch code for this build output" msgstr "Yapım işi çıktısı için sıra numarası" -#: build/models.py:220 order/models.py:104 part/models.py:867 -#: part/templates/part/detail.html:126 templates/js/order.js:293 +#: build/models.py:224 order/models.py:158 part/models.py:876 +#: part/templates/part/detail.html:126 templates/js/order.js:360 msgid "Creation Date" msgstr "Oluşturulma tarihi" -#: build/models.py:224 order/models.py:471 +#: build/models.py:228 order/models.py:551 msgid "Target completion date" msgstr "Hedef tamamlama tarihi" -#: build/models.py:228 order/models.py:217 templates/js/build.js:886 +#: build/models.py:232 order/models.py:284 templates/js/build.js:886 msgid "Completion Date" msgstr "Tamamlama tarihi" -#: build/models.py:234 +#: build/models.py:238 msgid "completed by" msgstr "tamamlayan" -#: build/models.py:242 +#: build/models.py:246 msgid "Issued by" msgstr "Veren" -#: build/models.py:243 +#: build/models.py:247 msgid "User who issued this build order" msgstr "Bu yapım işi emrini veren kullanıcı" -#: build/models.py:251 build/templates/build/build_base.html:184 -#: build/templates/build/detail.html:105 order/models.py:118 +#: build/models.py:255 build/templates/build/build_base.html:184 +#: build/templates/build/detail.html:105 order/models.py:172 #: order/templates/order/order_base.html:138 -#: order/templates/order/sales_order_base.html:140 part/models.py:871 +#: order/templates/order/sales_order_base.html:140 part/models.py:880 #: report/templates/report/inventree_build_order_base.html:159 msgid "Responsible" msgstr "Sorumlu" -#: build/models.py:252 +#: build/models.py:256 msgid "User responsible for this build order" msgstr "Bu yapım işi emrinden sorumlu kullanıcı" -#: build/models.py:257 build/templates/build/detail.html:91 +#: build/models.py:261 build/templates/build/detail.html:91 #: company/templates/company/manufacturer_part_base.html:79 #: company/templates/company/manufacturer_part_detail.html:28 #: company/templates/company/supplier_part_base.html:78 #: company/templates/company/supplier_part_detail.html:28 #: part/templates/part/detail.html:83 part/templates/part/part_base.html:94 -#: stock/models.py:456 stock/templates/stock/item_base.html:345 +#: stock/models.py:464 stock/templates/stock/item_base.html:345 msgid "External Link" msgstr "Harici Bağlantı" -#: build/models.py:258 part/models.py:729 stock/models.py:458 +#: build/models.py:262 part/models.py:738 stock/models.py:466 msgid "Link to external URL" msgstr "Harici URL'ye bağlantı" -#: build/models.py:262 build/templates/build/navbar.html:53 -#: company/models.py:132 company/models.py:539 +#: build/models.py:266 build/templates/build/navbar.html:53 +#: company/models.py:141 company/models.py:561 #: company/templates/company/navbar.html:70 -#: company/templates/company/navbar.html:73 order/models.py:122 -#: order/models.py:617 order/templates/order/po_navbar.html:38 +#: company/templates/company/navbar.html:73 order/models.py:176 +#: order/models.py:711 order/templates/order/po_navbar.html:38 #: order/templates/order/po_navbar.html:41 -#: order/templates/order/purchase_order_detail.html:243 -#: order/templates/order/sales_order_detail.html:309 +#: order/templates/order/purchase_order_detail.html:270 +#: order/templates/order/sales_order_detail.html:319 #: order/templates/order/so_navbar.html:33 -#: order/templates/order/so_navbar.html:36 part/models.py:856 -#: part/templates/part/navbar.html:145 +#: order/templates/order/so_navbar.html:36 part/models.py:865 +#: part/templates/part/navbar.html:133 #: report/templates/report/inventree_build_order_base.html:173 -#: stock/forms.py:173 stock/forms.py:317 stock/forms.py:349 stock/forms.py:377 -#: stock/models.py:528 stock/models.py:1662 stock/models.py:1764 +#: stock/forms.py:140 stock/forms.py:284 stock/forms.py:316 stock/forms.py:344 +#: stock/models.py:536 stock/models.py:1678 stock/models.py:1784 #: stock/templates/stock/navbar.html:57 templates/js/barcode.js:37 -#: templates/js/bom.js:349 templates/js/stock.js:141 templates/js/stock.js:699 +#: templates/js/bom.js:349 templates/js/stock.js:141 templates/js/stock.js:713 msgid "Notes" msgstr "Notlar" -#: build/models.py:263 +#: build/models.py:267 msgid "Extra build notes" msgstr "Yapım işi için ekstra notlar" -#: build/models.py:740 +#: build/models.py:744 msgid "No build output specified" msgstr "Yapım işi çıktısı belirtilmedi" -#: build/models.py:743 +#: build/models.py:747 msgid "Build output is already completed" msgstr "Yapım işi çıktısı zaten tamamlanmış" -#: build/models.py:746 +#: build/models.py:750 msgid "Build output does not match Build Order" msgstr "Yapım işi çıktısı, yapım işi emri ile eşleşmiyor" -#: build/models.py:1152 +#: build/models.py:1160 msgid "BuildItem must be unique for build, stock_item and install_into" msgstr "Yapım işi ögesi; yapım işi, stok kalemi ve kurulacak yer için benzersiz olmalıdır" -#: build/models.py:1177 +#: build/models.py:1185 msgid "Build item must specify a build output, as master part is marked as trackable" msgstr "Ana parça izlenebilir olarak işaretlendiğinden, yapım işi çıktısı için bir yapım işi ögesi belirtmelidir" -#: build/models.py:1181 +#: build/models.py:1189 #, python-brace-format msgid "Allocated quantity ({n}) must not exceed available quantity ({q})" msgstr "Tahsis edilecek miktar ({n}) mevcut miktarı ({q}) geçmemeli" -#: build/models.py:1188 order/models.py:809 +#: build/models.py:1196 order/models.py:915 msgid "StockItem is over-allocated" msgstr "Stok kalemi fazladan tahsis edilmiş" -#: build/models.py:1192 order/models.py:812 +#: build/models.py:1200 order/models.py:918 msgid "Allocation quantity must be greater than zero" msgstr "Tahsis edilen miktar sıfırdan büyük olmalıdır" -#: build/models.py:1196 +#: build/models.py:1204 msgid "Quantity must be 1 for serialized stock" msgstr "Seri numaralı stok için miktar bir olmalı" -#: build/models.py:1256 +#: build/models.py:1264 #, python-brace-format msgid "Selected stock item not found in BOM for part '{p}'" msgstr "{p} parçasının malzeme listesindeki seçili stok kalemi bulunamadı" -#: build/models.py:1316 stock/templates/stock/item_base.html:317 +#: build/models.py:1324 stock/templates/stock/item_base.html:317 #: templates/InvenTree/search.html:183 templates/js/build.js:812 #: templates/navbar.html:29 msgid "Build" msgstr "Yapım İşi" -#: build/models.py:1317 +#: build/models.py:1325 msgid "Build to allocate parts" msgstr "Yapım işi için tahsis edilen parçalar" -#: build/models.py:1333 stock/templates/stock/item_base.html:8 +#: build/models.py:1341 stock/templates/stock/item_base.html:8 #: stock/templates/stock/item_base.html:31 #: stock/templates/stock/item_base.html:339 #: stock/templates/stock/stock_adjust.html:16 templates/js/build.js:206 #: templates/js/build.js:211 templates/js/build.js:929 -#: templates/js/order.js:366 templates/js/order.js:371 -#: templates/js/stock.js:1115 +#: templates/js/order.js:433 templates/js/order.js:438 +#: templates/js/stock.js:1129 msgid "Stock Item" msgstr "Stok Kalemi" -#: build/models.py:1334 +#: build/models.py:1342 msgid "Source stock item" msgstr "Kaynak stok kalemi" -#: build/models.py:1347 +#: build/models.py:1355 msgid "Stock quantity to allocate to build" msgstr "Yapım işi için tahsis edilen stok miktarı" -#: build/models.py:1355 +#: build/models.py:1363 msgid "Install into" msgstr "Kurulduğu yer" -#: build/models.py:1356 +#: build/models.py:1364 msgid "Destination stock item" msgstr "Hedef stok kalemi" @@ -893,7 +899,7 @@ msgstr "Gerekli parçaları sipariş edin" #: build/templates/build/allocate.html:30 #: company/templates/company/detail_manufacturer_part.html:33 -#: company/templates/company/detail_supplier_part.html:32 order/views.py:992 +#: company/templates/company/detail_supplier_part.html:32 order/views.py:724 #: part/templates/part/category.html:136 msgid "Order Parts" msgstr "Parça Siparişi" @@ -912,23 +918,52 @@ msgstr "Bu yapım işi emri, herhangi bir takip edilmeyen malzeme listesi öğes #: build/templates/build/allocation_card.html:21 #: build/templates/build/complete_output.html:46 -#: order/templates/order/sales_order_detail.html:75 -#: order/templates/order/sales_order_detail.html:160 +#: order/templates/order/sales_order_detail.html:85 +#: order/templates/order/sales_order_detail.html:170 #: report/templates/report/inventree_test_report_base.html:75 -#: stock/models.py:450 stock/templates/stock/item_base.html:249 -#: templates/js/build.js:570 +#: stock/models.py:458 stock/templates/stock/item_base.html:249 +#: templates/js/build.js:570 templates/js/model_renderers.js:41 msgid "Serial Number" msgstr "Seri Numara" #: build/templates/build/attachments.html:12 #: build/templates/build/navbar.html:43 build/templates/build/navbar.html:46 #: order/templates/order/po_navbar.html:35 -#: order/templates/order/so_navbar.html:29 part/templates/part/navbar.html:136 -#: part/templates/part/navbar.html:139 stock/templates/stock/navbar.html:47 +#: order/templates/order/so_navbar.html:29 part/templates/part/navbar.html:124 +#: part/templates/part/navbar.html:127 stock/templates/stock/navbar.html:47 #: stock/templates/stock/navbar.html:50 msgid "Attachments" msgstr "Ekler" +#: build/templates/build/attachments.html:51 +#: order/templates/order/so_attachments.html:79 +#: part/templates/part/attachments.html:81 +#: stock/templates/stock/item_attachments.html:81 +#: templates/attachment_table.html:6 +msgid "Add Attachment" +msgstr "" + +#: build/templates/build/attachments.html:69 +#: order/templates/order/so_attachments.html:52 +#: part/templates/part/attachments.html:35 +#: stock/templates/stock/item_attachments.html:49 +msgid "Edit Attachment" +msgstr "Ek Düzenle" + +#: build/templates/build/attachments.html:76 +#: order/templates/order/so_attachments.html:58 +#: part/templates/part/attachments.html:44 +#: stock/templates/stock/item_attachments.html:58 +msgid "Confirm Delete Operation" +msgstr "" + +#: build/templates/build/attachments.html:77 +#: order/templates/order/so_attachments.html:59 +#: part/templates/part/attachments.html:45 +#: stock/templates/stock/item_attachments.html:59 +msgid "Delete Attachment" +msgstr "Eki Sil" + #: build/templates/build/auto_allocate.html:9 msgid "Automatically Allocate Stock" msgstr "Stoku Otomatik Olarak Tahsis Et" @@ -989,8 +1024,8 @@ msgstr "Yönetici görünümü" #: order/templates/order/order_base.html:86 #: order/templates/order/sales_order_base.html:43 #: order/templates/order/sales_order_base.html:88 -#: templates/js/table_filters.js:245 templates/js/table_filters.js:264 -#: templates/js/table_filters.js:281 +#: templates/js/table_filters.js:250 templates/js/table_filters.js:269 +#: templates/js/table_filters.js:286 msgid "Overdue" msgstr "Vadesi geçmiş" @@ -1036,13 +1071,13 @@ msgid "Progress" msgstr "İlerleme" #: build/templates/build/build_base.html:170 -#: build/templates/build/detail.html:84 order/models.py:710 +#: build/templates/build/detail.html:84 order/models.py:812 #: order/templates/order/sales_order_base.html:9 #: order/templates/order/sales_order_base.html:35 #: order/templates/order/sales_order_ship.html:25 #: report/templates/report/inventree_build_order_base.html:136 #: report/templates/report/inventree_so_report.html:77 -#: stock/templates/stock/item_base.html:279 templates/js/order.js:245 +#: stock/templates/stock/item_base.html:279 templates/js/order.js:307 msgid "Sales Order" msgstr "Sipariş Emri" @@ -1183,10 +1218,10 @@ msgstr "Stok Kaynağı" msgid "Stock can be taken from any available location." msgstr "Stok herhangi bir konumdan alınabilir." -#: build/templates/build/detail.html:46 order/forms.py:89 order/models.py:673 -#: order/templates/order/purchase_order_detail.html:239 -#: order/templates/order/receive_parts.html:25 stock/forms.py:169 -#: stock/forms.py:375 +#: build/templates/build/detail.html:46 order/forms.py:88 order/models.py:771 +#: order/templates/order/purchase_order_detail.html:266 +#: order/templates/order/receive_parts.html:25 stock/forms.py:136 +#: stock/forms.py:342 msgid "Destination" msgstr "Hedef" @@ -1196,7 +1231,7 @@ msgstr "Hedef konumu belirtilmedi" #: build/templates/build/detail.html:70 #: stock/templates/stock/item_base.html:303 templates/js/stock.js:638 -#: templates/js/stock.js:1406 templates/js/table_filters.js:112 +#: templates/js/stock.js:1420 templates/js/table_filters.js:112 #: templates/js/table_filters.js:206 msgid "Batch" msgstr "Toplu" @@ -1251,7 +1286,7 @@ msgstr "Yapım İşi Emri Detayları" #: company/templates/company/navbar.html:15 #: order/templates/order/po_navbar.html:15 #: order/templates/order/so_navbar.html:15 part/templates/part/navbar.html:18 -#: templates/js/stock.js:1044 +#: templates/js/stock.js:1058 msgid "Details" msgstr "Detaylar" @@ -1287,7 +1322,6 @@ msgstr "Notları Düzenle" #: order/templates/order/order_notes.html:27 #: order/templates/order/sales_order_notes.html:29 #: part/templates/part/notes.html:27 stock/templates/stock/item_base.html:487 -#: stock/templates/stock/item_base.html:497 #: stock/templates/stock/item_notes.html:26 msgid "Save" msgstr "Kaydet" @@ -1316,7 +1350,7 @@ msgstr "Yapım İşi Çıktısı Oluştur" msgid "Maximum output quantity is " msgstr "Maksimum çıktı miktarı " -#: build/views.py:184 stock/views.py:1821 +#: build/views.py:184 stock/views.py:1653 msgid "Serial numbers already exist" msgstr "Seri numaraları zaten mevcut" @@ -1332,7 +1366,7 @@ msgstr "Yapım İşi Çıktısı Sil" msgid "Confirm unallocation of build stock" msgstr "Yapım işi stoku tahsisinin iptalini onayla" -#: build/views.py:281 build/views.py:371 stock/views.py:425 +#: build/views.py:281 build/views.py:371 stock/views.py:346 msgid "Check the confirmation box" msgstr "Onay kutusunu işaretleyin" @@ -1429,31 +1463,6 @@ msgstr "Stok Tahsisini Düzenle" msgid "Updated Build Item" msgstr "Yapım İşi Ögesini Güncelle" -#: build/views.py:1070 -msgid "Add Build Order Attachment" -msgstr "" - -#: build/views.py:1083 order/views.py:117 order/views.py:169 part/views.py:178 -#: stock/views.py:277 -msgid "Added attachment" -msgstr "Ek eklendi" - -#: build/views.py:1119 order/views.py:196 order/views.py:217 -msgid "Edit Attachment" -msgstr "Ek Düzenle" - -#: build/views.py:1129 order/views.py:200 order/views.py:221 -msgid "Attachment updated" -msgstr "Ek güncellendi" - -#: build/views.py:1139 order/views.py:236 order/views.py:250 -msgid "Delete Attachment" -msgstr "Eki Sil" - -#: build/views.py:1144 order/views.py:242 order/views.py:256 stock/views.py:333 -msgid "Deleted attachment" -msgstr "Eki sil" - #: common/files.py:66 msgid "Unsupported file format: {ext.upper()}" msgstr "Desteklenmeyen dosya formatı: {ext.upper()}" @@ -1470,7 +1479,7 @@ msgstr "Dosya okurken hata (hatalı ölçüler)" msgid "Error reading file (data could be corrupted)" msgstr "Dosya okurken hata (veri bozulmuş olabilir)" -#: common/forms.py:34 templates/attachment_table.html:15 +#: common/forms.py:34 templates/js/attachment.js:42 msgid "File" msgstr "Dosya" @@ -1503,7 +1512,7 @@ msgstr "" msgid "Use the instance name in the title-bar" msgstr "" -#: common/models.py:72 company/models.py:94 company/models.py:95 +#: common/models.py:72 company/models.py:99 company/models.py:100 msgid "Company name" msgstr "" @@ -1607,9 +1616,9 @@ msgstr "" msgid "Number of recent parts to display on index page" msgstr "" -#: common/models.py:160 part/models.py:2193 part/templates/part/detail.html:160 -#: report/models.py:186 stock/forms.py:259 templates/js/table_filters.js:25 -#: templates/js/table_filters.js:315 +#: common/models.py:160 part/models.py:2226 part/templates/part/detail.html:160 +#: report/models.py:186 stock/forms.py:226 templates/js/table_filters.js:25 +#: templates/js/table_filters.js:320 msgid "Template" msgstr "Şablon" @@ -1617,8 +1626,8 @@ msgstr "Şablon" msgid "Parts are templates by default" msgstr "Parçaları varsayılan olan şablondur" -#: common/models.py:167 part/models.py:819 part/templates/part/detail.html:170 -#: templates/js/table_filters.js:128 templates/js/table_filters.js:327 +#: common/models.py:167 part/models.py:828 part/templates/part/detail.html:170 +#: templates/js/table_filters.js:128 templates/js/table_filters.js:332 msgid "Assembly" msgstr "Montaj" @@ -1626,8 +1635,8 @@ msgstr "Montaj" msgid "Parts can be assembled from other components by default" msgstr "Parçalar varsayılan olarak başka bileşenlerden monte edilebilir" -#: common/models.py:174 part/models.py:825 part/templates/part/detail.html:180 -#: templates/js/table_filters.js:331 +#: common/models.py:174 part/models.py:834 part/templates/part/detail.html:180 +#: templates/js/table_filters.js:336 msgid "Component" msgstr "Bileşen" @@ -1635,7 +1644,7 @@ msgstr "Bileşen" msgid "Parts can be used as sub-components by default" msgstr "Parçalar varsayılan olarak alt bileşen olarak kullanılabilir" -#: common/models.py:181 part/models.py:836 part/templates/part/detail.html:200 +#: common/models.py:181 part/models.py:845 part/templates/part/detail.html:200 msgid "Purchaseable" msgstr "Satın Alınabilir" @@ -1643,8 +1652,8 @@ msgstr "Satın Alınabilir" msgid "Parts are purchaseable by default" msgstr "Parçalar varsayılan olarak satın alınabilir" -#: common/models.py:188 part/models.py:841 part/templates/part/detail.html:210 -#: templates/js/table_filters.js:339 +#: common/models.py:188 part/models.py:850 part/templates/part/detail.html:210 +#: templates/js/table_filters.js:344 msgid "Salable" msgstr "Satılabilir" @@ -1652,8 +1661,8 @@ msgstr "Satılabilir" msgid "Parts are salable by default" msgstr "Parçalar varsayılan olarak satılabilir" -#: common/models.py:195 part/models.py:831 part/templates/part/detail.html:190 -#: templates/js/table_filters.js:33 templates/js/table_filters.js:343 +#: common/models.py:195 part/models.py:840 part/templates/part/detail.html:190 +#: templates/js/table_filters.js:33 templates/js/table_filters.js:348 msgid "Trackable" msgstr "Takip Edilebilir" @@ -1661,7 +1670,7 @@ msgstr "Takip Edilebilir" msgid "Parts are trackable by default" msgstr "Parçalar varsayılan olarak takip edilebilir" -#: common/models.py:202 part/models.py:851 part/templates/part/detail.html:150 +#: common/models.py:202 part/models.py:860 part/templates/part/detail.html:150 #: templates/js/table_filters.js:29 msgid "Virtual" msgstr "Sanal" @@ -1858,13 +1867,12 @@ msgstr "" msgid "Key string must be unique" msgstr "" -#: common/models.py:742 company/forms.py:190 +#: common/models.py:742 company/forms.py:125 msgid "Price break quantity" msgstr "" -#: common/models.py:749 company/templates/company/supplier_part_pricing.html:82 -#: part/templates/part/internal_prices.html:103 -#: part/templates/part/sale_prices.html:90 +#: common/models.py:749 company/templates/company/supplier_part_pricing.html:84 +#: templates/js/part.js:832 msgid "Price" msgstr "" @@ -1894,16 +1902,16 @@ msgstr "" #: common/views.py:184 order/templates/order/order_wizard/po_upload.html:42 #: order/templates/order/po_navbar.html:19 -#: order/templates/order/po_navbar.html:22 order/views.py:605 +#: order/templates/order/po_navbar.html:22 order/views.py:337 #: part/templates/part/bom_upload/upload_file.html:27 -#: part/templates/part/import_wizard/part_upload.html:45 part/views.py:761 +#: part/templates/part/import_wizard/part_upload.html:45 part/views.py:621 msgid "Upload File" msgstr "Dosya Yükle" #: common/views.py:185 order/templates/order/order_wizard/match_fields.html:52 -#: order/views.py:606 part/templates/part/bom_upload/select_fields.html:58 +#: order/views.py:338 part/templates/part/bom_upload/select_fields.html:58 #: part/templates/part/import_wizard/ajax_match_fields.html:45 -#: part/templates/part/import_wizard/match_fields.html:52 part/views.py:762 +#: part/templates/part/import_wizard/match_fields.html:52 part/views.py:622 msgid "Match Fields" msgstr "" @@ -1928,269 +1936,277 @@ msgstr "" msgid "Previous Step" msgstr "" -#: company/forms.py:37 company/models.py:142 -#: company/templates/company/detail.html:42 -msgid "Currency" -msgstr "" - -#: company/forms.py:38 company/models.py:144 -msgid "Default currency used for this company" -msgstr "" - -#: company/forms.py:76 part/forms.py:46 +#: company/forms.py:26 part/forms.py:46 msgid "URL" msgstr "" -#: company/forms.py:77 part/forms.py:47 +#: company/forms.py:27 part/forms.py:47 msgid "Image URL" msgstr "" -#: company/forms.py:132 templates/js/part.js:787 +#: company/forms.py:67 templates/js/part.js:940 msgid "Single Price" msgstr "" -#: company/forms.py:133 +#: company/forms.py:68 msgid "Single quantity price" msgstr "" -#: company/forms.py:141 company/models.py:321 +#: company/forms.py:76 company/models.py:335 msgid "Select manufacturer" msgstr "" -#: company/forms.py:147 company/models.py:328 +#: company/forms.py:82 company/models.py:342 msgid "Manufacturer Part Number" msgstr "" -#: company/forms.py:149 company/models.py:327 +#: company/forms.py:84 company/models.py:341 #: company/templates/company/manufacturer_part_base.html:89 #: company/templates/company/manufacturer_part_detail.html:26 #: company/templates/company/supplier_part_base.html:102 #: company/templates/company/supplier_part_detail.html:35 -#: order/templates/order/purchase_order_detail.html:162 part/bom.py:171 -#: part/bom.py:242 templates/js/company.js:181 templates/js/company.js:408 +#: order/templates/order/purchase_order_detail.html:189 part/bom.py:171 +#: part/bom.py:242 templates/js/company.js:305 templates/js/company.js:533 msgid "MPN" msgstr "" -#: company/models.py:99 +#: company/models.py:104 msgid "Company description" msgstr "" -#: company/models.py:100 +#: company/models.py:105 msgid "Description of the company" msgstr "" -#: company/models.py:104 company/templates/company/company_base.html:70 -#: company/templates/company/detail.html:33 templates/js/company.js:60 +#: company/models.py:111 company/templates/company/company_base.html:70 +#: company/templates/company/detail.html:33 templates/js/company.js:129 msgid "Website" msgstr "" -#: company/models.py:104 +#: company/models.py:112 msgid "Company website URL" msgstr "" -#: company/models.py:107 company/templates/company/company_base.html:77 +#: company/models.py:116 company/templates/company/company_base.html:77 msgid "Address" msgstr "" -#: company/models.py:108 +#: company/models.py:117 msgid "Company address" msgstr "" -#: company/models.py:111 +#: company/models.py:120 msgid "Phone number" msgstr "" -#: company/models.py:112 +#: company/models.py:121 msgid "Contact phone number" msgstr "" -#: company/models.py:115 company/templates/company/company_base.html:91 +#: company/models.py:124 company/templates/company/company_base.html:91 msgid "Email" msgstr "" -#: company/models.py:115 +#: company/models.py:124 msgid "Contact email address" msgstr "" -#: company/models.py:118 company/templates/company/company_base.html:98 +#: company/models.py:127 company/templates/company/company_base.html:98 msgid "Contact" msgstr "" -#: company/models.py:119 +#: company/models.py:128 msgid "Point of contact" msgstr "" -#: company/models.py:121 company/models.py:333 company/models.py:526 -#: order/models.py:102 part/models.py:728 +#: company/models.py:130 company/models.py:347 company/models.py:548 +#: order/models.py:156 part/models.py:737 #: report/templates/report/inventree_build_order_base.html:165 -#: templates/js/company.js:188 templates/js/company.js:419 +#: templates/js/company.js:312 templates/js/company.js:544 #: templates/js/part.js:498 msgid "Link" msgstr "" -#: company/models.py:121 +#: company/models.py:130 msgid "Link to external company information" msgstr "" -#: company/models.py:129 part/models.py:738 +#: company/models.py:138 part/models.py:747 msgid "Image" msgstr "" -#: company/models.py:134 +#: company/models.py:143 msgid "is customer" msgstr "" -#: company/models.py:134 +#: company/models.py:143 msgid "Do you sell items to this company?" msgstr "" -#: company/models.py:136 +#: company/models.py:145 msgid "is supplier" msgstr "" -#: company/models.py:136 +#: company/models.py:145 msgid "Do you purchase items from this company?" msgstr "" -#: company/models.py:138 +#: company/models.py:147 msgid "is manufacturer" msgstr "" -#: company/models.py:138 +#: company/models.py:147 msgid "Does this company manufacture parts?" msgstr "" -#: company/models.py:305 company/models.py:497 stock/models.py:403 +#: company/models.py:151 company/serializers.py:259 +#: company/templates/company/detail.html:42 +msgid "Currency" +msgstr "" + +#: company/models.py:154 +msgid "Default currency used for this company" +msgstr "" + +#: company/models.py:319 company/models.py:519 stock/models.py:411 #: stock/templates/stock/item_base.html:235 msgid "Base Part" msgstr "" -#: company/models.py:309 company/models.py:501 order/views.py:1603 +#: company/models.py:323 company/models.py:523 order/views.py:1127 msgid "Select part" msgstr "" -#: company/models.py:320 company/templates/company/detail.html:57 +#: company/models.py:334 company/templates/company/detail.html:57 #: company/templates/company/manufacturer_part_base.html:85 #: company/templates/company/manufacturer_part_detail.html:25 #: company/templates/company/supplier_part_base.html:94 #: company/templates/company/supplier_part_detail.html:34 part/bom.py:170 #: part/bom.py:241 stock/templates/stock/item_base.html:352 -#: templates/js/company.js:44 templates/js/company.js:165 -#: templates/js/company.js:390 +#: templates/js/company.js:113 templates/js/company.js:289 +#: templates/js/company.js:515 msgid "Manufacturer" msgstr "" -#: company/models.py:334 +#: company/models.py:348 msgid "URL for external manufacturer part link" msgstr "" -#: company/models.py:340 +#: company/models.py:354 msgid "Manufacturer part description" msgstr "" -#: company/models.py:390 company/models.py:520 +#: company/models.py:408 company/models.py:542 #: company/templates/company/manufacturer_part_base.html:6 #: company/templates/company/manufacturer_part_base.html:19 #: stock/templates/stock/item_base.html:362 msgid "Manufacturer Part" msgstr "" -#: company/models.py:397 +#: company/models.py:415 msgid "Parameter name" msgstr "" -#: company/models.py:403 part/templates/part/params.html:28 +#: company/models.py:421 part/templates/part/params.html:28 #: report/templates/report/inventree_test_report_base.html:90 -#: stock/models.py:1751 templates/InvenTree/settings/header.html:8 -#: templates/js/company.js:241 templates/js/stock.js:137 +#: stock/models.py:1771 templates/InvenTree/settings/header.html:8 +#: templates/js/company.js:365 templates/js/stock.js:137 msgid "Value" msgstr "" -#: company/models.py:404 +#: company/models.py:422 msgid "Parameter value" msgstr "" -#: company/models.py:410 part/models.py:813 part/models.py:2165 +#: company/models.py:428 part/models.py:822 part/models.py:2194 #: part/templates/part/detail.html:106 part/templates/part/params.html:29 -#: templates/js/company.js:247 +#: templates/js/company.js:371 msgid "Units" msgstr "" -#: company/models.py:411 +#: company/models.py:429 msgid "Parameter units" msgstr "" -#: company/models.py:507 company/templates/company/detail.html:62 +#: company/models.py:529 company/templates/company/detail.html:62 #: company/templates/company/supplier_part_base.html:84 -#: company/templates/company/supplier_part_detail.html:25 order/models.py:189 +#: company/templates/company/supplier_part_detail.html:25 order/models.py:256 #: order/templates/order/order_base.html:92 #: order/templates/order/order_wizard/select_pos.html:30 part/bom.py:175 #: part/bom.py:286 stock/templates/stock/item_base.html:369 -#: templates/js/company.js:48 templates/js/company.js:364 -#: templates/js/order.js:170 +#: templates/js/company.js:117 templates/js/company.js:489 +#: templates/js/order.js:232 msgid "Supplier" msgstr "" -#: company/models.py:508 +#: company/models.py:530 msgid "Select supplier" msgstr "" -#: company/models.py:513 company/templates/company/supplier_part_base.html:88 +#: company/models.py:535 company/templates/company/supplier_part_base.html:88 #: company/templates/company/supplier_part_detail.html:26 -#: order/templates/order/purchase_order_detail.html:153 part/bom.py:176 +#: order/templates/order/purchase_order_detail.html:180 part/bom.py:176 #: part/bom.py:287 msgid "SKU" msgstr "" -#: company/models.py:514 +#: company/models.py:536 msgid "Supplier stock keeping unit" msgstr "" -#: company/models.py:521 +#: company/models.py:543 msgid "Select manufacturer part" msgstr "" -#: company/models.py:527 +#: company/models.py:549 msgid "URL for external supplier part link" msgstr "" -#: company/models.py:533 +#: company/models.py:555 msgid "Supplier part description" msgstr "" -#: company/models.py:538 company/templates/company/supplier_part_base.html:116 -#: company/templates/company/supplier_part_detail.html:38 part/models.py:2305 +#: company/models.py:560 company/templates/company/supplier_part_base.html:116 +#: company/templates/company/supplier_part_detail.html:38 part/models.py:2342 #: report/templates/report/inventree_po_report.html:93 #: report/templates/report/inventree_so_report.html:93 msgid "Note" msgstr "" -#: company/models.py:542 part/models.py:1606 +#: company/models.py:564 part/models.py:1615 msgid "base cost" msgstr "" -#: company/models.py:542 part/models.py:1606 +#: company/models.py:564 part/models.py:1615 msgid "Minimum charge (e.g. stocking fee)" msgstr "" -#: company/models.py:544 company/templates/company/supplier_part_base.html:109 -#: stock/models.py:427 stock/templates/stock/item_base.html:310 -#: templates/js/stock.js:695 +#: company/models.py:566 company/templates/company/supplier_part_base.html:109 +#: stock/models.py:435 stock/templates/stock/item_base.html:310 +#: templates/js/stock.js:709 msgid "Packaging" msgstr "" -#: company/models.py:544 +#: company/models.py:566 msgid "Part packaging" msgstr "" -#: company/models.py:546 part/models.py:1608 +#: company/models.py:568 part/models.py:1617 msgid "multiple" msgstr "" -#: company/models.py:546 +#: company/models.py:568 msgid "Order multiple" msgstr "" +#: company/serializers.py:68 +msgid "Default currency used for this supplier" +msgstr "" + +#: company/serializers.py:69 +msgid "Currency Code" +msgstr "" + #: company/templates/company/assigned_stock.html:10 #: company/templates/company/navbar.html:62 #: company/templates/company/navbar.html:65 templates/js/build.js:563 @@ -2199,7 +2215,7 @@ msgstr "Atanan Stok" #: company/templates/company/company_base.html:9 #: company/templates/company/company_base.html:35 -#: templates/InvenTree/search.html:304 templates/js/company.js:33 +#: templates/InvenTree/search.html:304 templates/js/company.js:102 msgid "Company" msgstr "" @@ -2213,7 +2229,7 @@ msgstr "" msgid "Download image from URL" msgstr "" -#: company/templates/company/company_base.html:46 order/views.py:313 +#: company/templates/company/company_base.html:46 templates/js/order.js:61 msgid "Create Purchase Order" msgstr "Satın Alma Emri Oluştur" @@ -2221,7 +2237,8 @@ msgstr "Satın Alma Emri Oluştur" msgid "Edit company information" msgstr "" -#: company/templates/company/company_base.html:56 company/views.py:326 +#: company/templates/company/company_base.html:56 +#: company/templates/company/company_base.html:126 msgid "Delete Company" msgstr "" @@ -2235,15 +2252,9 @@ msgstr "" msgid "Phone" msgstr "" -#: company/templates/company/delete.html:7 -#, python-format -msgid "Are you sure you want to delete company '%(name)s'?" -msgstr "" - -#: company/templates/company/delete.html:12 -#, python-format -msgid "There are %(count)s parts sourced from this company.
\n" -"If this supplier is deleted, these supplier part entries will also be deleted." +#: company/templates/company/company_base.html:166 +#: part/templates/part/part_base.html:307 +msgid "Upload Image" msgstr "" #: company/templates/company/detail.html:21 @@ -2258,11 +2269,11 @@ msgstr "" msgid "Uses default currency" msgstr "" -#: company/templates/company/detail.html:67 order/models.py:460 -#: order/templates/order/sales_order_base.html:94 stock/models.py:445 -#: stock/models.py:446 stock/templates/stock/item_base.html:262 -#: templates/js/company.js:40 templates/js/order.js:267 -#: templates/js/stock.js:1097 +#: company/templates/company/detail.html:67 order/models.py:540 +#: order/templates/order/sales_order_base.html:94 stock/models.py:453 +#: stock/models.py:454 stock/templates/stock/item_base.html:262 +#: templates/js/company.js:109 templates/js/order.js:329 +#: templates/js/stock.js:1111 msgid "Customer" msgstr "Müşteri" @@ -2283,6 +2294,7 @@ msgstr "" #: company/templates/company/detail_manufacturer_part.html:28 #: company/templates/company/detail_supplier_part.html:27 #: company/templates/company/manufacturer_part_suppliers.html:20 +#: company/templates/company/manufacturer_part_suppliers.html:46 #: part/templates/part/category.html:131 #: part/templates/part/manufacturer.html:22 #: part/templates/part/supplier.html:20 @@ -2305,26 +2317,25 @@ msgstr "Parçaları sil" msgid "Delete Parts" msgstr "Parçaları Sil" -#: company/templates/company/detail_manufacturer_part.html:66 +#: company/templates/company/detail_manufacturer_part.html:68 #: company/templates/company/detail_supplier_part.html:66 #: part/templates/part/bom.html:159 part/templates/part/category.html:127 -#: templates/js/stock.js:1312 +#: templates/js/stock.js:1326 msgid "New Part" msgstr "" -#: company/templates/company/detail_manufacturer_part.html:67 +#: company/templates/company/detail_manufacturer_part.html:69 #: company/templates/company/detail_supplier_part.html:67 msgid "Create new Part" msgstr "" -#: company/templates/company/detail_manufacturer_part.html:72 -#: company/views.py:71 part/templates/part/manufacturer.html:52 -#: part/templates/part/supplier.html:56 +#: company/templates/company/detail_manufacturer_part.html:74 +#: company/views.py:66 part/templates/part/manufacturer.html:52 +#: part/templates/part/supplier.html:55 msgid "New Manufacturer" msgstr "" -#: company/templates/company/detail_manufacturer_part.html:73 -#: company/views.py:284 +#: company/templates/company/detail_manufacturer_part.html:75 msgid "Create new Manufacturer" msgstr "" @@ -2335,7 +2346,7 @@ msgstr "Tedarikçi Stoku" #: company/templates/company/detail_stock.html:37 #: company/templates/company/supplier_part_stock.html:34 #: part/templates/part/category.html:123 part/templates/part/category.html:137 -#: part/templates/part/stock.html:54 stock/templates/stock/location.html:163 +#: part/templates/part/stock.html:55 stock/templates/stock/location.html:163 msgid "Export" msgstr "" @@ -2347,26 +2358,24 @@ msgstr "Tedarikçi Parçaları" #: company/templates/company/detail_supplier_part.html:21 #: order/templates/order/order_wizard/select_parts.html:44 -#: order/templates/order/purchase_order_detail.html:50 +#: part/templates/part/part_base.html:429 msgid "Create new supplier part" msgstr "Yeni tedarikçi parçası oluştur" #: company/templates/company/detail_supplier_part.html:22 #: company/templates/company/manufacturer_part_suppliers.html:17 -#: order/templates/order/purchase_order_detail.html:49 -#: part/templates/part/supplier.html:17 templates/js/stock.js:1318 +#: part/templates/part/part_base.html:428 part/templates/part/supplier.html:17 +#: templates/js/stock.js:1332 msgid "New Supplier Part" msgstr "Yeni Tedarikçi Parçası" #: company/templates/company/detail_supplier_part.html:72 -#: company/templates/company/manufacturer_part_suppliers.html:82 -#: company/views.py:64 order/templates/order/purchase_orders.html:185 -#: part/templates/part/supplier.html:50 +#: company/templates/company/manufacturer_part_suppliers.html:96 +#: company/views.py:60 part/templates/part/supplier.html:50 msgid "New Supplier" msgstr "" -#: company/templates/company/detail_supplier_part.html:73 company/views.py:281 -#: order/templates/order/purchase_orders.html:186 +#: company/templates/company/detail_supplier_part.html:73 msgid "Create new Supplier" msgstr "" @@ -2401,20 +2410,19 @@ msgstr "" msgid "Internal Part" msgstr "" -#: company/templates/company/manufacturer_part_delete.html:6 -msgid "Are you sure you want to delete the following Manufacturer Parts?" +#: company/templates/company/manufacturer_part_base.html:125 +msgid "Edit Manufacturer Part" msgstr "" -#: company/templates/company/manufacturer_part_delete.html:36 -#, python-format -msgid "There are %(count)s suppliers defined for this manufacturer part. If you delete it, the following supplier parts will also be deleted:" -msgstr "Bu üretici parçası için tanımlanmış %(count)s tedarikçi bulunmaktadır. Bunu silerseniz, aşağıdaki tedarikçi parçaları da silinecektir:" +#: company/templates/company/manufacturer_part_base.html:134 +msgid "Delete Manufacturer Part" +msgstr "" #: company/templates/company/manufacturer_part_navbar.html:14 #: company/templates/company/manufacturer_part_suppliers.html:10 -#: company/views.py:63 part/templates/part/navbar.html:87 -#: part/templates/part/navbar.html:90 templates/InvenTree/search.html:316 -#: templates/navbar.html:35 +#: company/views.py:59 part/templates/part/navbar.html:87 +#: part/templates/part/navbar.html:90 part/templates/part/prices.html:153 +#: templates/InvenTree/search.html:316 templates/navbar.html:35 msgid "Suppliers" msgstr "" @@ -2425,7 +2433,7 @@ msgstr "" #: company/templates/company/manufacturer_part_navbar.html:22 #: company/templates/company/navbar.html:41 #: company/templates/company/supplier_part_navbar.html:15 -#: part/templates/part/navbar.html:39 stock/api.py:54 +#: part/templates/part/navbar.html:39 stock/api.py:53 #: stock/templates/stock/loc_link.html:7 stock/templates/stock/location.html:36 #: stock/templates/stock/stock_app_base.html:10 #: templates/InvenTree/index.html:128 templates/InvenTree/search.html:196 @@ -2451,9 +2459,11 @@ msgid "Delete supplier parts" msgstr "Tedarikçi parçalarını sil" #: company/templates/company/manufacturer_part_suppliers.html:22 +#: company/templates/company/manufacturer_part_suppliers.html:48 +#: company/templates/company/manufacturer_part_suppliers.html:142 #: part/templates/part/manufacturer.html:24 part/templates/part/params.html:44 #: part/templates/part/related.html:44 part/templates/part/supplier.html:22 -#: stock/views.py:1002 users/models.py:191 +#: stock/views.py:855 templates/js/company.js:203 users/models.py:192 msgid "Delete" msgstr "" @@ -2471,11 +2481,27 @@ msgstr "" msgid "New Parameter" msgstr "" -#: company/templates/company/manufacturer_part_suppliers.html:83 +#: company/templates/company/manufacturer_part_suppliers.html:48 +msgid "Delete parameters" +msgstr "" + +#: company/templates/company/manufacturer_part_suppliers.html:80 +msgid "Add Parameter" +msgstr "" + +#: company/templates/company/manufacturer_part_suppliers.html:97 #: part/templates/part/supplier.html:51 msgid "Create new supplier" msgstr "" +#: company/templates/company/manufacturer_part_suppliers.html:127 +msgid "Selected parameters will be deleted" +msgstr "" + +#: company/templates/company/manufacturer_part_suppliers.html:139 +msgid "Delete Parameters" +msgstr "" + #: company/templates/company/navbar.html:20 #: company/templates/company/navbar.html:23 msgid "Manufactured Parts" @@ -2492,8 +2518,8 @@ msgstr "" #: stock/templates/stock/location.html:136 #: stock/templates/stock/location_navbar.html:22 #: stock/templates/stock/location_navbar.html:29 -#: templates/InvenTree/search.html:198 templates/js/stock.js:996 -#: templates/stats.html:93 templates/stats.html:102 users/models.py:42 +#: templates/InvenTree/search.html:198 templates/js/stock.js:1010 +#: templates/stats.html:93 templates/stats.html:102 users/models.py:43 msgid "Stock Items" msgstr "Stok Kalemleri" @@ -2503,11 +2529,11 @@ msgstr "Stok Kalemleri" #: company/templates/company/sales_orders.html:11 #: order/templates/order/sales_orders.html:8 #: order/templates/order/sales_orders.html:13 -#: part/templates/part/navbar.html:113 part/templates/part/navbar.html:116 -#: part/templates/part/sales_orders.html:10 templates/InvenTree/index.html:228 +#: part/templates/part/navbar.html:101 part/templates/part/navbar.html:104 +#: part/templates/part/sales_orders.html:10 templates/InvenTree/index.html:236 #: templates/InvenTree/search.html:345 #: templates/InvenTree/settings/tabs.html:40 templates/navbar.html:46 -#: users/models.py:45 +#: users/models.py:46 msgid "Sales Orders" msgstr "Satış Emirleri" @@ -2516,10 +2542,10 @@ msgstr "Satış Emirleri" #: order/templates/order/purchase_orders.html:8 #: order/templates/order/purchase_orders.html:13 #: part/templates/part/navbar.html:93 part/templates/part/navbar.html:96 -#: part/templates/part/orders.html:10 templates/InvenTree/index.html:205 +#: part/templates/part/orders.html:10 templates/InvenTree/index.html:213 #: templates/InvenTree/search.html:325 #: templates/InvenTree/settings/tabs.html:37 templates/navbar.html:37 -#: users/models.py:44 +#: users/models.py:45 msgid "Purchase Orders" msgstr "Satın Alma Emirleri" @@ -2548,8 +2574,9 @@ msgid "New Sales Order" msgstr "Yeni Satış Emri" #: company/templates/company/supplier_part_base.html:7 -#: company/templates/company/supplier_part_base.html:20 stock/models.py:412 -#: stock/templates/stock/item_base.html:374 templates/js/company.js:380 +#: company/templates/company/supplier_part_base.html:20 stock/models.py:420 +#: stock/templates/stock/item_base.html:374 templates/js/company.js:505 +#: templates/js/stock.js:690 msgid "Supplier Part" msgstr "Tedarikçi Parçası" @@ -2594,459 +2621,401 @@ msgid "Order Part" msgstr "" #: company/templates/company/supplier_part_pricing.html:11 +#: part/templates/part/navbar.html:74 msgid "Pricing Information" msgstr "" -#: company/templates/company/supplier_part_pricing.html:19 company/views.py:855 -#: part/templates/part/sale_prices.html:17 part/views.py:2918 +#: company/templates/company/supplier_part_pricing.html:19 +#: company/templates/company/supplier_part_pricing.html:118 +#: part/templates/part/prices.html:264 part/views.py:2788 msgid "Add Price Break" msgstr "" #: company/templates/company/supplier_part_pricing.html:38 -#: part/templates/part/sale_prices.html:46 msgid "No price break information found" msgstr "" -#: company/templates/company/supplier_part_pricing.html:89 -#: part/templates/part/sale_prices.html:97 +#: company/templates/company/supplier_part_pricing.html:52 part/views.py:2850 +msgid "Delete Price Break" +msgstr "" + +#: company/templates/company/supplier_part_pricing.html:66 part/views.py:2836 +msgid "Edit Price Break" +msgstr "" + +#: company/templates/company/supplier_part_pricing.html:91 msgid "Edit price break" msgstr "" -#: company/templates/company/supplier_part_pricing.html:90 -#: part/templates/part/sale_prices.html:98 +#: company/templates/company/supplier_part_pricing.html:92 msgid "Delete price break" msgstr "" -#: company/views.py:70 part/templates/part/navbar.html:81 -#: part/templates/part/navbar.html:84 templates/InvenTree/search.html:306 -#: templates/navbar.html:36 +#: company/views.py:65 part/templates/part/navbar.html:81 +#: part/templates/part/navbar.html:84 part/templates/part/prices.html:157 +#: templates/InvenTree/search.html:306 templates/navbar.html:36 msgid "Manufacturers" msgstr "" -#: company/views.py:77 templates/InvenTree/search.html:336 +#: company/views.py:71 templates/InvenTree/search.html:336 #: templates/navbar.html:45 msgid "Customers" msgstr "" -#: company/views.py:78 order/templates/order/sales_orders.html:187 +#: company/views.py:72 msgid "New Customer" msgstr "" -#: company/views.py:86 +#: company/views.py:79 msgid "Companies" msgstr "" -#: company/views.py:87 +#: company/views.py:80 msgid "New Company" msgstr "" -#: company/views.py:169 part/views.py:1115 +#: company/views.py:161 part/views.py:1007 msgid "Download Image" msgstr "" -#: company/views.py:198 part/views.py:1147 +#: company/views.py:190 part/views.py:1039 msgid "Image size exceeds maximum allowable size for download" msgstr "" -#: company/views.py:205 part/views.py:1154 +#: company/views.py:197 part/views.py:1046 #, python-brace-format msgid "Invalid response: {code}" msgstr "" -#: company/views.py:214 part/views.py:1163 +#: company/views.py:206 part/views.py:1055 msgid "Supplied URL is not a valid image file" msgstr "Sağlanan URL geçerli bir resim dosyası değil" -#: company/views.py:243 -msgid "Update Company Image" -msgstr "" - -#: company/views.py:249 -msgid "Updated company image" -msgstr "" - -#: company/views.py:259 -msgid "Edit Company" -msgstr "" - -#: company/views.py:264 -msgid "Edited company information" -msgstr "" - -#: company/views.py:287 order/templates/order/sales_orders.html:188 -msgid "Create new Customer" -msgstr "" - -#: company/views.py:289 -msgid "Create new Company" -msgstr "" - -#: company/views.py:316 -msgid "Created new company" -msgstr "" - -#: company/views.py:332 -msgid "Company was deleted" -msgstr "" - -#: company/views.py:357 -msgid "Edit Manufacturer Part" -msgstr "" - -#: company/views.py:366 +#: company/views.py:251 msgid "Create New Manufacturer Part" msgstr "" -#: company/views.py:440 -msgid "Delete Manufacturer Part" -msgstr "" - -#: company/views.py:514 -msgid "Add Manufacturer Part Parameter" -msgstr "" - -#: company/views.py:548 -msgid "Edit Manufacturer Part Parameter" -msgstr "" - -#: company/views.py:588 +#: company/views.py:334 msgid "Edit Supplier Part" msgstr "" -#: company/views.py:639 templates/js/stock.js:1319 +#: company/views.py:385 templates/js/stock.js:1333 msgid "Create new Supplier Part" msgstr "" -#: company/views.py:783 +#: company/views.py:529 msgid "Delete Supplier Part" msgstr "" -#: company/views.py:860 part/views.py:2922 -msgid "Added new price break" -msgstr "" - -#: company/views.py:916 part/views.py:2966 -msgid "Edit Price Break" -msgstr "" - -#: company/views.py:931 part/views.py:2980 -msgid "Delete Price Break" -msgstr "" - #: label/api.py:56 report/api.py:201 msgid "No valid objects provided to template" msgstr "Şablon için geçerli bir nesne sağlanmadı" -#: label/models.py:103 +#: label/models.py:104 msgid "Label name" msgstr "Etiket adı" -#: label/models.py:110 +#: label/models.py:111 msgid "Label description" msgstr "Etiket tanımı" -#: label/models.py:117 stock/forms.py:202 +#: label/models.py:118 stock/forms.py:169 msgid "Label" msgstr "Etiket" -#: label/models.py:118 +#: label/models.py:119 msgid "Label template file" msgstr "Etiket şablon listesi" -#: label/models.py:124 report/models.py:297 +#: label/models.py:125 report/models.py:297 msgid "Enabled" msgstr "" -#: label/models.py:125 +#: label/models.py:126 msgid "Label template is enabled" msgstr "Etiket sablonu etkinleştirildi" -#: label/models.py:130 +#: label/models.py:131 msgid "Width [mm]" msgstr "" -#: label/models.py:131 +#: label/models.py:132 msgid "Label width, specified in mm" msgstr "Etiket genişliği mm olarak belirtilmeli" -#: label/models.py:137 +#: label/models.py:138 msgid "Height [mm]" msgstr "" -#: label/models.py:138 +#: label/models.py:139 msgid "Label height, specified in mm" msgstr "Etiket yüksekliği mm olarak belirtilmeli" -#: label/models.py:144 report/models.py:290 +#: label/models.py:145 report/models.py:290 msgid "Filename Pattern" msgstr "Dosya Adı Deseni" -#: label/models.py:145 +#: label/models.py:146 msgid "Pattern for generating label filenames" msgstr "Etiket dosya adları oluşturma için desen" -#: label/models.py:244 label/models.py:297 +#: label/models.py:249 label/models.py:306 msgid "Query filters (comma-separated list of key=value pairs" msgstr "" -#: label/models.py:245 label/models.py:298 report/models.py:317 +#: label/models.py:250 label/models.py:307 report/models.py:317 #: report/models.py:440 report/models.py:474 msgid "Filters" msgstr "" -#: order/forms.py:31 order/templates/order/order_base.html:47 +#: order/forms.py:30 order/templates/order/order_base.html:47 msgid "Place order" msgstr "" -#: order/forms.py:42 order/templates/order/order_base.html:54 +#: order/forms.py:41 order/templates/order/order_base.html:54 msgid "Mark order as complete" msgstr "" -#: order/forms.py:53 order/forms.py:64 order/templates/order/order_base.html:59 +#: order/forms.py:52 order/forms.py:63 order/templates/order/order_base.html:59 #: order/templates/order/sales_order_base.html:61 msgid "Cancel order" msgstr "" -#: order/forms.py:75 order/templates/order/sales_order_base.html:58 +#: order/forms.py:74 order/templates/order/sales_order_base.html:58 msgid "Ship order" msgstr "" -#: order/forms.py:90 +#: order/forms.py:89 msgid "Receive parts to this location" msgstr "Parçaları bu konuma alın" -#: order/forms.py:112 -msgid "Purchase Order reference" -msgstr "" - -#: order/forms.py:119 -msgid "Target date for order delivery. Order will be overdue after this date." -msgstr "" - -#: order/forms.py:147 -msgid "Enter sales order number" -msgstr "" - -#: order/forms.py:154 order/models.py:472 -msgid "Target date for order completion. Order will be overdue after this date." -msgstr "" - -#: order/forms.py:246 +#: order/forms.py:116 msgid "Enter stock item serial numbers" msgstr "Stok kalemi seri numaları girin" -#: order/forms.py:252 +#: order/forms.py:122 msgid "Enter quantity of stock items" msgstr "" -#: order/models.py:98 -msgid "Order reference" -msgstr "" - -#: order/models.py:100 +#: order/models.py:154 msgid "Order description" msgstr "" -#: order/models.py:102 +#: order/models.py:156 msgid "Link to external page" msgstr "" -#: order/models.py:110 part/templates/part/detail.html:132 +#: order/models.py:164 part/templates/part/detail.html:132 msgid "Created By" msgstr "" -#: order/models.py:117 +#: order/models.py:171 msgid "User or group responsible for this order" msgstr "" -#: order/models.py:122 +#: order/models.py:176 msgid "Order notes" msgstr "" -#: order/models.py:181 order/models.py:465 +#: order/models.py:243 order/models.py:530 +msgid "Order reference" +msgstr "" + +#: order/models.py:248 order/models.py:545 msgid "Purchase order status" msgstr "" -#: order/models.py:190 +#: order/models.py:257 msgid "Company from which the items are being ordered" msgstr "" -#: order/models.py:193 order/templates/order/order_base.html:98 -#: templates/js/order.js:179 +#: order/models.py:260 order/templates/order/order_base.html:98 +#: templates/js/order.js:241 msgid "Supplier Reference" msgstr "" -#: order/models.py:193 +#: order/models.py:260 msgid "Supplier order reference code" msgstr "" -#: order/models.py:200 +#: order/models.py:267 msgid "received by" msgstr "" -#: order/models.py:205 +#: order/models.py:272 msgid "Issue Date" msgstr "" -#: order/models.py:206 +#: order/models.py:273 msgid "Date order was issued" msgstr "" -#: order/models.py:211 +#: order/models.py:278 msgid "Target Delivery Date" msgstr "" -#: order/models.py:212 +#: order/models.py:279 msgid "Expected date for order delivery. Order will be overdue after this date." msgstr "" -#: order/models.py:218 +#: order/models.py:285 msgid "Date order was completed" msgstr "" -#: order/models.py:242 part/views.py:1853 stock/models.py:300 -#: stock/models.py:1015 +#: order/models.py:309 part/views.py:1730 stock/models.py:308 +#: stock/models.py:1023 msgid "Quantity must be greater than zero" msgstr "" -#: order/models.py:247 +#: order/models.py:314 msgid "Part supplier must match PO supplier" msgstr "" -#: order/models.py:345 +#: order/models.py:412 msgid "Lines can only be received against an order marked as 'Placed'" msgstr "" -#: order/models.py:349 +#: order/models.py:416 msgid "Quantity must be an integer" msgstr "" -#: order/models.py:351 +#: order/models.py:418 msgid "Quantity must be a positive number" msgstr "" -#: order/models.py:461 +#: order/models.py:541 msgid "Company to which the items are being sold" msgstr "" -#: order/models.py:467 +#: order/models.py:547 msgid "Customer Reference " msgstr "" -#: order/models.py:467 +#: order/models.py:547 msgid "Customer order reference code" msgstr "" -#: order/models.py:475 templates/js/order.js:303 +#: order/models.py:552 +msgid "Target date for order completion. Order will be overdue after this date." +msgstr "" + +#: order/models.py:555 templates/js/order.js:370 msgid "Shipment Date" msgstr "" -#: order/models.py:482 +#: order/models.py:562 msgid "shipped by" msgstr "" -#: order/models.py:526 +#: order/models.py:606 msgid "SalesOrder cannot be shipped as it is not currently pending" msgstr "" -#: order/models.py:613 +#: order/models.py:703 msgid "Item quantity" msgstr "" -#: order/models.py:615 +#: order/models.py:709 msgid "Line item reference" msgstr "" -#: order/models.py:617 +#: order/models.py:711 msgid "Line item notes" msgstr "" -#: order/models.py:643 order/models.py:710 templates/js/order.js:353 +#: order/models.py:741 order/models.py:812 templates/js/order.js:420 msgid "Order" msgstr "" -#: order/models.py:644 order/templates/order/order_base.html:9 +#: order/models.py:742 order/templates/order/order_base.html:9 #: order/templates/order/order_base.html:24 #: report/templates/report/inventree_po_report.html:77 -#: stock/templates/stock/item_base.html:324 templates/js/order.js:148 -#: templates/js/stock.js:669 templates/js/stock.js:1078 +#: stock/templates/stock/item_base.html:324 templates/js/order.js:210 +#: templates/js/stock.js:669 templates/js/stock.js:1092 msgid "Purchase Order" msgstr "" -#: order/models.py:658 +#: order/models.py:756 msgid "Supplier part" msgstr "" -#: order/models.py:661 order/templates/order/order_base.html:131 -#: order/templates/order/purchase_order_detail.html:219 +#: order/models.py:759 order/templates/order/order_base.html:131 +#: order/templates/order/purchase_order_detail.html:246 #: order/templates/order/receive_parts.html:22 #: order/templates/order/sales_order_base.html:133 msgid "Received" msgstr "" -#: order/models.py:661 +#: order/models.py:759 msgid "Number of items received" msgstr "" -#: order/models.py:667 stock/models.py:537 -#: stock/templates/stock/item_base.html:331 templates/js/stock.js:690 +#: order/models.py:765 part/templates/part/prices.html:166 stock/models.py:545 +#: stock/templates/stock/item_base.html:331 templates/js/stock.js:704 msgid "Purchase Price" msgstr "" -#: order/models.py:668 +#: order/models.py:766 msgid "Unit purchase price" msgstr "" -#: order/models.py:676 +#: order/models.py:774 msgid "Where does the Purchaser want this item to be stored?" msgstr "" -#: order/models.py:718 part/templates/part/navbar.html:110 -#: part/templates/part/order_prices.html:108 -#: part/templates/part/part_pricing.html:97 +#: order/models.py:820 part/templates/part/part_pricing.html:97 +#: part/templates/part/prices.html:103 part/templates/part/prices.html:278 msgid "Sale Price" msgstr "" -#: order/models.py:719 +#: order/models.py:821 msgid "Unit sale price" msgstr "" -#: order/models.py:794 order/models.py:796 +#: order/models.py:900 order/models.py:902 msgid "Stock item has not been assigned" msgstr "" -#: order/models.py:800 +#: order/models.py:906 msgid "Cannot allocate stock item to a line with a different part" msgstr "" -#: order/models.py:802 +#: order/models.py:908 msgid "Cannot allocate stock to a line without a part" msgstr "" -#: order/models.py:805 +#: order/models.py:911 msgid "Allocation quantity cannot exceed stock quantity" msgstr "Tahsis miktarı stok miktarını aşamaz" -#: order/models.py:815 +#: order/models.py:921 msgid "Quantity must be 1 for serialized stock item" msgstr "Seri numaralı stok kalemi için miktar bir olmalı" -#: order/models.py:820 +#: order/models.py:926 msgid "Line" msgstr "" -#: order/models.py:831 +#: order/models.py:937 msgid "Item" msgstr "" -#: order/models.py:832 +#: order/models.py:938 msgid "Select stock item to allocate" msgstr "" -#: order/models.py:835 +#: order/models.py:941 msgid "Enter stock allocation quantity" msgstr "Stok tahsis miktarını girin" +#: order/serializers.py:139 +msgid "Purchase price currency" +msgstr "" + +#: order/serializers.py:359 +msgid "Sale price currency" +msgstr "" + #: order/templates/order/delete_attachment.html:5 #: stock/templates/stock/attachment_delete.html:5 #: templates/attachment_delete.html:5 @@ -3091,16 +3060,22 @@ msgstr "" msgid "Issued" msgstr "" -#: order/templates/order/order_base.html:180 -#: order/templates/order/purchase_order_detail.html:100 +#: order/templates/order/order_base.html:188 +msgid "Edit Purchase Order" +msgstr "" + +#: order/templates/order/order_base.html:199 +#: order/templates/order/purchase_order_detail.html:127 #: part/templates/part/category.html:217 part/templates/part/category.html:259 -#: stock/templates/stock/location.html:191 templates/js/stock.js:736 -#: templates/js/stock.js:1324 +#: part/templates/part/part_base.html:415 +#: stock/templates/stock/location.html:191 templates/js/stock.js:750 +#: templates/js/stock.js:1338 msgid "New Location" msgstr "Yeni Konum" -#: order/templates/order/order_base.html:181 -#: order/templates/order/purchase_order_detail.html:101 +#: order/templates/order/order_base.html:200 +#: order/templates/order/purchase_order_detail.html:128 +#: part/templates/part/part_base.html:416 #: stock/templates/stock/location.html:42 msgid "Create new stock location" msgstr "Yeni stok konumu oluştur" @@ -3253,7 +3228,7 @@ msgid "Select existing purchase orders, or create new orders." msgstr "" #: order/templates/order/order_wizard/select_pos.html:31 -#: templates/js/order.js:205 templates/js/order.js:308 +#: templates/js/order.js:267 templates/js/order.js:375 msgid "Items" msgstr "" @@ -3277,7 +3252,6 @@ msgid "Purchase Order Attachments" msgstr "" #: order/templates/order/po_lineitem_delete.html:5 -#: order/templates/order/so_lineitem_delete.html:5 msgid "Are you sure you wish to delete this line item?" msgstr "" @@ -3295,40 +3269,52 @@ msgid "Purchase Order Items" msgstr "" #: order/templates/order/purchase_order_detail.html:24 -#: order/templates/order/sales_order_detail.html:22 order/views.py:1327 -#: order/views.py:1410 +#: order/templates/order/purchase_order_detail.html:64 +#: order/templates/order/sales_order_detail.html:22 +#: order/templates/order/sales_order_detail.html:56 msgid "Add Line Item" msgstr "" -#: order/templates/order/purchase_order_detail.html:114 +#: order/templates/order/purchase_order_detail.html:100 +#: order/templates/order/sales_order_detail.html:398 +msgid "Edit Line Item" +msgstr "" + +#: order/templates/order/purchase_order_detail.html:110 +#: order/templates/order/sales_order_detail.html:408 +msgid "Delete Line Item" +msgstr "" + +#: order/templates/order/purchase_order_detail.html:141 msgid "No line items found" msgstr "" -#: order/templates/order/purchase_order_detail.html:142 -#: order/templates/order/sales_order_detail.html:223 +#: order/templates/order/purchase_order_detail.html:169 +#: order/templates/order/sales_order_detail.html:233 msgid "Total" msgstr "" -#: order/templates/order/purchase_order_detail.html:191 -#: order/templates/order/sales_order_detail.html:246 +#: order/templates/order/purchase_order_detail.html:218 +#: order/templates/order/sales_order_detail.html:256 templates/js/part.js:807 +#: templates/js/part.js:996 msgid "Unit Price" msgstr "" -#: order/templates/order/purchase_order_detail.html:198 -#: order/templates/order/sales_order_detail.html:253 +#: order/templates/order/purchase_order_detail.html:225 +#: order/templates/order/sales_order_detail.html:263 msgid "Total price" msgstr "" -#: order/templates/order/purchase_order_detail.html:255 -#: order/templates/order/sales_order_detail.html:359 +#: order/templates/order/purchase_order_detail.html:282 +#: order/templates/order/sales_order_detail.html:369 msgid "Edit line item" msgstr "" -#: order/templates/order/purchase_order_detail.html:256 +#: order/templates/order/purchase_order_detail.html:283 msgid "Delete line item" msgstr "" -#: order/templates/order/purchase_order_detail.html:261 +#: order/templates/order/purchase_order_detail.html:288 msgid "Receive line item" msgstr "" @@ -3343,7 +3329,7 @@ msgid "Receive outstanding parts for %(order)s - %(desc)s" msgstr "" #: order/templates/order/receive_parts.html:14 part/api.py:45 -#: part/models.py:322 part/templates/part/cat_link.html:7 +#: part/models.py:326 part/templates/part/cat_link.html:7 #: part/templates/part/category.html:108 part/templates/part/category.html:157 #: part/templates/part/category_navbar.html:25 #: part/templates/part/category_navbar.html:32 @@ -3351,7 +3337,7 @@ msgstr "" #: templates/InvenTree/index.html:97 templates/InvenTree/search.html:114 #: templates/InvenTree/settings/tabs.html:28 templates/js/part.js:666 #: templates/navbar.html:23 templates/stats.html:80 templates/stats.html:89 -#: users/models.py:40 +#: users/models.py:41 msgid "Parts" msgstr "Parçalar" @@ -3393,10 +3379,14 @@ msgstr "" msgid "Sales Order Details" msgstr "" -#: order/templates/order/sales_order_base.html:100 templates/js/order.js:275 +#: order/templates/order/sales_order_base.html:100 templates/js/order.js:342 msgid "Customer Reference" msgstr "" +#: order/templates/order/sales_order_base.html:177 +msgid "Edit Sales Order" +msgstr "" + #: order/templates/order/sales_order_cancel.html:8 #: order/templates/order/sales_order_ship.html:9 #: part/templates/part/bom_duplicate.html:12 @@ -3412,69 +3402,69 @@ msgstr "" msgid "Sales Order Items" msgstr "" -#: order/templates/order/sales_order_detail.html:95 templates/js/bom.js:358 +#: order/templates/order/sales_order_detail.html:105 templates/js/bom.js:358 #: templates/js/build.js:725 templates/js/build.js:1142 msgid "Actions" msgstr "İşlemler" -#: order/templates/order/sales_order_detail.html:102 templates/js/build.js:611 +#: order/templates/order/sales_order_detail.html:112 templates/js/build.js:611 #: templates/js/build.js:947 msgid "Edit stock allocation" msgstr "Stok tahsisini düzenle" -#: order/templates/order/sales_order_detail.html:103 templates/js/build.js:613 +#: order/templates/order/sales_order_detail.html:113 templates/js/build.js:613 #: templates/js/build.js:948 msgid "Delete stock allocation" msgstr "Stok tahsisini sil" -#: order/templates/order/sales_order_detail.html:176 +#: order/templates/order/sales_order_detail.html:186 msgid "No matching line items" msgstr "" -#: order/templates/order/sales_order_detail.html:206 +#: order/templates/order/sales_order_detail.html:216 msgid "ID" msgstr "" -#: order/templates/order/sales_order_detail.html:274 templates/js/build.js:676 +#: order/templates/order/sales_order_detail.html:284 templates/js/build.js:676 #: templates/js/build.js:943 msgid "Allocated" msgstr "" -#: order/templates/order/sales_order_detail.html:276 +#: order/templates/order/sales_order_detail.html:286 msgid "Fulfilled" msgstr "" -#: order/templates/order/sales_order_detail.html:313 +#: order/templates/order/sales_order_detail.html:323 msgid "PO" msgstr "" -#: order/templates/order/sales_order_detail.html:343 +#: order/templates/order/sales_order_detail.html:353 msgid "Allocate serial numbers" msgstr "Seri numaralarını tahsis et" -#: order/templates/order/sales_order_detail.html:346 templates/js/build.js:739 +#: order/templates/order/sales_order_detail.html:356 templates/js/build.js:739 msgid "Allocate stock" msgstr "" -#: order/templates/order/sales_order_detail.html:349 +#: order/templates/order/sales_order_detail.html:359 msgid "Purchase stock" msgstr "" -#: order/templates/order/sales_order_detail.html:353 templates/js/build.js:732 +#: order/templates/order/sales_order_detail.html:363 templates/js/build.js:732 #: templates/js/build.js:1150 msgid "Build stock" msgstr "" -#: order/templates/order/sales_order_detail.html:356 -#: order/templates/order/sales_order_detail.html:465 +#: order/templates/order/sales_order_detail.html:366 +#: order/templates/order/sales_order_detail.html:485 msgid "Calculate price" msgstr "" -#: order/templates/order/sales_order_detail.html:360 +#: order/templates/order/sales_order_detail.html:370 msgid "Delete line item " msgstr "" -#: order/templates/order/sales_order_detail.html:471 +#: order/templates/order/sales_order_detail.html:491 msgid "Update Unit Price" msgstr "" @@ -3515,194 +3505,154 @@ msgstr "Bu işlem Sipariş Emrinden belirtilen stok kalemleri tahsis edemedi" msgid "Sales Order Attachments" msgstr "" -#: order/views.py:106 -msgid "Add Purchase Order Attachment" -msgstr "" - -#: order/views.py:156 -msgid "Add Sales Order Attachment" -msgstr "" - -#: order/views.py:348 -msgid "Create Sales Order" -msgstr "" - -#: order/views.py:383 -msgid "Edit Purchase Order" -msgstr "" - -#: order/views.py:403 -msgid "Edit Sales Order" -msgstr "" - -#: order/views.py:419 +#: order/views.py:151 msgid "Cancel Order" msgstr "" -#: order/views.py:428 order/views.py:454 +#: order/views.py:160 order/views.py:186 msgid "Confirm order cancellation" msgstr "" -#: order/views.py:431 order/views.py:457 +#: order/views.py:163 order/views.py:189 msgid "Order cannot be cancelled" msgstr "" -#: order/views.py:445 +#: order/views.py:177 msgid "Cancel sales order" msgstr "" -#: order/views.py:471 +#: order/views.py:203 msgid "Issue Order" msgstr "" -#: order/views.py:480 +#: order/views.py:212 msgid "Confirm order placement" msgstr "" -#: order/views.py:490 +#: order/views.py:222 msgid "Purchase order issued" msgstr "" -#: order/views.py:501 +#: order/views.py:233 msgid "Complete Order" msgstr "" -#: order/views.py:517 +#: order/views.py:249 msgid "Confirm order completion" msgstr "" -#: order/views.py:528 +#: order/views.py:260 msgid "Purchase order completed" msgstr "" -#: order/views.py:538 +#: order/views.py:270 msgid "Ship Order" msgstr "" -#: order/views.py:554 +#: order/views.py:286 msgid "Confirm order shipment" msgstr "" -#: order/views.py:560 +#: order/views.py:292 msgid "Could not ship order" msgstr "" -#: order/views.py:607 +#: order/views.py:339 msgid "Match Supplier Parts" msgstr "" -#: order/views.py:804 +#: order/views.py:536 msgid "Receive Parts" msgstr "" -#: order/views.py:874 +#: order/views.py:606 msgid "Items received" msgstr "" -#: order/views.py:888 +#: order/views.py:620 msgid "No destination set" msgstr "" -#: order/views.py:933 +#: order/views.py:665 msgid "Error converting quantity to number" msgstr "" -#: order/views.py:939 +#: order/views.py:671 msgid "Receive quantity less than zero" msgstr "" -#: order/views.py:945 +#: order/views.py:677 msgid "No lines specified" msgstr "" -#: order/views.py:1018 +#: order/views.py:750 msgid "Update prices" msgstr "" -#: order/views.py:1276 +#: order/views.py:1008 #, python-brace-format msgid "Ordered {n} parts" msgstr "" -#: order/views.py:1336 -msgid "Supplier part must be specified" -msgstr "" - -#: order/views.py:1342 -msgid "Supplier must match for Part and Order" -msgstr "" - -#: order/views.py:1473 order/views.py:1491 -msgid "Edit Line Item" -msgstr "" - -#: order/views.py:1507 order/views.py:1519 -msgid "Delete Line Item" -msgstr "" - -#: order/views.py:1512 order/views.py:1524 -msgid "Deleted line item" -msgstr "" - -#: order/views.py:1537 +#: order/views.py:1061 msgid "Allocate Serial Numbers" msgstr "Seri Numaralarını Tahsis Et" -#: order/views.py:1582 +#: order/views.py:1106 #, python-brace-format msgid "Allocated {n} items" msgstr "" -#: order/views.py:1598 +#: order/views.py:1122 msgid "Select line item" msgstr "" -#: order/views.py:1629 +#: order/views.py:1153 #, python-brace-format msgid "No matching item for serial {serial}" msgstr "{serial} seri numarası için eşleşen öge bulunamadı" -#: order/views.py:1639 +#: order/views.py:1163 #, python-brace-format msgid "{serial} is not in stock" msgstr "{serial} stokta yok" -#: order/views.py:1647 +#: order/views.py:1171 #, python-brace-format msgid "{serial} already allocated to an order" msgstr "{serial} zaten bir emirde tahsis edilmiş" -#: order/views.py:1701 +#: order/views.py:1225 msgid "Allocate Stock to Order" msgstr "" -#: order/views.py:1775 +#: order/views.py:1299 msgid "Edit Allocation Quantity" msgstr "Tahsis Miktarını Düzenle" -#: order/views.py:1790 +#: order/views.py:1314 msgid "Remove allocation" msgstr "Tahsisi Sil" -#: order/views.py:1862 +#: order/views.py:1386 msgid "Sales order not found" msgstr "" -#: order/views.py:1868 +#: order/views.py:1392 msgid "Price not found" msgstr "" -#: order/views.py:1871 +#: order/views.py:1395 #, python-brace-format msgid "Updated {part} unit-price to {price}" msgstr "" -#: order/views.py:1876 +#: order/views.py:1400 #, python-brace-format msgid "Updated {part} unit-price to {price} and quantity to {qty}" msgstr "" -#: part/bom.py:138 part/models.py:72 part/models.py:747 +#: part/bom.py:138 part/models.py:72 part/models.py:756 #: part/templates/part/category.html:75 part/templates/part/detail.html:90 msgid "Default Location" msgstr "Varsayılan Konum" @@ -3724,143 +3674,143 @@ msgstr "Malzeme listesi okurken hata (geçersiz data)" msgid "Error reading BOM file (incorrect row size)" msgstr "Malzeme listesi okurken hata (geçersiz satır boyutu)" -#: part/forms.py:89 stock/forms.py:265 +#: part/forms.py:73 stock/forms.py:232 msgid "File Format" msgstr "Dosya Biçimi" -#: part/forms.py:89 stock/forms.py:265 +#: part/forms.py:73 stock/forms.py:232 msgid "Select output file format" msgstr "Çıktı dosyası biçimi seçin" -#: part/forms.py:91 +#: part/forms.py:75 msgid "Cascading" msgstr "" -#: part/forms.py:91 +#: part/forms.py:75 msgid "Download cascading / multi-level BOM" msgstr "" -#: part/forms.py:93 +#: part/forms.py:77 msgid "Levels" msgstr "" -#: part/forms.py:93 +#: part/forms.py:77 msgid "Select maximum number of BOM levels to export (0 = all levels)" msgstr "" -#: part/forms.py:95 +#: part/forms.py:79 msgid "Include Parameter Data" msgstr "" -#: part/forms.py:95 +#: part/forms.py:79 msgid "Include part parameters data in exported BOM" msgstr "" -#: part/forms.py:97 +#: part/forms.py:81 msgid "Include Stock Data" msgstr "" -#: part/forms.py:97 +#: part/forms.py:81 msgid "Include part stock data in exported BOM" msgstr "" -#: part/forms.py:99 +#: part/forms.py:83 msgid "Include Manufacturer Data" msgstr "" -#: part/forms.py:99 +#: part/forms.py:83 msgid "Include part manufacturer data in exported BOM" msgstr "" -#: part/forms.py:101 +#: part/forms.py:85 msgid "Include Supplier Data" msgstr "" -#: part/forms.py:101 +#: part/forms.py:85 msgid "Include part supplier data in exported BOM" msgstr "Dışa aktarılan malzeme listesine parça tedarikçisi verilerini dahil edin" -#: part/forms.py:122 part/models.py:2191 +#: part/forms.py:106 part/models.py:2224 msgid "Parent Part" msgstr "" -#: part/forms.py:123 part/templates/part/bom_duplicate.html:7 +#: part/forms.py:107 part/templates/part/bom_duplicate.html:7 msgid "Select parent part to copy BOM from" msgstr "" -#: part/forms.py:129 +#: part/forms.py:113 msgid "Clear existing BOM items" msgstr "" -#: part/forms.py:135 +#: part/forms.py:119 msgid "Confirm BOM duplication" msgstr "" -#: part/forms.py:153 +#: part/forms.py:137 msgid "validate" msgstr "" -#: part/forms.py:153 +#: part/forms.py:137 msgid "Confirm that the BOM is correct" msgstr "" -#: part/forms.py:165 +#: part/forms.py:149 msgid "BOM file" msgstr "Malzeme Listesi Dosyası" -#: part/forms.py:165 +#: part/forms.py:149 msgid "Select BOM file to upload" msgstr "Yüklemek için Malzeme Listesi dosyası seçin" -#: part/forms.py:184 +#: part/forms.py:168 msgid "Related Part" msgstr "" -#: part/forms.py:203 +#: part/forms.py:175 msgid "Select part category" msgstr "" -#: part/forms.py:220 +#: part/forms.py:192 msgid "Duplicate all BOM data for this part" msgstr "" -#: part/forms.py:221 +#: part/forms.py:193 msgid "Copy BOM" msgstr "" -#: part/forms.py:226 +#: part/forms.py:198 msgid "Duplicate all parameter data for this part" msgstr "" -#: part/forms.py:227 +#: part/forms.py:199 msgid "Copy Parameters" msgstr "" -#: part/forms.py:232 +#: part/forms.py:204 msgid "Confirm part creation" msgstr "" -#: part/forms.py:237 +#: part/forms.py:209 msgid "Include category parameter templates" msgstr "Kategori parametre şablonlarını dahil et" -#: part/forms.py:242 +#: part/forms.py:214 msgid "Include parent categories parameter templates" msgstr "Üst kategorilerin parametre şablonlarını dahil et" -#: part/forms.py:322 +#: part/forms.py:294 msgid "Add parameter template to same level categories" msgstr "Parametre şablonunu aynı seviyedeki kategorilere ekle" -#: part/forms.py:326 +#: part/forms.py:298 msgid "Add parameter template to all categories" msgstr "Parametre şablonunu tüm kategorilere ekle" -#: part/forms.py:344 part/models.py:2286 +#: part/forms.py:316 part/models.py:2323 msgid "Sub part" msgstr "" -#: part/forms.py:373 +#: part/forms.py:345 msgid "Input quantity for price calculation" msgstr "" @@ -3876,362 +3826,362 @@ msgstr "" msgid "Default keywords for parts in this category" msgstr "" -#: part/models.py:82 part/models.py:2237 +#: part/models.py:86 part/models.py:2270 #: part/templates/part/part_app_base.html:10 msgid "Part Category" msgstr "" -#: part/models.py:83 part/templates/part/category.html:32 +#: part/models.py:87 part/templates/part/category.html:32 #: part/templates/part/category.html:103 templates/InvenTree/search.html:127 -#: templates/stats.html:84 users/models.py:39 +#: templates/stats.html:84 users/models.py:40 msgid "Part Categories" msgstr "Parça Kategorileri" -#: part/models.py:448 part/models.py:460 +#: part/models.py:457 part/models.py:469 #, python-brace-format msgid "Part '{p1}' is used in BOM for '{p2}' (recursive)" msgstr "" -#: part/models.py:557 +#: part/models.py:566 msgid "Next available serial numbers are" msgstr "Sonraki kullanılabilir seri numaraları" -#: part/models.py:561 +#: part/models.py:570 msgid "Next available serial number is" msgstr "Sonraki müsait seri numarası" -#: part/models.py:566 +#: part/models.py:575 msgid "Most recent serial number is" msgstr "En son seri numarası" -#: part/models.py:645 +#: part/models.py:654 msgid "Duplicate IPN not allowed in part settings" msgstr "Yinelenen DPN'ye parça ayarlarında izin verilmiyor" -#: part/models.py:670 part/templates/part/detail.html:22 +#: part/models.py:679 part/templates/part/detail.html:22 msgid "Part name" msgstr "" -#: part/models.py:677 +#: part/models.py:686 msgid "Is Template" msgstr "Şablon Mu" -#: part/models.py:678 +#: part/models.py:687 msgid "Is this part a template part?" msgstr "Bu parça bir şablon parçası mı?" -#: part/models.py:689 +#: part/models.py:698 msgid "Is this part a variant of another part?" msgstr "Bu parça başka bir parçanın çeşidi mi?" -#: part/models.py:690 part/templates/part/detail.html:60 +#: part/models.py:699 part/templates/part/detail.html:60 msgid "Variant Of" msgstr "Çeşidi" -#: part/models.py:696 +#: part/models.py:705 msgid "Part description" msgstr "" -#: part/models.py:701 part/templates/part/category.html:82 +#: part/models.py:710 part/templates/part/category.html:82 #: part/templates/part/detail.html:67 msgid "Keywords" msgstr "" -#: part/models.py:702 +#: part/models.py:711 msgid "Part keywords to improve visibility in search results" msgstr "" -#: part/models.py:709 part/models.py:2236 part/templates/part/detail.html:73 +#: part/models.py:718 part/models.py:2269 part/templates/part/detail.html:73 #: part/templates/part/set_category.html:15 templates/js/part.js:452 msgid "Category" msgstr "" -#: part/models.py:710 +#: part/models.py:719 msgid "Part category" msgstr "" -#: part/models.py:715 part/templates/part/detail.html:28 +#: part/models.py:724 part/templates/part/detail.html:28 #: part/templates/part/part_base.html:87 templates/js/part.js:169 #: templates/js/part.js:296 msgid "IPN" msgstr "DPN" -#: part/models.py:716 +#: part/models.py:725 msgid "Internal Part Number" msgstr "" -#: part/models.py:722 +#: part/models.py:731 msgid "Part revision or version number" msgstr "Parça revizyon veya versiyon numarası" -#: part/models.py:723 part/templates/part/detail.html:35 report/models.py:199 +#: part/models.py:732 part/templates/part/detail.html:35 report/models.py:199 #: templates/js/part.js:173 msgid "Revision" msgstr "Revizyon" -#: part/models.py:745 +#: part/models.py:754 msgid "Where is this item normally stored?" msgstr "" -#: part/models.py:792 part/templates/part/detail.html:97 +#: part/models.py:801 part/templates/part/detail.html:97 msgid "Default Supplier" msgstr "" -#: part/models.py:793 +#: part/models.py:802 msgid "Default supplier part" msgstr "Varsayılan tedarikçi parçası" -#: part/models.py:800 +#: part/models.py:809 msgid "Default Expiry" msgstr "" -#: part/models.py:801 +#: part/models.py:810 msgid "Expiry time (in days) for stock items of this part" msgstr "" -#: part/models.py:806 part/templates/part/detail.html:113 +#: part/models.py:815 part/templates/part/detail.html:113 msgid "Minimum Stock" msgstr "" -#: part/models.py:807 +#: part/models.py:816 msgid "Minimum allowed stock level" msgstr "" -#: part/models.py:814 +#: part/models.py:823 msgid "Stock keeping units for this part" msgstr "" -#: part/models.py:820 +#: part/models.py:829 msgid "Can this part be built from other parts?" msgstr "Bu parça diğer parçalardan yapılabilir mi?" -#: part/models.py:826 +#: part/models.py:835 msgid "Can this part be used to build other parts?" msgstr "Bu parça diğer parçaların yapımında kullanılabilir mi?" -#: part/models.py:832 +#: part/models.py:841 msgid "Does this part have tracking for unique items?" msgstr "" -#: part/models.py:837 +#: part/models.py:846 msgid "Can this part be purchased from external suppliers?" msgstr "Bu parça dış tedarikçilerden satın alınabilir mi?" -#: part/models.py:842 +#: part/models.py:851 msgid "Can this part be sold to customers?" msgstr "Bu parça müşterilere satılabilir mi?" -#: part/models.py:846 part/templates/part/detail.html:227 +#: part/models.py:855 part/templates/part/detail.html:227 #: templates/js/table_filters.js:21 templates/js/table_filters.js:65 -#: templates/js/table_filters.js:241 templates/js/table_filters.js:310 +#: templates/js/table_filters.js:246 templates/js/table_filters.js:315 msgid "Active" msgstr "" -#: part/models.py:847 +#: part/models.py:856 msgid "Is this part active?" msgstr "" -#: part/models.py:852 +#: part/models.py:861 msgid "Is this a virtual part, such as a software product or license?" msgstr "" -#: part/models.py:857 +#: part/models.py:866 msgid "Part notes - supports Markdown formatting" msgstr "" -#: part/models.py:860 +#: part/models.py:869 msgid "BOM checksum" msgstr "" -#: part/models.py:860 +#: part/models.py:869 msgid "Stored BOM checksum" msgstr "" -#: part/models.py:863 +#: part/models.py:872 msgid "BOM checked by" msgstr "" -#: part/models.py:865 +#: part/models.py:874 msgid "BOM checked date" msgstr "" -#: part/models.py:869 +#: part/models.py:878 msgid "Creation User" msgstr "" -#: part/models.py:1608 +#: part/models.py:1617 msgid "Sell multiple" msgstr "" -#: part/models.py:2063 +#: part/models.py:2088 msgid "Test templates can only be created for trackable parts" msgstr "Test şablonları sadece takip edilebilir paçalar için oluşturulabilir" -#: part/models.py:2080 +#: part/models.py:2105 msgid "Test with this name already exists for this part" msgstr "" -#: part/models.py:2100 templates/js/part.js:717 templates/js/stock.js:117 +#: part/models.py:2125 templates/js/part.js:717 templates/js/stock.js:117 msgid "Test Name" msgstr "" -#: part/models.py:2101 +#: part/models.py:2126 msgid "Enter a name for the test" msgstr "" -#: part/models.py:2106 +#: part/models.py:2131 msgid "Test Description" msgstr "" -#: part/models.py:2107 +#: part/models.py:2132 msgid "Enter description for this test" msgstr "" -#: part/models.py:2112 templates/js/part.js:726 -#: templates/js/table_filters.js:227 +#: part/models.py:2137 templates/js/part.js:726 +#: templates/js/table_filters.js:232 msgid "Required" msgstr "Gerekli" -#: part/models.py:2113 +#: part/models.py:2138 msgid "Is this test required to pass?" msgstr "Testi geçmesi için bu gerekli mi?" -#: part/models.py:2118 templates/js/part.js:734 +#: part/models.py:2143 templates/js/part.js:734 msgid "Requires Value" msgstr "" -#: part/models.py:2119 +#: part/models.py:2144 msgid "Does this test require a value when adding a test result?" msgstr "" -#: part/models.py:2124 templates/js/part.js:741 +#: part/models.py:2149 templates/js/part.js:741 msgid "Requires Attachment" msgstr "" -#: part/models.py:2125 +#: part/models.py:2150 msgid "Does this test require a file attachment when adding a test result?" msgstr "" -#: part/models.py:2158 +#: part/models.py:2187 msgid "Parameter template name must be unique" msgstr "Parametre şablon adı benzersiz olmalıdır" -#: part/models.py:2163 +#: part/models.py:2192 msgid "Parameter Name" msgstr "" -#: part/models.py:2165 +#: part/models.py:2194 msgid "Parameter Units" msgstr "" -#: part/models.py:2193 part/models.py:2242 part/models.py:2243 +#: part/models.py:2226 part/models.py:2275 part/models.py:2276 #: templates/InvenTree/settings/category.html:62 msgid "Parameter Template" msgstr "Parametre Şablonu" -#: part/models.py:2195 +#: part/models.py:2228 msgid "Data" msgstr "" -#: part/models.py:2195 +#: part/models.py:2228 msgid "Parameter Value" msgstr "" -#: part/models.py:2247 templates/InvenTree/settings/category.html:67 +#: part/models.py:2280 templates/InvenTree/settings/category.html:67 msgid "Default Value" msgstr "" -#: part/models.py:2248 +#: part/models.py:2281 msgid "Default Parameter Value" msgstr "" -#: part/models.py:2278 +#: part/models.py:2315 msgid "Select parent part" msgstr "" -#: part/models.py:2287 +#: part/models.py:2324 msgid "Select part to be used in BOM" msgstr "" -#: part/models.py:2293 +#: part/models.py:2330 msgid "BOM quantity for this BOM item" msgstr "" -#: part/models.py:2295 templates/js/bom.js:216 templates/js/bom.js:278 +#: part/models.py:2332 templates/js/bom.js:216 templates/js/bom.js:278 msgid "Optional" msgstr "" -#: part/models.py:2295 +#: part/models.py:2332 msgid "This BOM item is optional" msgstr "" -#: part/models.py:2298 +#: part/models.py:2335 msgid "Overage" msgstr "" -#: part/models.py:2299 +#: part/models.py:2336 msgid "Estimated build wastage quantity (absolute or percentage)" msgstr "" -#: part/models.py:2302 +#: part/models.py:2339 msgid "BOM item reference" msgstr "" -#: part/models.py:2305 +#: part/models.py:2342 msgid "BOM item notes" msgstr "" -#: part/models.py:2307 +#: part/models.py:2344 msgid "Checksum" msgstr "" -#: part/models.py:2307 +#: part/models.py:2344 msgid "BOM line checksum" msgstr "" -#: part/models.py:2311 templates/js/bom.js:295 templates/js/bom.js:302 +#: part/models.py:2348 templates/js/bom.js:295 templates/js/bom.js:302 #: templates/js/table_filters.js:51 msgid "Inherited" msgstr "" -#: part/models.py:2312 +#: part/models.py:2349 msgid "This BOM item is inherited by BOMs for variant parts" msgstr "Bu malzeme listesi, çeşit parçalar listesini kalıtsalıdır" -#: part/models.py:2317 templates/js/bom.js:287 +#: part/models.py:2354 templates/js/bom.js:287 msgid "Allow Variants" msgstr "Çeşide İzin Ver" -#: part/models.py:2318 +#: part/models.py:2355 msgid "Stock items for variant parts can be used for this BOM item" msgstr "Çeşit parçaların stok kalemleri bu malzeme listesinde kullanılabilir" -#: part/models.py:2394 part/views.py:1859 part/views.py:1911 -#: stock/models.py:290 +#: part/models.py:2431 part/views.py:1736 part/views.py:1788 +#: stock/models.py:298 msgid "Quantity must be integer value for trackable parts" msgstr "" -#: part/models.py:2403 part/models.py:2405 +#: part/models.py:2440 part/models.py:2442 msgid "Sub part must be specified" msgstr "" -#: part/models.py:2408 +#: part/models.py:2445 msgid "BOM Item" msgstr "" -#: part/models.py:2527 +#: part/models.py:2564 msgid "Part 1" msgstr "" -#: part/models.py:2531 +#: part/models.py:2568 msgid "Part 2" msgstr "" -#: part/models.py:2531 +#: part/models.py:2568 msgid "Select Related Part" msgstr "" -#: part/models.py:2563 +#: part/models.py:2600 msgid "Error creating relationship: check that the part is not related to itself and that the relationship is unique" msgstr "" @@ -4247,14 +4197,6 @@ msgstr "" msgid "Part Attachments" msgstr "" -#: part/templates/part/bom-delete.html:6 -msgid "Are you sure you want to delete this BOM item?" -msgstr "" - -#: part/templates/part/bom-delete.html:8 -msgid "Deleting this entry will remove the BOM row from the following part" -msgstr "" - #: part/templates/part/bom.html:10 part/templates/part/navbar.html:51 #: part/templates/part/navbar.html:54 msgid "Bill of Materials" @@ -4303,7 +4245,7 @@ msgstr "" msgid "Validate Bill of Materials" msgstr "" -#: part/templates/part/bom.html:61 part/views.py:2154 +#: part/templates/part/bom.html:61 part/views.py:2031 msgid "Export Bill of Materials" msgstr "" @@ -4319,8 +4261,8 @@ msgstr "" msgid "All selected BOM items will be deleted" msgstr "" -#: part/templates/part/bom.html:160 part/views.py:590 -#: templates/js/stock.js:1313 +#: part/templates/part/bom.html:160 part/views.py:450 +#: templates/js/stock.js:1327 msgid "Create New Part" msgstr "" @@ -4401,7 +4343,7 @@ msgstr "" msgid "All parts" msgstr "" -#: part/templates/part/category.html:38 part/views.py:2564 +#: part/templates/part/category.html:38 part/views.py:2441 msgid "Create new part category" msgstr "" @@ -4461,11 +4403,12 @@ msgid "View grid display" msgstr "" #: part/templates/part/category.html:218 -#: stock/templates/stock/location.html:192 templates/js/stock.js:737 +#: stock/templates/stock/location.html:192 templates/js/stock.js:751 msgid "Create new location" msgstr "Yeni konum oluştur" #: part/templates/part/category.html:223 part/templates/part/category.html:253 +#: part/templates/part/part_base.html:378 msgid "New Category" msgstr "" @@ -4477,10 +4420,18 @@ msgstr "" msgid "Create new Part Category" msgstr "" -#: part/templates/part/category.html:260 stock/views.py:1391 +#: part/templates/part/category.html:260 stock/views.py:1223 msgid "Create new Stock Location" msgstr "Yeni Stok konumu oluştur" +#: part/templates/part/category.html:279 +msgid "Select parent category" +msgstr "" + +#: part/templates/part/category.html:286 part/views.py:2389 +msgid "Edit Part Category" +msgstr "" + #: part/templates/part/category_delete.html:5 msgid "Are you sure you want to delete category" msgstr "" @@ -4526,7 +4477,7 @@ msgstr "" msgid "Part Parameters" msgstr "" -#: part/templates/part/copy_part.html:9 part/views.py:466 +#: part/templates/part/copy_part.html:9 part/views.py:326 msgid "Duplicate Part" msgstr "" @@ -4639,36 +4590,6 @@ msgstr "" msgid "Import Parts from File" msgstr "" -#: part/templates/part/internal_prices.html:11 -#: part/templates/part/navbar.html:101 -msgid "Internal Price Information" -msgstr "" - -#: part/templates/part/internal_prices.html:19 part/views.py:2989 -msgid "Add Internal Price Break" -msgstr "" - -#: part/templates/part/internal_prices.html:28 templates/403.html:5 -#: templates/403.html:11 -msgid "Permission Denied" -msgstr "" - -#: part/templates/part/internal_prices.html:31 templates/403.html:14 -msgid "You do not have permission to view this page." -msgstr "" - -#: part/templates/part/internal_prices.html:59 -msgid "No internal price break information found" -msgstr "" - -#: part/templates/part/internal_prices.html:110 -msgid "Edit internal price break" -msgstr "" - -#: part/templates/part/internal_prices.html:111 -msgid "Delete internal price break" -msgstr "" - #: part/templates/part/manufacturer.html:11 msgid "Part Manufacturers" msgstr "" @@ -4678,7 +4599,7 @@ msgid "Delete manufacturer parts" msgstr "" #: part/templates/part/manufacturer.html:53 -#: part/templates/part/supplier.html:57 +#: part/templates/part/supplier.html:56 msgid "Create new manufacturer" msgstr "" @@ -4702,125 +4623,27 @@ msgstr "Tahsisler" msgid "Used In" msgstr "" -#: part/templates/part/navbar.html:75 part/templates/part/order_prices.html:12 -msgid "Order Price Information" +#: part/templates/part/navbar.html:77 +msgid "Prices" msgstr "" -#: part/templates/part/navbar.html:78 -msgid "Order Price" -msgstr "" - -#: part/templates/part/navbar.html:104 part/templates/part/order_prices.html:94 -#: part/templates/part/part_pricing.html:82 -msgid "Internal Price" -msgstr "" - -#: part/templates/part/navbar.html:107 -msgid "Sales Price Information" -msgstr "" - -#: part/templates/part/navbar.html:121 part/templates/part/part_tests.html:10 +#: part/templates/part/navbar.html:109 part/templates/part/part_tests.html:10 msgid "Part Test Templates" msgstr "Parça Test Şablonları" -#: part/templates/part/navbar.html:124 stock/templates/stock/item_base.html:414 +#: part/templates/part/navbar.html:112 stock/templates/stock/item_base.html:414 msgid "Tests" msgstr "" -#: part/templates/part/navbar.html:129 part/templates/part/navbar.html:132 +#: part/templates/part/navbar.html:117 part/templates/part/navbar.html:120 #: part/templates/part/related.html:10 msgid "Related Parts" msgstr "" -#: part/templates/part/navbar.html:142 part/templates/part/notes.html:12 +#: part/templates/part/navbar.html:130 part/templates/part/notes.html:12 msgid "Part Notes" msgstr "" -#: part/templates/part/order_prices.html:25 -#: part/templates/part/part_base.html:282 -msgid "Calculate" -msgstr "" - -#: part/templates/part/order_prices.html:32 -msgid "Pricing ranges" -msgstr "" - -#: part/templates/part/order_prices.html:37 -#: part/templates/part/part_pricing.html:22 -msgid "Supplier Pricing" -msgstr "" - -#: part/templates/part/order_prices.html:38 -#: part/templates/part/order_prices.html:63 -#: part/templates/part/order_prices.html:95 -#: part/templates/part/order_prices.html:109 -#: part/templates/part/part_pricing.html:26 -#: part/templates/part/part_pricing.html:52 -#: part/templates/part/part_pricing.html:85 -#: part/templates/part/part_pricing.html:100 -msgid "Unit Cost" -msgstr "" - -#: part/templates/part/order_prices.html:45 -#: part/templates/part/order_prices.html:70 -#: part/templates/part/order_prices.html:100 -#: part/templates/part/order_prices.html:114 -#: part/templates/part/part_pricing.html:32 -#: part/templates/part/part_pricing.html:58 -#: part/templates/part/part_pricing.html:89 -#: part/templates/part/part_pricing.html:104 -msgid "Total Cost" -msgstr "" - -#: part/templates/part/order_prices.html:53 -#: part/templates/part/part_pricing.html:40 -msgid "No supplier pricing available" -msgstr "" - -#: part/templates/part/order_prices.html:62 -#: part/templates/part/order_prices.html:129 -#: part/templates/part/part_pricing.html:48 -msgid "BOM Pricing" -msgstr "" - -#: part/templates/part/order_prices.html:78 -#: part/templates/part/part_pricing.html:66 -msgid "Note: BOM pricing is incomplete for this part" -msgstr "" - -#: part/templates/part/order_prices.html:85 -#: part/templates/part/part_pricing.html:73 -msgid "No BOM pricing available" -msgstr "" - -#: part/templates/part/order_prices.html:123 -#: part/templates/part/part_pricing.html:113 -msgid "No pricing information is available for this part." -msgstr "" - -#: part/templates/part/order_prices.html:139 -msgid "Stock Pricing" -msgstr "" - -#: part/templates/part/order_prices.html:147 -msgid "No stock pricing history is available for this part." -msgstr "" - -#: part/templates/part/order_prices.html:166 -#, python-format -msgid "Single Price - %(currency)s" -msgstr "" - -#: part/templates/part/order_prices.html:178 -#, python-format -msgid "Single Price Difference - %(currency)s" -msgstr "" - -#: part/templates/part/order_prices.html:190 -#, python-format -msgid "Part Single Price - %(currency)s" -msgstr "" - #: part/templates/part/params.html:17 msgid "Add new parameter" msgstr "" @@ -4841,8 +4664,8 @@ msgstr "Yeni Parametre Şablonu Oluştur" msgid "Part List" msgstr "" -#: part/templates/part/part_base.html:26 templates/js/company.js:156 -#: templates/js/company.js:355 templates/js/part.js:84 templates/js/part.js:161 +#: part/templates/part/part_base.html:26 templates/js/company.js:280 +#: templates/js/company.js:480 templates/js/part.js:84 templates/js/part.js:161 msgid "Inactive" msgstr "" @@ -4905,7 +4728,7 @@ msgstr "Bu parça %(link)s parçasının bir çeşididir" msgid "In Stock" msgstr "" -#: part/templates/part/part_base.html:143 templates/InvenTree/index.html:131 +#: part/templates/part/part_base.html:143 templates/InvenTree/index.html:132 msgid "Required for Build Orders" msgstr "Yapım İşi Emirleri için Gerekli" @@ -4926,10 +4749,86 @@ msgstr "" msgid "Building" msgstr "" +#: part/templates/part/part_base.html:285 part/templates/part/prices.html:131 +msgid "Calculate" +msgstr "" + +#: part/templates/part/part_base.html:379 +msgid "Create New Part Category" +msgstr "" + +#: part/templates/part/part_base.html:387 +msgid "New Parent" +msgstr "" + +#: part/templates/part/part_base.html:435 +msgid "Edit Part" +msgstr "" + +#: part/templates/part/part_pricing.html:22 part/templates/part/prices.html:27 +msgid "Supplier Pricing" +msgstr "" + +#: part/templates/part/part_pricing.html:26 +#: part/templates/part/part_pricing.html:52 +#: part/templates/part/part_pricing.html:85 +#: part/templates/part/part_pricing.html:100 part/templates/part/prices.html:31 +#: part/templates/part/prices.html:58 part/templates/part/prices.html:90 +#: part/templates/part/prices.html:107 +msgid "Unit Cost" +msgstr "" + +#: part/templates/part/part_pricing.html:32 +#: part/templates/part/part_pricing.html:58 +#: part/templates/part/part_pricing.html:89 +#: part/templates/part/part_pricing.html:104 part/templates/part/prices.html:38 +#: part/templates/part/prices.html:65 part/templates/part/prices.html:95 +#: part/templates/part/prices.html:112 +msgid "Total Cost" +msgstr "" + +#: part/templates/part/part_pricing.html:40 part/templates/part/prices.html:46 +msgid "No supplier pricing available" +msgstr "" + +#: part/templates/part/part_pricing.html:48 part/templates/part/prices.html:55 +#: part/templates/part/prices.html:235 +msgid "BOM Pricing" +msgstr "" + +#: part/templates/part/part_pricing.html:66 part/templates/part/prices.html:73 +msgid "Note: BOM pricing is incomplete for this part" +msgstr "" + +#: part/templates/part/part_pricing.html:73 part/templates/part/prices.html:80 +msgid "No BOM pricing available" +msgstr "" + +#: part/templates/part/part_pricing.html:82 part/templates/part/prices.html:89 +msgid "Internal Price" +msgstr "" + +#: part/templates/part/part_pricing.html:113 +#: part/templates/part/prices.html:121 +msgid "No pricing information is available for this part." +msgstr "" + #: part/templates/part/part_tests.html:17 msgid "Add Test Template" msgstr "Test Şablonu Ekle" +#: part/templates/part/part_tests.html:61 +msgid "Add Test Result Template" +msgstr "" + +#: part/templates/part/part_tests.html:79 +msgid "Edit Test Result Template" +msgstr "" + +#: part/templates/part/part_tests.html:91 +msgid "Delete Test Result Template" +msgstr "" + #: part/templates/part/part_thumb.html:20 msgid "Select from existing images" msgstr "" @@ -4964,12 +4863,98 @@ msgstr "Bu parçası için tanımlanmış %(count)s tedarikçi bulunmaktadır. B msgid "There are %(count)s unique parts tracked for '%(full_name)s'. Deleting this part will permanently remove this tracking information." msgstr "" -#: part/templates/part/related.html:18 -msgid "Add Related" +#: part/templates/part/prices.html:12 +msgid "General Price Information" msgstr "" -#: part/templates/part/sale_prices.html:10 -msgid "Sell Price Information" +#: part/templates/part/prices.html:22 +msgid "Pricing ranges" +msgstr "" + +#: part/templates/part/prices.html:28 +msgid "Show supplier cost" +msgstr "" + +#: part/templates/part/prices.html:29 +msgid "Show purchase price" +msgstr "" + +#: part/templates/part/prices.html:56 +msgid "Show BOM cost" +msgstr "" + +#: part/templates/part/prices.html:104 +msgid "Show sale cost" +msgstr "" + +#: part/templates/part/prices.html:105 +msgid "Show sale price" +msgstr "" + +#: part/templates/part/prices.html:127 +msgid "Calculation parameters" +msgstr "" + +#: part/templates/part/prices.html:146 +msgid "Supplier Cost" +msgstr "" + +#: part/templates/part/prices.html:147 part/templates/part/prices.html:167 +#: part/templates/part/prices.html:193 part/templates/part/prices.html:224 +#: part/templates/part/prices.html:251 part/templates/part/prices.html:279 +msgid "Jump to overview" +msgstr "" + +#: part/templates/part/prices.html:172 +msgid "Stock Pricing" +msgstr "" + +#: part/templates/part/prices.html:180 +msgid "No stock pricing history is available for this part." +msgstr "" + +#: part/templates/part/prices.html:192 +msgid "Internal Cost" +msgstr "" + +#: part/templates/part/prices.html:206 part/views.py:2859 +msgid "Add Internal Price Break" +msgstr "" + +#: part/templates/part/prices.html:223 +msgid "BOM Cost" +msgstr "" + +#: part/templates/part/prices.html:250 +msgid "Sale Cost" +msgstr "" + +#: part/templates/part/prices.html:290 +msgid "No sale pice history available for this part." +msgstr "" + +#: part/templates/part/prices.html:340 +#, python-format +msgid "Single Price - %(currency)s" +msgstr "" + +#: part/templates/part/prices.html:352 +#, python-format +msgid "Single Price Difference - %(currency)s" +msgstr "" + +#: part/templates/part/prices.html:364 +#, python-format +msgid "Part Single Price - %(currency)s" +msgstr "" + +#: part/templates/part/prices.html:464 +#, python-format +msgid "Unit Price - %(currency)s" +msgstr "" + +#: part/templates/part/related.html:18 +msgid "Add Related" msgstr "" #: part/templates/part/sales_orders.html:18 @@ -5043,216 +5028,180 @@ msgstr "" msgid "Delete Related Part" msgstr "" -#: part/views.py:164 -msgid "Add part attachment" -msgstr "" - -#: part/views.py:217 templates/attachment_table.html:32 -msgid "Edit attachment" -msgstr "" - -#: part/views.py:221 -msgid "Part attachment updated" -msgstr "" - -#: part/views.py:236 -msgid "Delete Part Attachment" -msgstr "" - -#: part/views.py:244 -msgid "Deleted part attachment" -msgstr "" - -#: part/views.py:253 -msgid "Create Test Template" -msgstr "Test Şablonu Oluştur" - -#: part/views.py:280 -msgid "Edit Test Template" -msgstr "Test Şablonu Düzenle" - -#: part/views.py:294 -msgid "Delete Test Template" -msgstr "Test Şablonu Sil" - -#: part/views.py:301 +#: part/views.py:161 msgid "Set Part Category" msgstr "" -#: part/views.py:351 +#: part/views.py:211 #, python-brace-format msgid "Set category for {n} parts" msgstr "" -#: part/views.py:386 +#: part/views.py:246 msgid "Create Variant" msgstr "Çeşit Oluştur" -#: part/views.py:471 +#: part/views.py:331 msgid "Copied part" msgstr "" -#: part/views.py:525 part/views.py:663 +#: part/views.py:385 part/views.py:523 msgid "Possible matches exist - confirm creation of new part" msgstr "" -#: part/views.py:595 +#: part/views.py:455 msgid "Created new part" msgstr "" -#: part/views.py:763 +#: part/views.py:623 msgid "Match References" msgstr "" -#: part/views.py:1092 +#: part/views.py:925 +msgid "None" +msgstr "" + +#: part/views.py:984 msgid "Part QR Code" msgstr "" -#: part/views.py:1194 -msgid "Upload Part Image" -msgstr "" - -#: part/views.py:1200 part/views.py:1235 -msgid "Updated part image" -msgstr "" - -#: part/views.py:1209 +#: part/views.py:1086 msgid "Select Part Image" msgstr "" -#: part/views.py:1238 +#: part/views.py:1112 +msgid "Updated part image" +msgstr "" + +#: part/views.py:1115 msgid "Part image not found" msgstr "" -#: part/views.py:1249 +#: part/views.py:1126 msgid "Edit Part Properties" msgstr "" -#: part/views.py:1284 +#: part/views.py:1161 msgid "Duplicate BOM" msgstr "" -#: part/views.py:1314 +#: part/views.py:1191 msgid "Confirm duplication of BOM from parent" msgstr "" -#: part/views.py:1335 +#: part/views.py:1212 msgid "Validate BOM" msgstr "" -#: part/views.py:1356 +#: part/views.py:1233 msgid "Confirm that the BOM is valid" msgstr "" -#: part/views.py:1367 +#: part/views.py:1244 msgid "Validated Bill of Materials" msgstr "" -#: part/views.py:1501 +#: part/views.py:1378 msgid "No BOM file provided" msgstr "" -#: part/views.py:1862 +#: part/views.py:1739 msgid "Enter a valid quantity" msgstr "" -#: part/views.py:1887 part/views.py:1890 +#: part/views.py:1764 part/views.py:1767 msgid "Select valid part" msgstr "" -#: part/views.py:1896 +#: part/views.py:1773 msgid "Duplicate part selected" msgstr "" -#: part/views.py:1934 +#: part/views.py:1811 msgid "Select a part" msgstr "" -#: part/views.py:1940 +#: part/views.py:1817 msgid "Selected part creates a circular BOM" msgstr "" -#: part/views.py:1944 +#: part/views.py:1821 msgid "Specify quantity" msgstr "" -#: part/views.py:2206 +#: part/views.py:2083 msgid "Confirm Part Deletion" msgstr "" -#: part/views.py:2213 +#: part/views.py:2090 msgid "Part was deleted" msgstr "" -#: part/views.py:2222 +#: part/views.py:2099 msgid "Part Pricing" msgstr "" -#: part/views.py:2363 +#: part/views.py:2240 msgid "Create Part Parameter Template" msgstr "Parça Parametre Şablonu Oluştur" -#: part/views.py:2373 +#: part/views.py:2250 msgid "Edit Part Parameter Template" msgstr "Parça Parametre Şablonu Düzenle" -#: part/views.py:2380 +#: part/views.py:2257 msgid "Delete Part Parameter Template" msgstr "Parça Parametre Şablonu Sil" -#: part/views.py:2388 +#: part/views.py:2265 msgid "Create Part Parameter" msgstr "" -#: part/views.py:2438 +#: part/views.py:2315 msgid "Edit Part Parameter" msgstr "" -#: part/views.py:2452 +#: part/views.py:2329 msgid "Delete Part Parameter" msgstr "" -#: part/views.py:2512 -msgid "Edit Part Category" -msgstr "" - -#: part/views.py:2550 +#: part/views.py:2427 msgid "Delete Part Category" msgstr "" -#: part/views.py:2556 +#: part/views.py:2433 msgid "Part category was deleted" msgstr "" -#: part/views.py:2608 +#: part/views.py:2485 msgid "Create Category Parameter Template" msgstr "Kategori Parametre Şablonu Oluştur" -#: part/views.py:2709 +#: part/views.py:2586 msgid "Edit Category Parameter Template" msgstr "Kategori Parametre Şablonu Düzenle" -#: part/views.py:2765 +#: part/views.py:2642 msgid "Delete Category Parameter Template" msgstr "Kategori Parametre Şablonu Sil" -#: part/views.py:2784 +#: part/views.py:2661 msgid "Create BOM Item" msgstr "" -#: part/views.py:2854 +#: part/views.py:2731 msgid "Edit BOM item" msgstr "" -#: part/views.py:2910 -msgid "Confim BOM item deletion" +#: part/views.py:2792 +msgid "Added new price break" msgstr "" -#: part/views.py:2998 +#: part/views.py:2868 msgid "Edit Internal Price Break" msgstr "" -#: part/views.py:3006 +#: part/views.py:2876 msgid "Delete Internal Price Break" msgstr "" @@ -5358,17 +5307,17 @@ msgid "Test Results" msgstr "" #: report/templates/report/inventree_test_report_base.html:88 -#: stock/models.py:1739 +#: stock/models.py:1759 msgid "Test" msgstr "" #: report/templates/report/inventree_test_report_base.html:89 -#: stock/models.py:1745 +#: stock/models.py:1765 msgid "Result" msgstr "" #: report/templates/report/inventree_test_report_base.html:92 -#: templates/js/order.js:195 templates/js/stock.js:1012 +#: templates/js/order.js:257 templates/js/stock.js:1026 msgid "Date" msgstr "" @@ -5380,287 +5329,287 @@ msgstr "" msgid "Fail" msgstr "" -#: stock/api.py:212 +#: stock/api.py:211 #, python-brace-format msgid "Updated stock for {n} items" msgstr "{n} öge için stok güncellendi" -#: stock/api.py:281 +#: stock/api.py:280 #, python-brace-format msgid "Moved {n} parts to {loc}" msgstr "" -#: stock/forms.py:114 stock/forms.py:418 stock/models.py:505 +#: stock/forms.py:81 stock/forms.py:385 stock/models.py:513 #: stock/templates/stock/item_base.html:381 templates/js/stock.js:658 msgid "Expiry Date" msgstr "" -#: stock/forms.py:115 stock/forms.py:419 +#: stock/forms.py:82 stock/forms.py:386 msgid "Expiration date for this stock item" msgstr "Bu stok kalemi için son kullanma tarihi" -#: stock/forms.py:118 +#: stock/forms.py:85 msgid "Enter unique serial numbers (or leave blank)" msgstr "Benzersiz seri numaraları giriniz (veya boş bırakınız)" -#: stock/forms.py:169 +#: stock/forms.py:136 msgid "Destination for serialized stock (by default, will remain in current location)" msgstr "Seri numaralandırılmış stok için hedef konum(varsayılan olarak, geçerli konumda kalacaktır)" -#: stock/forms.py:171 +#: stock/forms.py:138 msgid "Serial numbers" msgstr "Seri numaraları" -#: stock/forms.py:171 +#: stock/forms.py:138 msgid "Unique serial numbers (must match quantity)" msgstr "Benzersiz seri numaraları (miktar ile eşleşmeli)" -#: stock/forms.py:173 stock/forms.py:349 +#: stock/forms.py:140 stock/forms.py:316 msgid "Add transaction note (optional)" msgstr "İşlem notu ekle (isteğe bağlı)" -#: stock/forms.py:203 stock/forms.py:259 +#: stock/forms.py:170 stock/forms.py:226 msgid "Select test report template" msgstr "Test raporu şablonu seç" -#: stock/forms.py:267 templates/js/table_filters.js:75 +#: stock/forms.py:234 templates/js/table_filters.js:75 #: templates/js/table_filters.js:138 msgid "Include sublocations" msgstr "Alt konumları dahil et" -#: stock/forms.py:267 +#: stock/forms.py:234 msgid "Include stock items in sub locations" msgstr "Stok kalemlerine alt konumları dahil et" -#: stock/forms.py:302 +#: stock/forms.py:269 msgid "Stock item to install" msgstr "Kurulacak stok kalemi" -#: stock/forms.py:309 +#: stock/forms.py:276 msgid "Stock quantity to assign" msgstr "Atanacak stok miktarı" -#: stock/forms.py:337 +#: stock/forms.py:304 msgid "Must not exceed available quantity" msgstr "" -#: stock/forms.py:347 +#: stock/forms.py:314 msgid "Destination location for uninstalled items" msgstr "Sökülen ögeler için hedef konum" -#: stock/forms.py:351 +#: stock/forms.py:318 msgid "Confirm uninstall" msgstr "" -#: stock/forms.py:351 +#: stock/forms.py:318 msgid "Confirm removal of installed stock items" msgstr "Kurulu stok kalemlerinin kaldırılmasını onayla" -#: stock/forms.py:375 +#: stock/forms.py:342 msgid "Destination stock location" msgstr "Hedef stok konumu" -#: stock/forms.py:377 +#: stock/forms.py:344 msgid "Add note (required)" msgstr "Not ekle (gerekli)" -#: stock/forms.py:381 stock/views.py:852 stock/views.py:1051 +#: stock/forms.py:348 stock/views.py:705 stock/views.py:904 msgid "Confirm stock adjustment" msgstr "Stok ayarlamasını onayla" -#: stock/forms.py:381 +#: stock/forms.py:348 msgid "Confirm movement of stock items" msgstr "Stok kalemlerinin hareketini onaylayın" -#: stock/forms.py:383 +#: stock/forms.py:350 msgid "Set Default Location" msgstr "Varsayılan Konum Ayarla" -#: stock/forms.py:383 +#: stock/forms.py:350 msgid "Set the destination as the default location for selected parts" msgstr "Hedefi seçili parçalar için varsayılan konum olarak ayarla" -#: stock/models.py:52 stock/models.py:542 +#: stock/models.py:56 stock/models.py:550 msgid "Owner" msgstr "" -#: stock/models.py:53 stock/models.py:543 +#: stock/models.py:57 stock/models.py:551 msgid "Select Owner" msgstr "" -#: stock/models.py:271 +#: stock/models.py:279 msgid "StockItem with this serial number already exists" msgstr "Bu seri numarasına sahip stok kalemi zaten var" -#: stock/models.py:307 +#: stock/models.py:315 #, python-brace-format msgid "Part type ('{pf}') must be {pe}" msgstr "" -#: stock/models.py:317 stock/models.py:326 +#: stock/models.py:325 stock/models.py:334 msgid "Quantity must be 1 for item with a serial number" msgstr "Seri numarası olan ögenin miktarı bir olmalı" -#: stock/models.py:318 +#: stock/models.py:326 msgid "Serial number cannot be set if quantity greater than 1" msgstr "Miktar birden büyük ise seri numarası ayarlanamaz" -#: stock/models.py:340 +#: stock/models.py:348 msgid "Item cannot belong to itself" msgstr "" -#: stock/models.py:346 +#: stock/models.py:354 msgid "Item must have a build reference if is_building=True" msgstr "" -#: stock/models.py:353 +#: stock/models.py:361 msgid "Build reference does not point to the same part object" msgstr "" -#: stock/models.py:395 +#: stock/models.py:403 msgid "Parent Stock Item" msgstr "Üst Stok Kalemi" -#: stock/models.py:404 +#: stock/models.py:412 msgid "Base part" msgstr "" -#: stock/models.py:413 +#: stock/models.py:421 msgid "Select a matching supplier part for this stock item" msgstr "Bu stok kalemi için tedarikçi parçası seçin" -#: stock/models.py:418 stock/templates/stock/stock_app_base.html:8 +#: stock/models.py:426 stock/templates/stock/stock_app_base.html:8 msgid "Stock Location" msgstr "Stok Konumu" -#: stock/models.py:421 +#: stock/models.py:429 msgid "Where is this stock item located?" msgstr "" -#: stock/models.py:428 +#: stock/models.py:436 msgid "Packaging this stock item is stored in" msgstr "" -#: stock/models.py:433 stock/templates/stock/item_base.html:270 +#: stock/models.py:441 stock/templates/stock/item_base.html:270 msgid "Installed In" msgstr "" -#: stock/models.py:436 +#: stock/models.py:444 msgid "Is this item installed in another item?" msgstr "" -#: stock/models.py:452 +#: stock/models.py:460 msgid "Serial number for this item" msgstr "Bu öge için seri numarası" -#: stock/models.py:464 +#: stock/models.py:472 msgid "Batch code for this stock item" msgstr "" -#: stock/models.py:468 +#: stock/models.py:476 msgid "Stock Quantity" msgstr "" -#: stock/models.py:477 +#: stock/models.py:485 msgid "Source Build" msgstr "" -#: stock/models.py:479 +#: stock/models.py:487 msgid "Build for this stock item" msgstr "" -#: stock/models.py:490 +#: stock/models.py:498 msgid "Source Purchase Order" msgstr "" -#: stock/models.py:493 +#: stock/models.py:501 msgid "Purchase order for this stock item" msgstr "" -#: stock/models.py:499 +#: stock/models.py:507 msgid "Destination Sales Order" msgstr "" -#: stock/models.py:506 +#: stock/models.py:514 msgid "Expiry date for stock item. Stock will be considered expired after this date" msgstr "" -#: stock/models.py:519 +#: stock/models.py:527 msgid "Delete on deplete" msgstr "" -#: stock/models.py:519 +#: stock/models.py:527 msgid "Delete this Stock Item when stock is depleted" msgstr "" -#: stock/models.py:529 stock/templates/stock/item_notes.html:13 +#: stock/models.py:537 stock/templates/stock/item_notes.html:13 #: stock/templates/stock/navbar.html:54 msgid "Stock Item Notes" msgstr "" -#: stock/models.py:538 +#: stock/models.py:546 msgid "Single unit purchase price at time of purchase" msgstr "" -#: stock/models.py:1006 +#: stock/models.py:1014 msgid "Part is not set as trackable" msgstr "" -#: stock/models.py:1012 +#: stock/models.py:1020 msgid "Quantity must be integer" msgstr "" -#: stock/models.py:1018 +#: stock/models.py:1026 #, python-brace-format msgid "Quantity must not exceed available stock quantity ({n})" msgstr "" -#: stock/models.py:1021 +#: stock/models.py:1029 msgid "Serial numbers must be a list of integers" msgstr "Seri numaraları tam sayı listesi olmalı" -#: stock/models.py:1024 +#: stock/models.py:1032 msgid "Quantity does not match serial numbers" msgstr "Miktar seri numaları ile eşleşmiyor" -#: stock/models.py:1031 +#: stock/models.py:1039 #, python-brace-format msgid "Serial numbers already exist: {exists}" msgstr "Seri numaraları zaten mevcut: {exists}" -#: stock/models.py:1189 +#: stock/models.py:1197 msgid "StockItem cannot be moved as it is not in stock" msgstr "Stok kalemi stokta olmadığı için taşınamaz" -#: stock/models.py:1663 +#: stock/models.py:1679 msgid "Entry notes" msgstr "" -#: stock/models.py:1716 +#: stock/models.py:1736 msgid "Value must be provided for this test" msgstr "" -#: stock/models.py:1722 +#: stock/models.py:1742 msgid "Attachment must be uploaded for this test" msgstr "" -#: stock/models.py:1740 +#: stock/models.py:1760 msgid "Test name" msgstr "" -#: stock/models.py:1746 templates/js/table_filters.js:217 +#: stock/models.py:1766 templates/js/table_filters.js:222 msgid "Test result" msgstr "" -#: stock/models.py:1752 +#: stock/models.py:1772 msgid "Test output value" msgstr "" -#: stock/models.py:1759 +#: stock/models.py:1779 msgid "Test result attachment" msgstr "" -#: stock/models.py:1765 +#: stock/models.py:1785 msgid "Test notes" msgstr "" @@ -5850,6 +5799,10 @@ msgstr "" msgid "No stocktake performed" msgstr "" +#: stock/templates/stock/item_base.html:499 +msgid "Edit Stock Status" +msgstr "" + #: stock/templates/stock/item_childs.html:12 msgid "Child Stock Items" msgstr "" @@ -5909,6 +5862,19 @@ msgstr "" msgid "Add Test Data" msgstr "" +#: stock/templates/stock/item_tests.html:86 +#: stock/templates/stock/item_tests.html:111 +msgid "Add Test Result" +msgstr "" + +#: stock/templates/stock/item_tests.html:131 +msgid "Edit Test Result" +msgstr "" + +#: stock/templates/stock/item_tests.html:145 +msgid "Delete Test Result" +msgstr "" + #: stock/templates/stock/location.html:20 msgid "You are not in the list of owners of this location. This stock location cannot be edited." msgstr "Bu konumun sahipleri listesinde değilsiniz. Bu stok konumu düzenlenemez." @@ -5957,7 +5923,7 @@ msgid "Stock Details" msgstr "" #: stock/templates/stock/location.html:117 templates/InvenTree/search.html:279 -#: templates/stats.html:97 users/models.py:41 +#: templates/stats.html:97 users/models.py:42 msgid "Stock Locations" msgstr "Stok Konumları" @@ -5997,7 +5963,7 @@ msgstr "" msgid "The following stock items will be uninstalled" msgstr "" -#: stock/templates/stock/stockitem_convert.html:7 stock/views.py:1364 +#: stock/templates/stock/stockitem_convert.html:7 stock/views.py:1196 msgid "Convert Stock Item" msgstr "Stok Kalemine Dönüştür" @@ -6030,8 +5996,8 @@ msgstr "" msgid "Edit Stock Location" msgstr "Stok konumunu düzenle" -#: stock/views.py:230 stock/views.py:1343 stock/views.py:1465 -#: stock/views.py:1830 +#: stock/views.py:230 stock/views.py:1175 stock/views.py:1297 +#: stock/views.py:1662 msgid "Owner is required (ownership control is enabled)" msgstr "Sahip gerekli (sahip kontrolü etkinleştirildi)" @@ -6039,208 +6005,188 @@ msgstr "Sahip gerekli (sahip kontrolü etkinleştirildi)" msgid "Stock Location QR code" msgstr "Stok Konumu QR Kodu" -#: stock/views.py:265 -msgid "Add Stock Item Attachment" -msgstr "" - -#: stock/views.py:311 -msgid "Edit Stock Item Attachment" -msgstr "" - -#: stock/views.py:327 -msgid "Delete Stock Item Attachment" -msgstr "" - -#: stock/views.py:343 +#: stock/views.py:264 msgid "Assign to Customer" msgstr "" -#: stock/views.py:352 +#: stock/views.py:273 msgid "Customer must be specified" msgstr "" -#: stock/views.py:376 +#: stock/views.py:297 msgid "Return to Stock" msgstr "" -#: stock/views.py:385 +#: stock/views.py:306 msgid "Specify a valid location" msgstr "Geçerli bir konum belirtiniz" -#: stock/views.py:396 +#: stock/views.py:317 msgid "Stock item returned from customer" msgstr "" -#: stock/views.py:407 +#: stock/views.py:328 msgid "Delete All Test Data" msgstr "" -#: stock/views.py:424 +#: stock/views.py:345 msgid "Confirm test data deletion" msgstr "" -#: stock/views.py:444 -msgid "Add Test Result" -msgstr "" - -#: stock/views.py:484 -msgid "Edit Test Result" -msgstr "" - -#: stock/views.py:501 -msgid "Delete Test Result" -msgstr "" - -#: stock/views.py:509 +#: stock/views.py:362 msgid "Stock Export Options" msgstr "" -#: stock/views.py:630 +#: stock/views.py:483 msgid "Stock Item QR Code" msgstr "" -#: stock/views.py:656 +#: stock/views.py:509 msgid "Install Stock Item" msgstr "" -#: stock/views.py:755 +#: stock/views.py:608 msgid "Uninstall Stock Items" msgstr "" -#: stock/views.py:863 +#: stock/views.py:716 msgid "Uninstalled stock items" msgstr "" -#: stock/views.py:888 +#: stock/views.py:741 msgid "Adjust Stock" msgstr "" -#: stock/views.py:998 +#: stock/views.py:851 msgid "Move Stock Items" msgstr "" -#: stock/views.py:998 +#: stock/views.py:851 msgid "Move" msgstr "" -#: stock/views.py:999 +#: stock/views.py:852 msgid "Count Stock Items" msgstr "" -#: stock/views.py:999 +#: stock/views.py:852 msgid "Count" msgstr "" -#: stock/views.py:1000 +#: stock/views.py:853 msgid "Remove From Stock" msgstr "" -#: stock/views.py:1000 +#: stock/views.py:853 msgid "Take" msgstr "" -#: stock/views.py:1001 +#: stock/views.py:854 msgid "Add Stock Items" msgstr "" -#: stock/views.py:1001 users/models.py:187 +#: stock/views.py:854 users/models.py:188 msgid "Add" msgstr "" -#: stock/views.py:1002 +#: stock/views.py:855 msgid "Delete Stock Items" msgstr "" -#: stock/views.py:1031 +#: stock/views.py:884 msgid "Must enter integer value" msgstr "" -#: stock/views.py:1036 +#: stock/views.py:889 msgid "Quantity must be positive" msgstr "" -#: stock/views.py:1043 +#: stock/views.py:896 #, python-brace-format msgid "Quantity must not exceed {x}" msgstr "" -#: stock/views.py:1107 +#: stock/views.py:960 msgid "No action performed" msgstr "Herhangi bir işlem gerçekleştirilmedi" -#: stock/views.py:1122 +#: stock/views.py:975 #, python-brace-format msgid "Added stock to {n} items" msgstr "" -#: stock/views.py:1137 +#: stock/views.py:990 #, python-brace-format msgid "Removed stock from {n} items" msgstr "" -#: stock/views.py:1150 +#: stock/views.py:1003 #, python-brace-format msgid "Counted stock for {n} items" msgstr "" -#: stock/views.py:1190 +#: stock/views.py:1043 msgid "No items were moved" msgstr "" -#: stock/views.py:1193 +#: stock/views.py:1046 #, python-brace-format msgid "Moved {n} items to {dest}" msgstr "" -#: stock/views.py:1212 +#: stock/views.py:1065 #, python-brace-format msgid "Deleted {n} stock items" msgstr "" -#: stock/views.py:1222 -msgid "Edit Stock Item Status" -msgstr "" - -#: stock/views.py:1245 +#: stock/views.py:1077 msgid "Edit Stock Item" msgstr "" -#: stock/views.py:1482 +#: stock/views.py:1314 msgid "Serialize Stock" msgstr "Stoku Seri Numarala" -#: stock/views.py:1575 templates/js/build.js:327 +#: stock/views.py:1407 templates/js/build.js:327 msgid "Create new Stock Item" msgstr "" -#: stock/views.py:1717 +#: stock/views.py:1549 msgid "Duplicate Stock Item" msgstr "" -#: stock/views.py:1799 +#: stock/views.py:1631 msgid "Quantity cannot be negative" msgstr "" -#: stock/views.py:1899 +#: stock/views.py:1731 msgid "Delete Stock Location" msgstr "Stok Konumunu Sil" -#: stock/views.py:1912 +#: stock/views.py:1744 msgid "Delete Stock Item" msgstr "" -#: stock/views.py:1923 +#: stock/views.py:1755 msgid "Delete Stock Tracking Entry" msgstr "" -#: stock/views.py:1930 +#: stock/views.py:1762 msgid "Edit Stock Tracking Entry" msgstr "" -#: stock/views.py:1939 +#: stock/views.py:1771 msgid "Add Stock Tracking Entry" msgstr "" +#: templates/403.html:5 templates/403.html:11 +msgid "Permission Denied" +msgstr "" + +#: templates/403.html:14 +msgid "You do not have permission to view this page." +msgstr "" + #: templates/404.html:5 templates/404.html:11 msgid "Page Not Found" msgstr "" @@ -6269,35 +6215,39 @@ msgstr "" msgid "Recently Updated" msgstr "" -#: templates/InvenTree/index.html:145 -msgid "Expired Stock" +#: templates/InvenTree/index.html:131 +msgid "Depleted Stock" msgstr "" #: templates/InvenTree/index.html:146 +msgid "Expired Stock" +msgstr "" + +#: templates/InvenTree/index.html:147 msgid "Stale Stock" msgstr "" -#: templates/InvenTree/index.html:184 +#: templates/InvenTree/index.html:192 msgid "Build Orders In Progress" msgstr "" -#: templates/InvenTree/index.html:185 +#: templates/InvenTree/index.html:193 msgid "Overdue Build Orders" msgstr "" -#: templates/InvenTree/index.html:206 +#: templates/InvenTree/index.html:214 msgid "Outstanding Purchase Orders" msgstr "" -#: templates/InvenTree/index.html:207 +#: templates/InvenTree/index.html:215 msgid "Overdue Purchase Orders" msgstr "" -#: templates/InvenTree/index.html:229 +#: templates/InvenTree/index.html:237 msgid "Outstanding Sales Orders" msgstr "" -#: templates/InvenTree/index.html:230 +#: templates/InvenTree/index.html:238 msgid "Overdue Sales Orders" msgstr "" @@ -6582,24 +6532,12 @@ msgstr "" msgid "copy version information" msgstr "" -#: templates/about.html:100 templates/js/modals.js:568 -#: templates/js/modals.js:861 templates/modals.html:29 templates/modals.html:54 -#: templates/modals.html:97 +#: templates/about.html:100 templates/js/modals.js:34 +#: templates/js/modals.js:677 templates/js/modals.js:970 +#: templates/modals.html:29 templates/modals.html:54 templates/modals.html:97 msgid "Close" msgstr "" -#: templates/attachment_table.html:6 -msgid "Add Attachment" -msgstr "" - -#: templates/attachment_table.html:17 -msgid "Uploaded" -msgstr "" - -#: templates/attachment_table.html:35 -msgid "Delete attachment" -msgstr "" - #: templates/image_download.html:8 msgid "Specify URL for downloading image" msgstr "" @@ -6616,6 +6554,22 @@ msgstr "" msgid "Remote image must not exceed maximum allowable file size" msgstr "" +#: templates/js/attachment.js:16 +msgid "No attachments found" +msgstr "" + +#: templates/js/attachment.js:56 +msgid "Upload Date" +msgstr "" + +#: templates/js/attachment.js:69 +msgid "Edit attachment" +msgstr "" + +#: templates/js/attachment.js:76 +msgid "Delete attachment" +msgstr "" + #: templates/js/barcode.js:8 msgid "Scan barcode data here using wedge scanner" msgstr "" @@ -6644,7 +6598,7 @@ msgstr "" msgid "Unknown response from server" msgstr "" -#: templates/js/barcode.js:119 templates/js/modals.js:921 +#: templates/js/barcode.js:119 templates/js/modals.js:1030 msgid "Invalid server response" msgstr "" @@ -6744,7 +6698,7 @@ msgstr "" msgid "Edit BOM Item" msgstr "" -#: templates/js/bom.js:372 +#: templates/js/bom.js:372 templates/js/bom.js:519 msgid "Delete BOM Item" msgstr "" @@ -6772,7 +6726,7 @@ msgstr "" msgid "No build order allocations found" msgstr "" -#: templates/js/build.js:222 templates/js/order.js:382 +#: templates/js/build.js:222 templates/js/order.js:449 msgid "Location not specified" msgstr "" @@ -6798,7 +6752,7 @@ msgid "No builds matching query" msgstr "" #: templates/js/build.js:806 templates/js/part.js:390 templates/js/part.js:635 -#: templates/js/stock.js:514 templates/js/stock.js:966 +#: templates/js/stock.js:514 templates/js/stock.js:980 msgid "Select" msgstr "" @@ -6810,45 +6764,69 @@ msgstr "" msgid "No parts allocated for" msgstr "" -#: templates/js/company.js:74 +#: templates/js/company.js:45 +msgid "Edit Company" +msgstr "" + +#: templates/js/company.js:66 +msgid "Add new Company" +msgstr "" + +#: templates/js/company.js:143 msgid "Parts Supplied" msgstr "" -#: templates/js/company.js:83 +#: templates/js/company.js:152 msgid "Parts Manufactured" msgstr "" -#: templates/js/company.js:96 +#: templates/js/company.js:165 msgid "No company information found" msgstr "" -#: templates/js/company.js:129 +#: templates/js/company.js:183 +msgid "The following manufacturer parts will be deleted" +msgstr "" + +#: templates/js/company.js:200 +msgid "Delete Manufacturer Parts" +msgstr "" + +#: templates/js/company.js:253 msgid "No manufacturer parts found" msgstr "" -#: templates/js/company.js:148 templates/js/company.js:347 +#: templates/js/company.js:272 templates/js/company.js:472 #: templates/js/part.js:68 templates/js/part.js:153 msgid "Template part" msgstr "Şablon Parça" -#: templates/js/company.js:152 templates/js/company.js:351 +#: templates/js/company.js:276 templates/js/company.js:476 #: templates/js/part.js:72 templates/js/part.js:157 msgid "Assembled part" msgstr "" -#: templates/js/company.js:226 +#: templates/js/company.js:350 msgid "No parameters found" msgstr "" -#: templates/js/company.js:262 +#: templates/js/company.js:386 msgid "Edit parameter" msgstr "" -#: templates/js/company.js:263 +#: templates/js/company.js:387 msgid "Delete parameter" msgstr "" -#: templates/js/company.js:328 +#: templates/js/company.js:406 +msgid "Edit Parameter" +msgstr "" + +#: templates/js/company.js:417 +msgid "Delete Parameter" +msgstr "" + +#: templates/js/company.js:453 msgid "No supplier parts found" msgstr "" @@ -6876,6 +6854,83 @@ msgstr "" msgid "Create filter" msgstr "" +#: templates/js/forms.js:278 templates/js/forms.js:291 +#: templates/js/forms.js:303 templates/js/forms.js:315 +msgid "Action Prohibited" +msgstr "" + +#: templates/js/forms.js:279 +msgid "Create operation not allowed" +msgstr "" + +#: templates/js/forms.js:292 +msgid "Update operation not allowed" +msgstr "" + +#: templates/js/forms.js:304 +msgid "Delete operation not allowed" +msgstr "" + +#: templates/js/forms.js:316 +msgid "View operation not allowed" +msgstr "" + +#: templates/js/forms.js:583 templates/js/modals.js:1040 +msgid "No Response" +msgstr "" + +#: templates/js/forms.js:584 templates/js/modals.js:1041 +msgid "No response from the InvenTree server" +msgstr "" + +#: templates/js/forms.js:590 templates/js/modals.js:1050 +msgid "Error 401: Not Authenticated" +msgstr "" + +#: templates/js/forms.js:591 templates/js/modals.js:1051 +msgid "Authentication credentials not supplied" +msgstr "" + +#: templates/js/forms.js:597 templates/js/modals.js:1055 +msgid "Error 403: Permission Denied" +msgstr "" + +#: templates/js/forms.js:598 templates/js/modals.js:1056 +msgid "You do not have the required permissions to access this function" +msgstr "Bu fonksiyona erişmek için gerekli izinlere sahip değilsiniz" + +#: templates/js/forms.js:604 templates/js/modals.js:1060 +msgid "Error 404: Resource Not Found" +msgstr "" + +#: templates/js/forms.js:605 templates/js/modals.js:1061 +msgid "The requested resource could not be located on the server" +msgstr "" + +#: templates/js/forms.js:611 templates/js/modals.js:1065 +msgid "Error 408: Timeout" +msgstr "" + +#: templates/js/forms.js:612 templates/js/modals.js:1066 +msgid "Connection timeout while requesting data from server" +msgstr "" + +#: templates/js/forms.js:618 templates/js/modals.js:1069 +msgid "Error requesting form data" +msgstr "" + +#: templates/js/forms.js:788 templates/modals.html:21 templates/modals.html:47 +msgid "Form errors exist" +msgstr "" + +#: templates/js/forms.js:1161 +msgid "Searching" +msgstr "" + +#: templates/js/forms.js:1301 +msgid "Clear input" +msgstr "" + #: templates/js/label.js:10 templates/js/report.js:98 msgid "Select Stock Items" msgstr "" @@ -6916,112 +6971,102 @@ msgstr "Etiket Seç" msgid "Select Label Template" msgstr "Etiket Şablonu Seç" -#: templates/js/modals.js:265 -msgid "Waiting for server..." -msgstr "" - -#: templates/js/modals.js:424 -msgid "Show Error Information" -msgstr "" - -#: templates/js/modals.js:491 templates/modals.html:76 -msgid "Accept" -msgstr "" - -#: templates/js/modals.js:492 templates/modals.html:75 +#: templates/js/modals.js:59 templates/js/modals.js:105 +#: templates/js/modals.js:601 templates/modals.html:75 msgid "Cancel" msgstr "" -#: templates/js/modals.js:556 -msgid "Loading Data" -msgstr "" - -#: templates/js/modals.js:567 templates/js/modals.js:860 +#: templates/js/modals.js:60 templates/js/modals.js:104 +#: templates/js/modals.js:676 templates/js/modals.js:969 #: templates/modals.html:30 templates/modals.html:55 msgid "Submit" msgstr "" -#: templates/js/modals.js:811 +#: templates/js/modals.js:103 +msgid "Form Title" +msgstr "" + +#: templates/js/modals.js:374 +msgid "Waiting for server..." +msgstr "" + +#: templates/js/modals.js:533 +msgid "Show Error Information" +msgstr "" + +#: templates/js/modals.js:600 templates/modals.html:76 +msgid "Accept" +msgstr "" + +#: templates/js/modals.js:665 +msgid "Loading Data" +msgstr "" + +#: templates/js/modals.js:920 msgid "Invalid response from server" msgstr "" -#: templates/js/modals.js:811 +#: templates/js/modals.js:920 msgid "Form data missing from server response" msgstr "" -#: templates/js/modals.js:824 +#: templates/js/modals.js:933 msgid "Error posting form data" msgstr "" -#: templates/js/modals.js:921 +#: templates/js/modals.js:1030 msgid "JSON response missing form data" msgstr "" -#: templates/js/modals.js:931 -msgid "No Response" -msgstr "" - -#: templates/js/modals.js:932 -msgid "No response from the InvenTree server" -msgstr "" - -#: templates/js/modals.js:936 +#: templates/js/modals.js:1045 msgid "Error 400: Bad Request" msgstr "" -#: templates/js/modals.js:937 +#: templates/js/modals.js:1046 msgid "Server returned error code 400" msgstr "" -#: templates/js/modals.js:941 -msgid "Error 401: Not Authenticated" +#: templates/js/model_renderers.js:21 +msgid "Company ID" msgstr "" -#: templates/js/modals.js:942 -msgid "Authentication credentials not supplied" +#: templates/js/model_renderers.js:63 +msgid "Location ID" msgstr "" -#: templates/js/modals.js:946 -msgid "Error 403: Permission Denied" +#: templates/js/model_renderers.js:90 +msgid "Part ID" msgstr "" -#: templates/js/modals.js:947 -msgid "You do not have the required permissions to access this function" -msgstr "Bu fonksiyona erişmek için gerekli izinlere sahip değilsiniz" - -#: templates/js/modals.js:951 -msgid "Error 404: Resource Not Found" +#: templates/js/model_renderers.js:126 +msgid "Category ID" msgstr "" -#: templates/js/modals.js:952 -msgid "The requested resource could not be located on the server" +#: templates/js/model_renderers.js:150 +msgid "Supplier Part ID" msgstr "" -#: templates/js/modals.js:956 -msgid "Error 408: Timeout" +#: templates/js/order.js:31 +msgid "Create Sales Order" msgstr "" -#: templates/js/modals.js:957 -msgid "Connection timeout while requesting data from server" -msgstr "" - -#: templates/js/modals.js:960 -msgid "Error requesting form data" -msgstr "" - -#: templates/js/order.js:138 +#: templates/js/order.js:200 msgid "No purchase orders found" msgstr "" -#: templates/js/order.js:162 templates/js/order.js:257 +#: templates/js/order.js:224 templates/js/order.js:319 msgid "Order is overdue" msgstr "" -#: templates/js/order.js:234 +#: templates/js/order.js:296 msgid "No sales orders found" msgstr "" -#: templates/js/order.js:343 +#: templates/js/order.js:333 +msgid "Invalid Customer" +msgstr "" + +#: templates/js/order.js:410 msgid "No sales order allocations found" msgstr "" @@ -7061,11 +7106,11 @@ msgstr "" msgid "No category" msgstr "" -#: templates/js/part.js:476 templates/js/table_filters.js:323 +#: templates/js/part.js:476 templates/js/table_filters.js:328 msgid "Low stock" msgstr "" -#: templates/js/part.js:660 templates/js/stock.js:990 +#: templates/js/part.js:660 templates/js/stock.js:1004 msgid "Path" msgstr "" @@ -7085,7 +7130,22 @@ msgstr "" msgid "This test is defined for a parent part" msgstr "" -#: templates/js/part.js:806 +#: templates/js/part.js:786 +#, python-brace-format +msgid "No ${human_name} information found" +msgstr "" + +#: templates/js/part.js:839 +#, python-brace-format +msgid "Edit ${human_name}" +msgstr "" + +#: templates/js/part.js:840 +#, python-brace-format +msgid "Delete ${human_name}" +msgstr "" + +#: templates/js/part.js:959 msgid "Single Price Difference" msgstr "" @@ -7263,75 +7323,75 @@ msgstr "" msgid "Stocktake" msgstr "" -#: templates/js/stock.js:853 +#: templates/js/stock.js:867 msgid "Stock Status" msgstr "" -#: templates/js/stock.js:868 +#: templates/js/stock.js:882 msgid "Set Stock Status" msgstr "" -#: templates/js/stock.js:882 +#: templates/js/stock.js:896 msgid "Select Status Code" msgstr "" -#: templates/js/stock.js:883 +#: templates/js/stock.js:897 msgid "Status code must be selected" msgstr "" -#: templates/js/stock.js:1022 +#: templates/js/stock.js:1036 msgid "Invalid date" msgstr "" -#: templates/js/stock.js:1069 +#: templates/js/stock.js:1083 msgid "Location no longer exists" msgstr "Konum artık yok" -#: templates/js/stock.js:1088 +#: templates/js/stock.js:1102 msgid "Purchase order no longer exists" msgstr "" -#: templates/js/stock.js:1107 +#: templates/js/stock.js:1121 msgid "Customer no longer exists" msgstr "" -#: templates/js/stock.js:1125 +#: templates/js/stock.js:1139 msgid "Stock item no longer exists" msgstr "" -#: templates/js/stock.js:1148 +#: templates/js/stock.js:1162 msgid "Added" msgstr "" -#: templates/js/stock.js:1156 +#: templates/js/stock.js:1170 msgid "Removed" msgstr "" -#: templates/js/stock.js:1188 +#: templates/js/stock.js:1202 msgid "No user information" msgstr "" -#: templates/js/stock.js:1200 +#: templates/js/stock.js:1214 msgid "Edit tracking entry" msgstr "" -#: templates/js/stock.js:1201 +#: templates/js/stock.js:1215 msgid "Delete tracking entry" msgstr "" -#: templates/js/stock.js:1325 +#: templates/js/stock.js:1339 msgid "Create New Location" msgstr "Yeni Konum Oluştur" -#: templates/js/stock.js:1366 +#: templates/js/stock.js:1380 msgid "No installed items" msgstr "" -#: templates/js/stock.js:1389 +#: templates/js/stock.js:1403 msgid "Serial" msgstr "Seri No" -#: templates/js/stock.js:1417 +#: templates/js/stock.js:1431 msgid "Uninstall Stock Item" msgstr "" @@ -7352,7 +7412,7 @@ msgid "Include locations" msgstr "Konumları dahil et" #: templates/js/table_filters.js:86 templates/js/table_filters.js:87 -#: templates/js/table_filters.js:300 +#: templates/js/table_filters.js:305 msgid "Include subcategories" msgstr "" @@ -7385,7 +7445,7 @@ msgstr "Seri numarası" msgid "Batch code" msgstr "" -#: templates/js/table_filters.js:123 templates/js/table_filters.js:290 +#: templates/js/table_filters.js:123 templates/js/table_filters.js:295 msgid "Active parts" msgstr "" @@ -7457,43 +7517,51 @@ msgstr "" msgid "Stock status" msgstr "" -#: templates/js/table_filters.js:236 +#: templates/js/table_filters.js:211 +msgid "Has purchase price" +msgstr "" + +#: templates/js/table_filters.js:212 +msgid "Show stock items which have a purchase price set" +msgstr "" + +#: templates/js/table_filters.js:241 msgid "Build status" msgstr "" -#: templates/js/table_filters.js:255 templates/js/table_filters.js:272 +#: templates/js/table_filters.js:260 templates/js/table_filters.js:277 msgid "Order status" msgstr "" -#: templates/js/table_filters.js:260 templates/js/table_filters.js:277 +#: templates/js/table_filters.js:265 templates/js/table_filters.js:282 msgid "Outstanding" msgstr "" -#: templates/js/table_filters.js:301 +#: templates/js/table_filters.js:306 msgid "Include parts in subcategories" msgstr "Alt kategorilerdeki parçaları dahil et" -#: templates/js/table_filters.js:305 +#: templates/js/table_filters.js:310 msgid "Has IPN" msgstr "DPN Var" -#: templates/js/table_filters.js:306 +#: templates/js/table_filters.js:311 msgid "Part has internal part number" msgstr "" -#: templates/js/table_filters.js:311 +#: templates/js/table_filters.js:316 msgid "Show active parts" msgstr "" -#: templates/js/table_filters.js:319 +#: templates/js/table_filters.js:324 msgid "Stock available" msgstr "" -#: templates/js/table_filters.js:335 +#: templates/js/table_filters.js:340 msgid "Starred" msgstr "" -#: templates/js/table_filters.js:347 +#: templates/js/table_filters.js:352 msgid "Purchasable" msgstr "" @@ -7550,10 +7618,6 @@ msgstr "" msgid "All" msgstr "" -#: templates/modals.html:21 templates/modals.html:47 -msgid "Form errors exist" -msgstr "" - #: templates/navbar.html:13 msgid "Toggle navigation" msgstr "" @@ -7570,7 +7634,7 @@ msgstr "" msgid "Scan Barcode" msgstr "" -#: templates/navbar.html:77 users/models.py:38 +#: templates/navbar.html:77 users/models.py:39 msgid "Admin" msgstr "" @@ -7790,35 +7854,35 @@ msgstr "" msgid "Important dates" msgstr "" -#: users/models.py:174 +#: users/models.py:175 msgid "Permission set" msgstr "" -#: users/models.py:182 +#: users/models.py:183 msgid "Group" msgstr "" -#: users/models.py:185 +#: users/models.py:186 msgid "View" msgstr "" -#: users/models.py:185 +#: users/models.py:186 msgid "Permission to view items" msgstr "" -#: users/models.py:187 +#: users/models.py:188 msgid "Permission to add items" msgstr "" -#: users/models.py:189 +#: users/models.py:190 msgid "Change" msgstr "" -#: users/models.py:189 +#: users/models.py:190 msgid "Permissions to edit items" msgstr "" -#: users/models.py:191 +#: users/models.py:192 msgid "Permission to delete items" msgstr "" diff --git a/InvenTree/locale/zh/LC_MESSAGES/django.po b/InvenTree/locale/zh/LC_MESSAGES/django.po index 006635f31e..a5b51e77ec 100644 --- a/InvenTree/locale/zh/LC_MESSAGES/django.po +++ b/InvenTree/locale/zh/LC_MESSAGES/django.po @@ -2,8 +2,8 @@ msgid "" msgstr "" "Project-Id-Version: inventree\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2021-07-01 22:35+0000\n" -"PO-Revision-Date: 2021-07-01 22:38\n" +"POT-Creation-Date: 2021-07-03 12:15+0000\n" +"PO-Revision-Date: 2021-07-03 12:44\n" "Last-Translator: \n" "Language-Team: Chinese Simplified\n" "Language: zh_CN\n" @@ -29,14 +29,14 @@ msgstr "未指定操作" msgid "No matching action found" msgstr "未找到指定操作" -#: InvenTree/fields.py:84 +#: InvenTree/fields.py:99 msgid "Enter date" msgstr "输入日期" #: InvenTree/forms.py:112 build/forms.py:102 build/forms.py:123 #: build/forms.py:145 build/forms.py:169 build/forms.py:185 build/forms.py:227 -#: order/forms.py:31 order/forms.py:42 order/forms.py:53 order/forms.py:64 -#: order/forms.py:75 part/forms.py:134 +#: order/forms.py:30 order/forms.py:41 order/forms.py:52 order/forms.py:63 +#: order/forms.py:74 part/forms.py:118 templates/js/forms.js:486 msgid "Confirm" msgstr "确认" @@ -77,8 +77,8 @@ msgstr "选择分类" msgid "Duplicate serial: {n}" msgstr "" -#: InvenTree/helpers.py:403 order/models.py:244 order/models.py:354 -#: stock/views.py:1795 +#: InvenTree/helpers.py:403 order/models.py:311 order/models.py:421 +#: stock/views.py:1627 msgid "Invalid quantity provided" msgstr "" @@ -106,49 +106,53 @@ msgstr "未找到序列号" msgid "Number of unique serial number ({s}) must match quantity ({q})" msgstr "" -#: InvenTree/models.py:59 stock/models.py:1758 +#: InvenTree/models.py:61 stock/models.py:1778 msgid "Attachment" msgstr "附件" -#: InvenTree/models.py:60 +#: InvenTree/models.py:62 msgid "Select file to attach" msgstr "选择附件" -#: InvenTree/models.py:62 templates/attachment_table.html:16 +#: InvenTree/models.py:64 templates/js/attachment.js:52 msgid "Comment" msgstr "注释" -#: InvenTree/models.py:62 +#: InvenTree/models.py:64 msgid "File comment" msgstr "文件注释" -#: InvenTree/models.py:68 InvenTree/models.py:69 part/models.py:2022 +#: InvenTree/models.py:70 InvenTree/models.py:71 part/models.py:2043 #: report/templates/report/inventree_test_report_base.html:91 -#: templates/js/stock.js:1179 +#: templates/js/stock.js:1193 msgid "User" msgstr "用户" -#: InvenTree/models.py:72 +#: InvenTree/models.py:74 msgid "upload date" msgstr "上传日期" -#: InvenTree/models.py:107 InvenTree/models.py:108 company/models.py:396 -#: label/models.py:102 part/models.py:671 part/models.py:2163 +#: InvenTree/models.py:102 +msgid "Invalid choice" +msgstr "" + +#: InvenTree/models.py:118 InvenTree/models.py:119 company/models.py:414 +#: label/models.py:103 part/models.py:680 part/models.py:2192 #: part/templates/part/params.html:27 report/models.py:180 #: templates/InvenTree/search.html:137 templates/InvenTree/search.html:289 -#: templates/js/company.js:235 templates/js/part.js:118 -#: templates/js/part.js:642 templates/js/stock.js:972 +#: templates/js/company.js:359 templates/js/part.js:118 +#: templates/js/part.js:642 templates/js/stock.js:986 msgid "Name" msgstr "名称" -#: InvenTree/models.py:114 build/models.py:135 -#: build/templates/build/detail.html:21 company/models.py:339 -#: company/models.py:532 company/templates/company/detail.html:27 +#: InvenTree/models.py:125 build/models.py:139 +#: build/templates/build/detail.html:21 company/models.py:353 +#: company/models.py:554 company/templates/company/detail.html:27 #: company/templates/company/manufacturer_part_base.html:72 #: company/templates/company/supplier_part_base.html:71 -#: company/templates/company/supplier_part_detail.html:31 label/models.py:109 -#: order/models.py:100 order/templates/order/purchase_order_detail.html:147 -#: part/models.py:695 part/templates/part/detail.html:54 +#: company/templates/company/supplier_part_detail.html:31 label/models.py:110 +#: order/models.py:154 order/templates/order/purchase_order_detail.html:174 +#: part/models.py:704 part/templates/part/detail.html:54 #: part/templates/part/set_category.html:14 report/models.py:193 #: report/models.py:530 report/models.py:569 #: report/templates/report/inventree_build_order_base.html:118 @@ -156,39 +160,43 @@ msgstr "名称" #: templates/InvenTree/search.html:296 #: templates/InvenTree/settings/header.html:9 templates/js/bom.js:190 #: templates/js/build.js:834 templates/js/build.js:1102 -#: templates/js/company.js:56 templates/js/order.js:183 -#: templates/js/order.js:280 templates/js/part.js:177 templates/js/part.js:260 +#: templates/js/company.js:125 templates/js/order.js:245 +#: templates/js/order.js:347 templates/js/part.js:177 templates/js/part.js:260 #: templates/js/part.js:437 templates/js/part.js:654 templates/js/part.js:722 -#: templates/js/stock.js:557 templates/js/stock.js:984 -#: templates/js/stock.js:1029 +#: templates/js/stock.js:557 templates/js/stock.js:998 +#: templates/js/stock.js:1043 msgid "Description" msgstr "" -#: InvenTree/models.py:115 +#: InvenTree/models.py:126 msgid "Description (optional)" msgstr "" -#: InvenTree/models.py:123 +#: InvenTree/models.py:134 msgid "parent" msgstr "" -#: InvenTree/settings.py:504 -msgid "English" +#: InvenTree/serializers.py:52 +msgid "Must be a valid number" msgstr "" #: InvenTree/settings.py:505 -msgid "French" +msgid "English" msgstr "" #: InvenTree/settings.py:506 -msgid "German" +msgid "French" msgstr "" #: InvenTree/settings.py:507 -msgid "Polish" +msgid "German" msgstr "" #: InvenTree/settings.py:508 +msgid "Polish" +msgstr "" + +#: InvenTree/settings.py:509 msgid "Turkish" msgstr "" @@ -446,50 +454,48 @@ msgid "Order target date" msgstr "" #: build/forms.py:42 build/templates/build/build_base.html:146 -#: build/templates/build/detail.html:121 order/forms.py:118 order/forms.py:153 +#: build/templates/build/detail.html:121 #: order/templates/order/order_base.html:124 #: order/templates/order/sales_order_base.html:119 #: report/templates/report/inventree_build_order_base.html:126 -#: templates/js/build.js:881 templates/js/order.js:200 -#: templates/js/order.js:298 +#: templates/js/build.js:881 templates/js/order.js:262 +#: templates/js/order.js:365 msgid "Target Date" msgstr "" -#: build/forms.py:43 build/models.py:225 +#: build/forms.py:43 build/models.py:229 msgid "Target date for build completion. Build will be overdue after this date." msgstr "" -#: build/forms.py:48 build/forms.py:90 build/forms.py:266 build/models.py:1346 +#: build/forms.py:48 build/forms.py:90 build/forms.py:266 build/models.py:1354 #: build/templates/build/allocation_card.html:23 #: build/templates/build/auto_allocate.html:17 #: build/templates/build/build_base.html:133 #: build/templates/build/detail.html:31 common/models.py:741 -#: company/forms.py:189 company/templates/company/supplier_part_pricing.html:77 -#: order/forms.py:197 order/forms.py:215 order/forms.py:250 order/forms.py:272 -#: order/forms.py:289 order/models.py:613 order/models.py:835 -#: order/templates/order/order_wizard/match_parts.html:30 +#: company/forms.py:124 company/templates/company/supplier_part_pricing.html:79 +#: order/forms.py:120 order/forms.py:142 order/forms.py:159 order/models.py:702 +#: order/models.py:941 order/templates/order/order_wizard/match_parts.html:30 #: order/templates/order/order_wizard/select_parts.html:34 -#: order/templates/order/purchase_order_detail.html:179 -#: order/templates/order/sales_order_detail.html:70 -#: order/templates/order/sales_order_detail.html:77 -#: order/templates/order/sales_order_detail.html:162 -#: order/templates/order/sales_order_detail.html:234 part/forms.py:342 -#: part/forms.py:372 part/forms.py:388 part/forms.py:404 part/models.py:2293 -#: part/templates/part/internal_prices.html:98 -#: part/templates/part/order_prices.html:203 -#: part/templates/part/part_pricing.html:16 -#: part/templates/part/sale_prices.html:85 +#: order/templates/order/purchase_order_detail.html:206 +#: order/templates/order/sales_order_detail.html:80 +#: order/templates/order/sales_order_detail.html:87 +#: order/templates/order/sales_order_detail.html:172 +#: order/templates/order/sales_order_detail.html:244 part/forms.py:314 +#: part/forms.py:344 part/forms.py:360 part/forms.py:376 part/models.py:2330 +#: part/templates/part/part_pricing.html:16 part/templates/part/prices.html:377 +#: part/templates/part/prices.html:474 #: report/templates/report/inventree_build_order_base.html:114 #: report/templates/report/inventree_po_report.html:91 #: report/templates/report/inventree_so_report.html:91 #: report/templates/report/inventree_test_report_base.html:77 -#: stock/forms.py:175 stock/forms.py:308 +#: stock/forms.py:142 stock/forms.py:275 #: stock/templates/stock/item_base.html:255 #: stock/templates/stock/stock_adjust.html:18 templates/js/barcode.js:364 #: templates/js/bom.js:205 templates/js/build.js:233 templates/js/build.js:572 -#: templates/js/build.js:1112 templates/js/order.js:393 -#: templates/js/part.js:796 templates/js/stock.js:1164 -#: templates/js/stock.js:1383 +#: templates/js/build.js:1112 templates/js/model_renderers.js:43 +#: templates/js/order.js:460 templates/js/part.js:827 templates/js/part.js:949 +#: templates/js/part.js:1005 templates/js/stock.js:1178 +#: templates/js/stock.js:1397 msgid "Quantity" msgstr "" @@ -501,7 +507,7 @@ msgstr "" msgid "Enter quantity for build output" msgstr "" -#: build/forms.py:95 order/forms.py:244 stock/forms.py:118 +#: build/forms.py:95 order/forms.py:114 stock/forms.py:85 msgid "Serial Numbers" msgstr "" @@ -530,12 +536,12 @@ msgid "Mark build as complete" msgstr "" #: build/forms.py:210 build/templates/build/auto_allocate.html:18 -#: stock/forms.py:347 stock/templates/stock/item_base.html:285 +#: stock/forms.py:314 stock/templates/stock/item_base.html:285 #: stock/templates/stock/stock_adjust.html:17 #: templates/InvenTree/search.html:260 templates/js/barcode.js:363 #: templates/js/barcode.js:531 templates/js/build.js:218 -#: templates/js/build.js:586 templates/js/order.js:378 -#: templates/js/stock.js:643 templates/js/stock.js:1056 +#: templates/js/build.js:586 templates/js/order.js:445 +#: templates/js/stock.js:643 templates/js/stock.js:1070 msgid "Location" msgstr "" @@ -544,13 +550,13 @@ msgid "Location of completed parts" msgstr "" #: build/forms.py:215 build/templates/build/build_base.html:138 -#: build/templates/build/detail.html:59 order/models.py:465 +#: build/templates/build/detail.html:59 order/models.py:545 #: order/templates/order/receive_parts.html:24 #: stock/templates/stock/item_base.html:408 templates/InvenTree/search.html:252 #: templates/js/barcode.js:119 templates/js/build.js:868 -#: templates/js/order.js:187 templates/js/order.js:285 -#: templates/js/stock.js:630 templates/js/stock.js:1133 -#: templates/js/stock.js:1399 +#: templates/js/order.js:249 templates/js/order.js:352 +#: templates/js/stock.js:630 templates/js/stock.js:1147 +#: templates/js/stock.js:1413 msgid "Status" msgstr "" @@ -582,60 +588,60 @@ msgstr "" msgid "Select quantity of stock to allocate" msgstr "" -#: build/models.py:66 build/templates/build/build_base.html:9 +#: build/models.py:70 build/templates/build/build_base.html:9 #: build/templates/build/build_base.html:73 #: report/templates/report/inventree_build_order_base.html:106 #: templates/js/build.js:195 msgid "Build Order" msgstr "" -#: build/models.py:67 build/templates/build/index.html:8 +#: build/models.py:71 build/templates/build/index.html:8 #: build/templates/build/index.html:15 order/templates/order/so_builds.html:12 #: order/templates/order/so_navbar.html:19 #: order/templates/order/so_navbar.html:22 part/templates/part/navbar.html:58 -#: part/templates/part/navbar.html:61 templates/InvenTree/index.html:183 +#: part/templates/part/navbar.html:61 templates/InvenTree/index.html:191 #: templates/InvenTree/search.html:185 -#: templates/InvenTree/settings/tabs.html:34 users/models.py:43 +#: templates/InvenTree/settings/tabs.html:34 users/models.py:44 msgid "Build Orders" msgstr "" -#: build/models.py:127 +#: build/models.py:131 msgid "Build Order Reference" msgstr "" -#: build/models.py:128 order/models.py:98 order/models.py:615 -#: order/templates/order/purchase_order_detail.html:174 -#: order/templates/order/sales_order_detail.html:229 part/models.py:2302 +#: build/models.py:132 order/models.py:242 order/models.py:529 +#: order/models.py:709 order/templates/order/purchase_order_detail.html:201 +#: order/templates/order/sales_order_detail.html:239 part/models.py:2339 #: report/templates/report/inventree_po_report.html:92 #: report/templates/report/inventree_so_report.html:92 templates/js/bom.js:197 #: templates/js/build.js:661 templates/js/build.js:1106 msgid "Reference" msgstr "" -#: build/models.py:138 +#: build/models.py:142 msgid "Brief description of the build" msgstr "" -#: build/models.py:147 build/templates/build/build_base.html:163 +#: build/models.py:151 build/templates/build/build_base.html:163 #: build/templates/build/detail.html:77 msgid "Parent Build" msgstr "" -#: build/models.py:148 +#: build/models.py:152 msgid "BuildOrder to which this build is allocated" msgstr "" -#: build/models.py:153 build/templates/build/auto_allocate.html:16 +#: build/models.py:157 build/templates/build/auto_allocate.html:16 #: build/templates/build/build_base.html:128 -#: build/templates/build/detail.html:26 company/models.py:663 -#: order/models.py:657 order/models.py:712 +#: build/templates/build/detail.html:26 company/models.py:689 +#: order/models.py:755 order/models.py:814 #: order/templates/order/order_wizard/select_parts.html:32 -#: order/templates/order/purchase_order_detail.html:132 +#: order/templates/order/purchase_order_detail.html:159 #: order/templates/order/receive_parts.html:19 -#: order/templates/order/sales_order_detail.html:214 part/models.py:321 -#: part/models.py:1975 part/models.py:1987 part/models.py:2002 -#: part/models.py:2020 part/models.py:2095 part/models.py:2191 -#: part/models.py:2277 part/templates/part/part_app_base.html:8 +#: order/templates/order/sales_order_detail.html:224 part/models.py:325 +#: part/models.py:1988 part/models.py:2004 part/models.py:2023 +#: part/models.py:2041 part/models.py:2120 part/models.py:2224 +#: part/models.py:2314 part/templates/part/part_app_base.html:8 #: part/templates/part/part_pricing.html:12 part/templates/part/related.html:29 #: part/templates/part/set_category.html:13 #: report/templates/report/inventree_build_order_base.html:110 @@ -644,222 +650,222 @@ msgstr "" #: templates/InvenTree/search.html:112 templates/InvenTree/search.html:210 #: templates/js/barcode.js:362 templates/js/bom.js:163 #: templates/js/build.js:552 templates/js/build.js:839 -#: templates/js/build.js:1079 templates/js/company.js:140 -#: templates/js/company.js:339 templates/js/part.js:241 +#: templates/js/build.js:1079 templates/js/company.js:264 +#: templates/js/company.js:464 templates/js/part.js:241 #: templates/js/part.js:404 templates/js/stock.js:526 -#: templates/js/stock.js:1371 +#: templates/js/stock.js:1385 msgid "Part" msgstr "" -#: build/models.py:161 +#: build/models.py:165 msgid "Select part to build" msgstr "" -#: build/models.py:166 +#: build/models.py:170 msgid "Sales Order Reference" msgstr "" -#: build/models.py:170 +#: build/models.py:174 msgid "SalesOrder to which this build is allocated" msgstr "" -#: build/models.py:175 +#: build/models.py:179 msgid "Source Location" msgstr "" -#: build/models.py:179 +#: build/models.py:183 msgid "Select location to take stock from for this build (leave blank to take from any stock location)" msgstr "" -#: build/models.py:184 +#: build/models.py:188 msgid "Destination Location" msgstr "" -#: build/models.py:188 +#: build/models.py:192 msgid "Select location where the completed items will be stored" msgstr "" -#: build/models.py:192 +#: build/models.py:196 msgid "Build Quantity" msgstr "" -#: build/models.py:195 +#: build/models.py:199 msgid "Number of stock items to build" msgstr "" -#: build/models.py:199 +#: build/models.py:203 msgid "Completed items" msgstr "" -#: build/models.py:201 +#: build/models.py:205 msgid "Number of stock items which have been completed" msgstr "" -#: build/models.py:205 part/templates/part/part_base.html:167 +#: build/models.py:209 part/templates/part/part_base.html:167 msgid "Build Status" msgstr "" -#: build/models.py:209 +#: build/models.py:213 msgid "Build status code" msgstr "" -#: build/models.py:213 stock/models.py:462 +#: build/models.py:217 stock/models.py:470 msgid "Batch Code" msgstr "" -#: build/models.py:217 +#: build/models.py:221 msgid "Batch code for this build output" msgstr "" -#: build/models.py:220 order/models.py:104 part/models.py:867 -#: part/templates/part/detail.html:126 templates/js/order.js:293 +#: build/models.py:224 order/models.py:158 part/models.py:876 +#: part/templates/part/detail.html:126 templates/js/order.js:360 msgid "Creation Date" msgstr "" -#: build/models.py:224 order/models.py:471 +#: build/models.py:228 order/models.py:551 msgid "Target completion date" msgstr "" -#: build/models.py:228 order/models.py:217 templates/js/build.js:886 +#: build/models.py:232 order/models.py:284 templates/js/build.js:886 msgid "Completion Date" msgstr "" -#: build/models.py:234 +#: build/models.py:238 msgid "completed by" msgstr "" -#: build/models.py:242 +#: build/models.py:246 msgid "Issued by" msgstr "" -#: build/models.py:243 +#: build/models.py:247 msgid "User who issued this build order" msgstr "" -#: build/models.py:251 build/templates/build/build_base.html:184 -#: build/templates/build/detail.html:105 order/models.py:118 +#: build/models.py:255 build/templates/build/build_base.html:184 +#: build/templates/build/detail.html:105 order/models.py:172 #: order/templates/order/order_base.html:138 -#: order/templates/order/sales_order_base.html:140 part/models.py:871 +#: order/templates/order/sales_order_base.html:140 part/models.py:880 #: report/templates/report/inventree_build_order_base.html:159 msgid "Responsible" msgstr "" -#: build/models.py:252 +#: build/models.py:256 msgid "User responsible for this build order" msgstr "" -#: build/models.py:257 build/templates/build/detail.html:91 +#: build/models.py:261 build/templates/build/detail.html:91 #: company/templates/company/manufacturer_part_base.html:79 #: company/templates/company/manufacturer_part_detail.html:28 #: company/templates/company/supplier_part_base.html:78 #: company/templates/company/supplier_part_detail.html:28 #: part/templates/part/detail.html:83 part/templates/part/part_base.html:94 -#: stock/models.py:456 stock/templates/stock/item_base.html:345 +#: stock/models.py:464 stock/templates/stock/item_base.html:345 msgid "External Link" msgstr "" -#: build/models.py:258 part/models.py:729 stock/models.py:458 +#: build/models.py:262 part/models.py:738 stock/models.py:466 msgid "Link to external URL" msgstr "" -#: build/models.py:262 build/templates/build/navbar.html:53 -#: company/models.py:132 company/models.py:539 +#: build/models.py:266 build/templates/build/navbar.html:53 +#: company/models.py:141 company/models.py:561 #: company/templates/company/navbar.html:70 -#: company/templates/company/navbar.html:73 order/models.py:122 -#: order/models.py:617 order/templates/order/po_navbar.html:38 +#: company/templates/company/navbar.html:73 order/models.py:176 +#: order/models.py:711 order/templates/order/po_navbar.html:38 #: order/templates/order/po_navbar.html:41 -#: order/templates/order/purchase_order_detail.html:243 -#: order/templates/order/sales_order_detail.html:309 +#: order/templates/order/purchase_order_detail.html:270 +#: order/templates/order/sales_order_detail.html:319 #: order/templates/order/so_navbar.html:33 -#: order/templates/order/so_navbar.html:36 part/models.py:856 -#: part/templates/part/navbar.html:145 +#: order/templates/order/so_navbar.html:36 part/models.py:865 +#: part/templates/part/navbar.html:133 #: report/templates/report/inventree_build_order_base.html:173 -#: stock/forms.py:173 stock/forms.py:317 stock/forms.py:349 stock/forms.py:377 -#: stock/models.py:528 stock/models.py:1662 stock/models.py:1764 +#: stock/forms.py:140 stock/forms.py:284 stock/forms.py:316 stock/forms.py:344 +#: stock/models.py:536 stock/models.py:1678 stock/models.py:1784 #: stock/templates/stock/navbar.html:57 templates/js/barcode.js:37 -#: templates/js/bom.js:349 templates/js/stock.js:141 templates/js/stock.js:699 +#: templates/js/bom.js:349 templates/js/stock.js:141 templates/js/stock.js:713 msgid "Notes" msgstr "" -#: build/models.py:263 +#: build/models.py:267 msgid "Extra build notes" msgstr "" -#: build/models.py:740 +#: build/models.py:744 msgid "No build output specified" msgstr "" -#: build/models.py:743 +#: build/models.py:747 msgid "Build output is already completed" msgstr "" -#: build/models.py:746 +#: build/models.py:750 msgid "Build output does not match Build Order" msgstr "" -#: build/models.py:1152 +#: build/models.py:1160 msgid "BuildItem must be unique for build, stock_item and install_into" msgstr "" -#: build/models.py:1177 +#: build/models.py:1185 msgid "Build item must specify a build output, as master part is marked as trackable" msgstr "" -#: build/models.py:1181 +#: build/models.py:1189 #, python-brace-format msgid "Allocated quantity ({n}) must not exceed available quantity ({q})" msgstr "" -#: build/models.py:1188 order/models.py:809 +#: build/models.py:1196 order/models.py:915 msgid "StockItem is over-allocated" msgstr "" -#: build/models.py:1192 order/models.py:812 +#: build/models.py:1200 order/models.py:918 msgid "Allocation quantity must be greater than zero" msgstr "" -#: build/models.py:1196 +#: build/models.py:1204 msgid "Quantity must be 1 for serialized stock" msgstr "" -#: build/models.py:1256 +#: build/models.py:1264 #, python-brace-format msgid "Selected stock item not found in BOM for part '{p}'" msgstr "" -#: build/models.py:1316 stock/templates/stock/item_base.html:317 +#: build/models.py:1324 stock/templates/stock/item_base.html:317 #: templates/InvenTree/search.html:183 templates/js/build.js:812 #: templates/navbar.html:29 msgid "Build" msgstr "" -#: build/models.py:1317 +#: build/models.py:1325 msgid "Build to allocate parts" msgstr "" -#: build/models.py:1333 stock/templates/stock/item_base.html:8 +#: build/models.py:1341 stock/templates/stock/item_base.html:8 #: stock/templates/stock/item_base.html:31 #: stock/templates/stock/item_base.html:339 #: stock/templates/stock/stock_adjust.html:16 templates/js/build.js:206 #: templates/js/build.js:211 templates/js/build.js:929 -#: templates/js/order.js:366 templates/js/order.js:371 -#: templates/js/stock.js:1115 +#: templates/js/order.js:433 templates/js/order.js:438 +#: templates/js/stock.js:1129 msgid "Stock Item" msgstr "" -#: build/models.py:1334 +#: build/models.py:1342 msgid "Source stock item" msgstr "" -#: build/models.py:1347 +#: build/models.py:1355 msgid "Stock quantity to allocate to build" msgstr "" -#: build/models.py:1355 +#: build/models.py:1363 msgid "Install into" msgstr "" -#: build/models.py:1356 +#: build/models.py:1364 msgid "Destination stock item" msgstr "" @@ -893,7 +899,7 @@ msgstr "" #: build/templates/build/allocate.html:30 #: company/templates/company/detail_manufacturer_part.html:33 -#: company/templates/company/detail_supplier_part.html:32 order/views.py:992 +#: company/templates/company/detail_supplier_part.html:32 order/views.py:724 #: part/templates/part/category.html:136 msgid "Order Parts" msgstr "" @@ -912,23 +918,52 @@ msgstr "" #: build/templates/build/allocation_card.html:21 #: build/templates/build/complete_output.html:46 -#: order/templates/order/sales_order_detail.html:75 -#: order/templates/order/sales_order_detail.html:160 +#: order/templates/order/sales_order_detail.html:85 +#: order/templates/order/sales_order_detail.html:170 #: report/templates/report/inventree_test_report_base.html:75 -#: stock/models.py:450 stock/templates/stock/item_base.html:249 -#: templates/js/build.js:570 +#: stock/models.py:458 stock/templates/stock/item_base.html:249 +#: templates/js/build.js:570 templates/js/model_renderers.js:41 msgid "Serial Number" msgstr "" #: build/templates/build/attachments.html:12 #: build/templates/build/navbar.html:43 build/templates/build/navbar.html:46 #: order/templates/order/po_navbar.html:35 -#: order/templates/order/so_navbar.html:29 part/templates/part/navbar.html:136 -#: part/templates/part/navbar.html:139 stock/templates/stock/navbar.html:47 +#: order/templates/order/so_navbar.html:29 part/templates/part/navbar.html:124 +#: part/templates/part/navbar.html:127 stock/templates/stock/navbar.html:47 #: stock/templates/stock/navbar.html:50 msgid "Attachments" msgstr "" +#: build/templates/build/attachments.html:51 +#: order/templates/order/so_attachments.html:79 +#: part/templates/part/attachments.html:81 +#: stock/templates/stock/item_attachments.html:81 +#: templates/attachment_table.html:6 +msgid "Add Attachment" +msgstr "" + +#: build/templates/build/attachments.html:69 +#: order/templates/order/so_attachments.html:52 +#: part/templates/part/attachments.html:35 +#: stock/templates/stock/item_attachments.html:49 +msgid "Edit Attachment" +msgstr "" + +#: build/templates/build/attachments.html:76 +#: order/templates/order/so_attachments.html:58 +#: part/templates/part/attachments.html:44 +#: stock/templates/stock/item_attachments.html:58 +msgid "Confirm Delete Operation" +msgstr "" + +#: build/templates/build/attachments.html:77 +#: order/templates/order/so_attachments.html:59 +#: part/templates/part/attachments.html:45 +#: stock/templates/stock/item_attachments.html:59 +msgid "Delete Attachment" +msgstr "" + #: build/templates/build/auto_allocate.html:9 msgid "Automatically Allocate Stock" msgstr "" @@ -989,8 +1024,8 @@ msgstr "" #: order/templates/order/order_base.html:86 #: order/templates/order/sales_order_base.html:43 #: order/templates/order/sales_order_base.html:88 -#: templates/js/table_filters.js:245 templates/js/table_filters.js:264 -#: templates/js/table_filters.js:281 +#: templates/js/table_filters.js:250 templates/js/table_filters.js:269 +#: templates/js/table_filters.js:286 msgid "Overdue" msgstr "" @@ -1036,13 +1071,13 @@ msgid "Progress" msgstr "" #: build/templates/build/build_base.html:170 -#: build/templates/build/detail.html:84 order/models.py:710 +#: build/templates/build/detail.html:84 order/models.py:812 #: order/templates/order/sales_order_base.html:9 #: order/templates/order/sales_order_base.html:35 #: order/templates/order/sales_order_ship.html:25 #: report/templates/report/inventree_build_order_base.html:136 #: report/templates/report/inventree_so_report.html:77 -#: stock/templates/stock/item_base.html:279 templates/js/order.js:245 +#: stock/templates/stock/item_base.html:279 templates/js/order.js:307 msgid "Sales Order" msgstr "" @@ -1183,10 +1218,10 @@ msgstr "" msgid "Stock can be taken from any available location." msgstr "" -#: build/templates/build/detail.html:46 order/forms.py:89 order/models.py:673 -#: order/templates/order/purchase_order_detail.html:239 -#: order/templates/order/receive_parts.html:25 stock/forms.py:169 -#: stock/forms.py:375 +#: build/templates/build/detail.html:46 order/forms.py:88 order/models.py:771 +#: order/templates/order/purchase_order_detail.html:266 +#: order/templates/order/receive_parts.html:25 stock/forms.py:136 +#: stock/forms.py:342 msgid "Destination" msgstr "" @@ -1196,7 +1231,7 @@ msgstr "" #: build/templates/build/detail.html:70 #: stock/templates/stock/item_base.html:303 templates/js/stock.js:638 -#: templates/js/stock.js:1406 templates/js/table_filters.js:112 +#: templates/js/stock.js:1420 templates/js/table_filters.js:112 #: templates/js/table_filters.js:206 msgid "Batch" msgstr "" @@ -1251,7 +1286,7 @@ msgstr "" #: company/templates/company/navbar.html:15 #: order/templates/order/po_navbar.html:15 #: order/templates/order/so_navbar.html:15 part/templates/part/navbar.html:18 -#: templates/js/stock.js:1044 +#: templates/js/stock.js:1058 msgid "Details" msgstr "" @@ -1287,7 +1322,6 @@ msgstr "" #: order/templates/order/order_notes.html:27 #: order/templates/order/sales_order_notes.html:29 #: part/templates/part/notes.html:27 stock/templates/stock/item_base.html:487 -#: stock/templates/stock/item_base.html:497 #: stock/templates/stock/item_notes.html:26 msgid "Save" msgstr "" @@ -1316,7 +1350,7 @@ msgstr "" msgid "Maximum output quantity is " msgstr "" -#: build/views.py:184 stock/views.py:1821 +#: build/views.py:184 stock/views.py:1653 msgid "Serial numbers already exist" msgstr "" @@ -1332,7 +1366,7 @@ msgstr "" msgid "Confirm unallocation of build stock" msgstr "" -#: build/views.py:281 build/views.py:371 stock/views.py:425 +#: build/views.py:281 build/views.py:371 stock/views.py:346 msgid "Check the confirmation box" msgstr "" @@ -1429,31 +1463,6 @@ msgstr "" msgid "Updated Build Item" msgstr "" -#: build/views.py:1070 -msgid "Add Build Order Attachment" -msgstr "" - -#: build/views.py:1083 order/views.py:117 order/views.py:169 part/views.py:178 -#: stock/views.py:277 -msgid "Added attachment" -msgstr "" - -#: build/views.py:1119 order/views.py:196 order/views.py:217 -msgid "Edit Attachment" -msgstr "" - -#: build/views.py:1129 order/views.py:200 order/views.py:221 -msgid "Attachment updated" -msgstr "" - -#: build/views.py:1139 order/views.py:236 order/views.py:250 -msgid "Delete Attachment" -msgstr "" - -#: build/views.py:1144 order/views.py:242 order/views.py:256 stock/views.py:333 -msgid "Deleted attachment" -msgstr "" - #: common/files.py:66 msgid "Unsupported file format: {ext.upper()}" msgstr "" @@ -1470,7 +1479,7 @@ msgstr "" msgid "Error reading file (data could be corrupted)" msgstr "" -#: common/forms.py:34 templates/attachment_table.html:15 +#: common/forms.py:34 templates/js/attachment.js:42 msgid "File" msgstr "" @@ -1503,7 +1512,7 @@ msgstr "" msgid "Use the instance name in the title-bar" msgstr "" -#: common/models.py:72 company/models.py:94 company/models.py:95 +#: common/models.py:72 company/models.py:99 company/models.py:100 msgid "Company name" msgstr "" @@ -1607,9 +1616,9 @@ msgstr "" msgid "Number of recent parts to display on index page" msgstr "" -#: common/models.py:160 part/models.py:2193 part/templates/part/detail.html:160 -#: report/models.py:186 stock/forms.py:259 templates/js/table_filters.js:25 -#: templates/js/table_filters.js:315 +#: common/models.py:160 part/models.py:2226 part/templates/part/detail.html:160 +#: report/models.py:186 stock/forms.py:226 templates/js/table_filters.js:25 +#: templates/js/table_filters.js:320 msgid "Template" msgstr "" @@ -1617,8 +1626,8 @@ msgstr "" msgid "Parts are templates by default" msgstr "" -#: common/models.py:167 part/models.py:819 part/templates/part/detail.html:170 -#: templates/js/table_filters.js:128 templates/js/table_filters.js:327 +#: common/models.py:167 part/models.py:828 part/templates/part/detail.html:170 +#: templates/js/table_filters.js:128 templates/js/table_filters.js:332 msgid "Assembly" msgstr "" @@ -1626,8 +1635,8 @@ msgstr "" msgid "Parts can be assembled from other components by default" msgstr "" -#: common/models.py:174 part/models.py:825 part/templates/part/detail.html:180 -#: templates/js/table_filters.js:331 +#: common/models.py:174 part/models.py:834 part/templates/part/detail.html:180 +#: templates/js/table_filters.js:336 msgid "Component" msgstr "" @@ -1635,7 +1644,7 @@ msgstr "" msgid "Parts can be used as sub-components by default" msgstr "" -#: common/models.py:181 part/models.py:836 part/templates/part/detail.html:200 +#: common/models.py:181 part/models.py:845 part/templates/part/detail.html:200 msgid "Purchaseable" msgstr "" @@ -1643,8 +1652,8 @@ msgstr "" msgid "Parts are purchaseable by default" msgstr "" -#: common/models.py:188 part/models.py:841 part/templates/part/detail.html:210 -#: templates/js/table_filters.js:339 +#: common/models.py:188 part/models.py:850 part/templates/part/detail.html:210 +#: templates/js/table_filters.js:344 msgid "Salable" msgstr "" @@ -1652,8 +1661,8 @@ msgstr "" msgid "Parts are salable by default" msgstr "" -#: common/models.py:195 part/models.py:831 part/templates/part/detail.html:190 -#: templates/js/table_filters.js:33 templates/js/table_filters.js:343 +#: common/models.py:195 part/models.py:840 part/templates/part/detail.html:190 +#: templates/js/table_filters.js:33 templates/js/table_filters.js:348 msgid "Trackable" msgstr "" @@ -1661,7 +1670,7 @@ msgstr "" msgid "Parts are trackable by default" msgstr "" -#: common/models.py:202 part/models.py:851 part/templates/part/detail.html:150 +#: common/models.py:202 part/models.py:860 part/templates/part/detail.html:150 #: templates/js/table_filters.js:29 msgid "Virtual" msgstr "" @@ -1858,13 +1867,12 @@ msgstr "" msgid "Key string must be unique" msgstr "" -#: common/models.py:742 company/forms.py:190 +#: common/models.py:742 company/forms.py:125 msgid "Price break quantity" msgstr "" -#: common/models.py:749 company/templates/company/supplier_part_pricing.html:82 -#: part/templates/part/internal_prices.html:103 -#: part/templates/part/sale_prices.html:90 +#: common/models.py:749 company/templates/company/supplier_part_pricing.html:84 +#: templates/js/part.js:832 msgid "Price" msgstr "" @@ -1894,16 +1902,16 @@ msgstr "" #: common/views.py:184 order/templates/order/order_wizard/po_upload.html:42 #: order/templates/order/po_navbar.html:19 -#: order/templates/order/po_navbar.html:22 order/views.py:605 +#: order/templates/order/po_navbar.html:22 order/views.py:337 #: part/templates/part/bom_upload/upload_file.html:27 -#: part/templates/part/import_wizard/part_upload.html:45 part/views.py:761 +#: part/templates/part/import_wizard/part_upload.html:45 part/views.py:621 msgid "Upload File" msgstr "" #: common/views.py:185 order/templates/order/order_wizard/match_fields.html:52 -#: order/views.py:606 part/templates/part/bom_upload/select_fields.html:58 +#: order/views.py:338 part/templates/part/bom_upload/select_fields.html:58 #: part/templates/part/import_wizard/ajax_match_fields.html:45 -#: part/templates/part/import_wizard/match_fields.html:52 part/views.py:762 +#: part/templates/part/import_wizard/match_fields.html:52 part/views.py:622 msgid "Match Fields" msgstr "" @@ -1928,269 +1936,277 @@ msgstr "" msgid "Previous Step" msgstr "" -#: company/forms.py:37 company/models.py:142 -#: company/templates/company/detail.html:42 -msgid "Currency" -msgstr "" - -#: company/forms.py:38 company/models.py:144 -msgid "Default currency used for this company" -msgstr "" - -#: company/forms.py:76 part/forms.py:46 +#: company/forms.py:26 part/forms.py:46 msgid "URL" msgstr "" -#: company/forms.py:77 part/forms.py:47 +#: company/forms.py:27 part/forms.py:47 msgid "Image URL" msgstr "" -#: company/forms.py:132 templates/js/part.js:787 +#: company/forms.py:67 templates/js/part.js:940 msgid "Single Price" msgstr "" -#: company/forms.py:133 +#: company/forms.py:68 msgid "Single quantity price" msgstr "" -#: company/forms.py:141 company/models.py:321 +#: company/forms.py:76 company/models.py:335 msgid "Select manufacturer" msgstr "" -#: company/forms.py:147 company/models.py:328 +#: company/forms.py:82 company/models.py:342 msgid "Manufacturer Part Number" msgstr "" -#: company/forms.py:149 company/models.py:327 +#: company/forms.py:84 company/models.py:341 #: company/templates/company/manufacturer_part_base.html:89 #: company/templates/company/manufacturer_part_detail.html:26 #: company/templates/company/supplier_part_base.html:102 #: company/templates/company/supplier_part_detail.html:35 -#: order/templates/order/purchase_order_detail.html:162 part/bom.py:171 -#: part/bom.py:242 templates/js/company.js:181 templates/js/company.js:408 +#: order/templates/order/purchase_order_detail.html:189 part/bom.py:171 +#: part/bom.py:242 templates/js/company.js:305 templates/js/company.js:533 msgid "MPN" msgstr "" -#: company/models.py:99 +#: company/models.py:104 msgid "Company description" msgstr "" -#: company/models.py:100 +#: company/models.py:105 msgid "Description of the company" msgstr "" -#: company/models.py:104 company/templates/company/company_base.html:70 -#: company/templates/company/detail.html:33 templates/js/company.js:60 +#: company/models.py:111 company/templates/company/company_base.html:70 +#: company/templates/company/detail.html:33 templates/js/company.js:129 msgid "Website" msgstr "" -#: company/models.py:104 +#: company/models.py:112 msgid "Company website URL" msgstr "" -#: company/models.py:107 company/templates/company/company_base.html:77 +#: company/models.py:116 company/templates/company/company_base.html:77 msgid "Address" msgstr "" -#: company/models.py:108 +#: company/models.py:117 msgid "Company address" msgstr "" -#: company/models.py:111 +#: company/models.py:120 msgid "Phone number" msgstr "" -#: company/models.py:112 +#: company/models.py:121 msgid "Contact phone number" msgstr "" -#: company/models.py:115 company/templates/company/company_base.html:91 +#: company/models.py:124 company/templates/company/company_base.html:91 msgid "Email" msgstr "" -#: company/models.py:115 +#: company/models.py:124 msgid "Contact email address" msgstr "" -#: company/models.py:118 company/templates/company/company_base.html:98 +#: company/models.py:127 company/templates/company/company_base.html:98 msgid "Contact" msgstr "" -#: company/models.py:119 +#: company/models.py:128 msgid "Point of contact" msgstr "" -#: company/models.py:121 company/models.py:333 company/models.py:526 -#: order/models.py:102 part/models.py:728 +#: company/models.py:130 company/models.py:347 company/models.py:548 +#: order/models.py:156 part/models.py:737 #: report/templates/report/inventree_build_order_base.html:165 -#: templates/js/company.js:188 templates/js/company.js:419 +#: templates/js/company.js:312 templates/js/company.js:544 #: templates/js/part.js:498 msgid "Link" msgstr "" -#: company/models.py:121 +#: company/models.py:130 msgid "Link to external company information" msgstr "" -#: company/models.py:129 part/models.py:738 +#: company/models.py:138 part/models.py:747 msgid "Image" msgstr "" -#: company/models.py:134 +#: company/models.py:143 msgid "is customer" msgstr "" -#: company/models.py:134 +#: company/models.py:143 msgid "Do you sell items to this company?" msgstr "" -#: company/models.py:136 +#: company/models.py:145 msgid "is supplier" msgstr "" -#: company/models.py:136 +#: company/models.py:145 msgid "Do you purchase items from this company?" msgstr "" -#: company/models.py:138 +#: company/models.py:147 msgid "is manufacturer" msgstr "" -#: company/models.py:138 +#: company/models.py:147 msgid "Does this company manufacture parts?" msgstr "" -#: company/models.py:305 company/models.py:497 stock/models.py:403 +#: company/models.py:151 company/serializers.py:259 +#: company/templates/company/detail.html:42 +msgid "Currency" +msgstr "" + +#: company/models.py:154 +msgid "Default currency used for this company" +msgstr "" + +#: company/models.py:319 company/models.py:519 stock/models.py:411 #: stock/templates/stock/item_base.html:235 msgid "Base Part" msgstr "" -#: company/models.py:309 company/models.py:501 order/views.py:1603 +#: company/models.py:323 company/models.py:523 order/views.py:1127 msgid "Select part" msgstr "" -#: company/models.py:320 company/templates/company/detail.html:57 +#: company/models.py:334 company/templates/company/detail.html:57 #: company/templates/company/manufacturer_part_base.html:85 #: company/templates/company/manufacturer_part_detail.html:25 #: company/templates/company/supplier_part_base.html:94 #: company/templates/company/supplier_part_detail.html:34 part/bom.py:170 #: part/bom.py:241 stock/templates/stock/item_base.html:352 -#: templates/js/company.js:44 templates/js/company.js:165 -#: templates/js/company.js:390 +#: templates/js/company.js:113 templates/js/company.js:289 +#: templates/js/company.js:515 msgid "Manufacturer" msgstr "" -#: company/models.py:334 +#: company/models.py:348 msgid "URL for external manufacturer part link" msgstr "" -#: company/models.py:340 +#: company/models.py:354 msgid "Manufacturer part description" msgstr "" -#: company/models.py:390 company/models.py:520 +#: company/models.py:408 company/models.py:542 #: company/templates/company/manufacturer_part_base.html:6 #: company/templates/company/manufacturer_part_base.html:19 #: stock/templates/stock/item_base.html:362 msgid "Manufacturer Part" msgstr "" -#: company/models.py:397 +#: company/models.py:415 msgid "Parameter name" msgstr "" -#: company/models.py:403 part/templates/part/params.html:28 +#: company/models.py:421 part/templates/part/params.html:28 #: report/templates/report/inventree_test_report_base.html:90 -#: stock/models.py:1751 templates/InvenTree/settings/header.html:8 -#: templates/js/company.js:241 templates/js/stock.js:137 +#: stock/models.py:1771 templates/InvenTree/settings/header.html:8 +#: templates/js/company.js:365 templates/js/stock.js:137 msgid "Value" msgstr "" -#: company/models.py:404 +#: company/models.py:422 msgid "Parameter value" msgstr "" -#: company/models.py:410 part/models.py:813 part/models.py:2165 +#: company/models.py:428 part/models.py:822 part/models.py:2194 #: part/templates/part/detail.html:106 part/templates/part/params.html:29 -#: templates/js/company.js:247 +#: templates/js/company.js:371 msgid "Units" msgstr "" -#: company/models.py:411 +#: company/models.py:429 msgid "Parameter units" msgstr "" -#: company/models.py:507 company/templates/company/detail.html:62 +#: company/models.py:529 company/templates/company/detail.html:62 #: company/templates/company/supplier_part_base.html:84 -#: company/templates/company/supplier_part_detail.html:25 order/models.py:189 +#: company/templates/company/supplier_part_detail.html:25 order/models.py:256 #: order/templates/order/order_base.html:92 #: order/templates/order/order_wizard/select_pos.html:30 part/bom.py:175 #: part/bom.py:286 stock/templates/stock/item_base.html:369 -#: templates/js/company.js:48 templates/js/company.js:364 -#: templates/js/order.js:170 +#: templates/js/company.js:117 templates/js/company.js:489 +#: templates/js/order.js:232 msgid "Supplier" msgstr "" -#: company/models.py:508 +#: company/models.py:530 msgid "Select supplier" msgstr "" -#: company/models.py:513 company/templates/company/supplier_part_base.html:88 +#: company/models.py:535 company/templates/company/supplier_part_base.html:88 #: company/templates/company/supplier_part_detail.html:26 -#: order/templates/order/purchase_order_detail.html:153 part/bom.py:176 +#: order/templates/order/purchase_order_detail.html:180 part/bom.py:176 #: part/bom.py:287 msgid "SKU" msgstr "" -#: company/models.py:514 +#: company/models.py:536 msgid "Supplier stock keeping unit" msgstr "" -#: company/models.py:521 +#: company/models.py:543 msgid "Select manufacturer part" msgstr "" -#: company/models.py:527 +#: company/models.py:549 msgid "URL for external supplier part link" msgstr "" -#: company/models.py:533 +#: company/models.py:555 msgid "Supplier part description" msgstr "" -#: company/models.py:538 company/templates/company/supplier_part_base.html:116 -#: company/templates/company/supplier_part_detail.html:38 part/models.py:2305 +#: company/models.py:560 company/templates/company/supplier_part_base.html:116 +#: company/templates/company/supplier_part_detail.html:38 part/models.py:2342 #: report/templates/report/inventree_po_report.html:93 #: report/templates/report/inventree_so_report.html:93 msgid "Note" msgstr "" -#: company/models.py:542 part/models.py:1606 +#: company/models.py:564 part/models.py:1615 msgid "base cost" msgstr "" -#: company/models.py:542 part/models.py:1606 +#: company/models.py:564 part/models.py:1615 msgid "Minimum charge (e.g. stocking fee)" msgstr "" -#: company/models.py:544 company/templates/company/supplier_part_base.html:109 -#: stock/models.py:427 stock/templates/stock/item_base.html:310 -#: templates/js/stock.js:695 +#: company/models.py:566 company/templates/company/supplier_part_base.html:109 +#: stock/models.py:435 stock/templates/stock/item_base.html:310 +#: templates/js/stock.js:709 msgid "Packaging" msgstr "" -#: company/models.py:544 +#: company/models.py:566 msgid "Part packaging" msgstr "" -#: company/models.py:546 part/models.py:1608 +#: company/models.py:568 part/models.py:1617 msgid "multiple" msgstr "" -#: company/models.py:546 +#: company/models.py:568 msgid "Order multiple" msgstr "" +#: company/serializers.py:68 +msgid "Default currency used for this supplier" +msgstr "" + +#: company/serializers.py:69 +msgid "Currency Code" +msgstr "" + #: company/templates/company/assigned_stock.html:10 #: company/templates/company/navbar.html:62 #: company/templates/company/navbar.html:65 templates/js/build.js:563 @@ -2199,7 +2215,7 @@ msgstr "" #: company/templates/company/company_base.html:9 #: company/templates/company/company_base.html:35 -#: templates/InvenTree/search.html:304 templates/js/company.js:33 +#: templates/InvenTree/search.html:304 templates/js/company.js:102 msgid "Company" msgstr "" @@ -2213,7 +2229,7 @@ msgstr "" msgid "Download image from URL" msgstr "" -#: company/templates/company/company_base.html:46 order/views.py:313 +#: company/templates/company/company_base.html:46 templates/js/order.js:61 msgid "Create Purchase Order" msgstr "" @@ -2221,7 +2237,8 @@ msgstr "" msgid "Edit company information" msgstr "" -#: company/templates/company/company_base.html:56 company/views.py:326 +#: company/templates/company/company_base.html:56 +#: company/templates/company/company_base.html:126 msgid "Delete Company" msgstr "" @@ -2235,15 +2252,9 @@ msgstr "" msgid "Phone" msgstr "" -#: company/templates/company/delete.html:7 -#, python-format -msgid "Are you sure you want to delete company '%(name)s'?" -msgstr "" - -#: company/templates/company/delete.html:12 -#, python-format -msgid "There are %(count)s parts sourced from this company.
\n" -"If this supplier is deleted, these supplier part entries will also be deleted." +#: company/templates/company/company_base.html:166 +#: part/templates/part/part_base.html:307 +msgid "Upload Image" msgstr "" #: company/templates/company/detail.html:21 @@ -2258,11 +2269,11 @@ msgstr "" msgid "Uses default currency" msgstr "" -#: company/templates/company/detail.html:67 order/models.py:460 -#: order/templates/order/sales_order_base.html:94 stock/models.py:445 -#: stock/models.py:446 stock/templates/stock/item_base.html:262 -#: templates/js/company.js:40 templates/js/order.js:267 -#: templates/js/stock.js:1097 +#: company/templates/company/detail.html:67 order/models.py:540 +#: order/templates/order/sales_order_base.html:94 stock/models.py:453 +#: stock/models.py:454 stock/templates/stock/item_base.html:262 +#: templates/js/company.js:109 templates/js/order.js:329 +#: templates/js/stock.js:1111 msgid "Customer" msgstr "" @@ -2283,6 +2294,7 @@ msgstr "" #: company/templates/company/detail_manufacturer_part.html:28 #: company/templates/company/detail_supplier_part.html:27 #: company/templates/company/manufacturer_part_suppliers.html:20 +#: company/templates/company/manufacturer_part_suppliers.html:46 #: part/templates/part/category.html:131 #: part/templates/part/manufacturer.html:22 #: part/templates/part/supplier.html:20 @@ -2305,26 +2317,25 @@ msgstr "" msgid "Delete Parts" msgstr "" -#: company/templates/company/detail_manufacturer_part.html:66 +#: company/templates/company/detail_manufacturer_part.html:68 #: company/templates/company/detail_supplier_part.html:66 #: part/templates/part/bom.html:159 part/templates/part/category.html:127 -#: templates/js/stock.js:1312 +#: templates/js/stock.js:1326 msgid "New Part" msgstr "" -#: company/templates/company/detail_manufacturer_part.html:67 +#: company/templates/company/detail_manufacturer_part.html:69 #: company/templates/company/detail_supplier_part.html:67 msgid "Create new Part" msgstr "" -#: company/templates/company/detail_manufacturer_part.html:72 -#: company/views.py:71 part/templates/part/manufacturer.html:52 -#: part/templates/part/supplier.html:56 +#: company/templates/company/detail_manufacturer_part.html:74 +#: company/views.py:66 part/templates/part/manufacturer.html:52 +#: part/templates/part/supplier.html:55 msgid "New Manufacturer" msgstr "" -#: company/templates/company/detail_manufacturer_part.html:73 -#: company/views.py:284 +#: company/templates/company/detail_manufacturer_part.html:75 msgid "Create new Manufacturer" msgstr "" @@ -2335,7 +2346,7 @@ msgstr "" #: company/templates/company/detail_stock.html:37 #: company/templates/company/supplier_part_stock.html:34 #: part/templates/part/category.html:123 part/templates/part/category.html:137 -#: part/templates/part/stock.html:54 stock/templates/stock/location.html:163 +#: part/templates/part/stock.html:55 stock/templates/stock/location.html:163 msgid "Export" msgstr "" @@ -2347,26 +2358,24 @@ msgstr "" #: company/templates/company/detail_supplier_part.html:21 #: order/templates/order/order_wizard/select_parts.html:44 -#: order/templates/order/purchase_order_detail.html:50 +#: part/templates/part/part_base.html:429 msgid "Create new supplier part" msgstr "" #: company/templates/company/detail_supplier_part.html:22 #: company/templates/company/manufacturer_part_suppliers.html:17 -#: order/templates/order/purchase_order_detail.html:49 -#: part/templates/part/supplier.html:17 templates/js/stock.js:1318 +#: part/templates/part/part_base.html:428 part/templates/part/supplier.html:17 +#: templates/js/stock.js:1332 msgid "New Supplier Part" msgstr "" #: company/templates/company/detail_supplier_part.html:72 -#: company/templates/company/manufacturer_part_suppliers.html:82 -#: company/views.py:64 order/templates/order/purchase_orders.html:185 -#: part/templates/part/supplier.html:50 +#: company/templates/company/manufacturer_part_suppliers.html:96 +#: company/views.py:60 part/templates/part/supplier.html:50 msgid "New Supplier" msgstr "" -#: company/templates/company/detail_supplier_part.html:73 company/views.py:281 -#: order/templates/order/purchase_orders.html:186 +#: company/templates/company/detail_supplier_part.html:73 msgid "Create new Supplier" msgstr "" @@ -2401,20 +2410,19 @@ msgstr "" msgid "Internal Part" msgstr "" -#: company/templates/company/manufacturer_part_delete.html:6 -msgid "Are you sure you want to delete the following Manufacturer Parts?" +#: company/templates/company/manufacturer_part_base.html:125 +msgid "Edit Manufacturer Part" msgstr "" -#: company/templates/company/manufacturer_part_delete.html:36 -#, python-format -msgid "There are %(count)s suppliers defined for this manufacturer part. If you delete it, the following supplier parts will also be deleted:" +#: company/templates/company/manufacturer_part_base.html:134 +msgid "Delete Manufacturer Part" msgstr "" #: company/templates/company/manufacturer_part_navbar.html:14 #: company/templates/company/manufacturer_part_suppliers.html:10 -#: company/views.py:63 part/templates/part/navbar.html:87 -#: part/templates/part/navbar.html:90 templates/InvenTree/search.html:316 -#: templates/navbar.html:35 +#: company/views.py:59 part/templates/part/navbar.html:87 +#: part/templates/part/navbar.html:90 part/templates/part/prices.html:153 +#: templates/InvenTree/search.html:316 templates/navbar.html:35 msgid "Suppliers" msgstr "" @@ -2425,7 +2433,7 @@ msgstr "" #: company/templates/company/manufacturer_part_navbar.html:22 #: company/templates/company/navbar.html:41 #: company/templates/company/supplier_part_navbar.html:15 -#: part/templates/part/navbar.html:39 stock/api.py:54 +#: part/templates/part/navbar.html:39 stock/api.py:53 #: stock/templates/stock/loc_link.html:7 stock/templates/stock/location.html:36 #: stock/templates/stock/stock_app_base.html:10 #: templates/InvenTree/index.html:128 templates/InvenTree/search.html:196 @@ -2451,9 +2459,11 @@ msgid "Delete supplier parts" msgstr "" #: company/templates/company/manufacturer_part_suppliers.html:22 +#: company/templates/company/manufacturer_part_suppliers.html:48 +#: company/templates/company/manufacturer_part_suppliers.html:142 #: part/templates/part/manufacturer.html:24 part/templates/part/params.html:44 #: part/templates/part/related.html:44 part/templates/part/supplier.html:22 -#: stock/views.py:1002 users/models.py:191 +#: stock/views.py:855 templates/js/company.js:203 users/models.py:192 msgid "Delete" msgstr "" @@ -2471,11 +2481,27 @@ msgstr "" msgid "New Parameter" msgstr "" -#: company/templates/company/manufacturer_part_suppliers.html:83 +#: company/templates/company/manufacturer_part_suppliers.html:48 +msgid "Delete parameters" +msgstr "" + +#: company/templates/company/manufacturer_part_suppliers.html:80 +msgid "Add Parameter" +msgstr "" + +#: company/templates/company/manufacturer_part_suppliers.html:97 #: part/templates/part/supplier.html:51 msgid "Create new supplier" msgstr "" +#: company/templates/company/manufacturer_part_suppliers.html:127 +msgid "Selected parameters will be deleted" +msgstr "" + +#: company/templates/company/manufacturer_part_suppliers.html:139 +msgid "Delete Parameters" +msgstr "" + #: company/templates/company/navbar.html:20 #: company/templates/company/navbar.html:23 msgid "Manufactured Parts" @@ -2492,8 +2518,8 @@ msgstr "" #: stock/templates/stock/location.html:136 #: stock/templates/stock/location_navbar.html:22 #: stock/templates/stock/location_navbar.html:29 -#: templates/InvenTree/search.html:198 templates/js/stock.js:996 -#: templates/stats.html:93 templates/stats.html:102 users/models.py:42 +#: templates/InvenTree/search.html:198 templates/js/stock.js:1010 +#: templates/stats.html:93 templates/stats.html:102 users/models.py:43 msgid "Stock Items" msgstr "" @@ -2503,11 +2529,11 @@ msgstr "" #: company/templates/company/sales_orders.html:11 #: order/templates/order/sales_orders.html:8 #: order/templates/order/sales_orders.html:13 -#: part/templates/part/navbar.html:113 part/templates/part/navbar.html:116 -#: part/templates/part/sales_orders.html:10 templates/InvenTree/index.html:228 +#: part/templates/part/navbar.html:101 part/templates/part/navbar.html:104 +#: part/templates/part/sales_orders.html:10 templates/InvenTree/index.html:236 #: templates/InvenTree/search.html:345 #: templates/InvenTree/settings/tabs.html:40 templates/navbar.html:46 -#: users/models.py:45 +#: users/models.py:46 msgid "Sales Orders" msgstr "" @@ -2516,10 +2542,10 @@ msgstr "" #: order/templates/order/purchase_orders.html:8 #: order/templates/order/purchase_orders.html:13 #: part/templates/part/navbar.html:93 part/templates/part/navbar.html:96 -#: part/templates/part/orders.html:10 templates/InvenTree/index.html:205 +#: part/templates/part/orders.html:10 templates/InvenTree/index.html:213 #: templates/InvenTree/search.html:325 #: templates/InvenTree/settings/tabs.html:37 templates/navbar.html:37 -#: users/models.py:44 +#: users/models.py:45 msgid "Purchase Orders" msgstr "" @@ -2548,8 +2574,9 @@ msgid "New Sales Order" msgstr "" #: company/templates/company/supplier_part_base.html:7 -#: company/templates/company/supplier_part_base.html:20 stock/models.py:412 -#: stock/templates/stock/item_base.html:374 templates/js/company.js:380 +#: company/templates/company/supplier_part_base.html:20 stock/models.py:420 +#: stock/templates/stock/item_base.html:374 templates/js/company.js:505 +#: templates/js/stock.js:690 msgid "Supplier Part" msgstr "" @@ -2594,459 +2621,401 @@ msgid "Order Part" msgstr "" #: company/templates/company/supplier_part_pricing.html:11 +#: part/templates/part/navbar.html:74 msgid "Pricing Information" msgstr "" -#: company/templates/company/supplier_part_pricing.html:19 company/views.py:855 -#: part/templates/part/sale_prices.html:17 part/views.py:2918 +#: company/templates/company/supplier_part_pricing.html:19 +#: company/templates/company/supplier_part_pricing.html:118 +#: part/templates/part/prices.html:264 part/views.py:2788 msgid "Add Price Break" msgstr "" #: company/templates/company/supplier_part_pricing.html:38 -#: part/templates/part/sale_prices.html:46 msgid "No price break information found" msgstr "" -#: company/templates/company/supplier_part_pricing.html:89 -#: part/templates/part/sale_prices.html:97 +#: company/templates/company/supplier_part_pricing.html:52 part/views.py:2850 +msgid "Delete Price Break" +msgstr "" + +#: company/templates/company/supplier_part_pricing.html:66 part/views.py:2836 +msgid "Edit Price Break" +msgstr "" + +#: company/templates/company/supplier_part_pricing.html:91 msgid "Edit price break" msgstr "" -#: company/templates/company/supplier_part_pricing.html:90 -#: part/templates/part/sale_prices.html:98 +#: company/templates/company/supplier_part_pricing.html:92 msgid "Delete price break" msgstr "" -#: company/views.py:70 part/templates/part/navbar.html:81 -#: part/templates/part/navbar.html:84 templates/InvenTree/search.html:306 -#: templates/navbar.html:36 +#: company/views.py:65 part/templates/part/navbar.html:81 +#: part/templates/part/navbar.html:84 part/templates/part/prices.html:157 +#: templates/InvenTree/search.html:306 templates/navbar.html:36 msgid "Manufacturers" msgstr "" -#: company/views.py:77 templates/InvenTree/search.html:336 +#: company/views.py:71 templates/InvenTree/search.html:336 #: templates/navbar.html:45 msgid "Customers" msgstr "" -#: company/views.py:78 order/templates/order/sales_orders.html:187 +#: company/views.py:72 msgid "New Customer" msgstr "" -#: company/views.py:86 +#: company/views.py:79 msgid "Companies" msgstr "" -#: company/views.py:87 +#: company/views.py:80 msgid "New Company" msgstr "" -#: company/views.py:169 part/views.py:1115 +#: company/views.py:161 part/views.py:1007 msgid "Download Image" msgstr "" -#: company/views.py:198 part/views.py:1147 +#: company/views.py:190 part/views.py:1039 msgid "Image size exceeds maximum allowable size for download" msgstr "" -#: company/views.py:205 part/views.py:1154 +#: company/views.py:197 part/views.py:1046 #, python-brace-format msgid "Invalid response: {code}" msgstr "" -#: company/views.py:214 part/views.py:1163 +#: company/views.py:206 part/views.py:1055 msgid "Supplied URL is not a valid image file" msgstr "" -#: company/views.py:243 -msgid "Update Company Image" -msgstr "" - -#: company/views.py:249 -msgid "Updated company image" -msgstr "" - -#: company/views.py:259 -msgid "Edit Company" -msgstr "" - -#: company/views.py:264 -msgid "Edited company information" -msgstr "" - -#: company/views.py:287 order/templates/order/sales_orders.html:188 -msgid "Create new Customer" -msgstr "" - -#: company/views.py:289 -msgid "Create new Company" -msgstr "" - -#: company/views.py:316 -msgid "Created new company" -msgstr "" - -#: company/views.py:332 -msgid "Company was deleted" -msgstr "" - -#: company/views.py:357 -msgid "Edit Manufacturer Part" -msgstr "" - -#: company/views.py:366 +#: company/views.py:251 msgid "Create New Manufacturer Part" msgstr "" -#: company/views.py:440 -msgid "Delete Manufacturer Part" -msgstr "" - -#: company/views.py:514 -msgid "Add Manufacturer Part Parameter" -msgstr "" - -#: company/views.py:548 -msgid "Edit Manufacturer Part Parameter" -msgstr "" - -#: company/views.py:588 +#: company/views.py:334 msgid "Edit Supplier Part" msgstr "" -#: company/views.py:639 templates/js/stock.js:1319 +#: company/views.py:385 templates/js/stock.js:1333 msgid "Create new Supplier Part" msgstr "" -#: company/views.py:783 +#: company/views.py:529 msgid "Delete Supplier Part" msgstr "" -#: company/views.py:860 part/views.py:2922 -msgid "Added new price break" -msgstr "" - -#: company/views.py:916 part/views.py:2966 -msgid "Edit Price Break" -msgstr "" - -#: company/views.py:931 part/views.py:2980 -msgid "Delete Price Break" -msgstr "" - #: label/api.py:56 report/api.py:201 msgid "No valid objects provided to template" msgstr "" -#: label/models.py:103 +#: label/models.py:104 msgid "Label name" msgstr "" -#: label/models.py:110 +#: label/models.py:111 msgid "Label description" msgstr "" -#: label/models.py:117 stock/forms.py:202 +#: label/models.py:118 stock/forms.py:169 msgid "Label" msgstr "" -#: label/models.py:118 +#: label/models.py:119 msgid "Label template file" msgstr "" -#: label/models.py:124 report/models.py:297 +#: label/models.py:125 report/models.py:297 msgid "Enabled" msgstr "" -#: label/models.py:125 +#: label/models.py:126 msgid "Label template is enabled" msgstr "" -#: label/models.py:130 +#: label/models.py:131 msgid "Width [mm]" msgstr "" -#: label/models.py:131 +#: label/models.py:132 msgid "Label width, specified in mm" msgstr "" -#: label/models.py:137 +#: label/models.py:138 msgid "Height [mm]" msgstr "" -#: label/models.py:138 +#: label/models.py:139 msgid "Label height, specified in mm" msgstr "" -#: label/models.py:144 report/models.py:290 +#: label/models.py:145 report/models.py:290 msgid "Filename Pattern" msgstr "" -#: label/models.py:145 +#: label/models.py:146 msgid "Pattern for generating label filenames" msgstr "" -#: label/models.py:244 label/models.py:297 +#: label/models.py:249 label/models.py:306 msgid "Query filters (comma-separated list of key=value pairs" msgstr "" -#: label/models.py:245 label/models.py:298 report/models.py:317 +#: label/models.py:250 label/models.py:307 report/models.py:317 #: report/models.py:440 report/models.py:474 msgid "Filters" msgstr "" -#: order/forms.py:31 order/templates/order/order_base.html:47 +#: order/forms.py:30 order/templates/order/order_base.html:47 msgid "Place order" msgstr "" -#: order/forms.py:42 order/templates/order/order_base.html:54 +#: order/forms.py:41 order/templates/order/order_base.html:54 msgid "Mark order as complete" msgstr "" -#: order/forms.py:53 order/forms.py:64 order/templates/order/order_base.html:59 +#: order/forms.py:52 order/forms.py:63 order/templates/order/order_base.html:59 #: order/templates/order/sales_order_base.html:61 msgid "Cancel order" msgstr "" -#: order/forms.py:75 order/templates/order/sales_order_base.html:58 +#: order/forms.py:74 order/templates/order/sales_order_base.html:58 msgid "Ship order" msgstr "" -#: order/forms.py:90 +#: order/forms.py:89 msgid "Receive parts to this location" msgstr "" -#: order/forms.py:112 -msgid "Purchase Order reference" -msgstr "" - -#: order/forms.py:119 -msgid "Target date for order delivery. Order will be overdue after this date." -msgstr "" - -#: order/forms.py:147 -msgid "Enter sales order number" -msgstr "" - -#: order/forms.py:154 order/models.py:472 -msgid "Target date for order completion. Order will be overdue after this date." -msgstr "" - -#: order/forms.py:246 +#: order/forms.py:116 msgid "Enter stock item serial numbers" msgstr "" -#: order/forms.py:252 +#: order/forms.py:122 msgid "Enter quantity of stock items" msgstr "" -#: order/models.py:98 -msgid "Order reference" -msgstr "" - -#: order/models.py:100 +#: order/models.py:154 msgid "Order description" msgstr "" -#: order/models.py:102 +#: order/models.py:156 msgid "Link to external page" msgstr "" -#: order/models.py:110 part/templates/part/detail.html:132 +#: order/models.py:164 part/templates/part/detail.html:132 msgid "Created By" msgstr "" -#: order/models.py:117 +#: order/models.py:171 msgid "User or group responsible for this order" msgstr "" -#: order/models.py:122 +#: order/models.py:176 msgid "Order notes" msgstr "" -#: order/models.py:181 order/models.py:465 +#: order/models.py:243 order/models.py:530 +msgid "Order reference" +msgstr "" + +#: order/models.py:248 order/models.py:545 msgid "Purchase order status" msgstr "" -#: order/models.py:190 +#: order/models.py:257 msgid "Company from which the items are being ordered" msgstr "" -#: order/models.py:193 order/templates/order/order_base.html:98 -#: templates/js/order.js:179 +#: order/models.py:260 order/templates/order/order_base.html:98 +#: templates/js/order.js:241 msgid "Supplier Reference" msgstr "" -#: order/models.py:193 +#: order/models.py:260 msgid "Supplier order reference code" msgstr "" -#: order/models.py:200 +#: order/models.py:267 msgid "received by" msgstr "" -#: order/models.py:205 +#: order/models.py:272 msgid "Issue Date" msgstr "" -#: order/models.py:206 +#: order/models.py:273 msgid "Date order was issued" msgstr "" -#: order/models.py:211 +#: order/models.py:278 msgid "Target Delivery Date" msgstr "" -#: order/models.py:212 +#: order/models.py:279 msgid "Expected date for order delivery. Order will be overdue after this date." msgstr "" -#: order/models.py:218 +#: order/models.py:285 msgid "Date order was completed" msgstr "" -#: order/models.py:242 part/views.py:1853 stock/models.py:300 -#: stock/models.py:1015 +#: order/models.py:309 part/views.py:1730 stock/models.py:308 +#: stock/models.py:1023 msgid "Quantity must be greater than zero" msgstr "" -#: order/models.py:247 +#: order/models.py:314 msgid "Part supplier must match PO supplier" msgstr "" -#: order/models.py:345 +#: order/models.py:412 msgid "Lines can only be received against an order marked as 'Placed'" msgstr "" -#: order/models.py:349 +#: order/models.py:416 msgid "Quantity must be an integer" msgstr "" -#: order/models.py:351 +#: order/models.py:418 msgid "Quantity must be a positive number" msgstr "" -#: order/models.py:461 +#: order/models.py:541 msgid "Company to which the items are being sold" msgstr "" -#: order/models.py:467 +#: order/models.py:547 msgid "Customer Reference " msgstr "" -#: order/models.py:467 +#: order/models.py:547 msgid "Customer order reference code" msgstr "" -#: order/models.py:475 templates/js/order.js:303 +#: order/models.py:552 +msgid "Target date for order completion. Order will be overdue after this date." +msgstr "" + +#: order/models.py:555 templates/js/order.js:370 msgid "Shipment Date" msgstr "" -#: order/models.py:482 +#: order/models.py:562 msgid "shipped by" msgstr "" -#: order/models.py:526 +#: order/models.py:606 msgid "SalesOrder cannot be shipped as it is not currently pending" msgstr "" -#: order/models.py:613 +#: order/models.py:703 msgid "Item quantity" msgstr "" -#: order/models.py:615 +#: order/models.py:709 msgid "Line item reference" msgstr "" -#: order/models.py:617 +#: order/models.py:711 msgid "Line item notes" msgstr "" -#: order/models.py:643 order/models.py:710 templates/js/order.js:353 +#: order/models.py:741 order/models.py:812 templates/js/order.js:420 msgid "Order" msgstr "" -#: order/models.py:644 order/templates/order/order_base.html:9 +#: order/models.py:742 order/templates/order/order_base.html:9 #: order/templates/order/order_base.html:24 #: report/templates/report/inventree_po_report.html:77 -#: stock/templates/stock/item_base.html:324 templates/js/order.js:148 -#: templates/js/stock.js:669 templates/js/stock.js:1078 +#: stock/templates/stock/item_base.html:324 templates/js/order.js:210 +#: templates/js/stock.js:669 templates/js/stock.js:1092 msgid "Purchase Order" msgstr "" -#: order/models.py:658 +#: order/models.py:756 msgid "Supplier part" msgstr "" -#: order/models.py:661 order/templates/order/order_base.html:131 -#: order/templates/order/purchase_order_detail.html:219 +#: order/models.py:759 order/templates/order/order_base.html:131 +#: order/templates/order/purchase_order_detail.html:246 #: order/templates/order/receive_parts.html:22 #: order/templates/order/sales_order_base.html:133 msgid "Received" msgstr "" -#: order/models.py:661 +#: order/models.py:759 msgid "Number of items received" msgstr "" -#: order/models.py:667 stock/models.py:537 -#: stock/templates/stock/item_base.html:331 templates/js/stock.js:690 +#: order/models.py:765 part/templates/part/prices.html:166 stock/models.py:545 +#: stock/templates/stock/item_base.html:331 templates/js/stock.js:704 msgid "Purchase Price" msgstr "" -#: order/models.py:668 +#: order/models.py:766 msgid "Unit purchase price" msgstr "" -#: order/models.py:676 +#: order/models.py:774 msgid "Where does the Purchaser want this item to be stored?" msgstr "" -#: order/models.py:718 part/templates/part/navbar.html:110 -#: part/templates/part/order_prices.html:108 -#: part/templates/part/part_pricing.html:97 +#: order/models.py:820 part/templates/part/part_pricing.html:97 +#: part/templates/part/prices.html:103 part/templates/part/prices.html:278 msgid "Sale Price" msgstr "" -#: order/models.py:719 +#: order/models.py:821 msgid "Unit sale price" msgstr "" -#: order/models.py:794 order/models.py:796 +#: order/models.py:900 order/models.py:902 msgid "Stock item has not been assigned" msgstr "" -#: order/models.py:800 +#: order/models.py:906 msgid "Cannot allocate stock item to a line with a different part" msgstr "" -#: order/models.py:802 +#: order/models.py:908 msgid "Cannot allocate stock to a line without a part" msgstr "" -#: order/models.py:805 +#: order/models.py:911 msgid "Allocation quantity cannot exceed stock quantity" msgstr "" -#: order/models.py:815 +#: order/models.py:921 msgid "Quantity must be 1 for serialized stock item" msgstr "" -#: order/models.py:820 +#: order/models.py:926 msgid "Line" msgstr "" -#: order/models.py:831 +#: order/models.py:937 msgid "Item" msgstr "" -#: order/models.py:832 +#: order/models.py:938 msgid "Select stock item to allocate" msgstr "" -#: order/models.py:835 +#: order/models.py:941 msgid "Enter stock allocation quantity" msgstr "" +#: order/serializers.py:139 +msgid "Purchase price currency" +msgstr "" + +#: order/serializers.py:359 +msgid "Sale price currency" +msgstr "" + #: order/templates/order/delete_attachment.html:5 #: stock/templates/stock/attachment_delete.html:5 #: templates/attachment_delete.html:5 @@ -3091,16 +3060,22 @@ msgstr "" msgid "Issued" msgstr "" -#: order/templates/order/order_base.html:180 -#: order/templates/order/purchase_order_detail.html:100 +#: order/templates/order/order_base.html:188 +msgid "Edit Purchase Order" +msgstr "" + +#: order/templates/order/order_base.html:199 +#: order/templates/order/purchase_order_detail.html:127 #: part/templates/part/category.html:217 part/templates/part/category.html:259 -#: stock/templates/stock/location.html:191 templates/js/stock.js:736 -#: templates/js/stock.js:1324 +#: part/templates/part/part_base.html:415 +#: stock/templates/stock/location.html:191 templates/js/stock.js:750 +#: templates/js/stock.js:1338 msgid "New Location" msgstr "" -#: order/templates/order/order_base.html:181 -#: order/templates/order/purchase_order_detail.html:101 +#: order/templates/order/order_base.html:200 +#: order/templates/order/purchase_order_detail.html:128 +#: part/templates/part/part_base.html:416 #: stock/templates/stock/location.html:42 msgid "Create new stock location" msgstr "" @@ -3253,7 +3228,7 @@ msgid "Select existing purchase orders, or create new orders." msgstr "" #: order/templates/order/order_wizard/select_pos.html:31 -#: templates/js/order.js:205 templates/js/order.js:308 +#: templates/js/order.js:267 templates/js/order.js:375 msgid "Items" msgstr "" @@ -3277,7 +3252,6 @@ msgid "Purchase Order Attachments" msgstr "" #: order/templates/order/po_lineitem_delete.html:5 -#: order/templates/order/so_lineitem_delete.html:5 msgid "Are you sure you wish to delete this line item?" msgstr "" @@ -3295,40 +3269,52 @@ msgid "Purchase Order Items" msgstr "" #: order/templates/order/purchase_order_detail.html:24 -#: order/templates/order/sales_order_detail.html:22 order/views.py:1327 -#: order/views.py:1410 +#: order/templates/order/purchase_order_detail.html:64 +#: order/templates/order/sales_order_detail.html:22 +#: order/templates/order/sales_order_detail.html:56 msgid "Add Line Item" msgstr "" -#: order/templates/order/purchase_order_detail.html:114 +#: order/templates/order/purchase_order_detail.html:100 +#: order/templates/order/sales_order_detail.html:398 +msgid "Edit Line Item" +msgstr "" + +#: order/templates/order/purchase_order_detail.html:110 +#: order/templates/order/sales_order_detail.html:408 +msgid "Delete Line Item" +msgstr "" + +#: order/templates/order/purchase_order_detail.html:141 msgid "No line items found" msgstr "" -#: order/templates/order/purchase_order_detail.html:142 -#: order/templates/order/sales_order_detail.html:223 +#: order/templates/order/purchase_order_detail.html:169 +#: order/templates/order/sales_order_detail.html:233 msgid "Total" msgstr "" -#: order/templates/order/purchase_order_detail.html:191 -#: order/templates/order/sales_order_detail.html:246 +#: order/templates/order/purchase_order_detail.html:218 +#: order/templates/order/sales_order_detail.html:256 templates/js/part.js:807 +#: templates/js/part.js:996 msgid "Unit Price" msgstr "" -#: order/templates/order/purchase_order_detail.html:198 -#: order/templates/order/sales_order_detail.html:253 +#: order/templates/order/purchase_order_detail.html:225 +#: order/templates/order/sales_order_detail.html:263 msgid "Total price" msgstr "" -#: order/templates/order/purchase_order_detail.html:255 -#: order/templates/order/sales_order_detail.html:359 +#: order/templates/order/purchase_order_detail.html:282 +#: order/templates/order/sales_order_detail.html:369 msgid "Edit line item" msgstr "" -#: order/templates/order/purchase_order_detail.html:256 +#: order/templates/order/purchase_order_detail.html:283 msgid "Delete line item" msgstr "" -#: order/templates/order/purchase_order_detail.html:261 +#: order/templates/order/purchase_order_detail.html:288 msgid "Receive line item" msgstr "" @@ -3343,7 +3329,7 @@ msgid "Receive outstanding parts for %(order)s - %(desc)s" msgstr "" #: order/templates/order/receive_parts.html:14 part/api.py:45 -#: part/models.py:322 part/templates/part/cat_link.html:7 +#: part/models.py:326 part/templates/part/cat_link.html:7 #: part/templates/part/category.html:108 part/templates/part/category.html:157 #: part/templates/part/category_navbar.html:25 #: part/templates/part/category_navbar.html:32 @@ -3351,7 +3337,7 @@ msgstr "" #: templates/InvenTree/index.html:97 templates/InvenTree/search.html:114 #: templates/InvenTree/settings/tabs.html:28 templates/js/part.js:666 #: templates/navbar.html:23 templates/stats.html:80 templates/stats.html:89 -#: users/models.py:40 +#: users/models.py:41 msgid "Parts" msgstr "" @@ -3393,10 +3379,14 @@ msgstr "" msgid "Sales Order Details" msgstr "" -#: order/templates/order/sales_order_base.html:100 templates/js/order.js:275 +#: order/templates/order/sales_order_base.html:100 templates/js/order.js:342 msgid "Customer Reference" msgstr "" +#: order/templates/order/sales_order_base.html:177 +msgid "Edit Sales Order" +msgstr "" + #: order/templates/order/sales_order_cancel.html:8 #: order/templates/order/sales_order_ship.html:9 #: part/templates/part/bom_duplicate.html:12 @@ -3412,69 +3402,69 @@ msgstr "" msgid "Sales Order Items" msgstr "" -#: order/templates/order/sales_order_detail.html:95 templates/js/bom.js:358 +#: order/templates/order/sales_order_detail.html:105 templates/js/bom.js:358 #: templates/js/build.js:725 templates/js/build.js:1142 msgid "Actions" msgstr "" -#: order/templates/order/sales_order_detail.html:102 templates/js/build.js:611 +#: order/templates/order/sales_order_detail.html:112 templates/js/build.js:611 #: templates/js/build.js:947 msgid "Edit stock allocation" msgstr "" -#: order/templates/order/sales_order_detail.html:103 templates/js/build.js:613 +#: order/templates/order/sales_order_detail.html:113 templates/js/build.js:613 #: templates/js/build.js:948 msgid "Delete stock allocation" msgstr "" -#: order/templates/order/sales_order_detail.html:176 +#: order/templates/order/sales_order_detail.html:186 msgid "No matching line items" msgstr "" -#: order/templates/order/sales_order_detail.html:206 +#: order/templates/order/sales_order_detail.html:216 msgid "ID" msgstr "" -#: order/templates/order/sales_order_detail.html:274 templates/js/build.js:676 +#: order/templates/order/sales_order_detail.html:284 templates/js/build.js:676 #: templates/js/build.js:943 msgid "Allocated" msgstr "" -#: order/templates/order/sales_order_detail.html:276 +#: order/templates/order/sales_order_detail.html:286 msgid "Fulfilled" msgstr "" -#: order/templates/order/sales_order_detail.html:313 +#: order/templates/order/sales_order_detail.html:323 msgid "PO" msgstr "" -#: order/templates/order/sales_order_detail.html:343 +#: order/templates/order/sales_order_detail.html:353 msgid "Allocate serial numbers" msgstr "" -#: order/templates/order/sales_order_detail.html:346 templates/js/build.js:739 +#: order/templates/order/sales_order_detail.html:356 templates/js/build.js:739 msgid "Allocate stock" msgstr "" -#: order/templates/order/sales_order_detail.html:349 +#: order/templates/order/sales_order_detail.html:359 msgid "Purchase stock" msgstr "" -#: order/templates/order/sales_order_detail.html:353 templates/js/build.js:732 +#: order/templates/order/sales_order_detail.html:363 templates/js/build.js:732 #: templates/js/build.js:1150 msgid "Build stock" msgstr "" -#: order/templates/order/sales_order_detail.html:356 -#: order/templates/order/sales_order_detail.html:465 +#: order/templates/order/sales_order_detail.html:366 +#: order/templates/order/sales_order_detail.html:485 msgid "Calculate price" msgstr "" -#: order/templates/order/sales_order_detail.html:360 +#: order/templates/order/sales_order_detail.html:370 msgid "Delete line item " msgstr "" -#: order/templates/order/sales_order_detail.html:471 +#: order/templates/order/sales_order_detail.html:491 msgid "Update Unit Price" msgstr "" @@ -3515,194 +3505,154 @@ msgstr "" msgid "Sales Order Attachments" msgstr "" -#: order/views.py:106 -msgid "Add Purchase Order Attachment" -msgstr "" - -#: order/views.py:156 -msgid "Add Sales Order Attachment" -msgstr "" - -#: order/views.py:348 -msgid "Create Sales Order" -msgstr "" - -#: order/views.py:383 -msgid "Edit Purchase Order" -msgstr "" - -#: order/views.py:403 -msgid "Edit Sales Order" -msgstr "" - -#: order/views.py:419 +#: order/views.py:151 msgid "Cancel Order" msgstr "" -#: order/views.py:428 order/views.py:454 +#: order/views.py:160 order/views.py:186 msgid "Confirm order cancellation" msgstr "" -#: order/views.py:431 order/views.py:457 +#: order/views.py:163 order/views.py:189 msgid "Order cannot be cancelled" msgstr "" -#: order/views.py:445 +#: order/views.py:177 msgid "Cancel sales order" msgstr "" -#: order/views.py:471 +#: order/views.py:203 msgid "Issue Order" msgstr "" -#: order/views.py:480 +#: order/views.py:212 msgid "Confirm order placement" msgstr "" -#: order/views.py:490 +#: order/views.py:222 msgid "Purchase order issued" msgstr "" -#: order/views.py:501 +#: order/views.py:233 msgid "Complete Order" msgstr "" -#: order/views.py:517 +#: order/views.py:249 msgid "Confirm order completion" msgstr "" -#: order/views.py:528 +#: order/views.py:260 msgid "Purchase order completed" msgstr "" -#: order/views.py:538 +#: order/views.py:270 msgid "Ship Order" msgstr "" -#: order/views.py:554 +#: order/views.py:286 msgid "Confirm order shipment" msgstr "" -#: order/views.py:560 +#: order/views.py:292 msgid "Could not ship order" msgstr "" -#: order/views.py:607 +#: order/views.py:339 msgid "Match Supplier Parts" msgstr "" -#: order/views.py:804 +#: order/views.py:536 msgid "Receive Parts" msgstr "" -#: order/views.py:874 +#: order/views.py:606 msgid "Items received" msgstr "" -#: order/views.py:888 +#: order/views.py:620 msgid "No destination set" msgstr "" -#: order/views.py:933 +#: order/views.py:665 msgid "Error converting quantity to number" msgstr "" -#: order/views.py:939 +#: order/views.py:671 msgid "Receive quantity less than zero" msgstr "" -#: order/views.py:945 +#: order/views.py:677 msgid "No lines specified" msgstr "" -#: order/views.py:1018 +#: order/views.py:750 msgid "Update prices" msgstr "" -#: order/views.py:1276 +#: order/views.py:1008 #, python-brace-format msgid "Ordered {n} parts" msgstr "" -#: order/views.py:1336 -msgid "Supplier part must be specified" -msgstr "" - -#: order/views.py:1342 -msgid "Supplier must match for Part and Order" -msgstr "" - -#: order/views.py:1473 order/views.py:1491 -msgid "Edit Line Item" -msgstr "" - -#: order/views.py:1507 order/views.py:1519 -msgid "Delete Line Item" -msgstr "" - -#: order/views.py:1512 order/views.py:1524 -msgid "Deleted line item" -msgstr "" - -#: order/views.py:1537 +#: order/views.py:1061 msgid "Allocate Serial Numbers" msgstr "" -#: order/views.py:1582 +#: order/views.py:1106 #, python-brace-format msgid "Allocated {n} items" msgstr "" -#: order/views.py:1598 +#: order/views.py:1122 msgid "Select line item" msgstr "" -#: order/views.py:1629 +#: order/views.py:1153 #, python-brace-format msgid "No matching item for serial {serial}" msgstr "" -#: order/views.py:1639 +#: order/views.py:1163 #, python-brace-format msgid "{serial} is not in stock" msgstr "" -#: order/views.py:1647 +#: order/views.py:1171 #, python-brace-format msgid "{serial} already allocated to an order" msgstr "" -#: order/views.py:1701 +#: order/views.py:1225 msgid "Allocate Stock to Order" msgstr "" -#: order/views.py:1775 +#: order/views.py:1299 msgid "Edit Allocation Quantity" msgstr "" -#: order/views.py:1790 +#: order/views.py:1314 msgid "Remove allocation" msgstr "" -#: order/views.py:1862 +#: order/views.py:1386 msgid "Sales order not found" msgstr "" -#: order/views.py:1868 +#: order/views.py:1392 msgid "Price not found" msgstr "" -#: order/views.py:1871 +#: order/views.py:1395 #, python-brace-format msgid "Updated {part} unit-price to {price}" msgstr "" -#: order/views.py:1876 +#: order/views.py:1400 #, python-brace-format msgid "Updated {part} unit-price to {price} and quantity to {qty}" msgstr "" -#: part/bom.py:138 part/models.py:72 part/models.py:747 +#: part/bom.py:138 part/models.py:72 part/models.py:756 #: part/templates/part/category.html:75 part/templates/part/detail.html:90 msgid "Default Location" msgstr "" @@ -3724,143 +3674,143 @@ msgstr "" msgid "Error reading BOM file (incorrect row size)" msgstr "" -#: part/forms.py:89 stock/forms.py:265 +#: part/forms.py:73 stock/forms.py:232 msgid "File Format" msgstr "" -#: part/forms.py:89 stock/forms.py:265 +#: part/forms.py:73 stock/forms.py:232 msgid "Select output file format" msgstr "" -#: part/forms.py:91 +#: part/forms.py:75 msgid "Cascading" msgstr "" -#: part/forms.py:91 +#: part/forms.py:75 msgid "Download cascading / multi-level BOM" msgstr "" -#: part/forms.py:93 +#: part/forms.py:77 msgid "Levels" msgstr "" -#: part/forms.py:93 +#: part/forms.py:77 msgid "Select maximum number of BOM levels to export (0 = all levels)" msgstr "" -#: part/forms.py:95 +#: part/forms.py:79 msgid "Include Parameter Data" msgstr "" -#: part/forms.py:95 +#: part/forms.py:79 msgid "Include part parameters data in exported BOM" msgstr "" -#: part/forms.py:97 +#: part/forms.py:81 msgid "Include Stock Data" msgstr "" -#: part/forms.py:97 +#: part/forms.py:81 msgid "Include part stock data in exported BOM" msgstr "" -#: part/forms.py:99 +#: part/forms.py:83 msgid "Include Manufacturer Data" msgstr "" -#: part/forms.py:99 +#: part/forms.py:83 msgid "Include part manufacturer data in exported BOM" msgstr "" -#: part/forms.py:101 +#: part/forms.py:85 msgid "Include Supplier Data" msgstr "" -#: part/forms.py:101 +#: part/forms.py:85 msgid "Include part supplier data in exported BOM" msgstr "" -#: part/forms.py:122 part/models.py:2191 +#: part/forms.py:106 part/models.py:2224 msgid "Parent Part" msgstr "" -#: part/forms.py:123 part/templates/part/bom_duplicate.html:7 +#: part/forms.py:107 part/templates/part/bom_duplicate.html:7 msgid "Select parent part to copy BOM from" msgstr "" -#: part/forms.py:129 +#: part/forms.py:113 msgid "Clear existing BOM items" msgstr "" -#: part/forms.py:135 +#: part/forms.py:119 msgid "Confirm BOM duplication" msgstr "" -#: part/forms.py:153 +#: part/forms.py:137 msgid "validate" msgstr "" -#: part/forms.py:153 +#: part/forms.py:137 msgid "Confirm that the BOM is correct" msgstr "" -#: part/forms.py:165 +#: part/forms.py:149 msgid "BOM file" msgstr "" -#: part/forms.py:165 +#: part/forms.py:149 msgid "Select BOM file to upload" msgstr "" -#: part/forms.py:184 +#: part/forms.py:168 msgid "Related Part" msgstr "" -#: part/forms.py:203 +#: part/forms.py:175 msgid "Select part category" msgstr "" -#: part/forms.py:220 +#: part/forms.py:192 msgid "Duplicate all BOM data for this part" msgstr "" -#: part/forms.py:221 +#: part/forms.py:193 msgid "Copy BOM" msgstr "" -#: part/forms.py:226 +#: part/forms.py:198 msgid "Duplicate all parameter data for this part" msgstr "" -#: part/forms.py:227 +#: part/forms.py:199 msgid "Copy Parameters" msgstr "" -#: part/forms.py:232 +#: part/forms.py:204 msgid "Confirm part creation" msgstr "" -#: part/forms.py:237 +#: part/forms.py:209 msgid "Include category parameter templates" msgstr "" -#: part/forms.py:242 +#: part/forms.py:214 msgid "Include parent categories parameter templates" msgstr "" -#: part/forms.py:322 +#: part/forms.py:294 msgid "Add parameter template to same level categories" msgstr "" -#: part/forms.py:326 +#: part/forms.py:298 msgid "Add parameter template to all categories" msgstr "" -#: part/forms.py:344 part/models.py:2286 +#: part/forms.py:316 part/models.py:2323 msgid "Sub part" msgstr "" -#: part/forms.py:373 +#: part/forms.py:345 msgid "Input quantity for price calculation" msgstr "" @@ -3876,362 +3826,362 @@ msgstr "" msgid "Default keywords for parts in this category" msgstr "" -#: part/models.py:82 part/models.py:2237 +#: part/models.py:86 part/models.py:2270 #: part/templates/part/part_app_base.html:10 msgid "Part Category" msgstr "" -#: part/models.py:83 part/templates/part/category.html:32 +#: part/models.py:87 part/templates/part/category.html:32 #: part/templates/part/category.html:103 templates/InvenTree/search.html:127 -#: templates/stats.html:84 users/models.py:39 +#: templates/stats.html:84 users/models.py:40 msgid "Part Categories" msgstr "" -#: part/models.py:448 part/models.py:460 +#: part/models.py:457 part/models.py:469 #, python-brace-format msgid "Part '{p1}' is used in BOM for '{p2}' (recursive)" msgstr "" -#: part/models.py:557 +#: part/models.py:566 msgid "Next available serial numbers are" msgstr "" -#: part/models.py:561 +#: part/models.py:570 msgid "Next available serial number is" msgstr "" -#: part/models.py:566 +#: part/models.py:575 msgid "Most recent serial number is" msgstr "" -#: part/models.py:645 +#: part/models.py:654 msgid "Duplicate IPN not allowed in part settings" msgstr "" -#: part/models.py:670 part/templates/part/detail.html:22 +#: part/models.py:679 part/templates/part/detail.html:22 msgid "Part name" msgstr "" -#: part/models.py:677 +#: part/models.py:686 msgid "Is Template" msgstr "" -#: part/models.py:678 +#: part/models.py:687 msgid "Is this part a template part?" msgstr "" -#: part/models.py:689 +#: part/models.py:698 msgid "Is this part a variant of another part?" msgstr "" -#: part/models.py:690 part/templates/part/detail.html:60 +#: part/models.py:699 part/templates/part/detail.html:60 msgid "Variant Of" msgstr "" -#: part/models.py:696 +#: part/models.py:705 msgid "Part description" msgstr "" -#: part/models.py:701 part/templates/part/category.html:82 +#: part/models.py:710 part/templates/part/category.html:82 #: part/templates/part/detail.html:67 msgid "Keywords" msgstr "" -#: part/models.py:702 +#: part/models.py:711 msgid "Part keywords to improve visibility in search results" msgstr "" -#: part/models.py:709 part/models.py:2236 part/templates/part/detail.html:73 +#: part/models.py:718 part/models.py:2269 part/templates/part/detail.html:73 #: part/templates/part/set_category.html:15 templates/js/part.js:452 msgid "Category" msgstr "" -#: part/models.py:710 +#: part/models.py:719 msgid "Part category" msgstr "" -#: part/models.py:715 part/templates/part/detail.html:28 +#: part/models.py:724 part/templates/part/detail.html:28 #: part/templates/part/part_base.html:87 templates/js/part.js:169 #: templates/js/part.js:296 msgid "IPN" msgstr "" -#: part/models.py:716 +#: part/models.py:725 msgid "Internal Part Number" msgstr "" -#: part/models.py:722 +#: part/models.py:731 msgid "Part revision or version number" msgstr "" -#: part/models.py:723 part/templates/part/detail.html:35 report/models.py:199 +#: part/models.py:732 part/templates/part/detail.html:35 report/models.py:199 #: templates/js/part.js:173 msgid "Revision" msgstr "" -#: part/models.py:745 +#: part/models.py:754 msgid "Where is this item normally stored?" msgstr "" -#: part/models.py:792 part/templates/part/detail.html:97 +#: part/models.py:801 part/templates/part/detail.html:97 msgid "Default Supplier" msgstr "" -#: part/models.py:793 +#: part/models.py:802 msgid "Default supplier part" msgstr "" -#: part/models.py:800 +#: part/models.py:809 msgid "Default Expiry" msgstr "" -#: part/models.py:801 +#: part/models.py:810 msgid "Expiry time (in days) for stock items of this part" msgstr "" -#: part/models.py:806 part/templates/part/detail.html:113 +#: part/models.py:815 part/templates/part/detail.html:113 msgid "Minimum Stock" msgstr "" -#: part/models.py:807 +#: part/models.py:816 msgid "Minimum allowed stock level" msgstr "" -#: part/models.py:814 +#: part/models.py:823 msgid "Stock keeping units for this part" msgstr "" -#: part/models.py:820 +#: part/models.py:829 msgid "Can this part be built from other parts?" msgstr "" -#: part/models.py:826 +#: part/models.py:835 msgid "Can this part be used to build other parts?" msgstr "" -#: part/models.py:832 +#: part/models.py:841 msgid "Does this part have tracking for unique items?" msgstr "" -#: part/models.py:837 +#: part/models.py:846 msgid "Can this part be purchased from external suppliers?" msgstr "" -#: part/models.py:842 +#: part/models.py:851 msgid "Can this part be sold to customers?" msgstr "" -#: part/models.py:846 part/templates/part/detail.html:227 +#: part/models.py:855 part/templates/part/detail.html:227 #: templates/js/table_filters.js:21 templates/js/table_filters.js:65 -#: templates/js/table_filters.js:241 templates/js/table_filters.js:310 +#: templates/js/table_filters.js:246 templates/js/table_filters.js:315 msgid "Active" msgstr "" -#: part/models.py:847 +#: part/models.py:856 msgid "Is this part active?" msgstr "" -#: part/models.py:852 +#: part/models.py:861 msgid "Is this a virtual part, such as a software product or license?" msgstr "" -#: part/models.py:857 +#: part/models.py:866 msgid "Part notes - supports Markdown formatting" msgstr "" -#: part/models.py:860 +#: part/models.py:869 msgid "BOM checksum" msgstr "" -#: part/models.py:860 +#: part/models.py:869 msgid "Stored BOM checksum" msgstr "" -#: part/models.py:863 +#: part/models.py:872 msgid "BOM checked by" msgstr "" -#: part/models.py:865 +#: part/models.py:874 msgid "BOM checked date" msgstr "" -#: part/models.py:869 +#: part/models.py:878 msgid "Creation User" msgstr "" -#: part/models.py:1608 +#: part/models.py:1617 msgid "Sell multiple" msgstr "" -#: part/models.py:2063 +#: part/models.py:2088 msgid "Test templates can only be created for trackable parts" msgstr "" -#: part/models.py:2080 +#: part/models.py:2105 msgid "Test with this name already exists for this part" msgstr "" -#: part/models.py:2100 templates/js/part.js:717 templates/js/stock.js:117 +#: part/models.py:2125 templates/js/part.js:717 templates/js/stock.js:117 msgid "Test Name" msgstr "" -#: part/models.py:2101 +#: part/models.py:2126 msgid "Enter a name for the test" msgstr "" -#: part/models.py:2106 +#: part/models.py:2131 msgid "Test Description" msgstr "" -#: part/models.py:2107 +#: part/models.py:2132 msgid "Enter description for this test" msgstr "" -#: part/models.py:2112 templates/js/part.js:726 -#: templates/js/table_filters.js:227 +#: part/models.py:2137 templates/js/part.js:726 +#: templates/js/table_filters.js:232 msgid "Required" msgstr "" -#: part/models.py:2113 +#: part/models.py:2138 msgid "Is this test required to pass?" msgstr "" -#: part/models.py:2118 templates/js/part.js:734 +#: part/models.py:2143 templates/js/part.js:734 msgid "Requires Value" msgstr "" -#: part/models.py:2119 +#: part/models.py:2144 msgid "Does this test require a value when adding a test result?" msgstr "" -#: part/models.py:2124 templates/js/part.js:741 +#: part/models.py:2149 templates/js/part.js:741 msgid "Requires Attachment" msgstr "" -#: part/models.py:2125 +#: part/models.py:2150 msgid "Does this test require a file attachment when adding a test result?" msgstr "" -#: part/models.py:2158 +#: part/models.py:2187 msgid "Parameter template name must be unique" msgstr "" -#: part/models.py:2163 +#: part/models.py:2192 msgid "Parameter Name" msgstr "" -#: part/models.py:2165 +#: part/models.py:2194 msgid "Parameter Units" msgstr "" -#: part/models.py:2193 part/models.py:2242 part/models.py:2243 +#: part/models.py:2226 part/models.py:2275 part/models.py:2276 #: templates/InvenTree/settings/category.html:62 msgid "Parameter Template" msgstr "" -#: part/models.py:2195 +#: part/models.py:2228 msgid "Data" msgstr "" -#: part/models.py:2195 +#: part/models.py:2228 msgid "Parameter Value" msgstr "" -#: part/models.py:2247 templates/InvenTree/settings/category.html:67 +#: part/models.py:2280 templates/InvenTree/settings/category.html:67 msgid "Default Value" msgstr "" -#: part/models.py:2248 +#: part/models.py:2281 msgid "Default Parameter Value" msgstr "" -#: part/models.py:2278 +#: part/models.py:2315 msgid "Select parent part" msgstr "" -#: part/models.py:2287 +#: part/models.py:2324 msgid "Select part to be used in BOM" msgstr "" -#: part/models.py:2293 +#: part/models.py:2330 msgid "BOM quantity for this BOM item" msgstr "" -#: part/models.py:2295 templates/js/bom.js:216 templates/js/bom.js:278 +#: part/models.py:2332 templates/js/bom.js:216 templates/js/bom.js:278 msgid "Optional" msgstr "" -#: part/models.py:2295 +#: part/models.py:2332 msgid "This BOM item is optional" msgstr "" -#: part/models.py:2298 +#: part/models.py:2335 msgid "Overage" msgstr "" -#: part/models.py:2299 +#: part/models.py:2336 msgid "Estimated build wastage quantity (absolute or percentage)" msgstr "" -#: part/models.py:2302 +#: part/models.py:2339 msgid "BOM item reference" msgstr "" -#: part/models.py:2305 +#: part/models.py:2342 msgid "BOM item notes" msgstr "" -#: part/models.py:2307 +#: part/models.py:2344 msgid "Checksum" msgstr "" -#: part/models.py:2307 +#: part/models.py:2344 msgid "BOM line checksum" msgstr "" -#: part/models.py:2311 templates/js/bom.js:295 templates/js/bom.js:302 +#: part/models.py:2348 templates/js/bom.js:295 templates/js/bom.js:302 #: templates/js/table_filters.js:51 msgid "Inherited" msgstr "" -#: part/models.py:2312 +#: part/models.py:2349 msgid "This BOM item is inherited by BOMs for variant parts" msgstr "" -#: part/models.py:2317 templates/js/bom.js:287 +#: part/models.py:2354 templates/js/bom.js:287 msgid "Allow Variants" msgstr "" -#: part/models.py:2318 +#: part/models.py:2355 msgid "Stock items for variant parts can be used for this BOM item" msgstr "" -#: part/models.py:2394 part/views.py:1859 part/views.py:1911 -#: stock/models.py:290 +#: part/models.py:2431 part/views.py:1736 part/views.py:1788 +#: stock/models.py:298 msgid "Quantity must be integer value for trackable parts" msgstr "" -#: part/models.py:2403 part/models.py:2405 +#: part/models.py:2440 part/models.py:2442 msgid "Sub part must be specified" msgstr "" -#: part/models.py:2408 +#: part/models.py:2445 msgid "BOM Item" msgstr "" -#: part/models.py:2527 +#: part/models.py:2564 msgid "Part 1" msgstr "" -#: part/models.py:2531 +#: part/models.py:2568 msgid "Part 2" msgstr "" -#: part/models.py:2531 +#: part/models.py:2568 msgid "Select Related Part" msgstr "" -#: part/models.py:2563 +#: part/models.py:2600 msgid "Error creating relationship: check that the part is not related to itself and that the relationship is unique" msgstr "" @@ -4247,14 +4197,6 @@ msgstr "" msgid "Part Attachments" msgstr "" -#: part/templates/part/bom-delete.html:6 -msgid "Are you sure you want to delete this BOM item?" -msgstr "" - -#: part/templates/part/bom-delete.html:8 -msgid "Deleting this entry will remove the BOM row from the following part" -msgstr "" - #: part/templates/part/bom.html:10 part/templates/part/navbar.html:51 #: part/templates/part/navbar.html:54 msgid "Bill of Materials" @@ -4303,7 +4245,7 @@ msgstr "" msgid "Validate Bill of Materials" msgstr "" -#: part/templates/part/bom.html:61 part/views.py:2154 +#: part/templates/part/bom.html:61 part/views.py:2031 msgid "Export Bill of Materials" msgstr "" @@ -4319,8 +4261,8 @@ msgstr "" msgid "All selected BOM items will be deleted" msgstr "" -#: part/templates/part/bom.html:160 part/views.py:590 -#: templates/js/stock.js:1313 +#: part/templates/part/bom.html:160 part/views.py:450 +#: templates/js/stock.js:1327 msgid "Create New Part" msgstr "" @@ -4401,7 +4343,7 @@ msgstr "" msgid "All parts" msgstr "" -#: part/templates/part/category.html:38 part/views.py:2564 +#: part/templates/part/category.html:38 part/views.py:2441 msgid "Create new part category" msgstr "" @@ -4461,11 +4403,12 @@ msgid "View grid display" msgstr "" #: part/templates/part/category.html:218 -#: stock/templates/stock/location.html:192 templates/js/stock.js:737 +#: stock/templates/stock/location.html:192 templates/js/stock.js:751 msgid "Create new location" msgstr "" #: part/templates/part/category.html:223 part/templates/part/category.html:253 +#: part/templates/part/part_base.html:378 msgid "New Category" msgstr "" @@ -4477,10 +4420,18 @@ msgstr "" msgid "Create new Part Category" msgstr "" -#: part/templates/part/category.html:260 stock/views.py:1391 +#: part/templates/part/category.html:260 stock/views.py:1223 msgid "Create new Stock Location" msgstr "" +#: part/templates/part/category.html:279 +msgid "Select parent category" +msgstr "" + +#: part/templates/part/category.html:286 part/views.py:2389 +msgid "Edit Part Category" +msgstr "" + #: part/templates/part/category_delete.html:5 msgid "Are you sure you want to delete category" msgstr "" @@ -4526,7 +4477,7 @@ msgstr "" msgid "Part Parameters" msgstr "" -#: part/templates/part/copy_part.html:9 part/views.py:466 +#: part/templates/part/copy_part.html:9 part/views.py:326 msgid "Duplicate Part" msgstr "" @@ -4639,36 +4590,6 @@ msgstr "" msgid "Import Parts from File" msgstr "" -#: part/templates/part/internal_prices.html:11 -#: part/templates/part/navbar.html:101 -msgid "Internal Price Information" -msgstr "" - -#: part/templates/part/internal_prices.html:19 part/views.py:2989 -msgid "Add Internal Price Break" -msgstr "" - -#: part/templates/part/internal_prices.html:28 templates/403.html:5 -#: templates/403.html:11 -msgid "Permission Denied" -msgstr "" - -#: part/templates/part/internal_prices.html:31 templates/403.html:14 -msgid "You do not have permission to view this page." -msgstr "" - -#: part/templates/part/internal_prices.html:59 -msgid "No internal price break information found" -msgstr "" - -#: part/templates/part/internal_prices.html:110 -msgid "Edit internal price break" -msgstr "" - -#: part/templates/part/internal_prices.html:111 -msgid "Delete internal price break" -msgstr "" - #: part/templates/part/manufacturer.html:11 msgid "Part Manufacturers" msgstr "" @@ -4678,7 +4599,7 @@ msgid "Delete manufacturer parts" msgstr "" #: part/templates/part/manufacturer.html:53 -#: part/templates/part/supplier.html:57 +#: part/templates/part/supplier.html:56 msgid "Create new manufacturer" msgstr "" @@ -4702,125 +4623,27 @@ msgstr "" msgid "Used In" msgstr "" -#: part/templates/part/navbar.html:75 part/templates/part/order_prices.html:12 -msgid "Order Price Information" +#: part/templates/part/navbar.html:77 +msgid "Prices" msgstr "" -#: part/templates/part/navbar.html:78 -msgid "Order Price" -msgstr "" - -#: part/templates/part/navbar.html:104 part/templates/part/order_prices.html:94 -#: part/templates/part/part_pricing.html:82 -msgid "Internal Price" -msgstr "" - -#: part/templates/part/navbar.html:107 -msgid "Sales Price Information" -msgstr "" - -#: part/templates/part/navbar.html:121 part/templates/part/part_tests.html:10 +#: part/templates/part/navbar.html:109 part/templates/part/part_tests.html:10 msgid "Part Test Templates" msgstr "" -#: part/templates/part/navbar.html:124 stock/templates/stock/item_base.html:414 +#: part/templates/part/navbar.html:112 stock/templates/stock/item_base.html:414 msgid "Tests" msgstr "" -#: part/templates/part/navbar.html:129 part/templates/part/navbar.html:132 +#: part/templates/part/navbar.html:117 part/templates/part/navbar.html:120 #: part/templates/part/related.html:10 msgid "Related Parts" msgstr "" -#: part/templates/part/navbar.html:142 part/templates/part/notes.html:12 +#: part/templates/part/navbar.html:130 part/templates/part/notes.html:12 msgid "Part Notes" msgstr "" -#: part/templates/part/order_prices.html:25 -#: part/templates/part/part_base.html:282 -msgid "Calculate" -msgstr "" - -#: part/templates/part/order_prices.html:32 -msgid "Pricing ranges" -msgstr "" - -#: part/templates/part/order_prices.html:37 -#: part/templates/part/part_pricing.html:22 -msgid "Supplier Pricing" -msgstr "" - -#: part/templates/part/order_prices.html:38 -#: part/templates/part/order_prices.html:63 -#: part/templates/part/order_prices.html:95 -#: part/templates/part/order_prices.html:109 -#: part/templates/part/part_pricing.html:26 -#: part/templates/part/part_pricing.html:52 -#: part/templates/part/part_pricing.html:85 -#: part/templates/part/part_pricing.html:100 -msgid "Unit Cost" -msgstr "" - -#: part/templates/part/order_prices.html:45 -#: part/templates/part/order_prices.html:70 -#: part/templates/part/order_prices.html:100 -#: part/templates/part/order_prices.html:114 -#: part/templates/part/part_pricing.html:32 -#: part/templates/part/part_pricing.html:58 -#: part/templates/part/part_pricing.html:89 -#: part/templates/part/part_pricing.html:104 -msgid "Total Cost" -msgstr "" - -#: part/templates/part/order_prices.html:53 -#: part/templates/part/part_pricing.html:40 -msgid "No supplier pricing available" -msgstr "" - -#: part/templates/part/order_prices.html:62 -#: part/templates/part/order_prices.html:129 -#: part/templates/part/part_pricing.html:48 -msgid "BOM Pricing" -msgstr "" - -#: part/templates/part/order_prices.html:78 -#: part/templates/part/part_pricing.html:66 -msgid "Note: BOM pricing is incomplete for this part" -msgstr "" - -#: part/templates/part/order_prices.html:85 -#: part/templates/part/part_pricing.html:73 -msgid "No BOM pricing available" -msgstr "" - -#: part/templates/part/order_prices.html:123 -#: part/templates/part/part_pricing.html:113 -msgid "No pricing information is available for this part." -msgstr "" - -#: part/templates/part/order_prices.html:139 -msgid "Stock Pricing" -msgstr "" - -#: part/templates/part/order_prices.html:147 -msgid "No stock pricing history is available for this part." -msgstr "" - -#: part/templates/part/order_prices.html:166 -#, python-format -msgid "Single Price - %(currency)s" -msgstr "" - -#: part/templates/part/order_prices.html:178 -#, python-format -msgid "Single Price Difference - %(currency)s" -msgstr "" - -#: part/templates/part/order_prices.html:190 -#, python-format -msgid "Part Single Price - %(currency)s" -msgstr "" - #: part/templates/part/params.html:17 msgid "Add new parameter" msgstr "" @@ -4841,8 +4664,8 @@ msgstr "" msgid "Part List" msgstr "" -#: part/templates/part/part_base.html:26 templates/js/company.js:156 -#: templates/js/company.js:355 templates/js/part.js:84 templates/js/part.js:161 +#: part/templates/part/part_base.html:26 templates/js/company.js:280 +#: templates/js/company.js:480 templates/js/part.js:84 templates/js/part.js:161 msgid "Inactive" msgstr "" @@ -4905,7 +4728,7 @@ msgstr "" msgid "In Stock" msgstr "" -#: part/templates/part/part_base.html:143 templates/InvenTree/index.html:131 +#: part/templates/part/part_base.html:143 templates/InvenTree/index.html:132 msgid "Required for Build Orders" msgstr "" @@ -4926,10 +4749,86 @@ msgstr "" msgid "Building" msgstr "" +#: part/templates/part/part_base.html:285 part/templates/part/prices.html:131 +msgid "Calculate" +msgstr "" + +#: part/templates/part/part_base.html:379 +msgid "Create New Part Category" +msgstr "" + +#: part/templates/part/part_base.html:387 +msgid "New Parent" +msgstr "" + +#: part/templates/part/part_base.html:435 +msgid "Edit Part" +msgstr "" + +#: part/templates/part/part_pricing.html:22 part/templates/part/prices.html:27 +msgid "Supplier Pricing" +msgstr "" + +#: part/templates/part/part_pricing.html:26 +#: part/templates/part/part_pricing.html:52 +#: part/templates/part/part_pricing.html:85 +#: part/templates/part/part_pricing.html:100 part/templates/part/prices.html:31 +#: part/templates/part/prices.html:58 part/templates/part/prices.html:90 +#: part/templates/part/prices.html:107 +msgid "Unit Cost" +msgstr "" + +#: part/templates/part/part_pricing.html:32 +#: part/templates/part/part_pricing.html:58 +#: part/templates/part/part_pricing.html:89 +#: part/templates/part/part_pricing.html:104 part/templates/part/prices.html:38 +#: part/templates/part/prices.html:65 part/templates/part/prices.html:95 +#: part/templates/part/prices.html:112 +msgid "Total Cost" +msgstr "" + +#: part/templates/part/part_pricing.html:40 part/templates/part/prices.html:46 +msgid "No supplier pricing available" +msgstr "" + +#: part/templates/part/part_pricing.html:48 part/templates/part/prices.html:55 +#: part/templates/part/prices.html:235 +msgid "BOM Pricing" +msgstr "" + +#: part/templates/part/part_pricing.html:66 part/templates/part/prices.html:73 +msgid "Note: BOM pricing is incomplete for this part" +msgstr "" + +#: part/templates/part/part_pricing.html:73 part/templates/part/prices.html:80 +msgid "No BOM pricing available" +msgstr "" + +#: part/templates/part/part_pricing.html:82 part/templates/part/prices.html:89 +msgid "Internal Price" +msgstr "" + +#: part/templates/part/part_pricing.html:113 +#: part/templates/part/prices.html:121 +msgid "No pricing information is available for this part." +msgstr "" + #: part/templates/part/part_tests.html:17 msgid "Add Test Template" msgstr "" +#: part/templates/part/part_tests.html:61 +msgid "Add Test Result Template" +msgstr "" + +#: part/templates/part/part_tests.html:79 +msgid "Edit Test Result Template" +msgstr "" + +#: part/templates/part/part_tests.html:91 +msgid "Delete Test Result Template" +msgstr "" + #: part/templates/part/part_thumb.html:20 msgid "Select from existing images" msgstr "" @@ -4964,12 +4863,98 @@ msgstr "" msgid "There are %(count)s unique parts tracked for '%(full_name)s'. Deleting this part will permanently remove this tracking information." msgstr "" -#: part/templates/part/related.html:18 -msgid "Add Related" +#: part/templates/part/prices.html:12 +msgid "General Price Information" msgstr "" -#: part/templates/part/sale_prices.html:10 -msgid "Sell Price Information" +#: part/templates/part/prices.html:22 +msgid "Pricing ranges" +msgstr "" + +#: part/templates/part/prices.html:28 +msgid "Show supplier cost" +msgstr "" + +#: part/templates/part/prices.html:29 +msgid "Show purchase price" +msgstr "" + +#: part/templates/part/prices.html:56 +msgid "Show BOM cost" +msgstr "" + +#: part/templates/part/prices.html:104 +msgid "Show sale cost" +msgstr "" + +#: part/templates/part/prices.html:105 +msgid "Show sale price" +msgstr "" + +#: part/templates/part/prices.html:127 +msgid "Calculation parameters" +msgstr "" + +#: part/templates/part/prices.html:146 +msgid "Supplier Cost" +msgstr "" + +#: part/templates/part/prices.html:147 part/templates/part/prices.html:167 +#: part/templates/part/prices.html:193 part/templates/part/prices.html:224 +#: part/templates/part/prices.html:251 part/templates/part/prices.html:279 +msgid "Jump to overview" +msgstr "" + +#: part/templates/part/prices.html:172 +msgid "Stock Pricing" +msgstr "" + +#: part/templates/part/prices.html:180 +msgid "No stock pricing history is available for this part." +msgstr "" + +#: part/templates/part/prices.html:192 +msgid "Internal Cost" +msgstr "" + +#: part/templates/part/prices.html:206 part/views.py:2859 +msgid "Add Internal Price Break" +msgstr "" + +#: part/templates/part/prices.html:223 +msgid "BOM Cost" +msgstr "" + +#: part/templates/part/prices.html:250 +msgid "Sale Cost" +msgstr "" + +#: part/templates/part/prices.html:290 +msgid "No sale pice history available for this part." +msgstr "" + +#: part/templates/part/prices.html:340 +#, python-format +msgid "Single Price - %(currency)s" +msgstr "" + +#: part/templates/part/prices.html:352 +#, python-format +msgid "Single Price Difference - %(currency)s" +msgstr "" + +#: part/templates/part/prices.html:364 +#, python-format +msgid "Part Single Price - %(currency)s" +msgstr "" + +#: part/templates/part/prices.html:464 +#, python-format +msgid "Unit Price - %(currency)s" +msgstr "" + +#: part/templates/part/related.html:18 +msgid "Add Related" msgstr "" #: part/templates/part/sales_orders.html:18 @@ -5043,216 +5028,180 @@ msgstr "" msgid "Delete Related Part" msgstr "" -#: part/views.py:164 -msgid "Add part attachment" -msgstr "" - -#: part/views.py:217 templates/attachment_table.html:32 -msgid "Edit attachment" -msgstr "" - -#: part/views.py:221 -msgid "Part attachment updated" -msgstr "" - -#: part/views.py:236 -msgid "Delete Part Attachment" -msgstr "" - -#: part/views.py:244 -msgid "Deleted part attachment" -msgstr "" - -#: part/views.py:253 -msgid "Create Test Template" -msgstr "" - -#: part/views.py:280 -msgid "Edit Test Template" -msgstr "" - -#: part/views.py:294 -msgid "Delete Test Template" -msgstr "" - -#: part/views.py:301 +#: part/views.py:161 msgid "Set Part Category" msgstr "" -#: part/views.py:351 +#: part/views.py:211 #, python-brace-format msgid "Set category for {n} parts" msgstr "" -#: part/views.py:386 +#: part/views.py:246 msgid "Create Variant" msgstr "" -#: part/views.py:471 +#: part/views.py:331 msgid "Copied part" msgstr "" -#: part/views.py:525 part/views.py:663 +#: part/views.py:385 part/views.py:523 msgid "Possible matches exist - confirm creation of new part" msgstr "" -#: part/views.py:595 +#: part/views.py:455 msgid "Created new part" msgstr "" -#: part/views.py:763 +#: part/views.py:623 msgid "Match References" msgstr "" -#: part/views.py:1092 +#: part/views.py:925 +msgid "None" +msgstr "" + +#: part/views.py:984 msgid "Part QR Code" msgstr "" -#: part/views.py:1194 -msgid "Upload Part Image" -msgstr "" - -#: part/views.py:1200 part/views.py:1235 -msgid "Updated part image" -msgstr "" - -#: part/views.py:1209 +#: part/views.py:1086 msgid "Select Part Image" msgstr "" -#: part/views.py:1238 +#: part/views.py:1112 +msgid "Updated part image" +msgstr "" + +#: part/views.py:1115 msgid "Part image not found" msgstr "" -#: part/views.py:1249 +#: part/views.py:1126 msgid "Edit Part Properties" msgstr "" -#: part/views.py:1284 +#: part/views.py:1161 msgid "Duplicate BOM" msgstr "" -#: part/views.py:1314 +#: part/views.py:1191 msgid "Confirm duplication of BOM from parent" msgstr "" -#: part/views.py:1335 +#: part/views.py:1212 msgid "Validate BOM" msgstr "" -#: part/views.py:1356 +#: part/views.py:1233 msgid "Confirm that the BOM is valid" msgstr "" -#: part/views.py:1367 +#: part/views.py:1244 msgid "Validated Bill of Materials" msgstr "" -#: part/views.py:1501 +#: part/views.py:1378 msgid "No BOM file provided" msgstr "" -#: part/views.py:1862 +#: part/views.py:1739 msgid "Enter a valid quantity" msgstr "" -#: part/views.py:1887 part/views.py:1890 +#: part/views.py:1764 part/views.py:1767 msgid "Select valid part" msgstr "" -#: part/views.py:1896 +#: part/views.py:1773 msgid "Duplicate part selected" msgstr "" -#: part/views.py:1934 +#: part/views.py:1811 msgid "Select a part" msgstr "" -#: part/views.py:1940 +#: part/views.py:1817 msgid "Selected part creates a circular BOM" msgstr "" -#: part/views.py:1944 +#: part/views.py:1821 msgid "Specify quantity" msgstr "" -#: part/views.py:2206 +#: part/views.py:2083 msgid "Confirm Part Deletion" msgstr "" -#: part/views.py:2213 +#: part/views.py:2090 msgid "Part was deleted" msgstr "" -#: part/views.py:2222 +#: part/views.py:2099 msgid "Part Pricing" msgstr "" -#: part/views.py:2363 +#: part/views.py:2240 msgid "Create Part Parameter Template" msgstr "" -#: part/views.py:2373 +#: part/views.py:2250 msgid "Edit Part Parameter Template" msgstr "" -#: part/views.py:2380 +#: part/views.py:2257 msgid "Delete Part Parameter Template" msgstr "" -#: part/views.py:2388 +#: part/views.py:2265 msgid "Create Part Parameter" msgstr "" -#: part/views.py:2438 +#: part/views.py:2315 msgid "Edit Part Parameter" msgstr "" -#: part/views.py:2452 +#: part/views.py:2329 msgid "Delete Part Parameter" msgstr "" -#: part/views.py:2512 -msgid "Edit Part Category" -msgstr "" - -#: part/views.py:2550 +#: part/views.py:2427 msgid "Delete Part Category" msgstr "" -#: part/views.py:2556 +#: part/views.py:2433 msgid "Part category was deleted" msgstr "" -#: part/views.py:2608 +#: part/views.py:2485 msgid "Create Category Parameter Template" msgstr "" -#: part/views.py:2709 +#: part/views.py:2586 msgid "Edit Category Parameter Template" msgstr "" -#: part/views.py:2765 +#: part/views.py:2642 msgid "Delete Category Parameter Template" msgstr "" -#: part/views.py:2784 +#: part/views.py:2661 msgid "Create BOM Item" msgstr "" -#: part/views.py:2854 +#: part/views.py:2731 msgid "Edit BOM item" msgstr "" -#: part/views.py:2910 -msgid "Confim BOM item deletion" +#: part/views.py:2792 +msgid "Added new price break" msgstr "" -#: part/views.py:2998 +#: part/views.py:2868 msgid "Edit Internal Price Break" msgstr "" -#: part/views.py:3006 +#: part/views.py:2876 msgid "Delete Internal Price Break" msgstr "" @@ -5358,17 +5307,17 @@ msgid "Test Results" msgstr "" #: report/templates/report/inventree_test_report_base.html:88 -#: stock/models.py:1739 +#: stock/models.py:1759 msgid "Test" msgstr "" #: report/templates/report/inventree_test_report_base.html:89 -#: stock/models.py:1745 +#: stock/models.py:1765 msgid "Result" msgstr "" #: report/templates/report/inventree_test_report_base.html:92 -#: templates/js/order.js:195 templates/js/stock.js:1012 +#: templates/js/order.js:257 templates/js/stock.js:1026 msgid "Date" msgstr "" @@ -5380,287 +5329,287 @@ msgstr "" msgid "Fail" msgstr "" -#: stock/api.py:212 +#: stock/api.py:211 #, python-brace-format msgid "Updated stock for {n} items" msgstr "" -#: stock/api.py:281 +#: stock/api.py:280 #, python-brace-format msgid "Moved {n} parts to {loc}" msgstr "" -#: stock/forms.py:114 stock/forms.py:418 stock/models.py:505 +#: stock/forms.py:81 stock/forms.py:385 stock/models.py:513 #: stock/templates/stock/item_base.html:381 templates/js/stock.js:658 msgid "Expiry Date" msgstr "" -#: stock/forms.py:115 stock/forms.py:419 +#: stock/forms.py:82 stock/forms.py:386 msgid "Expiration date for this stock item" msgstr "" -#: stock/forms.py:118 +#: stock/forms.py:85 msgid "Enter unique serial numbers (or leave blank)" msgstr "" -#: stock/forms.py:169 +#: stock/forms.py:136 msgid "Destination for serialized stock (by default, will remain in current location)" msgstr "" -#: stock/forms.py:171 +#: stock/forms.py:138 msgid "Serial numbers" msgstr "" -#: stock/forms.py:171 +#: stock/forms.py:138 msgid "Unique serial numbers (must match quantity)" msgstr "" -#: stock/forms.py:173 stock/forms.py:349 +#: stock/forms.py:140 stock/forms.py:316 msgid "Add transaction note (optional)" msgstr "" -#: stock/forms.py:203 stock/forms.py:259 +#: stock/forms.py:170 stock/forms.py:226 msgid "Select test report template" msgstr "" -#: stock/forms.py:267 templates/js/table_filters.js:75 +#: stock/forms.py:234 templates/js/table_filters.js:75 #: templates/js/table_filters.js:138 msgid "Include sublocations" msgstr "" -#: stock/forms.py:267 +#: stock/forms.py:234 msgid "Include stock items in sub locations" msgstr "" -#: stock/forms.py:302 +#: stock/forms.py:269 msgid "Stock item to install" msgstr "" -#: stock/forms.py:309 +#: stock/forms.py:276 msgid "Stock quantity to assign" msgstr "" -#: stock/forms.py:337 +#: stock/forms.py:304 msgid "Must not exceed available quantity" msgstr "" -#: stock/forms.py:347 +#: stock/forms.py:314 msgid "Destination location for uninstalled items" msgstr "" -#: stock/forms.py:351 +#: stock/forms.py:318 msgid "Confirm uninstall" msgstr "" -#: stock/forms.py:351 +#: stock/forms.py:318 msgid "Confirm removal of installed stock items" msgstr "" -#: stock/forms.py:375 +#: stock/forms.py:342 msgid "Destination stock location" msgstr "" -#: stock/forms.py:377 +#: stock/forms.py:344 msgid "Add note (required)" msgstr "" -#: stock/forms.py:381 stock/views.py:852 stock/views.py:1051 +#: stock/forms.py:348 stock/views.py:705 stock/views.py:904 msgid "Confirm stock adjustment" msgstr "" -#: stock/forms.py:381 +#: stock/forms.py:348 msgid "Confirm movement of stock items" msgstr "" -#: stock/forms.py:383 +#: stock/forms.py:350 msgid "Set Default Location" msgstr "" -#: stock/forms.py:383 +#: stock/forms.py:350 msgid "Set the destination as the default location for selected parts" msgstr "" -#: stock/models.py:52 stock/models.py:542 +#: stock/models.py:56 stock/models.py:550 msgid "Owner" msgstr "" -#: stock/models.py:53 stock/models.py:543 +#: stock/models.py:57 stock/models.py:551 msgid "Select Owner" msgstr "" -#: stock/models.py:271 +#: stock/models.py:279 msgid "StockItem with this serial number already exists" msgstr "" -#: stock/models.py:307 +#: stock/models.py:315 #, python-brace-format msgid "Part type ('{pf}') must be {pe}" msgstr "" -#: stock/models.py:317 stock/models.py:326 +#: stock/models.py:325 stock/models.py:334 msgid "Quantity must be 1 for item with a serial number" msgstr "" -#: stock/models.py:318 +#: stock/models.py:326 msgid "Serial number cannot be set if quantity greater than 1" msgstr "" -#: stock/models.py:340 +#: stock/models.py:348 msgid "Item cannot belong to itself" msgstr "" -#: stock/models.py:346 +#: stock/models.py:354 msgid "Item must have a build reference if is_building=True" msgstr "" -#: stock/models.py:353 +#: stock/models.py:361 msgid "Build reference does not point to the same part object" msgstr "" -#: stock/models.py:395 +#: stock/models.py:403 msgid "Parent Stock Item" msgstr "" -#: stock/models.py:404 +#: stock/models.py:412 msgid "Base part" msgstr "" -#: stock/models.py:413 +#: stock/models.py:421 msgid "Select a matching supplier part for this stock item" msgstr "" -#: stock/models.py:418 stock/templates/stock/stock_app_base.html:8 +#: stock/models.py:426 stock/templates/stock/stock_app_base.html:8 msgid "Stock Location" msgstr "" -#: stock/models.py:421 +#: stock/models.py:429 msgid "Where is this stock item located?" msgstr "" -#: stock/models.py:428 +#: stock/models.py:436 msgid "Packaging this stock item is stored in" msgstr "" -#: stock/models.py:433 stock/templates/stock/item_base.html:270 +#: stock/models.py:441 stock/templates/stock/item_base.html:270 msgid "Installed In" msgstr "" -#: stock/models.py:436 +#: stock/models.py:444 msgid "Is this item installed in another item?" msgstr "" -#: stock/models.py:452 +#: stock/models.py:460 msgid "Serial number for this item" msgstr "" -#: stock/models.py:464 +#: stock/models.py:472 msgid "Batch code for this stock item" msgstr "" -#: stock/models.py:468 +#: stock/models.py:476 msgid "Stock Quantity" msgstr "" -#: stock/models.py:477 +#: stock/models.py:485 msgid "Source Build" msgstr "" -#: stock/models.py:479 +#: stock/models.py:487 msgid "Build for this stock item" msgstr "" -#: stock/models.py:490 +#: stock/models.py:498 msgid "Source Purchase Order" msgstr "" -#: stock/models.py:493 +#: stock/models.py:501 msgid "Purchase order for this stock item" msgstr "" -#: stock/models.py:499 +#: stock/models.py:507 msgid "Destination Sales Order" msgstr "" -#: stock/models.py:506 +#: stock/models.py:514 msgid "Expiry date for stock item. Stock will be considered expired after this date" msgstr "" -#: stock/models.py:519 +#: stock/models.py:527 msgid "Delete on deplete" msgstr "" -#: stock/models.py:519 +#: stock/models.py:527 msgid "Delete this Stock Item when stock is depleted" msgstr "" -#: stock/models.py:529 stock/templates/stock/item_notes.html:13 +#: stock/models.py:537 stock/templates/stock/item_notes.html:13 #: stock/templates/stock/navbar.html:54 msgid "Stock Item Notes" msgstr "" -#: stock/models.py:538 +#: stock/models.py:546 msgid "Single unit purchase price at time of purchase" msgstr "" -#: stock/models.py:1006 +#: stock/models.py:1014 msgid "Part is not set as trackable" msgstr "" -#: stock/models.py:1012 +#: stock/models.py:1020 msgid "Quantity must be integer" msgstr "" -#: stock/models.py:1018 +#: stock/models.py:1026 #, python-brace-format msgid "Quantity must not exceed available stock quantity ({n})" msgstr "" -#: stock/models.py:1021 +#: stock/models.py:1029 msgid "Serial numbers must be a list of integers" msgstr "" -#: stock/models.py:1024 +#: stock/models.py:1032 msgid "Quantity does not match serial numbers" msgstr "" -#: stock/models.py:1031 +#: stock/models.py:1039 #, python-brace-format msgid "Serial numbers already exist: {exists}" msgstr "" -#: stock/models.py:1189 +#: stock/models.py:1197 msgid "StockItem cannot be moved as it is not in stock" msgstr "" -#: stock/models.py:1663 +#: stock/models.py:1679 msgid "Entry notes" msgstr "" -#: stock/models.py:1716 +#: stock/models.py:1736 msgid "Value must be provided for this test" msgstr "" -#: stock/models.py:1722 +#: stock/models.py:1742 msgid "Attachment must be uploaded for this test" msgstr "" -#: stock/models.py:1740 +#: stock/models.py:1760 msgid "Test name" msgstr "" -#: stock/models.py:1746 templates/js/table_filters.js:217 +#: stock/models.py:1766 templates/js/table_filters.js:222 msgid "Test result" msgstr "" -#: stock/models.py:1752 +#: stock/models.py:1772 msgid "Test output value" msgstr "" -#: stock/models.py:1759 +#: stock/models.py:1779 msgid "Test result attachment" msgstr "" -#: stock/models.py:1765 +#: stock/models.py:1785 msgid "Test notes" msgstr "" @@ -5850,6 +5799,10 @@ msgstr "" msgid "No stocktake performed" msgstr "" +#: stock/templates/stock/item_base.html:499 +msgid "Edit Stock Status" +msgstr "" + #: stock/templates/stock/item_childs.html:12 msgid "Child Stock Items" msgstr "" @@ -5909,6 +5862,19 @@ msgstr "" msgid "Add Test Data" msgstr "" +#: stock/templates/stock/item_tests.html:86 +#: stock/templates/stock/item_tests.html:111 +msgid "Add Test Result" +msgstr "" + +#: stock/templates/stock/item_tests.html:131 +msgid "Edit Test Result" +msgstr "" + +#: stock/templates/stock/item_tests.html:145 +msgid "Delete Test Result" +msgstr "" + #: stock/templates/stock/location.html:20 msgid "You are not in the list of owners of this location. This stock location cannot be edited." msgstr "" @@ -5957,7 +5923,7 @@ msgid "Stock Details" msgstr "" #: stock/templates/stock/location.html:117 templates/InvenTree/search.html:279 -#: templates/stats.html:97 users/models.py:41 +#: templates/stats.html:97 users/models.py:42 msgid "Stock Locations" msgstr "" @@ -5997,7 +5963,7 @@ msgstr "" msgid "The following stock items will be uninstalled" msgstr "" -#: stock/templates/stock/stockitem_convert.html:7 stock/views.py:1364 +#: stock/templates/stock/stockitem_convert.html:7 stock/views.py:1196 msgid "Convert Stock Item" msgstr "" @@ -6030,8 +5996,8 @@ msgstr "" msgid "Edit Stock Location" msgstr "" -#: stock/views.py:230 stock/views.py:1343 stock/views.py:1465 -#: stock/views.py:1830 +#: stock/views.py:230 stock/views.py:1175 stock/views.py:1297 +#: stock/views.py:1662 msgid "Owner is required (ownership control is enabled)" msgstr "" @@ -6039,208 +6005,188 @@ msgstr "" msgid "Stock Location QR code" msgstr "" -#: stock/views.py:265 -msgid "Add Stock Item Attachment" -msgstr "" - -#: stock/views.py:311 -msgid "Edit Stock Item Attachment" -msgstr "" - -#: stock/views.py:327 -msgid "Delete Stock Item Attachment" -msgstr "" - -#: stock/views.py:343 +#: stock/views.py:264 msgid "Assign to Customer" msgstr "" -#: stock/views.py:352 +#: stock/views.py:273 msgid "Customer must be specified" msgstr "" -#: stock/views.py:376 +#: stock/views.py:297 msgid "Return to Stock" msgstr "" -#: stock/views.py:385 +#: stock/views.py:306 msgid "Specify a valid location" msgstr "" -#: stock/views.py:396 +#: stock/views.py:317 msgid "Stock item returned from customer" msgstr "" -#: stock/views.py:407 +#: stock/views.py:328 msgid "Delete All Test Data" msgstr "" -#: stock/views.py:424 +#: stock/views.py:345 msgid "Confirm test data deletion" msgstr "" -#: stock/views.py:444 -msgid "Add Test Result" -msgstr "" - -#: stock/views.py:484 -msgid "Edit Test Result" -msgstr "" - -#: stock/views.py:501 -msgid "Delete Test Result" -msgstr "" - -#: stock/views.py:509 +#: stock/views.py:362 msgid "Stock Export Options" msgstr "" -#: stock/views.py:630 +#: stock/views.py:483 msgid "Stock Item QR Code" msgstr "" -#: stock/views.py:656 +#: stock/views.py:509 msgid "Install Stock Item" msgstr "" -#: stock/views.py:755 +#: stock/views.py:608 msgid "Uninstall Stock Items" msgstr "" -#: stock/views.py:863 +#: stock/views.py:716 msgid "Uninstalled stock items" msgstr "" -#: stock/views.py:888 +#: stock/views.py:741 msgid "Adjust Stock" msgstr "" -#: stock/views.py:998 +#: stock/views.py:851 msgid "Move Stock Items" msgstr "" -#: stock/views.py:998 +#: stock/views.py:851 msgid "Move" msgstr "" -#: stock/views.py:999 +#: stock/views.py:852 msgid "Count Stock Items" msgstr "" -#: stock/views.py:999 +#: stock/views.py:852 msgid "Count" msgstr "" -#: stock/views.py:1000 +#: stock/views.py:853 msgid "Remove From Stock" msgstr "" -#: stock/views.py:1000 +#: stock/views.py:853 msgid "Take" msgstr "" -#: stock/views.py:1001 +#: stock/views.py:854 msgid "Add Stock Items" msgstr "" -#: stock/views.py:1001 users/models.py:187 +#: stock/views.py:854 users/models.py:188 msgid "Add" msgstr "" -#: stock/views.py:1002 +#: stock/views.py:855 msgid "Delete Stock Items" msgstr "" -#: stock/views.py:1031 +#: stock/views.py:884 msgid "Must enter integer value" msgstr "" -#: stock/views.py:1036 +#: stock/views.py:889 msgid "Quantity must be positive" msgstr "" -#: stock/views.py:1043 +#: stock/views.py:896 #, python-brace-format msgid "Quantity must not exceed {x}" msgstr "" -#: stock/views.py:1107 +#: stock/views.py:960 msgid "No action performed" msgstr "" -#: stock/views.py:1122 +#: stock/views.py:975 #, python-brace-format msgid "Added stock to {n} items" msgstr "" -#: stock/views.py:1137 +#: stock/views.py:990 #, python-brace-format msgid "Removed stock from {n} items" msgstr "" -#: stock/views.py:1150 +#: stock/views.py:1003 #, python-brace-format msgid "Counted stock for {n} items" msgstr "" -#: stock/views.py:1190 +#: stock/views.py:1043 msgid "No items were moved" msgstr "" -#: stock/views.py:1193 +#: stock/views.py:1046 #, python-brace-format msgid "Moved {n} items to {dest}" msgstr "" -#: stock/views.py:1212 +#: stock/views.py:1065 #, python-brace-format msgid "Deleted {n} stock items" msgstr "" -#: stock/views.py:1222 -msgid "Edit Stock Item Status" -msgstr "" - -#: stock/views.py:1245 +#: stock/views.py:1077 msgid "Edit Stock Item" msgstr "" -#: stock/views.py:1482 +#: stock/views.py:1314 msgid "Serialize Stock" msgstr "" -#: stock/views.py:1575 templates/js/build.js:327 +#: stock/views.py:1407 templates/js/build.js:327 msgid "Create new Stock Item" msgstr "" -#: stock/views.py:1717 +#: stock/views.py:1549 msgid "Duplicate Stock Item" msgstr "" -#: stock/views.py:1799 +#: stock/views.py:1631 msgid "Quantity cannot be negative" msgstr "" -#: stock/views.py:1899 +#: stock/views.py:1731 msgid "Delete Stock Location" msgstr "" -#: stock/views.py:1912 +#: stock/views.py:1744 msgid "Delete Stock Item" msgstr "" -#: stock/views.py:1923 +#: stock/views.py:1755 msgid "Delete Stock Tracking Entry" msgstr "" -#: stock/views.py:1930 +#: stock/views.py:1762 msgid "Edit Stock Tracking Entry" msgstr "" -#: stock/views.py:1939 +#: stock/views.py:1771 msgid "Add Stock Tracking Entry" msgstr "" +#: templates/403.html:5 templates/403.html:11 +msgid "Permission Denied" +msgstr "" + +#: templates/403.html:14 +msgid "You do not have permission to view this page." +msgstr "" + #: templates/404.html:5 templates/404.html:11 msgid "Page Not Found" msgstr "" @@ -6269,35 +6215,39 @@ msgstr "" msgid "Recently Updated" msgstr "" -#: templates/InvenTree/index.html:145 -msgid "Expired Stock" +#: templates/InvenTree/index.html:131 +msgid "Depleted Stock" msgstr "" #: templates/InvenTree/index.html:146 +msgid "Expired Stock" +msgstr "" + +#: templates/InvenTree/index.html:147 msgid "Stale Stock" msgstr "" -#: templates/InvenTree/index.html:184 +#: templates/InvenTree/index.html:192 msgid "Build Orders In Progress" msgstr "" -#: templates/InvenTree/index.html:185 +#: templates/InvenTree/index.html:193 msgid "Overdue Build Orders" msgstr "" -#: templates/InvenTree/index.html:206 +#: templates/InvenTree/index.html:214 msgid "Outstanding Purchase Orders" msgstr "" -#: templates/InvenTree/index.html:207 +#: templates/InvenTree/index.html:215 msgid "Overdue Purchase Orders" msgstr "" -#: templates/InvenTree/index.html:229 +#: templates/InvenTree/index.html:237 msgid "Outstanding Sales Orders" msgstr "" -#: templates/InvenTree/index.html:230 +#: templates/InvenTree/index.html:238 msgid "Overdue Sales Orders" msgstr "" @@ -6582,24 +6532,12 @@ msgstr "" msgid "copy version information" msgstr "" -#: templates/about.html:100 templates/js/modals.js:568 -#: templates/js/modals.js:861 templates/modals.html:29 templates/modals.html:54 -#: templates/modals.html:97 +#: templates/about.html:100 templates/js/modals.js:34 +#: templates/js/modals.js:677 templates/js/modals.js:970 +#: templates/modals.html:29 templates/modals.html:54 templates/modals.html:97 msgid "Close" msgstr "" -#: templates/attachment_table.html:6 -msgid "Add Attachment" -msgstr "" - -#: templates/attachment_table.html:17 -msgid "Uploaded" -msgstr "" - -#: templates/attachment_table.html:35 -msgid "Delete attachment" -msgstr "" - #: templates/image_download.html:8 msgid "Specify URL for downloading image" msgstr "" @@ -6616,6 +6554,22 @@ msgstr "" msgid "Remote image must not exceed maximum allowable file size" msgstr "" +#: templates/js/attachment.js:16 +msgid "No attachments found" +msgstr "" + +#: templates/js/attachment.js:56 +msgid "Upload Date" +msgstr "" + +#: templates/js/attachment.js:69 +msgid "Edit attachment" +msgstr "" + +#: templates/js/attachment.js:76 +msgid "Delete attachment" +msgstr "" + #: templates/js/barcode.js:8 msgid "Scan barcode data here using wedge scanner" msgstr "" @@ -6644,7 +6598,7 @@ msgstr "" msgid "Unknown response from server" msgstr "" -#: templates/js/barcode.js:119 templates/js/modals.js:921 +#: templates/js/barcode.js:119 templates/js/modals.js:1030 msgid "Invalid server response" msgstr "" @@ -6744,7 +6698,7 @@ msgstr "" msgid "Edit BOM Item" msgstr "" -#: templates/js/bom.js:372 +#: templates/js/bom.js:372 templates/js/bom.js:519 msgid "Delete BOM Item" msgstr "" @@ -6772,7 +6726,7 @@ msgstr "" msgid "No build order allocations found" msgstr "" -#: templates/js/build.js:222 templates/js/order.js:382 +#: templates/js/build.js:222 templates/js/order.js:449 msgid "Location not specified" msgstr "" @@ -6798,7 +6752,7 @@ msgid "No builds matching query" msgstr "" #: templates/js/build.js:806 templates/js/part.js:390 templates/js/part.js:635 -#: templates/js/stock.js:514 templates/js/stock.js:966 +#: templates/js/stock.js:514 templates/js/stock.js:980 msgid "Select" msgstr "" @@ -6810,45 +6764,69 @@ msgstr "" msgid "No parts allocated for" msgstr "" -#: templates/js/company.js:74 +#: templates/js/company.js:45 +msgid "Edit Company" +msgstr "" + +#: templates/js/company.js:66 +msgid "Add new Company" +msgstr "" + +#: templates/js/company.js:143 msgid "Parts Supplied" msgstr "" -#: templates/js/company.js:83 +#: templates/js/company.js:152 msgid "Parts Manufactured" msgstr "" -#: templates/js/company.js:96 +#: templates/js/company.js:165 msgid "No company information found" msgstr "" -#: templates/js/company.js:129 +#: templates/js/company.js:183 +msgid "The following manufacturer parts will be deleted" +msgstr "" + +#: templates/js/company.js:200 +msgid "Delete Manufacturer Parts" +msgstr "" + +#: templates/js/company.js:253 msgid "No manufacturer parts found" msgstr "" -#: templates/js/company.js:148 templates/js/company.js:347 +#: templates/js/company.js:272 templates/js/company.js:472 #: templates/js/part.js:68 templates/js/part.js:153 msgid "Template part" msgstr "" -#: templates/js/company.js:152 templates/js/company.js:351 +#: templates/js/company.js:276 templates/js/company.js:476 #: templates/js/part.js:72 templates/js/part.js:157 msgid "Assembled part" msgstr "" -#: templates/js/company.js:226 +#: templates/js/company.js:350 msgid "No parameters found" msgstr "" -#: templates/js/company.js:262 +#: templates/js/company.js:386 msgid "Edit parameter" msgstr "" -#: templates/js/company.js:263 +#: templates/js/company.js:387 msgid "Delete parameter" msgstr "" -#: templates/js/company.js:328 +#: templates/js/company.js:406 +msgid "Edit Parameter" +msgstr "" + +#: templates/js/company.js:417 +msgid "Delete Parameter" +msgstr "" + +#: templates/js/company.js:453 msgid "No supplier parts found" msgstr "" @@ -6876,6 +6854,83 @@ msgstr "" msgid "Create filter" msgstr "" +#: templates/js/forms.js:278 templates/js/forms.js:291 +#: templates/js/forms.js:303 templates/js/forms.js:315 +msgid "Action Prohibited" +msgstr "" + +#: templates/js/forms.js:279 +msgid "Create operation not allowed" +msgstr "" + +#: templates/js/forms.js:292 +msgid "Update operation not allowed" +msgstr "" + +#: templates/js/forms.js:304 +msgid "Delete operation not allowed" +msgstr "" + +#: templates/js/forms.js:316 +msgid "View operation not allowed" +msgstr "" + +#: templates/js/forms.js:583 templates/js/modals.js:1040 +msgid "No Response" +msgstr "" + +#: templates/js/forms.js:584 templates/js/modals.js:1041 +msgid "No response from the InvenTree server" +msgstr "" + +#: templates/js/forms.js:590 templates/js/modals.js:1050 +msgid "Error 401: Not Authenticated" +msgstr "" + +#: templates/js/forms.js:591 templates/js/modals.js:1051 +msgid "Authentication credentials not supplied" +msgstr "" + +#: templates/js/forms.js:597 templates/js/modals.js:1055 +msgid "Error 403: Permission Denied" +msgstr "" + +#: templates/js/forms.js:598 templates/js/modals.js:1056 +msgid "You do not have the required permissions to access this function" +msgstr "" + +#: templates/js/forms.js:604 templates/js/modals.js:1060 +msgid "Error 404: Resource Not Found" +msgstr "" + +#: templates/js/forms.js:605 templates/js/modals.js:1061 +msgid "The requested resource could not be located on the server" +msgstr "" + +#: templates/js/forms.js:611 templates/js/modals.js:1065 +msgid "Error 408: Timeout" +msgstr "" + +#: templates/js/forms.js:612 templates/js/modals.js:1066 +msgid "Connection timeout while requesting data from server" +msgstr "" + +#: templates/js/forms.js:618 templates/js/modals.js:1069 +msgid "Error requesting form data" +msgstr "" + +#: templates/js/forms.js:788 templates/modals.html:21 templates/modals.html:47 +msgid "Form errors exist" +msgstr "" + +#: templates/js/forms.js:1161 +msgid "Searching" +msgstr "" + +#: templates/js/forms.js:1301 +msgid "Clear input" +msgstr "" + #: templates/js/label.js:10 templates/js/report.js:98 msgid "Select Stock Items" msgstr "" @@ -6916,112 +6971,102 @@ msgstr "" msgid "Select Label Template" msgstr "" -#: templates/js/modals.js:265 -msgid "Waiting for server..." -msgstr "" - -#: templates/js/modals.js:424 -msgid "Show Error Information" -msgstr "" - -#: templates/js/modals.js:491 templates/modals.html:76 -msgid "Accept" -msgstr "" - -#: templates/js/modals.js:492 templates/modals.html:75 +#: templates/js/modals.js:59 templates/js/modals.js:105 +#: templates/js/modals.js:601 templates/modals.html:75 msgid "Cancel" msgstr "" -#: templates/js/modals.js:556 -msgid "Loading Data" -msgstr "" - -#: templates/js/modals.js:567 templates/js/modals.js:860 +#: templates/js/modals.js:60 templates/js/modals.js:104 +#: templates/js/modals.js:676 templates/js/modals.js:969 #: templates/modals.html:30 templates/modals.html:55 msgid "Submit" msgstr "" -#: templates/js/modals.js:811 +#: templates/js/modals.js:103 +msgid "Form Title" +msgstr "" + +#: templates/js/modals.js:374 +msgid "Waiting for server..." +msgstr "" + +#: templates/js/modals.js:533 +msgid "Show Error Information" +msgstr "" + +#: templates/js/modals.js:600 templates/modals.html:76 +msgid "Accept" +msgstr "" + +#: templates/js/modals.js:665 +msgid "Loading Data" +msgstr "" + +#: templates/js/modals.js:920 msgid "Invalid response from server" msgstr "" -#: templates/js/modals.js:811 +#: templates/js/modals.js:920 msgid "Form data missing from server response" msgstr "" -#: templates/js/modals.js:824 +#: templates/js/modals.js:933 msgid "Error posting form data" msgstr "" -#: templates/js/modals.js:921 +#: templates/js/modals.js:1030 msgid "JSON response missing form data" msgstr "" -#: templates/js/modals.js:931 -msgid "No Response" -msgstr "" - -#: templates/js/modals.js:932 -msgid "No response from the InvenTree server" -msgstr "" - -#: templates/js/modals.js:936 +#: templates/js/modals.js:1045 msgid "Error 400: Bad Request" msgstr "" -#: templates/js/modals.js:937 +#: templates/js/modals.js:1046 msgid "Server returned error code 400" msgstr "" -#: templates/js/modals.js:941 -msgid "Error 401: Not Authenticated" +#: templates/js/model_renderers.js:21 +msgid "Company ID" msgstr "" -#: templates/js/modals.js:942 -msgid "Authentication credentials not supplied" +#: templates/js/model_renderers.js:63 +msgid "Location ID" msgstr "" -#: templates/js/modals.js:946 -msgid "Error 403: Permission Denied" +#: templates/js/model_renderers.js:90 +msgid "Part ID" msgstr "" -#: templates/js/modals.js:947 -msgid "You do not have the required permissions to access this function" +#: templates/js/model_renderers.js:126 +msgid "Category ID" msgstr "" -#: templates/js/modals.js:951 -msgid "Error 404: Resource Not Found" +#: templates/js/model_renderers.js:150 +msgid "Supplier Part ID" msgstr "" -#: templates/js/modals.js:952 -msgid "The requested resource could not be located on the server" +#: templates/js/order.js:31 +msgid "Create Sales Order" msgstr "" -#: templates/js/modals.js:956 -msgid "Error 408: Timeout" -msgstr "" - -#: templates/js/modals.js:957 -msgid "Connection timeout while requesting data from server" -msgstr "" - -#: templates/js/modals.js:960 -msgid "Error requesting form data" -msgstr "" - -#: templates/js/order.js:138 +#: templates/js/order.js:200 msgid "No purchase orders found" msgstr "" -#: templates/js/order.js:162 templates/js/order.js:257 +#: templates/js/order.js:224 templates/js/order.js:319 msgid "Order is overdue" msgstr "" -#: templates/js/order.js:234 +#: templates/js/order.js:296 msgid "No sales orders found" msgstr "" -#: templates/js/order.js:343 +#: templates/js/order.js:333 +msgid "Invalid Customer" +msgstr "" + +#: templates/js/order.js:410 msgid "No sales order allocations found" msgstr "" @@ -7061,11 +7106,11 @@ msgstr "" msgid "No category" msgstr "" -#: templates/js/part.js:476 templates/js/table_filters.js:323 +#: templates/js/part.js:476 templates/js/table_filters.js:328 msgid "Low stock" msgstr "" -#: templates/js/part.js:660 templates/js/stock.js:990 +#: templates/js/part.js:660 templates/js/stock.js:1004 msgid "Path" msgstr "" @@ -7085,7 +7130,22 @@ msgstr "" msgid "This test is defined for a parent part" msgstr "" -#: templates/js/part.js:806 +#: templates/js/part.js:786 +#, python-brace-format +msgid "No ${human_name} information found" +msgstr "" + +#: templates/js/part.js:839 +#, python-brace-format +msgid "Edit ${human_name}" +msgstr "" + +#: templates/js/part.js:840 +#, python-brace-format +msgid "Delete ${human_name}" +msgstr "" + +#: templates/js/part.js:959 msgid "Single Price Difference" msgstr "" @@ -7263,75 +7323,75 @@ msgstr "" msgid "Stocktake" msgstr "" -#: templates/js/stock.js:853 +#: templates/js/stock.js:867 msgid "Stock Status" msgstr "" -#: templates/js/stock.js:868 +#: templates/js/stock.js:882 msgid "Set Stock Status" msgstr "" -#: templates/js/stock.js:882 +#: templates/js/stock.js:896 msgid "Select Status Code" msgstr "" -#: templates/js/stock.js:883 +#: templates/js/stock.js:897 msgid "Status code must be selected" msgstr "" -#: templates/js/stock.js:1022 +#: templates/js/stock.js:1036 msgid "Invalid date" msgstr "" -#: templates/js/stock.js:1069 +#: templates/js/stock.js:1083 msgid "Location no longer exists" msgstr "" -#: templates/js/stock.js:1088 +#: templates/js/stock.js:1102 msgid "Purchase order no longer exists" msgstr "" -#: templates/js/stock.js:1107 +#: templates/js/stock.js:1121 msgid "Customer no longer exists" msgstr "" -#: templates/js/stock.js:1125 +#: templates/js/stock.js:1139 msgid "Stock item no longer exists" msgstr "" -#: templates/js/stock.js:1148 +#: templates/js/stock.js:1162 msgid "Added" msgstr "" -#: templates/js/stock.js:1156 +#: templates/js/stock.js:1170 msgid "Removed" msgstr "" -#: templates/js/stock.js:1188 +#: templates/js/stock.js:1202 msgid "No user information" msgstr "" -#: templates/js/stock.js:1200 +#: templates/js/stock.js:1214 msgid "Edit tracking entry" msgstr "" -#: templates/js/stock.js:1201 +#: templates/js/stock.js:1215 msgid "Delete tracking entry" msgstr "" -#: templates/js/stock.js:1325 +#: templates/js/stock.js:1339 msgid "Create New Location" msgstr "" -#: templates/js/stock.js:1366 +#: templates/js/stock.js:1380 msgid "No installed items" msgstr "" -#: templates/js/stock.js:1389 +#: templates/js/stock.js:1403 msgid "Serial" msgstr "" -#: templates/js/stock.js:1417 +#: templates/js/stock.js:1431 msgid "Uninstall Stock Item" msgstr "" @@ -7352,7 +7412,7 @@ msgid "Include locations" msgstr "" #: templates/js/table_filters.js:86 templates/js/table_filters.js:87 -#: templates/js/table_filters.js:300 +#: templates/js/table_filters.js:305 msgid "Include subcategories" msgstr "" @@ -7385,7 +7445,7 @@ msgstr "" msgid "Batch code" msgstr "" -#: templates/js/table_filters.js:123 templates/js/table_filters.js:290 +#: templates/js/table_filters.js:123 templates/js/table_filters.js:295 msgid "Active parts" msgstr "" @@ -7457,43 +7517,51 @@ msgstr "" msgid "Stock status" msgstr "" -#: templates/js/table_filters.js:236 +#: templates/js/table_filters.js:211 +msgid "Has purchase price" +msgstr "" + +#: templates/js/table_filters.js:212 +msgid "Show stock items which have a purchase price set" +msgstr "" + +#: templates/js/table_filters.js:241 msgid "Build status" msgstr "" -#: templates/js/table_filters.js:255 templates/js/table_filters.js:272 +#: templates/js/table_filters.js:260 templates/js/table_filters.js:277 msgid "Order status" msgstr "" -#: templates/js/table_filters.js:260 templates/js/table_filters.js:277 +#: templates/js/table_filters.js:265 templates/js/table_filters.js:282 msgid "Outstanding" msgstr "" -#: templates/js/table_filters.js:301 +#: templates/js/table_filters.js:306 msgid "Include parts in subcategories" msgstr "" -#: templates/js/table_filters.js:305 +#: templates/js/table_filters.js:310 msgid "Has IPN" msgstr "" -#: templates/js/table_filters.js:306 +#: templates/js/table_filters.js:311 msgid "Part has internal part number" msgstr "" -#: templates/js/table_filters.js:311 +#: templates/js/table_filters.js:316 msgid "Show active parts" msgstr "" -#: templates/js/table_filters.js:319 +#: templates/js/table_filters.js:324 msgid "Stock available" msgstr "" -#: templates/js/table_filters.js:335 +#: templates/js/table_filters.js:340 msgid "Starred" msgstr "" -#: templates/js/table_filters.js:347 +#: templates/js/table_filters.js:352 msgid "Purchasable" msgstr "" @@ -7550,10 +7618,6 @@ msgstr "" msgid "All" msgstr "" -#: templates/modals.html:21 templates/modals.html:47 -msgid "Form errors exist" -msgstr "" - #: templates/navbar.html:13 msgid "Toggle navigation" msgstr "" @@ -7570,7 +7634,7 @@ msgstr "" msgid "Scan Barcode" msgstr "" -#: templates/navbar.html:77 users/models.py:38 +#: templates/navbar.html:77 users/models.py:39 msgid "Admin" msgstr "" @@ -7790,35 +7854,35 @@ msgstr "" msgid "Important dates" msgstr "" -#: users/models.py:174 +#: users/models.py:175 msgid "Permission set" msgstr "" -#: users/models.py:182 +#: users/models.py:183 msgid "Group" msgstr "" -#: users/models.py:185 +#: users/models.py:186 msgid "View" msgstr "" -#: users/models.py:185 +#: users/models.py:186 msgid "Permission to view items" msgstr "" -#: users/models.py:187 +#: users/models.py:188 msgid "Permission to add items" msgstr "" -#: users/models.py:189 +#: users/models.py:190 msgid "Change" msgstr "" -#: users/models.py:189 +#: users/models.py:190 msgid "Permissions to edit items" msgstr "" -#: users/models.py:191 +#: users/models.py:192 msgid "Permission to delete items" msgstr ""