From 2921f34e20294d52098b709121cdc2aab4f0374c Mon Sep 17 00:00:00 2001
From: "github-actions[bot]"
<41898282+github-actions[bot]@users.noreply.github.com>
Date: Mon, 12 Jul 2021 12:18:41 +0000
Subject: [PATCH] updated translation base
---
InvenTree/locale/de/LC_MESSAGES/django.po | 732 ++++++++++++----------
InvenTree/locale/en/LC_MESSAGES/django.po | 650 +++++++++----------
InvenTree/locale/es/LC_MESSAGES/django.po | 656 +++++++++----------
InvenTree/locale/fr/LC_MESSAGES/django.po | 656 +++++++++----------
InvenTree/locale/it/LC_MESSAGES/django.po | 650 +++++++++----------
InvenTree/locale/ja/LC_MESSAGES/django.po | 652 +++++++++----------
InvenTree/locale/pl/LC_MESSAGES/django.po | 666 ++++++++++----------
InvenTree/locale/ru/LC_MESSAGES/django.po | 658 +++++++++----------
InvenTree/locale/tr/LC_MESSAGES/django.po | 679 ++++++++++----------
InvenTree/locale/zh/LC_MESSAGES/django.po | 652 +++++++++----------
10 files changed, 3501 insertions(+), 3150 deletions(-)
diff --git a/InvenTree/locale/de/LC_MESSAGES/django.po b/InvenTree/locale/de/LC_MESSAGES/django.po
index 0b52d6efdc..b732cdd879 100644
--- a/InvenTree/locale/de/LC_MESSAGES/django.po
+++ b/InvenTree/locale/de/LC_MESSAGES/django.po
@@ -2,7 +2,7 @@ msgid ""
msgstr ""
"Project-Id-Version: inventree\n"
"Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2021-07-12 11:35+0000\n"
+"POT-Creation-Date: 2021-07-12 12:18+0000\n"
"PO-Revision-Date: 2021-07-10 04:49\n"
"Last-Translator: \n"
"Language-Team: German\n"
@@ -36,7 +36,7 @@ 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:30 order/forms.py:41 order/forms.py:52 order/forms.py:63
-#: order/forms.py:74 part/forms.py:119 templates/js/forms.js:486
+#: order/forms.py:74 part/forms.py:119 templates/js/forms.js:506
msgid "Confirm"
msgstr "Bestätigen"
@@ -78,7 +78,7 @@ msgid "Duplicate serial: {n}"
msgstr "Doppelte Seriennummer: {n}"
#: InvenTree/helpers.py:403 order/models.py:315 order/models.py:425
-#: stock/views.py:1648
+#: stock/views.py:1311
msgid "Invalid quantity provided"
msgstr "Keine gültige Menge"
@@ -124,7 +124,7 @@ msgstr "Datei-Kommentar"
#: InvenTree/models.py:70 InvenTree/models.py:71 part/models.py:2042
#: report/templates/report/inventree_test_report_base.html:91
-#: templates/js/stock.js:1202
+#: templates/js/stock.js:1489
msgid "User"
msgstr "Benutzer"
@@ -141,7 +141,7 @@ msgstr ""
#: report/models.py:181 templates/InvenTree/search.html:137
#: templates/InvenTree/search.html:289 templates/js/company.js:365
#: templates/js/part.js:118 templates/js/part.js:251 templates/js/part.js:743
-#: templates/js/stock.js:995
+#: templates/js/stock.js:1282
msgid "Name"
msgstr "Name"
@@ -164,8 +164,8 @@ msgstr "Name"
#: templates/js/company.js:561 templates/js/order.js:245
#: templates/js/order.js:347 templates/js/part.js:177 templates/js/part.js:361
#: templates/js/part.js:538 templates/js/part.js:755 templates/js/part.js:823
-#: templates/js/stock.js:557 templates/js/stock.js:1007
-#: templates/js/stock.js:1052
+#: templates/js/stock.js:868 templates/js/stock.js:1294
+#: templates/js/stock.js:1339
msgid "Description"
msgstr "Beschreibung"
@@ -496,8 +496,8 @@ msgstr "Zieldatum für Bauauftrag-Fertigstellung."
#: templates/js/bom.js:205 templates/js/build.js:271 templates/js/build.js:606
#: templates/js/build.js:1172 templates/js/model_renderers.js:56
#: templates/js/order.js:460 templates/js/part.js:928 templates/js/part.js:1050
-#: templates/js/part.js:1106 templates/js/stock.js:1187
-#: templates/js/stock.js:1406
+#: templates/js/part.js:1106 templates/js/stock.js:1474
+#: templates/js/stock.js:1693
msgid "Quantity"
msgstr "Anzahl"
@@ -542,8 +542,9 @@ msgstr "Bauauftrag als vollständig markieren"
#: stock/templates/stock/stock_adjust.html:17
#: templates/InvenTree/search.html:260 templates/js/barcode.js:363
#: templates/js/barcode.js:531 templates/js/build.js:256
-#: templates/js/build.js:620 templates/js/order.js:445
-#: templates/js/stock.js:643 templates/js/stock.js:1079
+#: templates/js/build.js:620 templates/js/order.js:445 templates/js/stock.js:75
+#: templates/js/stock.js:201 templates/js/stock.js:954
+#: templates/js/stock.js:1366
msgid "Location"
msgstr "Lagerort"
@@ -557,8 +558,8 @@ msgstr "Lagerort der Endprodukte"
#: stock/templates/stock/item_base.html:420 templates/InvenTree/search.html:252
#: templates/js/barcode.js:119 templates/js/build.js:902
#: templates/js/order.js:249 templates/js/order.js:352
-#: templates/js/stock.js:630 templates/js/stock.js:1156
-#: templates/js/stock.js:1422
+#: templates/js/stock.js:941 templates/js/stock.js:1443
+#: templates/js/stock.js:1709
msgid "Status"
msgstr "Status"
@@ -659,8 +660,8 @@ msgstr "Bauauftrag, zu dem dieser Bauauftrag zugwiesen ist"
#: templates/js/build.js:586 templates/js/build.js:873
#: templates/js/build.js:1139 templates/js/company.js:264
#: templates/js/company.js:470 templates/js/part.js:342
-#: templates/js/part.js:505 templates/js/stock.js:526
-#: templates/js/stock.js:1394
+#: templates/js/part.js:505 templates/js/stock.js:73 templates/js/stock.js:837
+#: templates/js/stock.js:1681
msgid "Part"
msgstr "Teil"
@@ -708,7 +709,7 @@ msgstr "Fertiggestellte Teile"
msgid "Number of stock items which have been completed"
msgstr "Anzahl der fertigen BestandsObjekte"
-#: build/models.py:249 part/templates/part/part_base.html:167
+#: build/models.py:249 part/templates/part/part_base.html:183
msgid "Build Status"
msgstr "Bauauftrags-Status"
@@ -766,7 +767,7 @@ msgstr "Nutzer der für diesen Bauauftrag zuständig ist"
#: 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
+#: part/templates/part/detail.html:83 part/templates/part/part_base.html:110
#: stock/models.py:464 stock/templates/stock/item_base.html:357
msgid "External Link"
msgstr "Externer Link"
@@ -791,7 +792,8 @@ msgstr "Link zu einer externen URL"
#: 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/company.js:566
-#: templates/js/stock.js:141 templates/js/stock.js:722
+#: templates/js/stock.js:209 templates/js/stock.js:450
+#: templates/js/stock.js:1033
msgid "Notes"
msgstr "Notizen"
@@ -857,7 +859,7 @@ msgstr "Bauauftrag starten um Teile zuzuweisen"
#: stock/templates/stock/stock_adjust.html:16 templates/js/build.js:244
#: templates/js/build.js:249 templates/js/build.js:993
#: templates/js/order.js:433 templates/js/order.js:438
-#: templates/js/stock.js:1138
+#: templates/js/stock.js:1425
msgid "Stock Item"
msgstr "BestandsObjekt"
@@ -1242,8 +1244,8 @@ msgid "Destination location not specified"
msgstr "Ziel-Lagerort nicht angegeben"
#: build/templates/build/detail.html:70
-#: stock/templates/stock/item_base.html:315 templates/js/stock.js:638
-#: templates/js/stock.js:1429 templates/js/table_filters.js:116
+#: stock/templates/stock/item_base.html:315 templates/js/stock.js:949
+#: templates/js/stock.js:1716 templates/js/table_filters.js:116
#: templates/js/table_filters.js:210
msgid "Batch"
msgstr "Losnummer"
@@ -1298,7 +1300,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:1067
+#: templates/js/stock.js:1354
msgid "Details"
msgstr "Details"
@@ -1362,7 +1364,7 @@ msgstr "Endprodukt anlegen"
msgid "Maximum output quantity is "
msgstr "Maximale Endproduktmenge ist "
-#: build/views.py:184 stock/views.py:1674
+#: build/views.py:184 stock/views.py:1337
msgid "Serial numbers already exist"
msgstr "Seriennummern existieren bereits"
@@ -2116,7 +2118,7 @@ msgstr ""
#: report/templates/report/inventree_test_report_base.html:90
#: stock/models.py:1771 templates/InvenTree/settings/header.html:8
#: templates/js/company.js:371 templates/js/part.js:260
-#: templates/js/stock.js:137
+#: templates/js/stock.js:446
msgid "Value"
msgstr "Wert"
@@ -2189,7 +2191,7 @@ msgstr "Mindestpreis"
#: company/models.py:566 company/templates/company/supplier_part_base.html:109
#: stock/models.py:435 stock/templates/stock/item_base.html:322
-#: templates/js/company.js:571 templates/js/stock.js:718
+#: templates/js/company.js:571 templates/js/stock.js:1029
msgid "Packaging"
msgstr "Verpackungen"
@@ -2259,7 +2261,7 @@ msgid "Phone"
msgstr "Telefon"
#: company/templates/company/company_base.html:166
-#: part/templates/part/part_base.html:311
+#: part/templates/part/part_base.html:347
msgid "Upload Image"
msgstr ""
@@ -2279,7 +2281,7 @@ msgstr "verwendet Standard-Währung"
#: order/templates/order/sales_order_base.html:94 stock/models.py:453
#: stock/models.py:454 stock/templates/stock/item_base.html:274
#: templates/js/company.js:109 templates/js/order.js:329
-#: templates/js/stock.js:1120
+#: templates/js/stock.js:1407
msgid "Customer"
msgstr "Kunde"
@@ -2325,7 +2327,7 @@ msgstr "Teile löschen"
#: company/templates/company/detail_manufacturer_part.html:68
#: company/templates/company/detail_supplier_part.html:66
#: part/templates/part/bom.html:166 part/templates/part/category.html:127
-#: templates/js/stock.js:1335
+#: templates/js/stock.js:1622
msgid "New Part"
msgstr "Neues Teil"
@@ -2351,7 +2353,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:55 stock/templates/stock/location.html:163
+#: part/templates/part/stock.html:55 stock/templates/stock/location.html:175
msgid "Export"
msgstr "Exportieren"
@@ -2363,14 +2365,14 @@ msgstr "Zuliefererteile"
#: company/templates/company/detail_supplier_part.html:21
#: order/templates/order/order_wizard/select_parts.html:44
-#: part/templates/part/part_base.html:433
+#: part/templates/part/part_base.html:469
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
-#: part/templates/part/part_base.html:432 part/templates/part/supplier.html:18
-#: templates/js/stock.js:1341
+#: part/templates/part/part_base.html:468 part/templates/part/supplier.html:18
+#: templates/js/stock.js:1628
msgid "New Supplier Part"
msgstr "Neues Zuliefererteil"
@@ -2391,7 +2393,7 @@ msgstr "Zulieferer-Liste"
#: company/templates/company/manufacturer_part_base.html:36
#: company/templates/company/supplier_part_base.html:36
#: company/templates/company/supplier_part_orders.html:17
-#: part/templates/part/orders.html:17 part/templates/part/part_base.html:58
+#: part/templates/part/orders.html:17 part/templates/part/part_base.html:74
msgid "Order part"
msgstr "Teil bestellen"
@@ -2444,8 +2446,8 @@ msgstr "Herstellerteil-Bestand"
#: templates/InvenTree/index.html:128 templates/InvenTree/search.html:196
#: templates/InvenTree/search.html:232
#: templates/InvenTree/settings/tabs.html:31 templates/js/part.js:181
-#: templates/js/part.js:406 templates/js/part.js:566 templates/js/stock.js:566
-#: templates/navbar.html:26
+#: templates/js/part.js:406 templates/js/part.js:566 templates/js/stock.js:74
+#: templates/js/stock.js:877 templates/navbar.html:26
msgid "Stock"
msgstr "Lagerbestand"
@@ -2467,8 +2469,8 @@ msgstr "Zuliefererteil entfernen"
#: company/templates/company/manufacturer_part_suppliers.html:48
#: company/templates/company/manufacturer_part_suppliers.html:142
#: part/templates/part/related.html:44 part/templates/part/supplier.html:23
-#: part/templates/part/supplier.html:52 stock/views.py:844
-#: templates/js/company.js:203 users/models.py:193
+#: part/templates/part/supplier.html:52 templates/js/company.js:203
+#: users/models.py:193
msgid "Delete"
msgstr "Löschen"
@@ -2518,12 +2520,12 @@ msgid "Supplied Parts"
msgstr "Zuliefererteile"
#: company/templates/company/navbar.html:38 part/templates/part/navbar.html:30
-#: stock/templates/stock/location.html:107
-#: stock/templates/stock/location.html:122
-#: stock/templates/stock/location.html:136
+#: stock/templates/stock/location.html:119
+#: stock/templates/stock/location.html:134
+#: stock/templates/stock/location.html:148
#: stock/templates/stock/location_navbar.html:22
#: stock/templates/stock/location_navbar.html:29
-#: templates/InvenTree/search.html:198 templates/js/stock.js:1019
+#: templates/InvenTree/search.html:198 templates/js/stock.js:1306
#: templates/stats.html:93 templates/stats.html:102 users/models.py:43
msgid "Stock Items"
msgstr "Teilbestand"
@@ -2581,7 +2583,7 @@ msgstr "Neuer Auftrag"
#: company/templates/company/supplier_part_base.html:7
#: company/templates/company/supplier_part_base.html:20 stock/models.py:420
#: stock/templates/stock/item_base.html:386 templates/js/company.js:511
-#: templates/js/stock.js:690
+#: templates/js/stock.js:1001
msgid "Supplier Part"
msgstr "Zuliefererteil"
@@ -2703,7 +2705,7 @@ msgstr "Neues Herstellerteil anlegen"
msgid "Edit Supplier Part"
msgstr "Zuliefererteil bearbeiten"
-#: company/views.py:385 templates/js/stock.js:1342
+#: company/views.py:385 templates/js/stock.js:1629
msgid "Create new Supplier Part"
msgstr "Neues Zuliefererteil anlegen"
@@ -2942,7 +2944,7 @@ msgstr "Bestellung"
#: order/templates/order/order_base.html:24
#: report/templates/report/inventree_po_report.html:77
#: stock/templates/stock/item_base.html:336 templates/js/order.js:210
-#: templates/js/stock.js:669 templates/js/stock.js:1101
+#: templates/js/stock.js:980 templates/js/stock.js:1388
msgid "Purchase Order"
msgstr "Bestellung"
@@ -2962,7 +2964,7 @@ msgid "Number of items received"
msgstr "Empfangene Objekt-Anzahl"
#: order/models.py:776 part/templates/part/prices.html:166 stock/models.py:545
-#: stock/templates/stock/item_base.html:343 templates/js/stock.js:713
+#: stock/templates/stock/item_base.html:343 templates/js/stock.js:1024
msgid "Purchase Price"
msgstr "Preis"
@@ -3078,15 +3080,14 @@ 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
-#: part/templates/part/part_base.html:419
-#: stock/templates/stock/location.html:191 templates/js/stock.js:759
-#: templates/js/stock.js:1347
+#: part/templates/part/part_base.html:455
+#: stock/templates/stock/location.html:203 templates/js/stock.js:1634
msgid "New Location"
msgstr "Neuer Lagerort"
#: order/templates/order/order_base.html:200
#: order/templates/order/purchase_order_detail.html:128
-#: part/templates/part/part_base.html:420
+#: part/templates/part/part_base.html:456
#: stock/templates/stock/location.html:42
msgid "Create new stock location"
msgstr "Neuen Lagerort anlegen"
@@ -3361,7 +3362,7 @@ msgid "Order Code"
msgstr "Bestellnummer"
#: order/templates/order/receive_parts.html:21
-#: part/templates/part/part_base.html:136 templates/js/part.js:582
+#: part/templates/part/part_base.html:152 templates/js/part.js:582
msgid "On Order"
msgstr "Bestellt"
@@ -3668,7 +3669,7 @@ msgstr "{part} Stückpreis auf {price} und Menge auf {qty} aktualisiert"
msgid "Default Location"
msgstr "Standard-Lagerort"
-#: part/bom.py:134 part/templates/part/part_base.html:124
+#: part/bom.py:134 part/templates/part/part_base.html:140
msgid "Available Stock"
msgstr "Verfügbarer Lagerbestand"
@@ -3891,7 +3892,7 @@ msgid "Part category"
msgstr "Teile-Kategorie"
#: part/models.py:723 part/templates/part/detail.html:28
-#: part/templates/part/part_base.html:87 templates/js/part.js:169
+#: part/templates/part/part_base.html:103 templates/js/part.js:169
#: templates/js/part.js:397
msgid "IPN"
msgstr "IPN (Interne Produktnummer)"
@@ -4011,7 +4012,7 @@ msgstr "Test-Vorlagen können nur für verfolgbare Teile angelegt werden"
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:2124 templates/js/part.js:818 templates/js/stock.js:117
+#: part/models.py:2124 templates/js/part.js:818 templates/js/stock.js:426
msgid "Test Name"
msgstr "Test-Name"
@@ -4255,7 +4256,7 @@ msgid "All selected BOM items will be deleted"
msgstr "Alle ausgewählte Stücklistenpositionen werden gelöscht"
#: part/templates/part/bom.html:167 part/views.py:451
-#: templates/js/stock.js:1336
+#: templates/js/stock.js:1623
msgid "Create New Part"
msgstr "Neues Teil anlegen"
@@ -4372,12 +4373,12 @@ msgid "View grid display"
msgstr "Rasteransicht anzeigen"
#: part/templates/part/category.html:218
-#: stock/templates/stock/location.html:192 templates/js/stock.js:760
+#: stock/templates/stock/location.html:204
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:382
+#: part/templates/part/part_base.html:418
msgid "New Category"
msgstr "Neue Kategorie"
@@ -4389,7 +4390,7 @@ msgstr "Teil-Kategorie anlegen"
msgid "Create new Part Category"
msgstr "Neue Teil-Kategorie anlegen"
-#: part/templates/part/category.html:260 stock/views.py:1244
+#: part/templates/part/category.html:260 stock/views.py:907
msgid "Create new Stock Location"
msgstr "Neuen Lagerort erstellen"
@@ -4474,7 +4475,7 @@ msgstr "%(full_name)s - %(desc)s (%(match_per)s%% übereinstimmend)"
msgid "Part Details"
msgstr "Teil Details"
-#: part/templates/part/detail.html:42 part/templates/part/part_base.html:188
+#: part/templates/part/detail.html:42 part/templates/part/part_base.html:204
msgid "Latest Serial Number"
msgstr "letzte Seriennummer"
@@ -4639,73 +4640,85 @@ msgstr "Label drucken"
msgid "Show pricing information"
msgstr "Kosteninformationen ansehen"
-#: part/templates/part/part_base.html:52
+#: part/templates/part/part_base.html:53
+#: stock/templates/stock/item_base.html:140
+#: stock/templates/stock/location.html:62
+msgid "Stock actions"
+msgstr "Bestands-Aktionen"
+
+#: part/templates/part/part_base.html:60
msgid "Count part stock"
msgstr "Lagerbestand zählen"
-#: part/templates/part/part_base.html:67
+#: part/templates/part/part_base.html:66
+#, fuzzy
+#| msgid "Transfer stock"
+msgid "Transfer part stock"
+msgstr "Bestand verschieben"
+
+#: part/templates/part/part_base.html:83
msgid "Part actions"
msgstr "Teile Aktionen"
-#: part/templates/part/part_base.html:70
+#: part/templates/part/part_base.html:86
msgid "Duplicate part"
msgstr "Teil duplizieren"
-#: part/templates/part/part_base.html:73
+#: part/templates/part/part_base.html:89
msgid "Edit part"
msgstr "Teil bearbeiten"
-#: part/templates/part/part_base.html:76
+#: part/templates/part/part_base.html:92
msgid "Delete part"
msgstr "Teil löschen"
-#: part/templates/part/part_base.html:107
+#: part/templates/part/part_base.html:123
msgid "This is a virtual part"
msgstr "Dies ist ein virtuelles Teil"
-#: part/templates/part/part_base.html:113
+#: part/templates/part/part_base.html:129
#, python-format
msgid "This part is a variant of %(link)s"
msgstr "Dieses Teil ist eine Variante von %(link)s"
-#: part/templates/part/part_base.html:130 templates/js/table_filters.js:165
+#: part/templates/part/part_base.html:146 templates/js/table_filters.js:165
msgid "In Stock"
msgstr "Auf Lager"
-#: part/templates/part/part_base.html:143 templates/InvenTree/index.html:132
+#: part/templates/part/part_base.html:159 templates/InvenTree/index.html:132
msgid "Required for Build Orders"
msgstr "Für Bauaufträge benötigt"
-#: part/templates/part/part_base.html:150
+#: part/templates/part/part_base.html:166
msgid "Required for Sales Orders"
msgstr "Benötigt für Aufträge"
-#: part/templates/part/part_base.html:157
+#: part/templates/part/part_base.html:173
msgid "Allocated to Orders"
msgstr "Zu Bauaufträgen zugeordnet"
-#: part/templates/part/part_base.html:172 templates/js/bom.js:316
+#: part/templates/part/part_base.html:188 templates/js/bom.js:316
msgid "Can Build"
msgstr "Herstellbar"
-#: part/templates/part/part_base.html:178 templates/js/part.js:413
+#: part/templates/part/part_base.html:194 templates/js/part.js:413
#: templates/js/part.js:586
msgid "Building"
msgstr "Im Bau"
-#: part/templates/part/part_base.html:289 part/templates/part/prices.html:131
+#: part/templates/part/part_base.html:325 part/templates/part/prices.html:131
msgid "Calculate"
msgstr "Berechnen"
-#: part/templates/part/part_base.html:383
+#: part/templates/part/part_base.html:419
msgid "Create New Part Category"
msgstr ""
-#: part/templates/part/part_base.html:391
+#: part/templates/part/part_base.html:427
msgid "New Parent"
msgstr ""
-#: part/templates/part/part_base.html:439
+#: part/templates/part/part_base.html:475
msgid "Edit Part"
msgstr ""
@@ -5237,7 +5250,7 @@ msgid "Result"
msgstr "Ergebnis"
#: report/templates/report/inventree_test_report_base.html:92
-#: templates/js/order.js:257 templates/js/stock.js:1035
+#: templates/js/order.js:257 templates/js/stock.js:1322
msgid "Date"
msgstr "Datum"
@@ -5249,18 +5262,62 @@ msgstr "bestanden"
msgid "Fail"
msgstr "fehlgeschlagen"
-#: stock/api.py:197
+#: stock/api.py:146
+#, fuzzy
+#| msgid "Enter quantity of stock items"
+msgid "Request must contain list of stock items"
+msgstr "Menge der BestandsObjekt eingeben"
+
+#: stock/api.py:154
+msgid "Improperly formatted data"
+msgstr ""
+
+#: stock/api.py:162
+msgid "Each entry must contain a valid integer primary-key"
+msgstr ""
+
+#: stock/api.py:168
+#, fuzzy
+#| msgid "Barcode does not match Stock Item"
+msgid "Primary key does not match valid stock item"
+msgstr "Barcode entspricht keinem BestandsObjekt"
+
+#: stock/api.py:178
+#, fuzzy
+#| msgid "Invalid quantity provided"
+msgid "Invalid quantity value"
+msgstr "Keine gültige Menge"
+
+#: stock/api.py:183
+#, fuzzy
+#| msgid "Quantity must be greater than zero"
+msgid "Quantity must not be less than zero"
+msgstr "Anzahl muss größer Null sein"
+
+#: stock/api.py:211
#, python-brace-format
msgid "Updated stock for {n} items"
msgstr "Bestand für {n} Objekte geändert"
-#: stock/api.py:266
+#: stock/api.py:247 stock/api.py:280
+#, fuzzy
+#| msgid "Allocation quantity cannot exceed stock quantity"
+msgid "Specified quantity exceeds stock quantity"
+msgstr "Die zugeordnete Anzahl darf nicht die verfügbare Anzahl überschreiten"
+
+#: stock/api.py:270
+#, fuzzy
+#| msgid "Build output must be specified"
+msgid "Valid location must be specified"
+msgstr "Endprodukt muss angegeben sein"
+
+#: stock/api.py:290
#, python-brace-format
msgid "Moved {n} parts to {loc}"
msgstr "{n} Teile nach {loc} bewegt"
#: stock/forms.py:81 stock/forms.py:385 stock/models.py:513
-#: stock/templates/stock/item_base.html:393 templates/js/stock.js:658
+#: stock/templates/stock/item_base.html:393 templates/js/stock.js:969
msgid "Expiry Date"
msgstr "Ablaufdatum"
@@ -5333,7 +5390,7 @@ msgstr "Ziel-Lagerbestand"
msgid "Add note (required)"
msgstr "Notiz hinzufügen (erforderlich)"
-#: stock/forms.py:348 stock/views.py:728 stock/views.py:930
+#: stock/forms.py:348 stock/views.py:728 templates/js/stock.js:223
msgid "Confirm stock adjustment"
msgstr "Bestands-Anpassung bestätigen"
@@ -5582,7 +5639,7 @@ msgid "Stock adjustment actions"
msgstr "Bestands-Anpassungs Aktionen"
#: stock/templates/stock/item_base.html:108
-#: stock/templates/stock/location.html:65 templates/stock_table.html:57
+#: stock/templates/stock/location.html:69 templates/stock_table.html:57
msgid "Count stock"
msgstr "Bestand zählen"
@@ -5599,6 +5656,7 @@ msgid "Serialize stock"
msgstr "Lagerbestand serialisieren"
#: stock/templates/stock/item_base.html:121
+#: stock/templates/stock/location.html:75
msgid "Transfer stock"
msgstr "Bestand verschieben"
@@ -5618,11 +5676,6 @@ msgstr "BestandsObjekt deinstallieren"
msgid "Uninstall"
msgstr "Deinstallieren"
-#: stock/templates/stock/item_base.html:140
-#: stock/templates/stock/location.html:62
-msgid "Stock actions"
-msgstr "Bestands-Aktionen"
-
#: stock/templates/stock/item_base.html:143
msgid "Convert to variant"
msgstr "in Variante ändern"
@@ -5715,7 +5768,7 @@ msgstr "Dieses BestandsObjekt lief am %(item.expiry_date)s ab"
msgid "This StockItem expires on %(item.expiry_date)s"
msgstr "Dieses BestandsObjekt läuft am %(item.expiry_date)s ab"
-#: stock/templates/stock/item_base.html:406 templates/js/stock.js:664
+#: stock/templates/stock/item_base.html:406 templates/js/stock.js:975
msgid "Last Updated"
msgstr "Zuletzt aktualisiert"
@@ -5819,42 +5872,42 @@ msgstr "Alle BestandsObjekte"
msgid "Check-in Items"
msgstr "Teile einchecken"
-#: stock/templates/stock/location.html:71
+#: stock/templates/stock/location.html:83
msgid "Location actions"
msgstr "Lagerort-Aktionen"
-#: stock/templates/stock/location.html:73
+#: stock/templates/stock/location.html:85
msgid "Edit location"
msgstr "Lagerort bearbeiten"
-#: stock/templates/stock/location.html:75
+#: stock/templates/stock/location.html:87
msgid "Delete location"
msgstr "Lagerort löschen"
-#: stock/templates/stock/location.html:87
+#: stock/templates/stock/location.html:99
msgid "Location Details"
msgstr "Lagerort-Details"
-#: stock/templates/stock/location.html:92
+#: stock/templates/stock/location.html:104
msgid "Location Path"
msgstr "Lagerort-Pfad"
-#: stock/templates/stock/location.html:97
+#: stock/templates/stock/location.html:109
msgid "Location Description"
msgstr "Lagerort-Beschreibung"
-#: stock/templates/stock/location.html:102
+#: stock/templates/stock/location.html:114
#: stock/templates/stock/location_navbar.html:11
#: stock/templates/stock/location_navbar.html:18
#: stock/templates/stock/sublocation.html:16
msgid "Sublocations"
msgstr "Unter-Lagerorte"
-#: stock/templates/stock/location.html:112
+#: stock/templates/stock/location.html:124
msgid "Stock Details"
msgstr "Objekt-Details"
-#: stock/templates/stock/location.html:117 templates/InvenTree/search.html:279
+#: stock/templates/stock/location.html:129 templates/InvenTree/search.html:279
#: templates/stats.html:97 users/models.py:42
msgid "Stock Locations"
msgstr "Bestand-Lagerorte"
@@ -5895,7 +5948,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:1217
+#: stock/templates/stock/stockitem_convert.html:7 stock/views.py:880
msgid "Convert Stock Item"
msgstr "BestandsObjekt umwandeln"
@@ -5928,8 +5981,7 @@ msgstr "Sind Sie sicher, dass Sie diesen BestandsObjekt-Verfolgungs-Eintrag lös
msgid "Edit Stock Location"
msgstr "BestandsObjekt-Lagerort bearbeiten"
-#: stock/views.py:253 stock/views.py:1196 stock/views.py:1318
-#: stock/views.py:1683
+#: stock/views.py:253 stock/views.py:859 stock/views.py:981 stock/views.py:1346
msgid "Owner is required (ownership control is enabled)"
msgstr "Eigentümer notwendig (Eigentümerkontrolle aktiv)"
@@ -5985,129 +6037,43 @@ msgstr "BestandsObjekte deinstallieren"
msgid "Uninstalled stock items"
msgstr "BestandsObjekte deinstalliert"
-#: stock/views.py:764
-msgid "Adjust Stock"
-msgstr "Lagerbestand anpassen"
-
-#: stock/views.py:840
-msgid "Move Stock Items"
-msgstr "BestandsObjekte bewegen"
-
-#: stock/views.py:840
-msgid "Move"
-msgstr "Verschieben"
-
-#: stock/views.py:841
-msgid "Count Stock Items"
-msgstr "BestandsObjekte zählen"
-
-#: stock/views.py:841
-msgid "Count"
-msgstr "Anzahl"
-
-#: stock/views.py:842
-msgid "Remove From Stock"
-msgstr "Aus Lagerbestand entfernen"
-
-#: stock/views.py:842
-msgid "Take"
-msgstr "Entfernen"
-
-#: stock/views.py:843
-msgid "Add Stock Items"
-msgstr "BestandsObjekte hinzufügen"
-
-#: stock/views.py:843 users/models.py:189
-msgid "Add"
-msgstr "Hinzufügen"
-
-#: stock/views.py:844
-msgid "Delete Stock Items"
-msgstr "BestandsObjekte löschen"
-
-#: stock/views.py:910
-msgid "Must enter integer value"
-msgstr "Nur Ganzzahl eingeben"
-
-#: stock/views.py:915
-msgid "Quantity must be positive"
-msgstr "Anzahl muss positiv sein"
-
-#: stock/views.py:922
-#, python-brace-format
-msgid "Quantity must not exceed {x}"
-msgstr "Anzahl darf {x} nicht überschreiten"
-
-#: stock/views.py:986
-msgid "No action performed"
-msgstr "Keine Aktion durchgeführt"
-
-#: stock/views.py:1000
-#, python-brace-format
-msgid "Added stock to {n} items"
-msgstr "Vorrat zu {n} BestandsObjekten hinzugefügt"
-
-#: stock/views.py:1014
-#, python-brace-format
-msgid "Removed stock from {n} items"
-msgstr "Vorrat von {n} BestandsObjekten entfernt"
-
-#: stock/views.py:1026
-#, python-brace-format
-msgid "Counted stock for {n} items"
-msgstr "Bestand für {n} Objekte erfasst"
-
-#: stock/views.py:1064
-msgid "No items were moved"
-msgstr "Keine BestandsObjekt wurden bewegt"
-
-#: stock/views.py:1067
-#, python-brace-format
-msgid "Moved {n} items to {dest}"
-msgstr "{n} Teile nach {dest} bewegt"
-
-#: stock/views.py:1086
-#, python-brace-format
-msgid "Deleted {n} stock items"
-msgstr "{n} BestandsObjekte gelöscht"
-
-#: stock/views.py:1098
+#: stock/views.py:761
msgid "Edit Stock Item"
msgstr "BestandsObjekt bearbeiten"
-#: stock/views.py:1335
+#: stock/views.py:998
msgid "Serialize Stock"
msgstr "Lagerbestand erfassen"
-#: stock/views.py:1428 templates/js/build.js:365
+#: stock/views.py:1091 templates/js/build.js:365
msgid "Create new Stock Item"
msgstr "Neues BestandsObjekt hinzufügen"
-#: stock/views.py:1570
+#: stock/views.py:1233
msgid "Duplicate Stock Item"
msgstr "Bestand duplizieren"
-#: stock/views.py:1652
+#: stock/views.py:1315
msgid "Quantity cannot be negative"
msgstr "Anzahl kann nicht negativ sein"
-#: stock/views.py:1752
+#: stock/views.py:1415
msgid "Delete Stock Location"
msgstr "Bestand-Lagerort löschen"
-#: stock/views.py:1765
+#: stock/views.py:1428
msgid "Delete Stock Item"
msgstr "BestandsObjekt löschen"
-#: stock/views.py:1776
+#: stock/views.py:1439
msgid "Delete Stock Tracking Entry"
msgstr "Lagerbestands-Tracking-Eintrag löschen"
-#: stock/views.py:1783
+#: stock/views.py:1446
msgid "Edit Stock Tracking Entry"
msgstr "Lagerbestands-Tracking-Eintrag bearbeiten"
-#: stock/views.py:1792
+#: stock/views.py:1455
msgid "Add Stock Tracking Entry"
msgstr "Lagerbestands-Tracking-Eintrag hinzufügen"
@@ -6191,11 +6157,11 @@ msgstr "Suchergebnisse"
msgid "Enter a search query"
msgstr "Eine Sucheanfrage eingeben"
-#: templates/InvenTree/search.html:268 templates/js/stock.js:303
+#: templates/InvenTree/search.html:268 templates/js/stock.js:570
msgid "Shipped to customer"
msgstr "an Kunde versand"
-#: templates/InvenTree/search.html:271 templates/js/stock.js:313
+#: templates/InvenTree/search.html:271 templates/js/stock.js:580
msgid "No stock location set"
msgstr "Kein Lagerort gesetzt"
@@ -6473,9 +6439,9 @@ msgstr "In die Zwischenablage kopieren"
msgid "copy version information"
msgstr "Versionsinformationen kopieren"
-#: templates/about.html:100 templates/js/modals.js:34
-#: templates/js/modals.js:675 templates/js/modals.js:968
-#: templates/modals.html:29 templates/modals.html:54 templates/modals.html:97
+#: templates/about.html:100 templates/js/modals.js:33
+#: templates/js/modals.js:567 templates/js/modals.js:661
+#: templates/js/modals.js:954 templates/modals.html:29 templates/modals.html:54
msgid "Close"
msgstr "Schliessen"
@@ -6495,6 +6461,66 @@ 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/api.js:154 templates/js/modals.js:1024
+msgid "No Response"
+msgstr "Keine Antwort"
+
+#: templates/js/api.js:155 templates/js/modals.js:1025
+msgid "No response from the InvenTree server"
+msgstr "keine Antwort vom InvenTree Server"
+
+#: templates/js/api.js:160
+#, fuzzy
+#| msgid "Error 400: Bad Request"
+msgid "Error 400: Bad request"
+msgstr "Fehler 400: Ungültige Anfrage"
+
+#: templates/js/api.js:161
+#, fuzzy
+#| msgid "Server returned error code 400"
+msgid "API request returned error code 400"
+msgstr "Fehler 400 von Server erhalten"
+
+#: templates/js/api.js:164 templates/js/modals.js:1034
+msgid "Error 401: Not Authenticated"
+msgstr "Fehler 401: Nicht Angemeldet"
+
+#: templates/js/api.js:165 templates/js/modals.js:1035
+msgid "Authentication credentials not supplied"
+msgstr "Authentication Kredentials nicht angegeben"
+
+#: templates/js/api.js:168 templates/js/modals.js:1039
+msgid "Error 403: Permission Denied"
+msgstr "Fehler 403: keine Berechtigung"
+
+#: templates/js/api.js:169 templates/js/modals.js:1040
+msgid "You do not have the required permissions to access this function"
+msgstr "Fehlende Berechtigung für diese Aktion"
+
+#: templates/js/api.js:172 templates/js/modals.js:1044
+msgid "Error 404: Resource Not Found"
+msgstr "Fehler 404: Ressource nicht gefunden"
+
+#: templates/js/api.js:173 templates/js/modals.js:1045
+msgid "The requested resource could not be located on the server"
+msgstr "Die angefragte Ressource kann auf diesem Server nicht gefunden werden"
+
+#: templates/js/api.js:176 templates/js/modals.js:1049
+msgid "Error 408: Timeout"
+msgstr "Fehler 408: Zeitüberschreitung"
+
+#: templates/js/api.js:177 templates/js/modals.js:1050
+msgid "Connection timeout while requesting data from server"
+msgstr "Verbindungszeitüberschreitung bei der Datenanforderung"
+
+#: templates/js/api.js:180
+msgid "Unhandled Error Code"
+msgstr ""
+
+#: templates/js/api.js:181
+msgid "Error code"
+msgstr ""
+
#: templates/js/attachment.js:16
msgid "No attachments found"
msgstr ""
@@ -6539,7 +6565,7 @@ msgstr "Server-Fehler"
msgid "Unknown response from server"
msgstr "Unbekannte Antwort von Server erhalten"
-#: templates/js/barcode.js:119 templates/js/modals.js:1028
+#: templates/js/barcode.js:119 templates/js/modals.js:1014
msgid "Invalid server response"
msgstr "Ungültige Antwort von Server"
@@ -6563,7 +6589,7 @@ msgstr "Dadurch wird die Verknüpfung zwischen diesem BestandsObjekt und dem Bar
msgid "Unlink"
msgstr "Entfernen"
-#: templates/js/barcode.js:376
+#: templates/js/barcode.js:376 templates/js/stock.js:161
msgid "Remove stock item"
msgstr "BestandsObjekt entfernen"
@@ -6701,7 +6727,7 @@ msgid "No builds matching query"
msgstr "Keine Bauaufträge passen zur Anfrage"
#: templates/js/build.js:840 templates/js/part.js:491 templates/js/part.js:736
-#: templates/js/stock.js:514 templates/js/stock.js:989
+#: templates/js/stock.js:825 templates/js/stock.js:1276
msgid "Select"
msgstr "Auswählen"
@@ -6709,7 +6735,7 @@ msgstr "Auswählen"
msgid "Build order is overdue"
msgstr "Bauauftrag ist überfällig"
-#: templates/js/build.js:924 templates/js/stock.js:1211
+#: templates/js/build.js:924 templates/js/stock.js:1498
msgid "No user information"
msgstr "Keine Benutzerinformation"
@@ -6836,63 +6862,19 @@ msgstr ""
msgid "View operation not allowed"
msgstr ""
-#: templates/js/forms.js:587 templates/js/modals.js:1038
-msgid "No Response"
-msgstr "Keine Antwort"
-
-#: templates/js/forms.js:588 templates/js/modals.js:1039
-msgid "No response from the InvenTree server"
-msgstr "keine Antwort vom InvenTree Server"
-
-#: templates/js/forms.js:594 templates/js/modals.js:1048
-msgid "Error 401: Not Authenticated"
-msgstr "Fehler 401: Nicht Angemeldet"
-
-#: templates/js/forms.js:595 templates/js/modals.js:1049
-msgid "Authentication credentials not supplied"
-msgstr "Authentication Kredentials nicht angegeben"
-
-#: templates/js/forms.js:601 templates/js/modals.js:1053
-msgid "Error 403: Permission Denied"
-msgstr "Fehler 403: keine Berechtigung"
-
-#: templates/js/forms.js:602 templates/js/modals.js:1054
-msgid "You do not have the required permissions to access this function"
-msgstr "Fehlende Berechtigung für diese Aktion"
-
-#: templates/js/forms.js:608 templates/js/modals.js:1058
-msgid "Error 404: Resource Not Found"
-msgstr "Fehler 404: Ressource nicht gefunden"
-
-#: templates/js/forms.js:609 templates/js/modals.js:1059
-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:615 templates/js/modals.js:1063
-msgid "Error 408: Timeout"
-msgstr "Fehler 408: Zeitüberschreitung"
-
-#: templates/js/forms.js:616 templates/js/modals.js:1064
-msgid "Connection timeout while requesting data from server"
-msgstr "Verbindungszeitüberschreitung bei der Datenanforderung"
-
-#: templates/js/forms.js:622 templates/js/modals.js:1067
-msgid "Error requesting form data"
-msgstr "Fehler bei Formulardaten-Anfrage"
-
-#: templates/js/forms.js:815 templates/modals.html:21 templates/modals.html:47
+#: templates/js/forms.js:797 templates/modals.html:21 templates/modals.html:47
msgid "Form errors exist"
msgstr "Fehler in Formular"
-#: templates/js/forms.js:1188
+#: templates/js/forms.js:1164
msgid "Searching"
msgstr ""
-#: templates/js/forms.js:1338
+#: templates/js/forms.js:1314
msgid "Clear input"
msgstr ""
-#: templates/js/label.js:10 templates/js/report.js:98
+#: templates/js/label.js:10 templates/js/report.js:98 templates/js/stock.js:185
msgid "Select Stock Items"
msgstr "BestandsObjekte auswählen"
@@ -6945,12 +6927,12 @@ msgid "Select Label Template"
msgstr "Label-Vorlage auswählen"
#: templates/js/modals.js:59 templates/js/modals.js:103
-#: templates/js/modals.js:599 templates/modals.html:75
+#: templates/js/modals.js:593
msgid "Cancel"
msgstr "abbrechen"
#: templates/js/modals.js:60 templates/js/modals.js:102
-#: templates/js/modals.js:674 templates/js/modals.js:967
+#: templates/js/modals.js:660 templates/js/modals.js:953
#: templates/modals.html:30 templates/modals.html:55
msgid "Submit"
msgstr "Abschicken"
@@ -6959,46 +6941,50 @@ msgstr "Abschicken"
msgid "Form Title"
msgstr ""
-#: templates/js/modals.js:372
+#: templates/js/modals.js:380
msgid "Waiting for server..."
msgstr "Warte auf Server..."
-#: templates/js/modals.js:531
+#: templates/js/modals.js:539
msgid "Show Error Information"
msgstr "Fehler-Informationen anzeigen"
-#: templates/js/modals.js:598 templates/modals.html:76
+#: templates/js/modals.js:592
msgid "Accept"
msgstr "Akzeptieren"
-#: templates/js/modals.js:663
+#: templates/js/modals.js:649
msgid "Loading Data"
msgstr "Lade Daten"
-#: templates/js/modals.js:918
+#: templates/js/modals.js:904
msgid "Invalid response from server"
msgstr "ungültige Antwort vom Server"
-#: templates/js/modals.js:918
+#: templates/js/modals.js:904
msgid "Form data missing from server response"
msgstr "Formulardaten fehlen bei Serverantwort"
-#: templates/js/modals.js:931
+#: templates/js/modals.js:917
msgid "Error posting form data"
msgstr "Formulardaten fehlerhaft"
-#: templates/js/modals.js:1028
+#: templates/js/modals.js:1014
msgid "JSON response missing form data"
msgstr "JSON Antwort enthält keine Formulardaten"
-#: templates/js/modals.js:1043
+#: templates/js/modals.js:1029
msgid "Error 400: Bad Request"
msgstr "Fehler 400: Ungültige Anfrage"
-#: templates/js/modals.js:1044
+#: templates/js/modals.js:1030
msgid "Server returned error code 400"
msgstr "Fehler 400 von Server erhalten"
+#: templates/js/modals.js:1053
+msgid "Error requesting form data"
+msgstr "Fehler bei Formulardaten-Anfrage"
+
#: templates/js/model_renderers.js:38
msgid "Company ID"
msgstr ""
@@ -7087,7 +7073,7 @@ msgstr "Keine Kategorie"
msgid "Low stock"
msgstr "Bestand niedrig"
-#: templates/js/part.js:761 templates/js/stock.js:1013
+#: templates/js/part.js:761 templates/js/stock.js:1300
msgid "Path"
msgstr "Pfad"
@@ -7095,11 +7081,11 @@ msgstr "Pfad"
msgid "No test templates matching query"
msgstr "Keine zur Anfrage passenden Testvorlagen"
-#: templates/js/part.js:855 templates/js/stock.js:75
+#: templates/js/part.js:855 templates/js/stock.js:384
msgid "Edit test result"
msgstr "Testergebnis bearbeiten"
-#: templates/js/part.js:856 templates/js/stock.js:76
+#: templates/js/part.js:856 templates/js/stock.js:385
msgid "Delete test result"
msgstr "Testergebnis löschen"
@@ -7192,179 +7178,251 @@ msgstr "Aufträge auswählen"
msgid "Sales Order(s) must be selected before printing report"
msgstr "Auftrag muss vor dem Berichtsdruck ausgewählt werden"
-#: templates/js/stock.js:38
+#: templates/js/stock.js:39
+#, fuzzy
+#| msgid "Transfer stock"
+msgid "Transfer Stock"
+msgstr "Bestand verschieben"
+
+#: templates/js/stock.js:40
+msgid "Move"
+msgstr "Verschieben"
+
+#: templates/js/stock.js:46
+#, fuzzy
+#| msgid "Count stock"
+msgid "Count Stock"
+msgstr "Bestand zählen"
+
+#: templates/js/stock.js:47
+msgid "Count"
+msgstr "Anzahl"
+
+#: templates/js/stock.js:51
+#, fuzzy
+#| msgid "Remove stock"
+msgid "Remove Stock"
+msgstr "Bestand entfernen"
+
+#: templates/js/stock.js:52
+msgid "Take"
+msgstr "Entfernen"
+
+#: templates/js/stock.js:56
+#, fuzzy
+#| msgid "Add stock"
+msgid "Add Stock"
+msgstr "Bestand hinzufügen"
+
+#: templates/js/stock.js:57 users/models.py:189
+msgid "Add"
+msgstr "Hinzufügen"
+
+#: templates/js/stock.js:61 templates/stock_table.html:63
+msgid "Delete Stock"
+msgstr "Bestand löschen"
+
+#: templates/js/stock.js:150
+#, fuzzy
+#| msgid "Quantity must be 1 for serialized stock"
+msgid "Quantity cannot be adjusted for serialized stock"
+msgstr "Anzahl muss 1 für Objekte mit Seriennummer sein"
+
+#: templates/js/stock.js:150
+#, fuzzy
+#| msgid "Stock Quantity"
+msgid "Specify stock quantity"
+msgstr "Bestand"
+
+#: templates/js/stock.js:186
+msgid "You must select at least one available stock item"
+msgstr ""
+
+#: templates/js/stock.js:202
+#, fuzzy
+#| msgid "Destination stock location"
+msgid "Select destination stock location"
+msgstr "Ziel-Lagerbestand"
+
+#: templates/js/stock.js:210
+#, fuzzy
+#| msgid "Stock actions"
+msgid "Stock transaction notes"
+msgstr "Bestands-Aktionen"
+
+#: templates/js/stock.js:347
msgid "PASS"
msgstr "ERFOLGREICH"
-#: templates/js/stock.js:40
+#: templates/js/stock.js:349
msgid "FAIL"
msgstr "FEHLGESCHLAGEN"
-#: templates/js/stock.js:45
+#: templates/js/stock.js:354
msgid "NO RESULT"
msgstr "KEIN ERGEBNIS"
-#: templates/js/stock.js:71
+#: templates/js/stock.js:380
msgid "Add test result"
msgstr "Testergebnis hinzufügen"
-#: templates/js/stock.js:97
+#: templates/js/stock.js:406
msgid "No test results found"
msgstr "Keine Testergebnisse gefunden"
-#: templates/js/stock.js:145
+#: templates/js/stock.js:454
msgid "Test Date"
msgstr "Testdatum"
-#: templates/js/stock.js:295
+#: templates/js/stock.js:562
msgid "In production"
msgstr "In Arbeit"
-#: templates/js/stock.js:299
+#: templates/js/stock.js:566
msgid "Installed in Stock Item"
msgstr "In BestandsObjekt installiert"
-#: templates/js/stock.js:307
+#: templates/js/stock.js:574
msgid "Assigned to Sales Order"
msgstr "Auftrag zugewiesen"
-#: templates/js/stock.js:339
+#: templates/js/stock.js:650
msgid "No stock items matching query"
msgstr "Keine zur Anfrage passenden BestandsObjekte"
-#: templates/js/stock.js:360
+#: templates/js/stock.js:671
msgid "items"
msgstr "Teile"
-#: templates/js/stock.js:452
+#: templates/js/stock.js:763
msgid "batches"
msgstr "lose"
-#: templates/js/stock.js:479
+#: templates/js/stock.js:790
msgid "locations"
msgstr "Lagerorte"
-#: templates/js/stock.js:481
+#: templates/js/stock.js:792
msgid "Undefined location"
msgstr "unbekannter Lagerort"
-#: templates/js/stock.js:582
+#: templates/js/stock.js:893
msgid "Stock item is in production"
msgstr "BestandsObjekt wird produziert"
-#: templates/js/stock.js:587
+#: templates/js/stock.js:898
msgid "Stock item assigned to sales order"
msgstr "BestandsObjekt wurde Auftrag zugewiesen"
-#: templates/js/stock.js:590
+#: templates/js/stock.js:901
msgid "Stock item assigned to customer"
msgstr "BestandsObjekt wurde Kunden zugewiesen"
-#: templates/js/stock.js:594
+#: templates/js/stock.js:905
msgid "Stock item has expired"
msgstr "BestandsObjekt ist abgelaufen"
-#: templates/js/stock.js:596
+#: templates/js/stock.js:907
msgid "Stock item will expire soon"
msgstr "BestandsObjekt läuft demnächst ab"
-#: templates/js/stock.js:600
+#: templates/js/stock.js:911
msgid "Stock item has been allocated"
msgstr "BestandsObjekt zugewiesen"
-#: templates/js/stock.js:604
+#: templates/js/stock.js:915
msgid "Stock item has been installed in another item"
msgstr "BestandsObjekt in anderem Element verbaut"
-#: templates/js/stock.js:611
+#: templates/js/stock.js:922
msgid "Stock item has been rejected"
msgstr "BestandsObjekt abgewiesen"
-#: templates/js/stock.js:615
+#: templates/js/stock.js:926
msgid "Stock item is lost"
msgstr "BestandsObjekt verloren"
-#: templates/js/stock.js:618
+#: templates/js/stock.js:929
msgid "Stock item is destroyed"
msgstr "BestandsObjekt zerstört"
-#: templates/js/stock.js:622 templates/js/table_filters.js:147
+#: templates/js/stock.js:933 templates/js/table_filters.js:147
msgid "Depleted"
msgstr "gelöscht"
-#: templates/js/stock.js:651
+#: templates/js/stock.js:962
msgid "Stocktake"
msgstr "Inventur"
-#: templates/js/stock.js:705
+#: templates/js/stock.js:1016
msgid "Supplier part not specified"
msgstr ""
-#: templates/js/stock.js:876
+#: templates/js/stock.js:1163
msgid "Stock Status"
msgstr "Status"
-#: templates/js/stock.js:891
+#: templates/js/stock.js:1178
msgid "Set Stock Status"
msgstr "Status setzen"
-#: templates/js/stock.js:905
+#: templates/js/stock.js:1192
msgid "Select Status Code"
msgstr "Status Code setzen"
-#: templates/js/stock.js:906
+#: templates/js/stock.js:1193
msgid "Status code must be selected"
msgstr "Status Code muss ausgewählt werden"
-#: templates/js/stock.js:1045
+#: templates/js/stock.js:1332
msgid "Invalid date"
msgstr "Ungültiges Datum"
-#: templates/js/stock.js:1092
+#: templates/js/stock.js:1379
msgid "Location no longer exists"
msgstr "Standort nicht mehr vorhanden"
-#: templates/js/stock.js:1111
+#: templates/js/stock.js:1398
msgid "Purchase order no longer exists"
msgstr "Bestellung existiert nicht mehr"
-#: templates/js/stock.js:1130
+#: templates/js/stock.js:1417
msgid "Customer no longer exists"
msgstr "Kunde existiert nicht mehr"
-#: templates/js/stock.js:1148
+#: templates/js/stock.js:1435
msgid "Stock item no longer exists"
msgstr "Lagerbestand existiert nicht mehr"
-#: templates/js/stock.js:1171
+#: templates/js/stock.js:1458
msgid "Added"
msgstr "Hinzugefügt"
-#: templates/js/stock.js:1179
+#: templates/js/stock.js:1466
msgid "Removed"
msgstr "Entfernt"
-#: templates/js/stock.js:1223
+#: templates/js/stock.js:1510
msgid "Edit tracking entry"
msgstr "Tracking-Eintrag bearbeiten"
-#: templates/js/stock.js:1224
+#: templates/js/stock.js:1511
msgid "Delete tracking entry"
msgstr "Tracking-Eintrag löschen"
-#: templates/js/stock.js:1348
+#: templates/js/stock.js:1635
msgid "Create New Location"
msgstr "Neuen Lagerort anlegen"
-#: templates/js/stock.js:1389
+#: templates/js/stock.js:1676
msgid "No installed items"
msgstr "Keine installierten Elemente"
-#: templates/js/stock.js:1412
+#: templates/js/stock.js:1699
msgid "Serial"
msgstr "Seriennummer"
-#: templates/js/stock.js:1440
+#: templates/js/stock.js:1727
msgid "Uninstall Stock Item"
msgstr "Lagerbestand entfernen"
@@ -7795,10 +7853,6 @@ msgstr "Status ändern"
msgid "Delete selected items"
msgstr "Ausgewählte Positionen löschen"
-#: templates/stock_table.html:63
-msgid "Delete Stock"
-msgstr "Bestand löschen"
-
#: templates/yesnolabel.html:4
msgid "Yes"
msgstr "Ja"
@@ -7862,3 +7916,51 @@ msgstr "Berechtigungen Einträge zu ändern"
#: users/models.py:193
msgid "Permission to delete items"
msgstr "Berechtigung Einträge zu löschen"
+
+#~ msgid "Adjust Stock"
+#~ msgstr "Lagerbestand anpassen"
+
+#~ msgid "Move Stock Items"
+#~ msgstr "BestandsObjekte bewegen"
+
+#~ msgid "Count Stock Items"
+#~ msgstr "BestandsObjekte zählen"
+
+#~ msgid "Remove From Stock"
+#~ msgstr "Aus Lagerbestand entfernen"
+
+#~ msgid "Add Stock Items"
+#~ msgstr "BestandsObjekte hinzufügen"
+
+#~ msgid "Delete Stock Items"
+#~ msgstr "BestandsObjekte löschen"
+
+#~ msgid "Must enter integer value"
+#~ msgstr "Nur Ganzzahl eingeben"
+
+#~ msgid "Quantity must be positive"
+#~ msgstr "Anzahl muss positiv sein"
+
+#~ msgid "Quantity must not exceed {x}"
+#~ msgstr "Anzahl darf {x} nicht überschreiten"
+
+#~ msgid "No action performed"
+#~ msgstr "Keine Aktion durchgeführt"
+
+#~ msgid "Added stock to {n} items"
+#~ msgstr "Vorrat zu {n} BestandsObjekten hinzugefügt"
+
+#~ msgid "Removed stock from {n} items"
+#~ msgstr "Vorrat von {n} BestandsObjekten entfernt"
+
+#~ msgid "Counted stock for {n} items"
+#~ msgstr "Bestand für {n} Objekte erfasst"
+
+#~ msgid "No items were moved"
+#~ msgstr "Keine BestandsObjekt wurden bewegt"
+
+#~ msgid "Moved {n} items to {dest}"
+#~ msgstr "{n} Teile nach {dest} bewegt"
+
+#~ msgid "Deleted {n} stock items"
+#~ msgstr "{n} BestandsObjekte gelöscht"
diff --git a/InvenTree/locale/en/LC_MESSAGES/django.po b/InvenTree/locale/en/LC_MESSAGES/django.po
index 4dc9046e79..7e8c6b13e2 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-12 11:35+0000\n"
+"POT-Creation-Date: 2021-07-12 12:18+0000\n"
"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
"Last-Translator: FULL NAME \n"
"Language-Team: LANGUAGE \n"
@@ -37,7 +37,7 @@ 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:30 order/forms.py:41 order/forms.py:52 order/forms.py:63
-#: order/forms.py:74 part/forms.py:119 templates/js/forms.js:486
+#: order/forms.py:74 part/forms.py:119 templates/js/forms.js:506
msgid "Confirm"
msgstr ""
@@ -79,7 +79,7 @@ msgid "Duplicate serial: {n}"
msgstr ""
#: InvenTree/helpers.py:403 order/models.py:315 order/models.py:425
-#: stock/views.py:1648
+#: stock/views.py:1311
msgid "Invalid quantity provided"
msgstr ""
@@ -125,7 +125,7 @@ msgstr ""
#: InvenTree/models.py:70 InvenTree/models.py:71 part/models.py:2042
#: report/templates/report/inventree_test_report_base.html:91
-#: templates/js/stock.js:1202
+#: templates/js/stock.js:1489
msgid "User"
msgstr ""
@@ -142,7 +142,7 @@ msgstr ""
#: report/models.py:181 templates/InvenTree/search.html:137
#: templates/InvenTree/search.html:289 templates/js/company.js:365
#: templates/js/part.js:118 templates/js/part.js:251 templates/js/part.js:743
-#: templates/js/stock.js:995
+#: templates/js/stock.js:1282
msgid "Name"
msgstr ""
@@ -165,8 +165,8 @@ msgstr ""
#: templates/js/company.js:561 templates/js/order.js:245
#: templates/js/order.js:347 templates/js/part.js:177 templates/js/part.js:361
#: templates/js/part.js:538 templates/js/part.js:755 templates/js/part.js:823
-#: templates/js/stock.js:557 templates/js/stock.js:1007
-#: templates/js/stock.js:1052
+#: templates/js/stock.js:868 templates/js/stock.js:1294
+#: templates/js/stock.js:1339
msgid "Description"
msgstr ""
@@ -497,8 +497,8 @@ msgstr ""
#: templates/js/bom.js:205 templates/js/build.js:271 templates/js/build.js:606
#: templates/js/build.js:1172 templates/js/model_renderers.js:56
#: templates/js/order.js:460 templates/js/part.js:928 templates/js/part.js:1050
-#: templates/js/part.js:1106 templates/js/stock.js:1187
-#: templates/js/stock.js:1406
+#: templates/js/part.js:1106 templates/js/stock.js:1474
+#: templates/js/stock.js:1693
msgid "Quantity"
msgstr ""
@@ -543,8 +543,9 @@ msgstr ""
#: stock/templates/stock/stock_adjust.html:17
#: templates/InvenTree/search.html:260 templates/js/barcode.js:363
#: templates/js/barcode.js:531 templates/js/build.js:256
-#: templates/js/build.js:620 templates/js/order.js:445
-#: templates/js/stock.js:643 templates/js/stock.js:1079
+#: templates/js/build.js:620 templates/js/order.js:445 templates/js/stock.js:75
+#: templates/js/stock.js:201 templates/js/stock.js:954
+#: templates/js/stock.js:1366
msgid "Location"
msgstr ""
@@ -558,8 +559,8 @@ msgstr ""
#: stock/templates/stock/item_base.html:420 templates/InvenTree/search.html:252
#: templates/js/barcode.js:119 templates/js/build.js:902
#: templates/js/order.js:249 templates/js/order.js:352
-#: templates/js/stock.js:630 templates/js/stock.js:1156
-#: templates/js/stock.js:1422
+#: templates/js/stock.js:941 templates/js/stock.js:1443
+#: templates/js/stock.js:1709
msgid "Status"
msgstr ""
@@ -660,8 +661,8 @@ msgstr ""
#: templates/js/build.js:586 templates/js/build.js:873
#: templates/js/build.js:1139 templates/js/company.js:264
#: templates/js/company.js:470 templates/js/part.js:342
-#: templates/js/part.js:505 templates/js/stock.js:526
-#: templates/js/stock.js:1394
+#: templates/js/part.js:505 templates/js/stock.js:73 templates/js/stock.js:837
+#: templates/js/stock.js:1681
msgid "Part"
msgstr ""
@@ -709,7 +710,7 @@ msgstr ""
msgid "Number of stock items which have been completed"
msgstr ""
-#: build/models.py:249 part/templates/part/part_base.html:167
+#: build/models.py:249 part/templates/part/part_base.html:183
msgid "Build Status"
msgstr ""
@@ -767,7 +768,7 @@ msgstr ""
#: 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
+#: part/templates/part/detail.html:83 part/templates/part/part_base.html:110
#: stock/models.py:464 stock/templates/stock/item_base.html:357
msgid "External Link"
msgstr ""
@@ -792,7 +793,8 @@ msgstr ""
#: 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/company.js:566
-#: templates/js/stock.js:141 templates/js/stock.js:722
+#: templates/js/stock.js:209 templates/js/stock.js:450
+#: templates/js/stock.js:1033
msgid "Notes"
msgstr ""
@@ -858,7 +860,7 @@ msgstr ""
#: stock/templates/stock/stock_adjust.html:16 templates/js/build.js:244
#: templates/js/build.js:249 templates/js/build.js:993
#: templates/js/order.js:433 templates/js/order.js:438
-#: templates/js/stock.js:1138
+#: templates/js/stock.js:1425
msgid "Stock Item"
msgstr ""
@@ -1243,8 +1245,8 @@ msgid "Destination location not specified"
msgstr ""
#: build/templates/build/detail.html:70
-#: stock/templates/stock/item_base.html:315 templates/js/stock.js:638
-#: templates/js/stock.js:1429 templates/js/table_filters.js:116
+#: stock/templates/stock/item_base.html:315 templates/js/stock.js:949
+#: templates/js/stock.js:1716 templates/js/table_filters.js:116
#: templates/js/table_filters.js:210
msgid "Batch"
msgstr ""
@@ -1299,7 +1301,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:1067
+#: templates/js/stock.js:1354
msgid "Details"
msgstr ""
@@ -1363,7 +1365,7 @@ msgstr ""
msgid "Maximum output quantity is "
msgstr ""
-#: build/views.py:184 stock/views.py:1674
+#: build/views.py:184 stock/views.py:1337
msgid "Serial numbers already exist"
msgstr ""
@@ -2117,7 +2119,7 @@ msgstr ""
#: report/templates/report/inventree_test_report_base.html:90
#: stock/models.py:1771 templates/InvenTree/settings/header.html:8
#: templates/js/company.js:371 templates/js/part.js:260
-#: templates/js/stock.js:137
+#: templates/js/stock.js:446
msgid "Value"
msgstr ""
@@ -2190,7 +2192,7 @@ msgstr ""
#: company/models.py:566 company/templates/company/supplier_part_base.html:109
#: stock/models.py:435 stock/templates/stock/item_base.html:322
-#: templates/js/company.js:571 templates/js/stock.js:718
+#: templates/js/company.js:571 templates/js/stock.js:1029
msgid "Packaging"
msgstr ""
@@ -2260,7 +2262,7 @@ msgid "Phone"
msgstr ""
#: company/templates/company/company_base.html:166
-#: part/templates/part/part_base.html:311
+#: part/templates/part/part_base.html:347
msgid "Upload Image"
msgstr ""
@@ -2280,7 +2282,7 @@ msgstr ""
#: order/templates/order/sales_order_base.html:94 stock/models.py:453
#: stock/models.py:454 stock/templates/stock/item_base.html:274
#: templates/js/company.js:109 templates/js/order.js:329
-#: templates/js/stock.js:1120
+#: templates/js/stock.js:1407
msgid "Customer"
msgstr ""
@@ -2326,7 +2328,7 @@ msgstr ""
#: company/templates/company/detail_manufacturer_part.html:68
#: company/templates/company/detail_supplier_part.html:66
#: part/templates/part/bom.html:166 part/templates/part/category.html:127
-#: templates/js/stock.js:1335
+#: templates/js/stock.js:1622
msgid "New Part"
msgstr ""
@@ -2352,7 +2354,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:55 stock/templates/stock/location.html:163
+#: part/templates/part/stock.html:55 stock/templates/stock/location.html:175
msgid "Export"
msgstr ""
@@ -2364,14 +2366,14 @@ msgstr ""
#: company/templates/company/detail_supplier_part.html:21
#: order/templates/order/order_wizard/select_parts.html:44
-#: part/templates/part/part_base.html:433
+#: part/templates/part/part_base.html:469
msgid "Create new supplier part"
msgstr ""
#: company/templates/company/detail_supplier_part.html:22
#: company/templates/company/manufacturer_part_suppliers.html:17
-#: part/templates/part/part_base.html:432 part/templates/part/supplier.html:18
-#: templates/js/stock.js:1341
+#: part/templates/part/part_base.html:468 part/templates/part/supplier.html:18
+#: templates/js/stock.js:1628
msgid "New Supplier Part"
msgstr ""
@@ -2392,7 +2394,7 @@ msgstr ""
#: company/templates/company/manufacturer_part_base.html:36
#: company/templates/company/supplier_part_base.html:36
#: company/templates/company/supplier_part_orders.html:17
-#: part/templates/part/orders.html:17 part/templates/part/part_base.html:58
+#: part/templates/part/orders.html:17 part/templates/part/part_base.html:74
msgid "Order part"
msgstr ""
@@ -2445,8 +2447,8 @@ msgstr ""
#: templates/InvenTree/index.html:128 templates/InvenTree/search.html:196
#: templates/InvenTree/search.html:232
#: templates/InvenTree/settings/tabs.html:31 templates/js/part.js:181
-#: templates/js/part.js:406 templates/js/part.js:566 templates/js/stock.js:566
-#: templates/navbar.html:26
+#: templates/js/part.js:406 templates/js/part.js:566 templates/js/stock.js:74
+#: templates/js/stock.js:877 templates/navbar.html:26
msgid "Stock"
msgstr ""
@@ -2468,8 +2470,8 @@ msgstr ""
#: company/templates/company/manufacturer_part_suppliers.html:48
#: company/templates/company/manufacturer_part_suppliers.html:142
#: part/templates/part/related.html:44 part/templates/part/supplier.html:23
-#: part/templates/part/supplier.html:52 stock/views.py:844
-#: templates/js/company.js:203 users/models.py:193
+#: part/templates/part/supplier.html:52 templates/js/company.js:203
+#: users/models.py:193
msgid "Delete"
msgstr ""
@@ -2519,12 +2521,12 @@ msgid "Supplied Parts"
msgstr ""
#: company/templates/company/navbar.html:38 part/templates/part/navbar.html:30
-#: stock/templates/stock/location.html:107
-#: stock/templates/stock/location.html:122
-#: stock/templates/stock/location.html:136
+#: stock/templates/stock/location.html:119
+#: stock/templates/stock/location.html:134
+#: stock/templates/stock/location.html:148
#: stock/templates/stock/location_navbar.html:22
#: stock/templates/stock/location_navbar.html:29
-#: templates/InvenTree/search.html:198 templates/js/stock.js:1019
+#: templates/InvenTree/search.html:198 templates/js/stock.js:1306
#: templates/stats.html:93 templates/stats.html:102 users/models.py:43
msgid "Stock Items"
msgstr ""
@@ -2582,7 +2584,7 @@ msgstr ""
#: company/templates/company/supplier_part_base.html:7
#: company/templates/company/supplier_part_base.html:20 stock/models.py:420
#: stock/templates/stock/item_base.html:386 templates/js/company.js:511
-#: templates/js/stock.js:690
+#: templates/js/stock.js:1001
msgid "Supplier Part"
msgstr ""
@@ -2704,7 +2706,7 @@ msgstr ""
msgid "Edit Supplier Part"
msgstr ""
-#: company/views.py:385 templates/js/stock.js:1342
+#: company/views.py:385 templates/js/stock.js:1629
msgid "Create new Supplier Part"
msgstr ""
@@ -2943,7 +2945,7 @@ msgstr ""
#: order/templates/order/order_base.html:24
#: report/templates/report/inventree_po_report.html:77
#: stock/templates/stock/item_base.html:336 templates/js/order.js:210
-#: templates/js/stock.js:669 templates/js/stock.js:1101
+#: templates/js/stock.js:980 templates/js/stock.js:1388
msgid "Purchase Order"
msgstr ""
@@ -2963,7 +2965,7 @@ msgid "Number of items received"
msgstr ""
#: order/models.py:776 part/templates/part/prices.html:166 stock/models.py:545
-#: stock/templates/stock/item_base.html:343 templates/js/stock.js:713
+#: stock/templates/stock/item_base.html:343 templates/js/stock.js:1024
msgid "Purchase Price"
msgstr ""
@@ -3079,15 +3081,14 @@ 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
-#: part/templates/part/part_base.html:419
-#: stock/templates/stock/location.html:191 templates/js/stock.js:759
-#: templates/js/stock.js:1347
+#: part/templates/part/part_base.html:455
+#: stock/templates/stock/location.html:203 templates/js/stock.js:1634
msgid "New Location"
msgstr ""
#: order/templates/order/order_base.html:200
#: order/templates/order/purchase_order_detail.html:128
-#: part/templates/part/part_base.html:420
+#: part/templates/part/part_base.html:456
#: stock/templates/stock/location.html:42
msgid "Create new stock location"
msgstr ""
@@ -3362,7 +3363,7 @@ msgid "Order Code"
msgstr ""
#: order/templates/order/receive_parts.html:21
-#: part/templates/part/part_base.html:136 templates/js/part.js:582
+#: part/templates/part/part_base.html:152 templates/js/part.js:582
msgid "On Order"
msgstr ""
@@ -3669,7 +3670,7 @@ msgstr ""
msgid "Default Location"
msgstr ""
-#: part/bom.py:134 part/templates/part/part_base.html:124
+#: part/bom.py:134 part/templates/part/part_base.html:140
msgid "Available Stock"
msgstr ""
@@ -3892,7 +3893,7 @@ msgid "Part category"
msgstr ""
#: part/models.py:723 part/templates/part/detail.html:28
-#: part/templates/part/part_base.html:87 templates/js/part.js:169
+#: part/templates/part/part_base.html:103 templates/js/part.js:169
#: templates/js/part.js:397
msgid "IPN"
msgstr ""
@@ -4012,7 +4013,7 @@ msgstr ""
msgid "Test with this name already exists for this part"
msgstr ""
-#: part/models.py:2124 templates/js/part.js:818 templates/js/stock.js:117
+#: part/models.py:2124 templates/js/part.js:818 templates/js/stock.js:426
msgid "Test Name"
msgstr ""
@@ -4256,7 +4257,7 @@ msgid "All selected BOM items will be deleted"
msgstr ""
#: part/templates/part/bom.html:167 part/views.py:451
-#: templates/js/stock.js:1336
+#: templates/js/stock.js:1623
msgid "Create New Part"
msgstr ""
@@ -4373,12 +4374,12 @@ msgid "View grid display"
msgstr ""
#: part/templates/part/category.html:218
-#: stock/templates/stock/location.html:192 templates/js/stock.js:760
+#: stock/templates/stock/location.html:204
msgid "Create new location"
msgstr ""
#: part/templates/part/category.html:223 part/templates/part/category.html:253
-#: part/templates/part/part_base.html:382
+#: part/templates/part/part_base.html:418
msgid "New Category"
msgstr ""
@@ -4390,7 +4391,7 @@ msgstr ""
msgid "Create new Part Category"
msgstr ""
-#: part/templates/part/category.html:260 stock/views.py:1244
+#: part/templates/part/category.html:260 stock/views.py:907
msgid "Create new Stock Location"
msgstr ""
@@ -4475,7 +4476,7 @@ msgstr ""
msgid "Part Details"
msgstr ""
-#: part/templates/part/detail.html:42 part/templates/part/part_base.html:188
+#: part/templates/part/detail.html:42 part/templates/part/part_base.html:204
msgid "Latest Serial Number"
msgstr ""
@@ -4640,73 +4641,83 @@ msgstr ""
msgid "Show pricing information"
msgstr ""
-#: part/templates/part/part_base.html:52
+#: part/templates/part/part_base.html:53
+#: stock/templates/stock/item_base.html:140
+#: stock/templates/stock/location.html:62
+msgid "Stock actions"
+msgstr ""
+
+#: part/templates/part/part_base.html:60
msgid "Count part stock"
msgstr ""
-#: part/templates/part/part_base.html:67
+#: part/templates/part/part_base.html:66
+msgid "Transfer part stock"
+msgstr ""
+
+#: part/templates/part/part_base.html:83
msgid "Part actions"
msgstr ""
-#: part/templates/part/part_base.html:70
+#: part/templates/part/part_base.html:86
msgid "Duplicate part"
msgstr ""
-#: part/templates/part/part_base.html:73
+#: part/templates/part/part_base.html:89
msgid "Edit part"
msgstr ""
-#: part/templates/part/part_base.html:76
+#: part/templates/part/part_base.html:92
msgid "Delete part"
msgstr ""
-#: part/templates/part/part_base.html:107
+#: part/templates/part/part_base.html:123
msgid "This is a virtual part"
msgstr ""
-#: part/templates/part/part_base.html:113
+#: part/templates/part/part_base.html:129
#, python-format
msgid "This part is a variant of %(link)s"
msgstr ""
-#: part/templates/part/part_base.html:130 templates/js/table_filters.js:165
+#: part/templates/part/part_base.html:146 templates/js/table_filters.js:165
msgid "In Stock"
msgstr ""
-#: part/templates/part/part_base.html:143 templates/InvenTree/index.html:132
+#: part/templates/part/part_base.html:159 templates/InvenTree/index.html:132
msgid "Required for Build Orders"
msgstr ""
-#: part/templates/part/part_base.html:150
+#: part/templates/part/part_base.html:166
msgid "Required for Sales Orders"
msgstr ""
-#: part/templates/part/part_base.html:157
+#: part/templates/part/part_base.html:173
msgid "Allocated to Orders"
msgstr ""
-#: part/templates/part/part_base.html:172 templates/js/bom.js:316
+#: part/templates/part/part_base.html:188 templates/js/bom.js:316
msgid "Can Build"
msgstr ""
-#: part/templates/part/part_base.html:178 templates/js/part.js:413
+#: part/templates/part/part_base.html:194 templates/js/part.js:413
#: templates/js/part.js:586
msgid "Building"
msgstr ""
-#: part/templates/part/part_base.html:289 part/templates/part/prices.html:131
+#: part/templates/part/part_base.html:325 part/templates/part/prices.html:131
msgid "Calculate"
msgstr ""
-#: part/templates/part/part_base.html:383
+#: part/templates/part/part_base.html:419
msgid "Create New Part Category"
msgstr ""
-#: part/templates/part/part_base.html:391
+#: part/templates/part/part_base.html:427
msgid "New Parent"
msgstr ""
-#: part/templates/part/part_base.html:439
+#: part/templates/part/part_base.html:475
msgid "Edit Part"
msgstr ""
@@ -5238,7 +5249,7 @@ msgid "Result"
msgstr ""
#: report/templates/report/inventree_test_report_base.html:92
-#: templates/js/order.js:257 templates/js/stock.js:1035
+#: templates/js/order.js:257 templates/js/stock.js:1322
msgid "Date"
msgstr ""
@@ -5250,18 +5261,50 @@ msgstr ""
msgid "Fail"
msgstr ""
-#: stock/api.py:197
+#: stock/api.py:146
+msgid "Request must contain list of stock items"
+msgstr ""
+
+#: stock/api.py:154
+msgid "Improperly formatted data"
+msgstr ""
+
+#: stock/api.py:162
+msgid "Each entry must contain a valid integer primary-key"
+msgstr ""
+
+#: stock/api.py:168
+msgid "Primary key does not match valid stock item"
+msgstr ""
+
+#: stock/api.py:178
+msgid "Invalid quantity value"
+msgstr ""
+
+#: stock/api.py:183
+msgid "Quantity must not be less than zero"
+msgstr ""
+
+#: stock/api.py:211
#, python-brace-format
msgid "Updated stock for {n} items"
msgstr ""
-#: stock/api.py:266
+#: stock/api.py:247 stock/api.py:280
+msgid "Specified quantity exceeds stock quantity"
+msgstr ""
+
+#: stock/api.py:270
+msgid "Valid location must be specified"
+msgstr ""
+
+#: stock/api.py:290
#, python-brace-format
msgid "Moved {n} parts to {loc}"
msgstr ""
#: stock/forms.py:81 stock/forms.py:385 stock/models.py:513
-#: stock/templates/stock/item_base.html:393 templates/js/stock.js:658
+#: stock/templates/stock/item_base.html:393 templates/js/stock.js:969
msgid "Expiry Date"
msgstr ""
@@ -5334,7 +5377,7 @@ msgstr ""
msgid "Add note (required)"
msgstr ""
-#: stock/forms.py:348 stock/views.py:728 stock/views.py:930
+#: stock/forms.py:348 stock/views.py:728 templates/js/stock.js:223
msgid "Confirm stock adjustment"
msgstr ""
@@ -5583,7 +5626,7 @@ msgid "Stock adjustment actions"
msgstr ""
#: stock/templates/stock/item_base.html:108
-#: stock/templates/stock/location.html:65 templates/stock_table.html:57
+#: stock/templates/stock/location.html:69 templates/stock_table.html:57
msgid "Count stock"
msgstr ""
@@ -5600,6 +5643,7 @@ msgid "Serialize stock"
msgstr ""
#: stock/templates/stock/item_base.html:121
+#: stock/templates/stock/location.html:75
msgid "Transfer stock"
msgstr ""
@@ -5619,11 +5663,6 @@ msgstr ""
msgid "Uninstall"
msgstr ""
-#: stock/templates/stock/item_base.html:140
-#: stock/templates/stock/location.html:62
-msgid "Stock actions"
-msgstr ""
-
#: stock/templates/stock/item_base.html:143
msgid "Convert to variant"
msgstr ""
@@ -5716,7 +5755,7 @@ msgstr ""
msgid "This StockItem expires on %(item.expiry_date)s"
msgstr ""
-#: stock/templates/stock/item_base.html:406 templates/js/stock.js:664
+#: stock/templates/stock/item_base.html:406 templates/js/stock.js:975
msgid "Last Updated"
msgstr ""
@@ -5820,42 +5859,42 @@ msgstr ""
msgid "Check-in Items"
msgstr ""
-#: stock/templates/stock/location.html:71
+#: stock/templates/stock/location.html:83
msgid "Location actions"
msgstr ""
-#: stock/templates/stock/location.html:73
+#: stock/templates/stock/location.html:85
msgid "Edit location"
msgstr ""
-#: stock/templates/stock/location.html:75
+#: stock/templates/stock/location.html:87
msgid "Delete location"
msgstr ""
-#: stock/templates/stock/location.html:87
+#: stock/templates/stock/location.html:99
msgid "Location Details"
msgstr ""
-#: stock/templates/stock/location.html:92
+#: stock/templates/stock/location.html:104
msgid "Location Path"
msgstr ""
-#: stock/templates/stock/location.html:97
+#: stock/templates/stock/location.html:109
msgid "Location Description"
msgstr ""
-#: stock/templates/stock/location.html:102
+#: stock/templates/stock/location.html:114
#: stock/templates/stock/location_navbar.html:11
#: stock/templates/stock/location_navbar.html:18
#: stock/templates/stock/sublocation.html:16
msgid "Sublocations"
msgstr ""
-#: stock/templates/stock/location.html:112
+#: stock/templates/stock/location.html:124
msgid "Stock Details"
msgstr ""
-#: stock/templates/stock/location.html:117 templates/InvenTree/search.html:279
+#: stock/templates/stock/location.html:129 templates/InvenTree/search.html:279
#: templates/stats.html:97 users/models.py:42
msgid "Stock Locations"
msgstr ""
@@ -5896,7 +5935,7 @@ msgstr ""
msgid "The following stock items will be uninstalled"
msgstr ""
-#: stock/templates/stock/stockitem_convert.html:7 stock/views.py:1217
+#: stock/templates/stock/stockitem_convert.html:7 stock/views.py:880
msgid "Convert Stock Item"
msgstr ""
@@ -5929,8 +5968,7 @@ msgstr ""
msgid "Edit Stock Location"
msgstr ""
-#: stock/views.py:253 stock/views.py:1196 stock/views.py:1318
-#: stock/views.py:1683
+#: stock/views.py:253 stock/views.py:859 stock/views.py:981 stock/views.py:1346
msgid "Owner is required (ownership control is enabled)"
msgstr ""
@@ -5986,129 +6024,43 @@ msgstr ""
msgid "Uninstalled stock items"
msgstr ""
-#: stock/views.py:764
-msgid "Adjust Stock"
-msgstr ""
-
-#: stock/views.py:840
-msgid "Move Stock Items"
-msgstr ""
-
-#: stock/views.py:840
-msgid "Move"
-msgstr ""
-
-#: stock/views.py:841
-msgid "Count Stock Items"
-msgstr ""
-
-#: stock/views.py:841
-msgid "Count"
-msgstr ""
-
-#: stock/views.py:842
-msgid "Remove From Stock"
-msgstr ""
-
-#: stock/views.py:842
-msgid "Take"
-msgstr ""
-
-#: stock/views.py:843
-msgid "Add Stock Items"
-msgstr ""
-
-#: stock/views.py:843 users/models.py:189
-msgid "Add"
-msgstr ""
-
-#: stock/views.py:844
-msgid "Delete Stock Items"
-msgstr ""
-
-#: stock/views.py:910
-msgid "Must enter integer value"
-msgstr ""
-
-#: stock/views.py:915
-msgid "Quantity must be positive"
-msgstr ""
-
-#: stock/views.py:922
-#, python-brace-format
-msgid "Quantity must not exceed {x}"
-msgstr ""
-
-#: stock/views.py:986
-msgid "No action performed"
-msgstr ""
-
-#: stock/views.py:1000
-#, python-brace-format
-msgid "Added stock to {n} items"
-msgstr ""
-
-#: stock/views.py:1014
-#, python-brace-format
-msgid "Removed stock from {n} items"
-msgstr ""
-
-#: stock/views.py:1026
-#, python-brace-format
-msgid "Counted stock for {n} items"
-msgstr ""
-
-#: stock/views.py:1064
-msgid "No items were moved"
-msgstr ""
-
-#: stock/views.py:1067
-#, python-brace-format
-msgid "Moved {n} items to {dest}"
-msgstr ""
-
-#: stock/views.py:1086
-#, python-brace-format
-msgid "Deleted {n} stock items"
-msgstr ""
-
-#: stock/views.py:1098
+#: stock/views.py:761
msgid "Edit Stock Item"
msgstr ""
-#: stock/views.py:1335
+#: stock/views.py:998
msgid "Serialize Stock"
msgstr ""
-#: stock/views.py:1428 templates/js/build.js:365
+#: stock/views.py:1091 templates/js/build.js:365
msgid "Create new Stock Item"
msgstr ""
-#: stock/views.py:1570
+#: stock/views.py:1233
msgid "Duplicate Stock Item"
msgstr ""
-#: stock/views.py:1652
+#: stock/views.py:1315
msgid "Quantity cannot be negative"
msgstr ""
-#: stock/views.py:1752
+#: stock/views.py:1415
msgid "Delete Stock Location"
msgstr ""
-#: stock/views.py:1765
+#: stock/views.py:1428
msgid "Delete Stock Item"
msgstr ""
-#: stock/views.py:1776
+#: stock/views.py:1439
msgid "Delete Stock Tracking Entry"
msgstr ""
-#: stock/views.py:1783
+#: stock/views.py:1446
msgid "Edit Stock Tracking Entry"
msgstr ""
-#: stock/views.py:1792
+#: stock/views.py:1455
msgid "Add Stock Tracking Entry"
msgstr ""
@@ -6192,11 +6144,11 @@ msgstr ""
msgid "Enter a search query"
msgstr ""
-#: templates/InvenTree/search.html:268 templates/js/stock.js:303
+#: templates/InvenTree/search.html:268 templates/js/stock.js:570
msgid "Shipped to customer"
msgstr ""
-#: templates/InvenTree/search.html:271 templates/js/stock.js:313
+#: templates/InvenTree/search.html:271 templates/js/stock.js:580
msgid "No stock location set"
msgstr ""
@@ -6470,9 +6422,9 @@ msgstr ""
msgid "copy version information"
msgstr ""
-#: templates/about.html:100 templates/js/modals.js:34
-#: templates/js/modals.js:675 templates/js/modals.js:968
-#: templates/modals.html:29 templates/modals.html:54 templates/modals.html:97
+#: templates/about.html:100 templates/js/modals.js:33
+#: templates/js/modals.js:567 templates/js/modals.js:661
+#: templates/js/modals.js:954 templates/modals.html:29 templates/modals.html:54
msgid "Close"
msgstr ""
@@ -6492,6 +6444,62 @@ msgstr ""
msgid "Remote image must not exceed maximum allowable file size"
msgstr ""
+#: templates/js/api.js:154 templates/js/modals.js:1024
+msgid "No Response"
+msgstr ""
+
+#: templates/js/api.js:155 templates/js/modals.js:1025
+msgid "No response from the InvenTree server"
+msgstr ""
+
+#: templates/js/api.js:160
+msgid "Error 400: Bad request"
+msgstr ""
+
+#: templates/js/api.js:161
+msgid "API request returned error code 400"
+msgstr ""
+
+#: templates/js/api.js:164 templates/js/modals.js:1034
+msgid "Error 401: Not Authenticated"
+msgstr ""
+
+#: templates/js/api.js:165 templates/js/modals.js:1035
+msgid "Authentication credentials not supplied"
+msgstr ""
+
+#: templates/js/api.js:168 templates/js/modals.js:1039
+msgid "Error 403: Permission Denied"
+msgstr ""
+
+#: templates/js/api.js:169 templates/js/modals.js:1040
+msgid "You do not have the required permissions to access this function"
+msgstr ""
+
+#: templates/js/api.js:172 templates/js/modals.js:1044
+msgid "Error 404: Resource Not Found"
+msgstr ""
+
+#: templates/js/api.js:173 templates/js/modals.js:1045
+msgid "The requested resource could not be located on the server"
+msgstr ""
+
+#: templates/js/api.js:176 templates/js/modals.js:1049
+msgid "Error 408: Timeout"
+msgstr ""
+
+#: templates/js/api.js:177 templates/js/modals.js:1050
+msgid "Connection timeout while requesting data from server"
+msgstr ""
+
+#: templates/js/api.js:180
+msgid "Unhandled Error Code"
+msgstr ""
+
+#: templates/js/api.js:181
+msgid "Error code"
+msgstr ""
+
#: templates/js/attachment.js:16
msgid "No attachments found"
msgstr ""
@@ -6536,7 +6544,7 @@ msgstr ""
msgid "Unknown response from server"
msgstr ""
-#: templates/js/barcode.js:119 templates/js/modals.js:1028
+#: templates/js/barcode.js:119 templates/js/modals.js:1014
msgid "Invalid server response"
msgstr ""
@@ -6560,7 +6568,7 @@ msgstr ""
msgid "Unlink"
msgstr ""
-#: templates/js/barcode.js:376
+#: templates/js/barcode.js:376 templates/js/stock.js:161
msgid "Remove stock item"
msgstr ""
@@ -6698,7 +6706,7 @@ msgid "No builds matching query"
msgstr ""
#: templates/js/build.js:840 templates/js/part.js:491 templates/js/part.js:736
-#: templates/js/stock.js:514 templates/js/stock.js:989
+#: templates/js/stock.js:825 templates/js/stock.js:1276
msgid "Select"
msgstr ""
@@ -6706,7 +6714,7 @@ msgstr ""
msgid "Build order is overdue"
msgstr ""
-#: templates/js/build.js:924 templates/js/stock.js:1211
+#: templates/js/build.js:924 templates/js/stock.js:1498
msgid "No user information"
msgstr ""
@@ -6833,63 +6841,19 @@ msgstr ""
msgid "View operation not allowed"
msgstr ""
-#: templates/js/forms.js:587 templates/js/modals.js:1038
-msgid "No Response"
-msgstr ""
-
-#: templates/js/forms.js:588 templates/js/modals.js:1039
-msgid "No response from the InvenTree server"
-msgstr ""
-
-#: templates/js/forms.js:594 templates/js/modals.js:1048
-msgid "Error 401: Not Authenticated"
-msgstr ""
-
-#: templates/js/forms.js:595 templates/js/modals.js:1049
-msgid "Authentication credentials not supplied"
-msgstr ""
-
-#: templates/js/forms.js:601 templates/js/modals.js:1053
-msgid "Error 403: Permission Denied"
-msgstr ""
-
-#: templates/js/forms.js:602 templates/js/modals.js:1054
-msgid "You do not have the required permissions to access this function"
-msgstr ""
-
-#: templates/js/forms.js:608 templates/js/modals.js:1058
-msgid "Error 404: Resource Not Found"
-msgstr ""
-
-#: templates/js/forms.js:609 templates/js/modals.js:1059
-msgid "The requested resource could not be located on the server"
-msgstr ""
-
-#: templates/js/forms.js:615 templates/js/modals.js:1063
-msgid "Error 408: Timeout"
-msgstr ""
-
-#: templates/js/forms.js:616 templates/js/modals.js:1064
-msgid "Connection timeout while requesting data from server"
-msgstr ""
-
-#: templates/js/forms.js:622 templates/js/modals.js:1067
-msgid "Error requesting form data"
-msgstr ""
-
-#: templates/js/forms.js:815 templates/modals.html:21 templates/modals.html:47
+#: templates/js/forms.js:797 templates/modals.html:21 templates/modals.html:47
msgid "Form errors exist"
msgstr ""
-#: templates/js/forms.js:1188
+#: templates/js/forms.js:1164
msgid "Searching"
msgstr ""
-#: templates/js/forms.js:1338
+#: templates/js/forms.js:1314
msgid "Clear input"
msgstr ""
-#: templates/js/label.js:10 templates/js/report.js:98
+#: templates/js/label.js:10 templates/js/report.js:98 templates/js/stock.js:185
msgid "Select Stock Items"
msgstr ""
@@ -6942,12 +6906,12 @@ msgid "Select Label Template"
msgstr ""
#: templates/js/modals.js:59 templates/js/modals.js:103
-#: templates/js/modals.js:599 templates/modals.html:75
+#: templates/js/modals.js:593
msgid "Cancel"
msgstr ""
#: templates/js/modals.js:60 templates/js/modals.js:102
-#: templates/js/modals.js:674 templates/js/modals.js:967
+#: templates/js/modals.js:660 templates/js/modals.js:953
#: templates/modals.html:30 templates/modals.html:55
msgid "Submit"
msgstr ""
@@ -6956,46 +6920,50 @@ msgstr ""
msgid "Form Title"
msgstr ""
-#: templates/js/modals.js:372
+#: templates/js/modals.js:380
msgid "Waiting for server..."
msgstr ""
-#: templates/js/modals.js:531
+#: templates/js/modals.js:539
msgid "Show Error Information"
msgstr ""
-#: templates/js/modals.js:598 templates/modals.html:76
+#: templates/js/modals.js:592
msgid "Accept"
msgstr ""
-#: templates/js/modals.js:663
+#: templates/js/modals.js:649
msgid "Loading Data"
msgstr ""
-#: templates/js/modals.js:918
+#: templates/js/modals.js:904
msgid "Invalid response from server"
msgstr ""
-#: templates/js/modals.js:918
+#: templates/js/modals.js:904
msgid "Form data missing from server response"
msgstr ""
-#: templates/js/modals.js:931
+#: templates/js/modals.js:917
msgid "Error posting form data"
msgstr ""
-#: templates/js/modals.js:1028
+#: templates/js/modals.js:1014
msgid "JSON response missing form data"
msgstr ""
-#: templates/js/modals.js:1043
+#: templates/js/modals.js:1029
msgid "Error 400: Bad Request"
msgstr ""
-#: templates/js/modals.js:1044
+#: templates/js/modals.js:1030
msgid "Server returned error code 400"
msgstr ""
+#: templates/js/modals.js:1053
+msgid "Error requesting form data"
+msgstr ""
+
#: templates/js/model_renderers.js:38
msgid "Company ID"
msgstr ""
@@ -7084,7 +7052,7 @@ msgstr ""
msgid "Low stock"
msgstr ""
-#: templates/js/part.js:761 templates/js/stock.js:1013
+#: templates/js/part.js:761 templates/js/stock.js:1300
msgid "Path"
msgstr ""
@@ -7092,11 +7060,11 @@ msgstr ""
msgid "No test templates matching query"
msgstr ""
-#: templates/js/part.js:855 templates/js/stock.js:75
+#: templates/js/part.js:855 templates/js/stock.js:384
msgid "Edit test result"
msgstr ""
-#: templates/js/part.js:856 templates/js/stock.js:76
+#: templates/js/part.js:856 templates/js/stock.js:385
msgid "Delete test result"
msgstr ""
@@ -7189,179 +7157,235 @@ msgstr ""
msgid "Sales Order(s) must be selected before printing report"
msgstr ""
-#: templates/js/stock.js:38
-msgid "PASS"
+#: templates/js/stock.js:39
+msgid "Transfer Stock"
msgstr ""
#: templates/js/stock.js:40
+msgid "Move"
+msgstr ""
+
+#: templates/js/stock.js:46
+msgid "Count Stock"
+msgstr ""
+
+#: templates/js/stock.js:47
+msgid "Count"
+msgstr ""
+
+#: templates/js/stock.js:51
+msgid "Remove Stock"
+msgstr ""
+
+#: templates/js/stock.js:52
+msgid "Take"
+msgstr ""
+
+#: templates/js/stock.js:56
+msgid "Add Stock"
+msgstr ""
+
+#: templates/js/stock.js:57 users/models.py:189
+msgid "Add"
+msgstr ""
+
+#: templates/js/stock.js:61 templates/stock_table.html:63
+msgid "Delete Stock"
+msgstr ""
+
+#: templates/js/stock.js:150
+msgid "Quantity cannot be adjusted for serialized stock"
+msgstr ""
+
+#: templates/js/stock.js:150
+msgid "Specify stock quantity"
+msgstr ""
+
+#: templates/js/stock.js:186
+msgid "You must select at least one available stock item"
+msgstr ""
+
+#: templates/js/stock.js:202
+msgid "Select destination stock location"
+msgstr ""
+
+#: templates/js/stock.js:210
+msgid "Stock transaction notes"
+msgstr ""
+
+#: templates/js/stock.js:347
+msgid "PASS"
+msgstr ""
+
+#: templates/js/stock.js:349
msgid "FAIL"
msgstr ""
-#: templates/js/stock.js:45
+#: templates/js/stock.js:354
msgid "NO RESULT"
msgstr ""
-#: templates/js/stock.js:71
+#: templates/js/stock.js:380
msgid "Add test result"
msgstr ""
-#: templates/js/stock.js:97
+#: templates/js/stock.js:406
msgid "No test results found"
msgstr ""
-#: templates/js/stock.js:145
+#: templates/js/stock.js:454
msgid "Test Date"
msgstr ""
-#: templates/js/stock.js:295
+#: templates/js/stock.js:562
msgid "In production"
msgstr ""
-#: templates/js/stock.js:299
+#: templates/js/stock.js:566
msgid "Installed in Stock Item"
msgstr ""
-#: templates/js/stock.js:307
+#: templates/js/stock.js:574
msgid "Assigned to Sales Order"
msgstr ""
-#: templates/js/stock.js:339
+#: templates/js/stock.js:650
msgid "No stock items matching query"
msgstr ""
-#: templates/js/stock.js:360
+#: templates/js/stock.js:671
msgid "items"
msgstr ""
-#: templates/js/stock.js:452
+#: templates/js/stock.js:763
msgid "batches"
msgstr ""
-#: templates/js/stock.js:479
+#: templates/js/stock.js:790
msgid "locations"
msgstr ""
-#: templates/js/stock.js:481
+#: templates/js/stock.js:792
msgid "Undefined location"
msgstr ""
-#: templates/js/stock.js:582
+#: templates/js/stock.js:893
msgid "Stock item is in production"
msgstr ""
-#: templates/js/stock.js:587
+#: templates/js/stock.js:898
msgid "Stock item assigned to sales order"
msgstr ""
-#: templates/js/stock.js:590
+#: templates/js/stock.js:901
msgid "Stock item assigned to customer"
msgstr ""
-#: templates/js/stock.js:594
+#: templates/js/stock.js:905
msgid "Stock item has expired"
msgstr ""
-#: templates/js/stock.js:596
+#: templates/js/stock.js:907
msgid "Stock item will expire soon"
msgstr ""
-#: templates/js/stock.js:600
+#: templates/js/stock.js:911
msgid "Stock item has been allocated"
msgstr ""
-#: templates/js/stock.js:604
+#: templates/js/stock.js:915
msgid "Stock item has been installed in another item"
msgstr ""
-#: templates/js/stock.js:611
+#: templates/js/stock.js:922
msgid "Stock item has been rejected"
msgstr ""
-#: templates/js/stock.js:615
+#: templates/js/stock.js:926
msgid "Stock item is lost"
msgstr ""
-#: templates/js/stock.js:618
+#: templates/js/stock.js:929
msgid "Stock item is destroyed"
msgstr ""
-#: templates/js/stock.js:622 templates/js/table_filters.js:147
+#: templates/js/stock.js:933 templates/js/table_filters.js:147
msgid "Depleted"
msgstr ""
-#: templates/js/stock.js:651
+#: templates/js/stock.js:962
msgid "Stocktake"
msgstr ""
-#: templates/js/stock.js:705
+#: templates/js/stock.js:1016
msgid "Supplier part not specified"
msgstr ""
-#: templates/js/stock.js:876
+#: templates/js/stock.js:1163
msgid "Stock Status"
msgstr ""
-#: templates/js/stock.js:891
+#: templates/js/stock.js:1178
msgid "Set Stock Status"
msgstr ""
-#: templates/js/stock.js:905
+#: templates/js/stock.js:1192
msgid "Select Status Code"
msgstr ""
-#: templates/js/stock.js:906
+#: templates/js/stock.js:1193
msgid "Status code must be selected"
msgstr ""
-#: templates/js/stock.js:1045
+#: templates/js/stock.js:1332
msgid "Invalid date"
msgstr ""
-#: templates/js/stock.js:1092
+#: templates/js/stock.js:1379
msgid "Location no longer exists"
msgstr ""
-#: templates/js/stock.js:1111
+#: templates/js/stock.js:1398
msgid "Purchase order no longer exists"
msgstr ""
-#: templates/js/stock.js:1130
+#: templates/js/stock.js:1417
msgid "Customer no longer exists"
msgstr ""
-#: templates/js/stock.js:1148
+#: templates/js/stock.js:1435
msgid "Stock item no longer exists"
msgstr ""
-#: templates/js/stock.js:1171
+#: templates/js/stock.js:1458
msgid "Added"
msgstr ""
-#: templates/js/stock.js:1179
+#: templates/js/stock.js:1466
msgid "Removed"
msgstr ""
-#: templates/js/stock.js:1223
+#: templates/js/stock.js:1510
msgid "Edit tracking entry"
msgstr ""
-#: templates/js/stock.js:1224
+#: templates/js/stock.js:1511
msgid "Delete tracking entry"
msgstr ""
-#: templates/js/stock.js:1348
+#: templates/js/stock.js:1635
msgid "Create New Location"
msgstr ""
-#: templates/js/stock.js:1389
+#: templates/js/stock.js:1676
msgid "No installed items"
msgstr ""
-#: templates/js/stock.js:1412
+#: templates/js/stock.js:1699
msgid "Serial"
msgstr ""
-#: templates/js/stock.js:1440
+#: templates/js/stock.js:1727
msgid "Uninstall Stock Item"
msgstr ""
@@ -7792,10 +7816,6 @@ msgstr ""
msgid "Delete selected items"
msgstr ""
-#: templates/stock_table.html:63
-msgid "Delete Stock"
-msgstr ""
-
#: templates/yesnolabel.html:4
msgid "Yes"
msgstr ""
diff --git a/InvenTree/locale/es/LC_MESSAGES/django.po b/InvenTree/locale/es/LC_MESSAGES/django.po
index 7af4c94285..aa24fd903b 100644
--- a/InvenTree/locale/es/LC_MESSAGES/django.po
+++ b/InvenTree/locale/es/LC_MESSAGES/django.po
@@ -2,7 +2,7 @@ msgid ""
msgstr ""
"Project-Id-Version: inventree\n"
"Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2021-07-12 11:35+0000\n"
+"POT-Creation-Date: 2021-07-12 12:18+0000\n"
"PO-Revision-Date: 2021-07-10 04:49\n"
"Last-Translator: \n"
"Language-Team: Spanish\n"
@@ -36,7 +36,7 @@ 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:30 order/forms.py:41 order/forms.py:52 order/forms.py:63
-#: order/forms.py:74 part/forms.py:119 templates/js/forms.js:486
+#: order/forms.py:74 part/forms.py:119 templates/js/forms.js:506
msgid "Confirm"
msgstr "Confirmar"
@@ -78,7 +78,7 @@ msgid "Duplicate serial: {n}"
msgstr ""
#: InvenTree/helpers.py:403 order/models.py:315 order/models.py:425
-#: stock/views.py:1648
+#: stock/views.py:1311
msgid "Invalid quantity provided"
msgstr "Cantidad proporcionada no válida"
@@ -124,7 +124,7 @@ msgstr ""
#: InvenTree/models.py:70 InvenTree/models.py:71 part/models.py:2042
#: report/templates/report/inventree_test_report_base.html:91
-#: templates/js/stock.js:1202
+#: templates/js/stock.js:1489
msgid "User"
msgstr "Usuario"
@@ -141,7 +141,7 @@ msgstr ""
#: report/models.py:181 templates/InvenTree/search.html:137
#: templates/InvenTree/search.html:289 templates/js/company.js:365
#: templates/js/part.js:118 templates/js/part.js:251 templates/js/part.js:743
-#: templates/js/stock.js:995
+#: templates/js/stock.js:1282
msgid "Name"
msgstr "Nombre"
@@ -164,8 +164,8 @@ msgstr "Nombre"
#: templates/js/company.js:561 templates/js/order.js:245
#: templates/js/order.js:347 templates/js/part.js:177 templates/js/part.js:361
#: templates/js/part.js:538 templates/js/part.js:755 templates/js/part.js:823
-#: templates/js/stock.js:557 templates/js/stock.js:1007
-#: templates/js/stock.js:1052
+#: templates/js/stock.js:868 templates/js/stock.js:1294
+#: templates/js/stock.js:1339
msgid "Description"
msgstr "Descripción"
@@ -496,8 +496,8 @@ msgstr ""
#: templates/js/bom.js:205 templates/js/build.js:271 templates/js/build.js:606
#: templates/js/build.js:1172 templates/js/model_renderers.js:56
#: templates/js/order.js:460 templates/js/part.js:928 templates/js/part.js:1050
-#: templates/js/part.js:1106 templates/js/stock.js:1187
-#: templates/js/stock.js:1406
+#: templates/js/part.js:1106 templates/js/stock.js:1474
+#: templates/js/stock.js:1693
msgid "Quantity"
msgstr "Cantidad"
@@ -542,8 +542,9 @@ msgstr ""
#: stock/templates/stock/stock_adjust.html:17
#: templates/InvenTree/search.html:260 templates/js/barcode.js:363
#: templates/js/barcode.js:531 templates/js/build.js:256
-#: templates/js/build.js:620 templates/js/order.js:445
-#: templates/js/stock.js:643 templates/js/stock.js:1079
+#: templates/js/build.js:620 templates/js/order.js:445 templates/js/stock.js:75
+#: templates/js/stock.js:201 templates/js/stock.js:954
+#: templates/js/stock.js:1366
msgid "Location"
msgstr "Unicación"
@@ -557,8 +558,8 @@ msgstr ""
#: stock/templates/stock/item_base.html:420 templates/InvenTree/search.html:252
#: templates/js/barcode.js:119 templates/js/build.js:902
#: templates/js/order.js:249 templates/js/order.js:352
-#: templates/js/stock.js:630 templates/js/stock.js:1156
-#: templates/js/stock.js:1422
+#: templates/js/stock.js:941 templates/js/stock.js:1443
+#: templates/js/stock.js:1709
msgid "Status"
msgstr "Estado"
@@ -659,8 +660,8 @@ msgstr ""
#: templates/js/build.js:586 templates/js/build.js:873
#: templates/js/build.js:1139 templates/js/company.js:264
#: templates/js/company.js:470 templates/js/part.js:342
-#: templates/js/part.js:505 templates/js/stock.js:526
-#: templates/js/stock.js:1394
+#: templates/js/part.js:505 templates/js/stock.js:73 templates/js/stock.js:837
+#: templates/js/stock.js:1681
msgid "Part"
msgstr "Parte"
@@ -708,7 +709,7 @@ msgstr "Elementos completados"
msgid "Number of stock items which have been completed"
msgstr ""
-#: build/models.py:249 part/templates/part/part_base.html:167
+#: build/models.py:249 part/templates/part/part_base.html:183
msgid "Build Status"
msgstr ""
@@ -766,7 +767,7 @@ msgstr ""
#: 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
+#: part/templates/part/detail.html:83 part/templates/part/part_base.html:110
#: stock/models.py:464 stock/templates/stock/item_base.html:357
msgid "External Link"
msgstr ""
@@ -791,7 +792,8 @@ msgstr ""
#: 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/company.js:566
-#: templates/js/stock.js:141 templates/js/stock.js:722
+#: templates/js/stock.js:209 templates/js/stock.js:450
+#: templates/js/stock.js:1033
msgid "Notes"
msgstr "Notas"
@@ -857,7 +859,7 @@ msgstr ""
#: stock/templates/stock/stock_adjust.html:16 templates/js/build.js:244
#: templates/js/build.js:249 templates/js/build.js:993
#: templates/js/order.js:433 templates/js/order.js:438
-#: templates/js/stock.js:1138
+#: templates/js/stock.js:1425
msgid "Stock Item"
msgstr ""
@@ -1242,8 +1244,8 @@ msgid "Destination location not specified"
msgstr ""
#: build/templates/build/detail.html:70
-#: stock/templates/stock/item_base.html:315 templates/js/stock.js:638
-#: templates/js/stock.js:1429 templates/js/table_filters.js:116
+#: stock/templates/stock/item_base.html:315 templates/js/stock.js:949
+#: templates/js/stock.js:1716 templates/js/table_filters.js:116
#: templates/js/table_filters.js:210
msgid "Batch"
msgstr "Lote"
@@ -1298,7 +1300,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:1067
+#: templates/js/stock.js:1354
msgid "Details"
msgstr "Detalles"
@@ -1362,7 +1364,7 @@ msgstr ""
msgid "Maximum output quantity is "
msgstr ""
-#: build/views.py:184 stock/views.py:1674
+#: build/views.py:184 stock/views.py:1337
msgid "Serial numbers already exist"
msgstr ""
@@ -2116,7 +2118,7 @@ msgstr ""
#: report/templates/report/inventree_test_report_base.html:90
#: stock/models.py:1771 templates/InvenTree/settings/header.html:8
#: templates/js/company.js:371 templates/js/part.js:260
-#: templates/js/stock.js:137
+#: templates/js/stock.js:446
msgid "Value"
msgstr ""
@@ -2189,7 +2191,7 @@ msgstr ""
#: company/models.py:566 company/templates/company/supplier_part_base.html:109
#: stock/models.py:435 stock/templates/stock/item_base.html:322
-#: templates/js/company.js:571 templates/js/stock.js:718
+#: templates/js/company.js:571 templates/js/stock.js:1029
msgid "Packaging"
msgstr ""
@@ -2259,7 +2261,7 @@ msgid "Phone"
msgstr "Teléfono"
#: company/templates/company/company_base.html:166
-#: part/templates/part/part_base.html:311
+#: part/templates/part/part_base.html:347
msgid "Upload Image"
msgstr ""
@@ -2279,7 +2281,7 @@ msgstr ""
#: order/templates/order/sales_order_base.html:94 stock/models.py:453
#: stock/models.py:454 stock/templates/stock/item_base.html:274
#: templates/js/company.js:109 templates/js/order.js:329
-#: templates/js/stock.js:1120
+#: templates/js/stock.js:1407
msgid "Customer"
msgstr "Cliente"
@@ -2325,7 +2327,7 @@ msgstr ""
#: company/templates/company/detail_manufacturer_part.html:68
#: company/templates/company/detail_supplier_part.html:66
#: part/templates/part/bom.html:166 part/templates/part/category.html:127
-#: templates/js/stock.js:1335
+#: templates/js/stock.js:1622
msgid "New Part"
msgstr ""
@@ -2351,7 +2353,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:55 stock/templates/stock/location.html:163
+#: part/templates/part/stock.html:55 stock/templates/stock/location.html:175
msgid "Export"
msgstr "Exportar"
@@ -2363,14 +2365,14 @@ msgstr ""
#: company/templates/company/detail_supplier_part.html:21
#: order/templates/order/order_wizard/select_parts.html:44
-#: part/templates/part/part_base.html:433
+#: part/templates/part/part_base.html:469
msgid "Create new supplier part"
msgstr ""
#: company/templates/company/detail_supplier_part.html:22
#: company/templates/company/manufacturer_part_suppliers.html:17
-#: part/templates/part/part_base.html:432 part/templates/part/supplier.html:18
-#: templates/js/stock.js:1341
+#: part/templates/part/part_base.html:468 part/templates/part/supplier.html:18
+#: templates/js/stock.js:1628
msgid "New Supplier Part"
msgstr ""
@@ -2391,7 +2393,7 @@ msgstr ""
#: company/templates/company/manufacturer_part_base.html:36
#: company/templates/company/supplier_part_base.html:36
#: company/templates/company/supplier_part_orders.html:17
-#: part/templates/part/orders.html:17 part/templates/part/part_base.html:58
+#: part/templates/part/orders.html:17 part/templates/part/part_base.html:74
msgid "Order part"
msgstr ""
@@ -2444,8 +2446,8 @@ msgstr ""
#: templates/InvenTree/index.html:128 templates/InvenTree/search.html:196
#: templates/InvenTree/search.html:232
#: templates/InvenTree/settings/tabs.html:31 templates/js/part.js:181
-#: templates/js/part.js:406 templates/js/part.js:566 templates/js/stock.js:566
-#: templates/navbar.html:26
+#: templates/js/part.js:406 templates/js/part.js:566 templates/js/stock.js:74
+#: templates/js/stock.js:877 templates/navbar.html:26
msgid "Stock"
msgstr ""
@@ -2467,8 +2469,8 @@ msgstr ""
#: company/templates/company/manufacturer_part_suppliers.html:48
#: company/templates/company/manufacturer_part_suppliers.html:142
#: part/templates/part/related.html:44 part/templates/part/supplier.html:23
-#: part/templates/part/supplier.html:52 stock/views.py:844
-#: templates/js/company.js:203 users/models.py:193
+#: part/templates/part/supplier.html:52 templates/js/company.js:203
+#: users/models.py:193
msgid "Delete"
msgstr "Eliminar"
@@ -2518,12 +2520,12 @@ msgid "Supplied Parts"
msgstr ""
#: company/templates/company/navbar.html:38 part/templates/part/navbar.html:30
-#: stock/templates/stock/location.html:107
-#: stock/templates/stock/location.html:122
-#: stock/templates/stock/location.html:136
+#: stock/templates/stock/location.html:119
+#: stock/templates/stock/location.html:134
+#: stock/templates/stock/location.html:148
#: stock/templates/stock/location_navbar.html:22
#: stock/templates/stock/location_navbar.html:29
-#: templates/InvenTree/search.html:198 templates/js/stock.js:1019
+#: templates/InvenTree/search.html:198 templates/js/stock.js:1306
#: templates/stats.html:93 templates/stats.html:102 users/models.py:43
msgid "Stock Items"
msgstr ""
@@ -2581,7 +2583,7 @@ msgstr ""
#: company/templates/company/supplier_part_base.html:7
#: company/templates/company/supplier_part_base.html:20 stock/models.py:420
#: stock/templates/stock/item_base.html:386 templates/js/company.js:511
-#: templates/js/stock.js:690
+#: templates/js/stock.js:1001
msgid "Supplier Part"
msgstr ""
@@ -2703,7 +2705,7 @@ msgstr ""
msgid "Edit Supplier Part"
msgstr ""
-#: company/views.py:385 templates/js/stock.js:1342
+#: company/views.py:385 templates/js/stock.js:1629
msgid "Create new Supplier Part"
msgstr ""
@@ -2942,7 +2944,7 @@ msgstr ""
#: order/templates/order/order_base.html:24
#: report/templates/report/inventree_po_report.html:77
#: stock/templates/stock/item_base.html:336 templates/js/order.js:210
-#: templates/js/stock.js:669 templates/js/stock.js:1101
+#: templates/js/stock.js:980 templates/js/stock.js:1388
msgid "Purchase Order"
msgstr ""
@@ -2962,7 +2964,7 @@ msgid "Number of items received"
msgstr ""
#: order/models.py:776 part/templates/part/prices.html:166 stock/models.py:545
-#: stock/templates/stock/item_base.html:343 templates/js/stock.js:713
+#: stock/templates/stock/item_base.html:343 templates/js/stock.js:1024
msgid "Purchase Price"
msgstr ""
@@ -3078,15 +3080,14 @@ 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
-#: part/templates/part/part_base.html:419
-#: stock/templates/stock/location.html:191 templates/js/stock.js:759
-#: templates/js/stock.js:1347
+#: part/templates/part/part_base.html:455
+#: stock/templates/stock/location.html:203 templates/js/stock.js:1634
msgid "New Location"
msgstr ""
#: order/templates/order/order_base.html:200
#: order/templates/order/purchase_order_detail.html:128
-#: part/templates/part/part_base.html:420
+#: part/templates/part/part_base.html:456
#: stock/templates/stock/location.html:42
msgid "Create new stock location"
msgstr ""
@@ -3361,7 +3362,7 @@ msgid "Order Code"
msgstr ""
#: order/templates/order/receive_parts.html:21
-#: part/templates/part/part_base.html:136 templates/js/part.js:582
+#: part/templates/part/part_base.html:152 templates/js/part.js:582
msgid "On Order"
msgstr ""
@@ -3668,7 +3669,7 @@ msgstr ""
msgid "Default Location"
msgstr ""
-#: part/bom.py:134 part/templates/part/part_base.html:124
+#: part/bom.py:134 part/templates/part/part_base.html:140
msgid "Available Stock"
msgstr ""
@@ -3891,7 +3892,7 @@ msgid "Part category"
msgstr ""
#: part/models.py:723 part/templates/part/detail.html:28
-#: part/templates/part/part_base.html:87 templates/js/part.js:169
+#: part/templates/part/part_base.html:103 templates/js/part.js:169
#: templates/js/part.js:397
msgid "IPN"
msgstr ""
@@ -4011,7 +4012,7 @@ msgstr ""
msgid "Test with this name already exists for this part"
msgstr ""
-#: part/models.py:2124 templates/js/part.js:818 templates/js/stock.js:117
+#: part/models.py:2124 templates/js/part.js:818 templates/js/stock.js:426
msgid "Test Name"
msgstr ""
@@ -4255,7 +4256,7 @@ msgid "All selected BOM items will be deleted"
msgstr ""
#: part/templates/part/bom.html:167 part/views.py:451
-#: templates/js/stock.js:1336
+#: templates/js/stock.js:1623
msgid "Create New Part"
msgstr ""
@@ -4372,12 +4373,12 @@ msgid "View grid display"
msgstr ""
#: part/templates/part/category.html:218
-#: stock/templates/stock/location.html:192 templates/js/stock.js:760
+#: stock/templates/stock/location.html:204
msgid "Create new location"
msgstr ""
#: part/templates/part/category.html:223 part/templates/part/category.html:253
-#: part/templates/part/part_base.html:382
+#: part/templates/part/part_base.html:418
msgid "New Category"
msgstr ""
@@ -4389,7 +4390,7 @@ msgstr ""
msgid "Create new Part Category"
msgstr ""
-#: part/templates/part/category.html:260 stock/views.py:1244
+#: part/templates/part/category.html:260 stock/views.py:907
msgid "Create new Stock Location"
msgstr ""
@@ -4474,7 +4475,7 @@ msgstr ""
msgid "Part Details"
msgstr ""
-#: part/templates/part/detail.html:42 part/templates/part/part_base.html:188
+#: part/templates/part/detail.html:42 part/templates/part/part_base.html:204
msgid "Latest Serial Number"
msgstr ""
@@ -4639,73 +4640,83 @@ msgstr ""
msgid "Show pricing information"
msgstr ""
-#: part/templates/part/part_base.html:52
+#: part/templates/part/part_base.html:53
+#: stock/templates/stock/item_base.html:140
+#: stock/templates/stock/location.html:62
+msgid "Stock actions"
+msgstr ""
+
+#: part/templates/part/part_base.html:60
msgid "Count part stock"
msgstr ""
-#: part/templates/part/part_base.html:67
+#: part/templates/part/part_base.html:66
+msgid "Transfer part stock"
+msgstr ""
+
+#: part/templates/part/part_base.html:83
msgid "Part actions"
msgstr ""
-#: part/templates/part/part_base.html:70
+#: part/templates/part/part_base.html:86
msgid "Duplicate part"
msgstr ""
-#: part/templates/part/part_base.html:73
+#: part/templates/part/part_base.html:89
msgid "Edit part"
msgstr ""
-#: part/templates/part/part_base.html:76
+#: part/templates/part/part_base.html:92
msgid "Delete part"
msgstr ""
-#: part/templates/part/part_base.html:107
+#: part/templates/part/part_base.html:123
msgid "This is a virtual part"
msgstr ""
-#: part/templates/part/part_base.html:113
+#: part/templates/part/part_base.html:129
#, python-format
msgid "This part is a variant of %(link)s"
msgstr ""
-#: part/templates/part/part_base.html:130 templates/js/table_filters.js:165
+#: part/templates/part/part_base.html:146 templates/js/table_filters.js:165
msgid "In Stock"
msgstr ""
-#: part/templates/part/part_base.html:143 templates/InvenTree/index.html:132
+#: part/templates/part/part_base.html:159 templates/InvenTree/index.html:132
msgid "Required for Build Orders"
msgstr ""
-#: part/templates/part/part_base.html:150
+#: part/templates/part/part_base.html:166
msgid "Required for Sales Orders"
msgstr ""
-#: part/templates/part/part_base.html:157
+#: part/templates/part/part_base.html:173
msgid "Allocated to Orders"
msgstr ""
-#: part/templates/part/part_base.html:172 templates/js/bom.js:316
+#: part/templates/part/part_base.html:188 templates/js/bom.js:316
msgid "Can Build"
msgstr ""
-#: part/templates/part/part_base.html:178 templates/js/part.js:413
+#: part/templates/part/part_base.html:194 templates/js/part.js:413
#: templates/js/part.js:586
msgid "Building"
msgstr ""
-#: part/templates/part/part_base.html:289 part/templates/part/prices.html:131
+#: part/templates/part/part_base.html:325 part/templates/part/prices.html:131
msgid "Calculate"
msgstr ""
-#: part/templates/part/part_base.html:383
+#: part/templates/part/part_base.html:419
msgid "Create New Part Category"
msgstr ""
-#: part/templates/part/part_base.html:391
+#: part/templates/part/part_base.html:427
msgid "New Parent"
msgstr ""
-#: part/templates/part/part_base.html:439
+#: part/templates/part/part_base.html:475
msgid "Edit Part"
msgstr ""
@@ -5237,7 +5248,7 @@ msgid "Result"
msgstr ""
#: report/templates/report/inventree_test_report_base.html:92
-#: templates/js/order.js:257 templates/js/stock.js:1035
+#: templates/js/order.js:257 templates/js/stock.js:1322
msgid "Date"
msgstr ""
@@ -5249,18 +5260,54 @@ msgstr ""
msgid "Fail"
msgstr ""
-#: stock/api.py:197
+#: stock/api.py:146
+msgid "Request must contain list of stock items"
+msgstr ""
+
+#: stock/api.py:154
+msgid "Improperly formatted data"
+msgstr ""
+
+#: stock/api.py:162
+msgid "Each entry must contain a valid integer primary-key"
+msgstr ""
+
+#: stock/api.py:168
+msgid "Primary key does not match valid stock item"
+msgstr ""
+
+#: stock/api.py:178
+#, fuzzy
+#| msgid "Invalid quantity provided"
+msgid "Invalid quantity value"
+msgstr "Cantidad proporcionada no válida"
+
+#: stock/api.py:183
+msgid "Quantity must not be less than zero"
+msgstr ""
+
+#: stock/api.py:211
#, python-brace-format
msgid "Updated stock for {n} items"
msgstr ""
-#: stock/api.py:266
+#: stock/api.py:247 stock/api.py:280
+msgid "Specified quantity exceeds stock quantity"
+msgstr ""
+
+#: stock/api.py:270
+#, fuzzy
+#| msgid "No action specified"
+msgid "Valid location must be specified"
+msgstr "No se especificó ninguna acción"
+
+#: stock/api.py:290
#, python-brace-format
msgid "Moved {n} parts to {loc}"
msgstr ""
#: stock/forms.py:81 stock/forms.py:385 stock/models.py:513
-#: stock/templates/stock/item_base.html:393 templates/js/stock.js:658
+#: stock/templates/stock/item_base.html:393 templates/js/stock.js:969
msgid "Expiry Date"
msgstr ""
@@ -5333,7 +5380,7 @@ msgstr ""
msgid "Add note (required)"
msgstr ""
-#: stock/forms.py:348 stock/views.py:728 stock/views.py:930
+#: stock/forms.py:348 stock/views.py:728 templates/js/stock.js:223
msgid "Confirm stock adjustment"
msgstr ""
@@ -5582,7 +5629,7 @@ msgid "Stock adjustment actions"
msgstr ""
#: stock/templates/stock/item_base.html:108
-#: stock/templates/stock/location.html:65 templates/stock_table.html:57
+#: stock/templates/stock/location.html:69 templates/stock_table.html:57
msgid "Count stock"
msgstr ""
@@ -5599,6 +5646,7 @@ msgid "Serialize stock"
msgstr ""
#: stock/templates/stock/item_base.html:121
+#: stock/templates/stock/location.html:75
msgid "Transfer stock"
msgstr ""
@@ -5618,11 +5666,6 @@ msgstr ""
msgid "Uninstall"
msgstr ""
-#: stock/templates/stock/item_base.html:140
-#: stock/templates/stock/location.html:62
-msgid "Stock actions"
-msgstr ""
-
#: stock/templates/stock/item_base.html:143
msgid "Convert to variant"
msgstr ""
@@ -5715,7 +5758,7 @@ msgstr ""
msgid "This StockItem expires on %(item.expiry_date)s"
msgstr ""
-#: stock/templates/stock/item_base.html:406 templates/js/stock.js:664
+#: stock/templates/stock/item_base.html:406 templates/js/stock.js:975
msgid "Last Updated"
msgstr ""
@@ -5819,42 +5862,42 @@ msgstr ""
msgid "Check-in Items"
msgstr ""
-#: stock/templates/stock/location.html:71
+#: stock/templates/stock/location.html:83
msgid "Location actions"
msgstr ""
-#: stock/templates/stock/location.html:73
+#: stock/templates/stock/location.html:85
msgid "Edit location"
msgstr ""
-#: stock/templates/stock/location.html:75
+#: stock/templates/stock/location.html:87
msgid "Delete location"
msgstr ""
-#: stock/templates/stock/location.html:87
+#: stock/templates/stock/location.html:99
msgid "Location Details"
msgstr ""
-#: stock/templates/stock/location.html:92
+#: stock/templates/stock/location.html:104
msgid "Location Path"
msgstr ""
-#: stock/templates/stock/location.html:97
+#: stock/templates/stock/location.html:109
msgid "Location Description"
msgstr ""
-#: stock/templates/stock/location.html:102
+#: stock/templates/stock/location.html:114
#: stock/templates/stock/location_navbar.html:11
#: stock/templates/stock/location_navbar.html:18
#: stock/templates/stock/sublocation.html:16
msgid "Sublocations"
msgstr ""
-#: stock/templates/stock/location.html:112
+#: stock/templates/stock/location.html:124
msgid "Stock Details"
msgstr ""
-#: stock/templates/stock/location.html:117 templates/InvenTree/search.html:279
+#: stock/templates/stock/location.html:129 templates/InvenTree/search.html:279
#: templates/stats.html:97 users/models.py:42
msgid "Stock Locations"
msgstr ""
@@ -5895,7 +5938,7 @@ msgstr ""
msgid "The following stock items will be uninstalled"
msgstr ""
-#: stock/templates/stock/stockitem_convert.html:7 stock/views.py:1217
+#: stock/templates/stock/stockitem_convert.html:7 stock/views.py:880
msgid "Convert Stock Item"
msgstr ""
@@ -5928,8 +5971,7 @@ msgstr ""
msgid "Edit Stock Location"
msgstr ""
-#: stock/views.py:253 stock/views.py:1196 stock/views.py:1318
-#: stock/views.py:1683
+#: stock/views.py:253 stock/views.py:859 stock/views.py:981 stock/views.py:1346
msgid "Owner is required (ownership control is enabled)"
msgstr ""
@@ -5985,129 +6027,43 @@ msgstr ""
msgid "Uninstalled stock items"
msgstr ""
-#: stock/views.py:764
-msgid "Adjust Stock"
-msgstr ""
-
-#: stock/views.py:840
-msgid "Move Stock Items"
-msgstr ""
-
-#: stock/views.py:840
-msgid "Move"
-msgstr ""
-
-#: stock/views.py:841
-msgid "Count Stock Items"
-msgstr ""
-
-#: stock/views.py:841
-msgid "Count"
-msgstr ""
-
-#: stock/views.py:842
-msgid "Remove From Stock"
-msgstr ""
-
-#: stock/views.py:842
-msgid "Take"
-msgstr ""
-
-#: stock/views.py:843
-msgid "Add Stock Items"
-msgstr ""
-
-#: stock/views.py:843 users/models.py:189
-msgid "Add"
-msgstr ""
-
-#: stock/views.py:844
-msgid "Delete Stock Items"
-msgstr ""
-
-#: stock/views.py:910
-msgid "Must enter integer value"
-msgstr ""
-
-#: stock/views.py:915
-msgid "Quantity must be positive"
-msgstr ""
-
-#: stock/views.py:922
-#, python-brace-format
-msgid "Quantity must not exceed {x}"
-msgstr ""
-
-#: stock/views.py:986
-msgid "No action performed"
-msgstr ""
-
-#: stock/views.py:1000
-#, python-brace-format
-msgid "Added stock to {n} items"
-msgstr ""
-
-#: stock/views.py:1014
-#, python-brace-format
-msgid "Removed stock from {n} items"
-msgstr ""
-
-#: stock/views.py:1026
-#, python-brace-format
-msgid "Counted stock for {n} items"
-msgstr ""
-
-#: stock/views.py:1064
-msgid "No items were moved"
-msgstr ""
-
-#: stock/views.py:1067
-#, python-brace-format
-msgid "Moved {n} items to {dest}"
-msgstr ""
-
-#: stock/views.py:1086
-#, python-brace-format
-msgid "Deleted {n} stock items"
-msgstr ""
-
-#: stock/views.py:1098
+#: stock/views.py:761
msgid "Edit Stock Item"
msgstr ""
-#: stock/views.py:1335
+#: stock/views.py:998
msgid "Serialize Stock"
msgstr ""
-#: stock/views.py:1428 templates/js/build.js:365
+#: stock/views.py:1091 templates/js/build.js:365
msgid "Create new Stock Item"
msgstr ""
-#: stock/views.py:1570
+#: stock/views.py:1233
msgid "Duplicate Stock Item"
msgstr ""
-#: stock/views.py:1652
+#: stock/views.py:1315
msgid "Quantity cannot be negative"
msgstr ""
-#: stock/views.py:1752
+#: stock/views.py:1415
msgid "Delete Stock Location"
msgstr ""
-#: stock/views.py:1765
+#: stock/views.py:1428
msgid "Delete Stock Item"
msgstr ""
-#: stock/views.py:1776
+#: stock/views.py:1439
msgid "Delete Stock Tracking Entry"
msgstr ""
-#: stock/views.py:1783
+#: stock/views.py:1446
msgid "Edit Stock Tracking Entry"
msgstr ""
-#: stock/views.py:1792
+#: stock/views.py:1455
msgid "Add Stock Tracking Entry"
msgstr ""
@@ -6191,11 +6147,11 @@ msgstr ""
msgid "Enter a search query"
msgstr ""
-#: templates/InvenTree/search.html:268 templates/js/stock.js:303
+#: templates/InvenTree/search.html:268 templates/js/stock.js:570
msgid "Shipped to customer"
msgstr ""
-#: templates/InvenTree/search.html:271 templates/js/stock.js:313
+#: templates/InvenTree/search.html:271 templates/js/stock.js:580
msgid "No stock location set"
msgstr ""
@@ -6469,9 +6425,9 @@ msgstr ""
msgid "copy version information"
msgstr ""
-#: templates/about.html:100 templates/js/modals.js:34
-#: templates/js/modals.js:675 templates/js/modals.js:968
-#: templates/modals.html:29 templates/modals.html:54 templates/modals.html:97
+#: templates/about.html:100 templates/js/modals.js:33
+#: templates/js/modals.js:567 templates/js/modals.js:661
+#: templates/js/modals.js:954 templates/modals.html:29 templates/modals.html:54
msgid "Close"
msgstr ""
@@ -6491,6 +6447,62 @@ msgstr ""
msgid "Remote image must not exceed maximum allowable file size"
msgstr ""
+#: templates/js/api.js:154 templates/js/modals.js:1024
+msgid "No Response"
+msgstr ""
+
+#: templates/js/api.js:155 templates/js/modals.js:1025
+msgid "No response from the InvenTree server"
+msgstr ""
+
+#: templates/js/api.js:160
+msgid "Error 400: Bad request"
+msgstr ""
+
+#: templates/js/api.js:161
+msgid "API request returned error code 400"
+msgstr ""
+
+#: templates/js/api.js:164 templates/js/modals.js:1034
+msgid "Error 401: Not Authenticated"
+msgstr ""
+
+#: templates/js/api.js:165 templates/js/modals.js:1035
+msgid "Authentication credentials not supplied"
+msgstr ""
+
+#: templates/js/api.js:168 templates/js/modals.js:1039
+msgid "Error 403: Permission Denied"
+msgstr ""
+
+#: templates/js/api.js:169 templates/js/modals.js:1040
+msgid "You do not have the required permissions to access this function"
+msgstr ""
+
+#: templates/js/api.js:172 templates/js/modals.js:1044
+msgid "Error 404: Resource Not Found"
+msgstr ""
+
+#: templates/js/api.js:173 templates/js/modals.js:1045
+msgid "The requested resource could not be located on the server"
+msgstr ""
+
+#: templates/js/api.js:176 templates/js/modals.js:1049
+msgid "Error 408: Timeout"
+msgstr ""
+
+#: templates/js/api.js:177 templates/js/modals.js:1050
+msgid "Connection timeout while requesting data from server"
+msgstr ""
+
+#: templates/js/api.js:180
+msgid "Unhandled Error Code"
+msgstr ""
+
+#: templates/js/api.js:181
+msgid "Error code"
+msgstr ""
+
#: templates/js/attachment.js:16
msgid "No attachments found"
msgstr ""
@@ -6535,7 +6547,7 @@ msgstr ""
msgid "Unknown response from server"
msgstr ""
-#: templates/js/barcode.js:119 templates/js/modals.js:1028
+#: templates/js/barcode.js:119 templates/js/modals.js:1014
msgid "Invalid server response"
msgstr ""
@@ -6559,7 +6571,7 @@ msgstr ""
msgid "Unlink"
msgstr ""
-#: templates/js/barcode.js:376
+#: templates/js/barcode.js:376 templates/js/stock.js:161
msgid "Remove stock item"
msgstr ""
@@ -6697,7 +6709,7 @@ msgid "No builds matching query"
msgstr ""
#: templates/js/build.js:840 templates/js/part.js:491 templates/js/part.js:736
-#: templates/js/stock.js:514 templates/js/stock.js:989
+#: templates/js/stock.js:825 templates/js/stock.js:1276
msgid "Select"
msgstr ""
@@ -6705,7 +6717,7 @@ msgstr ""
msgid "Build order is overdue"
msgstr ""
-#: templates/js/build.js:924 templates/js/stock.js:1211
+#: templates/js/build.js:924 templates/js/stock.js:1498
msgid "No user information"
msgstr ""
@@ -6832,63 +6844,19 @@ msgstr ""
msgid "View operation not allowed"
msgstr ""
-#: templates/js/forms.js:587 templates/js/modals.js:1038
-msgid "No Response"
-msgstr ""
-
-#: templates/js/forms.js:588 templates/js/modals.js:1039
-msgid "No response from the InvenTree server"
-msgstr ""
-
-#: templates/js/forms.js:594 templates/js/modals.js:1048
-msgid "Error 401: Not Authenticated"
-msgstr ""
-
-#: templates/js/forms.js:595 templates/js/modals.js:1049
-msgid "Authentication credentials not supplied"
-msgstr ""
-
-#: templates/js/forms.js:601 templates/js/modals.js:1053
-msgid "Error 403: Permission Denied"
-msgstr ""
-
-#: templates/js/forms.js:602 templates/js/modals.js:1054
-msgid "You do not have the required permissions to access this function"
-msgstr ""
-
-#: templates/js/forms.js:608 templates/js/modals.js:1058
-msgid "Error 404: Resource Not Found"
-msgstr ""
-
-#: templates/js/forms.js:609 templates/js/modals.js:1059
-msgid "The requested resource could not be located on the server"
-msgstr ""
-
-#: templates/js/forms.js:615 templates/js/modals.js:1063
-msgid "Error 408: Timeout"
-msgstr ""
-
-#: templates/js/forms.js:616 templates/js/modals.js:1064
-msgid "Connection timeout while requesting data from server"
-msgstr ""
-
-#: templates/js/forms.js:622 templates/js/modals.js:1067
-msgid "Error requesting form data"
-msgstr ""
-
-#: templates/js/forms.js:815 templates/modals.html:21 templates/modals.html:47
+#: templates/js/forms.js:797 templates/modals.html:21 templates/modals.html:47
msgid "Form errors exist"
msgstr ""
-#: templates/js/forms.js:1188
+#: templates/js/forms.js:1164
msgid "Searching"
msgstr ""
-#: templates/js/forms.js:1338
+#: templates/js/forms.js:1314
msgid "Clear input"
msgstr ""
-#: templates/js/label.js:10 templates/js/report.js:98
+#: templates/js/label.js:10 templates/js/report.js:98 templates/js/stock.js:185
msgid "Select Stock Items"
msgstr ""
@@ -6941,12 +6909,12 @@ msgid "Select Label Template"
msgstr ""
#: templates/js/modals.js:59 templates/js/modals.js:103
-#: templates/js/modals.js:599 templates/modals.html:75
+#: templates/js/modals.js:593
msgid "Cancel"
msgstr ""
#: templates/js/modals.js:60 templates/js/modals.js:102
-#: templates/js/modals.js:674 templates/js/modals.js:967
+#: templates/js/modals.js:660 templates/js/modals.js:953
#: templates/modals.html:30 templates/modals.html:55
msgid "Submit"
msgstr ""
@@ -6955,46 +6923,50 @@ msgstr ""
msgid "Form Title"
msgstr ""
-#: templates/js/modals.js:372
+#: templates/js/modals.js:380
msgid "Waiting for server..."
msgstr ""
-#: templates/js/modals.js:531
+#: templates/js/modals.js:539
msgid "Show Error Information"
msgstr ""
-#: templates/js/modals.js:598 templates/modals.html:76
+#: templates/js/modals.js:592
msgid "Accept"
msgstr ""
-#: templates/js/modals.js:663
+#: templates/js/modals.js:649
msgid "Loading Data"
msgstr ""
-#: templates/js/modals.js:918
+#: templates/js/modals.js:904
msgid "Invalid response from server"
msgstr ""
-#: templates/js/modals.js:918
+#: templates/js/modals.js:904
msgid "Form data missing from server response"
msgstr ""
-#: templates/js/modals.js:931
+#: templates/js/modals.js:917
msgid "Error posting form data"
msgstr ""
-#: templates/js/modals.js:1028
+#: templates/js/modals.js:1014
msgid "JSON response missing form data"
msgstr ""
-#: templates/js/modals.js:1043
+#: templates/js/modals.js:1029
msgid "Error 400: Bad Request"
msgstr ""
-#: templates/js/modals.js:1044
+#: templates/js/modals.js:1030
msgid "Server returned error code 400"
msgstr ""
+#: templates/js/modals.js:1053
+msgid "Error requesting form data"
+msgstr ""
+
#: templates/js/model_renderers.js:38
msgid "Company ID"
msgstr ""
@@ -7083,7 +7055,7 @@ msgstr ""
msgid "Low stock"
msgstr ""
-#: templates/js/part.js:761 templates/js/stock.js:1013
+#: templates/js/part.js:761 templates/js/stock.js:1300
msgid "Path"
msgstr ""
@@ -7091,11 +7063,11 @@ msgstr ""
msgid "No test templates matching query"
msgstr ""
-#: templates/js/part.js:855 templates/js/stock.js:75
+#: templates/js/part.js:855 templates/js/stock.js:384
msgid "Edit test result"
msgstr ""
-#: templates/js/part.js:856 templates/js/stock.js:76
+#: templates/js/part.js:856 templates/js/stock.js:385
msgid "Delete test result"
msgstr ""
@@ -7188,179 +7160,237 @@ msgstr ""
msgid "Sales Order(s) must be selected before printing report"
msgstr ""
-#: templates/js/stock.js:38
-msgid "PASS"
+#: templates/js/stock.js:39
+msgid "Transfer Stock"
msgstr ""
#: templates/js/stock.js:40
+msgid "Move"
+msgstr ""
+
+#: templates/js/stock.js:46
+msgid "Count Stock"
+msgstr ""
+
+#: templates/js/stock.js:47
+msgid "Count"
+msgstr ""
+
+#: templates/js/stock.js:51
+msgid "Remove Stock"
+msgstr ""
+
+#: templates/js/stock.js:52
+msgid "Take"
+msgstr ""
+
+#: templates/js/stock.js:56
+msgid "Add Stock"
+msgstr ""
+
+#: templates/js/stock.js:57 users/models.py:189
+msgid "Add"
+msgstr ""
+
+#: templates/js/stock.js:61 templates/stock_table.html:63
+msgid "Delete Stock"
+msgstr ""
+
+#: templates/js/stock.js:150
+msgid "Quantity cannot be adjusted for serialized stock"
+msgstr ""
+
+#: templates/js/stock.js:150
+msgid "Specify stock quantity"
+msgstr ""
+
+#: templates/js/stock.js:186
+msgid "You must select at least one available stock item"
+msgstr ""
+
+#: templates/js/stock.js:202
+msgid "Select destination stock location"
+msgstr ""
+
+#: templates/js/stock.js:210
+#, fuzzy
+#| msgid "Stock counted"
+msgid "Stock transaction notes"
+msgstr "Stock contado"
+
+#: templates/js/stock.js:347
+msgid "PASS"
+msgstr ""
+
+#: templates/js/stock.js:349
msgid "FAIL"
msgstr ""
-#: templates/js/stock.js:45
+#: templates/js/stock.js:354
msgid "NO RESULT"
msgstr ""
-#: templates/js/stock.js:71
+#: templates/js/stock.js:380
msgid "Add test result"
msgstr ""
-#: templates/js/stock.js:97
+#: templates/js/stock.js:406
msgid "No test results found"
msgstr ""
-#: templates/js/stock.js:145
+#: templates/js/stock.js:454
msgid "Test Date"
msgstr ""
-#: templates/js/stock.js:295
+#: templates/js/stock.js:562
msgid "In production"
msgstr ""
-#: templates/js/stock.js:299
+#: templates/js/stock.js:566
msgid "Installed in Stock Item"
msgstr ""
-#: templates/js/stock.js:307
+#: templates/js/stock.js:574
msgid "Assigned to Sales Order"
msgstr ""
-#: templates/js/stock.js:339
+#: templates/js/stock.js:650
msgid "No stock items matching query"
msgstr ""
-#: templates/js/stock.js:360
+#: templates/js/stock.js:671
msgid "items"
msgstr ""
-#: templates/js/stock.js:452
+#: templates/js/stock.js:763
msgid "batches"
msgstr ""
-#: templates/js/stock.js:479
+#: templates/js/stock.js:790
msgid "locations"
msgstr ""
-#: templates/js/stock.js:481
+#: templates/js/stock.js:792
msgid "Undefined location"
msgstr ""
-#: templates/js/stock.js:582
+#: templates/js/stock.js:893
msgid "Stock item is in production"
msgstr ""
-#: templates/js/stock.js:587
+#: templates/js/stock.js:898
msgid "Stock item assigned to sales order"
msgstr ""
-#: templates/js/stock.js:590
+#: templates/js/stock.js:901
msgid "Stock item assigned to customer"
msgstr ""
-#: templates/js/stock.js:594
+#: templates/js/stock.js:905
msgid "Stock item has expired"
msgstr ""
-#: templates/js/stock.js:596
+#: templates/js/stock.js:907
msgid "Stock item will expire soon"
msgstr ""
-#: templates/js/stock.js:600
+#: templates/js/stock.js:911
msgid "Stock item has been allocated"
msgstr ""
-#: templates/js/stock.js:604
+#: templates/js/stock.js:915
msgid "Stock item has been installed in another item"
msgstr ""
-#: templates/js/stock.js:611
+#: templates/js/stock.js:922
msgid "Stock item has been rejected"
msgstr ""
-#: templates/js/stock.js:615
+#: templates/js/stock.js:926
msgid "Stock item is lost"
msgstr ""
-#: templates/js/stock.js:618
+#: templates/js/stock.js:929
msgid "Stock item is destroyed"
msgstr ""
-#: templates/js/stock.js:622 templates/js/table_filters.js:147
+#: templates/js/stock.js:933 templates/js/table_filters.js:147
msgid "Depleted"
msgstr ""
-#: templates/js/stock.js:651
+#: templates/js/stock.js:962
msgid "Stocktake"
msgstr ""
-#: templates/js/stock.js:705
+#: templates/js/stock.js:1016
msgid "Supplier part not specified"
msgstr ""
-#: templates/js/stock.js:876
+#: templates/js/stock.js:1163
msgid "Stock Status"
msgstr ""
-#: templates/js/stock.js:891
+#: templates/js/stock.js:1178
msgid "Set Stock Status"
msgstr ""
-#: templates/js/stock.js:905
+#: templates/js/stock.js:1192
msgid "Select Status Code"
msgstr ""
-#: templates/js/stock.js:906
+#: templates/js/stock.js:1193
msgid "Status code must be selected"
msgstr ""
-#: templates/js/stock.js:1045
+#: templates/js/stock.js:1332
msgid "Invalid date"
msgstr ""
-#: templates/js/stock.js:1092
+#: templates/js/stock.js:1379
msgid "Location no longer exists"
msgstr ""
-#: templates/js/stock.js:1111
+#: templates/js/stock.js:1398
msgid "Purchase order no longer exists"
msgstr ""
-#: templates/js/stock.js:1130
+#: templates/js/stock.js:1417
msgid "Customer no longer exists"
msgstr ""
-#: templates/js/stock.js:1148
+#: templates/js/stock.js:1435
msgid "Stock item no longer exists"
msgstr ""
-#: templates/js/stock.js:1171
+#: templates/js/stock.js:1458
msgid "Added"
msgstr ""
-#: templates/js/stock.js:1179
+#: templates/js/stock.js:1466
msgid "Removed"
msgstr ""
-#: templates/js/stock.js:1223
+#: templates/js/stock.js:1510
msgid "Edit tracking entry"
msgstr ""
-#: templates/js/stock.js:1224
+#: templates/js/stock.js:1511
msgid "Delete tracking entry"
msgstr ""
-#: templates/js/stock.js:1348
+#: templates/js/stock.js:1635
msgid "Create New Location"
msgstr ""
-#: templates/js/stock.js:1389
+#: templates/js/stock.js:1676
msgid "No installed items"
msgstr ""
-#: templates/js/stock.js:1412
+#: templates/js/stock.js:1699
msgid "Serial"
msgstr ""
-#: templates/js/stock.js:1440
+#: templates/js/stock.js:1727
msgid "Uninstall Stock Item"
msgstr ""
@@ -7791,10 +7821,6 @@ msgstr ""
msgid "Delete selected items"
msgstr ""
-#: templates/stock_table.html:63
-msgid "Delete Stock"
-msgstr ""
-
#: templates/yesnolabel.html:4
msgid "Yes"
msgstr ""
diff --git a/InvenTree/locale/fr/LC_MESSAGES/django.po b/InvenTree/locale/fr/LC_MESSAGES/django.po
index 522a3bdbc7..941cc0c7f5 100644
--- a/InvenTree/locale/fr/LC_MESSAGES/django.po
+++ b/InvenTree/locale/fr/LC_MESSAGES/django.po
@@ -2,7 +2,7 @@ msgid ""
msgstr ""
"Project-Id-Version: inventree\n"
"Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2021-07-12 11:35+0000\n"
+"POT-Creation-Date: 2021-07-12 12:18+0000\n"
"PO-Revision-Date: 2021-07-10 04:49\n"
"Last-Translator: \n"
"Language-Team: French\n"
@@ -36,7 +36,7 @@ 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:30 order/forms.py:41 order/forms.py:52 order/forms.py:63
-#: order/forms.py:74 part/forms.py:119 templates/js/forms.js:486
+#: order/forms.py:74 part/forms.py:119 templates/js/forms.js:506
msgid "Confirm"
msgstr "Confirmer"
@@ -78,7 +78,7 @@ msgid "Duplicate serial: {n}"
msgstr "Dupliquer le numéro de série: {n}"
#: InvenTree/helpers.py:403 order/models.py:315 order/models.py:425
-#: stock/views.py:1648
+#: stock/views.py:1311
msgid "Invalid quantity provided"
msgstr "Quantité fournie invalide"
@@ -124,7 +124,7 @@ msgstr "Commentaire du fichier"
#: InvenTree/models.py:70 InvenTree/models.py:71 part/models.py:2042
#: report/templates/report/inventree_test_report_base.html:91
-#: templates/js/stock.js:1202
+#: templates/js/stock.js:1489
msgid "User"
msgstr "Utilisateur"
@@ -141,7 +141,7 @@ msgstr ""
#: report/models.py:181 templates/InvenTree/search.html:137
#: templates/InvenTree/search.html:289 templates/js/company.js:365
#: templates/js/part.js:118 templates/js/part.js:251 templates/js/part.js:743
-#: templates/js/stock.js:995
+#: templates/js/stock.js:1282
msgid "Name"
msgstr "Nom"
@@ -164,8 +164,8 @@ msgstr "Nom"
#: templates/js/company.js:561 templates/js/order.js:245
#: templates/js/order.js:347 templates/js/part.js:177 templates/js/part.js:361
#: templates/js/part.js:538 templates/js/part.js:755 templates/js/part.js:823
-#: templates/js/stock.js:557 templates/js/stock.js:1007
-#: templates/js/stock.js:1052
+#: templates/js/stock.js:868 templates/js/stock.js:1294
+#: templates/js/stock.js:1339
msgid "Description"
msgstr "Description"
@@ -496,8 +496,8 @@ msgstr ""
#: templates/js/bom.js:205 templates/js/build.js:271 templates/js/build.js:606
#: templates/js/build.js:1172 templates/js/model_renderers.js:56
#: templates/js/order.js:460 templates/js/part.js:928 templates/js/part.js:1050
-#: templates/js/part.js:1106 templates/js/stock.js:1187
-#: templates/js/stock.js:1406
+#: templates/js/part.js:1106 templates/js/stock.js:1474
+#: templates/js/stock.js:1693
msgid "Quantity"
msgstr "Quantité"
@@ -542,8 +542,9 @@ msgstr ""
#: stock/templates/stock/stock_adjust.html:17
#: templates/InvenTree/search.html:260 templates/js/barcode.js:363
#: templates/js/barcode.js:531 templates/js/build.js:256
-#: templates/js/build.js:620 templates/js/order.js:445
-#: templates/js/stock.js:643 templates/js/stock.js:1079
+#: templates/js/build.js:620 templates/js/order.js:445 templates/js/stock.js:75
+#: templates/js/stock.js:201 templates/js/stock.js:954
+#: templates/js/stock.js:1366
msgid "Location"
msgstr ""
@@ -557,8 +558,8 @@ msgstr "Emplacement des pièces terminées"
#: stock/templates/stock/item_base.html:420 templates/InvenTree/search.html:252
#: templates/js/barcode.js:119 templates/js/build.js:902
#: templates/js/order.js:249 templates/js/order.js:352
-#: templates/js/stock.js:630 templates/js/stock.js:1156
-#: templates/js/stock.js:1422
+#: templates/js/stock.js:941 templates/js/stock.js:1443
+#: templates/js/stock.js:1709
msgid "Status"
msgstr ""
@@ -659,8 +660,8 @@ msgstr ""
#: templates/js/build.js:586 templates/js/build.js:873
#: templates/js/build.js:1139 templates/js/company.js:264
#: templates/js/company.js:470 templates/js/part.js:342
-#: templates/js/part.js:505 templates/js/stock.js:526
-#: templates/js/stock.js:1394
+#: templates/js/part.js:505 templates/js/stock.js:73 templates/js/stock.js:837
+#: templates/js/stock.js:1681
msgid "Part"
msgstr "Pièce"
@@ -708,7 +709,7 @@ msgstr ""
msgid "Number of stock items which have been completed"
msgstr ""
-#: build/models.py:249 part/templates/part/part_base.html:167
+#: build/models.py:249 part/templates/part/part_base.html:183
msgid "Build Status"
msgstr ""
@@ -766,7 +767,7 @@ msgstr ""
#: 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
+#: part/templates/part/detail.html:83 part/templates/part/part_base.html:110
#: stock/models.py:464 stock/templates/stock/item_base.html:357
msgid "External Link"
msgstr "Lien Externe"
@@ -791,7 +792,8 @@ msgstr ""
#: 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/company.js:566
-#: templates/js/stock.js:141 templates/js/stock.js:722
+#: templates/js/stock.js:209 templates/js/stock.js:450
+#: templates/js/stock.js:1033
msgid "Notes"
msgstr "Notes"
@@ -857,7 +859,7 @@ msgstr ""
#: stock/templates/stock/stock_adjust.html:16 templates/js/build.js:244
#: templates/js/build.js:249 templates/js/build.js:993
#: templates/js/order.js:433 templates/js/order.js:438
-#: templates/js/stock.js:1138
+#: templates/js/stock.js:1425
msgid "Stock Item"
msgstr ""
@@ -1242,8 +1244,8 @@ msgid "Destination location not specified"
msgstr ""
#: build/templates/build/detail.html:70
-#: stock/templates/stock/item_base.html:315 templates/js/stock.js:638
-#: templates/js/stock.js:1429 templates/js/table_filters.js:116
+#: stock/templates/stock/item_base.html:315 templates/js/stock.js:949
+#: templates/js/stock.js:1716 templates/js/table_filters.js:116
#: templates/js/table_filters.js:210
msgid "Batch"
msgstr ""
@@ -1298,7 +1300,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:1067
+#: templates/js/stock.js:1354
msgid "Details"
msgstr "Détails"
@@ -1362,7 +1364,7 @@ msgstr ""
msgid "Maximum output quantity is "
msgstr ""
-#: build/views.py:184 stock/views.py:1674
+#: build/views.py:184 stock/views.py:1337
msgid "Serial numbers already exist"
msgstr ""
@@ -2116,7 +2118,7 @@ msgstr ""
#: report/templates/report/inventree_test_report_base.html:90
#: stock/models.py:1771 templates/InvenTree/settings/header.html:8
#: templates/js/company.js:371 templates/js/part.js:260
-#: templates/js/stock.js:137
+#: templates/js/stock.js:446
msgid "Value"
msgstr ""
@@ -2189,7 +2191,7 @@ msgstr ""
#: company/models.py:566 company/templates/company/supplier_part_base.html:109
#: stock/models.py:435 stock/templates/stock/item_base.html:322
-#: templates/js/company.js:571 templates/js/stock.js:718
+#: templates/js/company.js:571 templates/js/stock.js:1029
msgid "Packaging"
msgstr ""
@@ -2259,7 +2261,7 @@ msgid "Phone"
msgstr ""
#: company/templates/company/company_base.html:166
-#: part/templates/part/part_base.html:311
+#: part/templates/part/part_base.html:347
msgid "Upload Image"
msgstr ""
@@ -2279,7 +2281,7 @@ msgstr ""
#: order/templates/order/sales_order_base.html:94 stock/models.py:453
#: stock/models.py:454 stock/templates/stock/item_base.html:274
#: templates/js/company.js:109 templates/js/order.js:329
-#: templates/js/stock.js:1120
+#: templates/js/stock.js:1407
msgid "Customer"
msgstr ""
@@ -2325,7 +2327,7 @@ msgstr ""
#: company/templates/company/detail_manufacturer_part.html:68
#: company/templates/company/detail_supplier_part.html:66
#: part/templates/part/bom.html:166 part/templates/part/category.html:127
-#: templates/js/stock.js:1335
+#: templates/js/stock.js:1622
msgid "New Part"
msgstr ""
@@ -2351,7 +2353,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:55 stock/templates/stock/location.html:163
+#: part/templates/part/stock.html:55 stock/templates/stock/location.html:175
msgid "Export"
msgstr ""
@@ -2363,14 +2365,14 @@ msgstr ""
#: company/templates/company/detail_supplier_part.html:21
#: order/templates/order/order_wizard/select_parts.html:44
-#: part/templates/part/part_base.html:433
+#: part/templates/part/part_base.html:469
msgid "Create new supplier part"
msgstr ""
#: company/templates/company/detail_supplier_part.html:22
#: company/templates/company/manufacturer_part_suppliers.html:17
-#: part/templates/part/part_base.html:432 part/templates/part/supplier.html:18
-#: templates/js/stock.js:1341
+#: part/templates/part/part_base.html:468 part/templates/part/supplier.html:18
+#: templates/js/stock.js:1628
msgid "New Supplier Part"
msgstr ""
@@ -2391,7 +2393,7 @@ msgstr ""
#: company/templates/company/manufacturer_part_base.html:36
#: company/templates/company/supplier_part_base.html:36
#: company/templates/company/supplier_part_orders.html:17
-#: part/templates/part/orders.html:17 part/templates/part/part_base.html:58
+#: part/templates/part/orders.html:17 part/templates/part/part_base.html:74
msgid "Order part"
msgstr ""
@@ -2444,8 +2446,8 @@ msgstr ""
#: templates/InvenTree/index.html:128 templates/InvenTree/search.html:196
#: templates/InvenTree/search.html:232
#: templates/InvenTree/settings/tabs.html:31 templates/js/part.js:181
-#: templates/js/part.js:406 templates/js/part.js:566 templates/js/stock.js:566
-#: templates/navbar.html:26
+#: templates/js/part.js:406 templates/js/part.js:566 templates/js/stock.js:74
+#: templates/js/stock.js:877 templates/navbar.html:26
msgid "Stock"
msgstr ""
@@ -2467,8 +2469,8 @@ msgstr ""
#: company/templates/company/manufacturer_part_suppliers.html:48
#: company/templates/company/manufacturer_part_suppliers.html:142
#: part/templates/part/related.html:44 part/templates/part/supplier.html:23
-#: part/templates/part/supplier.html:52 stock/views.py:844
-#: templates/js/company.js:203 users/models.py:193
+#: part/templates/part/supplier.html:52 templates/js/company.js:203
+#: users/models.py:193
msgid "Delete"
msgstr ""
@@ -2518,12 +2520,12 @@ msgid "Supplied Parts"
msgstr ""
#: company/templates/company/navbar.html:38 part/templates/part/navbar.html:30
-#: stock/templates/stock/location.html:107
-#: stock/templates/stock/location.html:122
-#: stock/templates/stock/location.html:136
+#: stock/templates/stock/location.html:119
+#: stock/templates/stock/location.html:134
+#: stock/templates/stock/location.html:148
#: stock/templates/stock/location_navbar.html:22
#: stock/templates/stock/location_navbar.html:29
-#: templates/InvenTree/search.html:198 templates/js/stock.js:1019
+#: templates/InvenTree/search.html:198 templates/js/stock.js:1306
#: templates/stats.html:93 templates/stats.html:102 users/models.py:43
msgid "Stock Items"
msgstr ""
@@ -2581,7 +2583,7 @@ msgstr ""
#: company/templates/company/supplier_part_base.html:7
#: company/templates/company/supplier_part_base.html:20 stock/models.py:420
#: stock/templates/stock/item_base.html:386 templates/js/company.js:511
-#: templates/js/stock.js:690
+#: templates/js/stock.js:1001
msgid "Supplier Part"
msgstr ""
@@ -2703,7 +2705,7 @@ msgstr ""
msgid "Edit Supplier Part"
msgstr ""
-#: company/views.py:385 templates/js/stock.js:1342
+#: company/views.py:385 templates/js/stock.js:1629
msgid "Create new Supplier Part"
msgstr ""
@@ -2942,7 +2944,7 @@ msgstr ""
#: order/templates/order/order_base.html:24
#: report/templates/report/inventree_po_report.html:77
#: stock/templates/stock/item_base.html:336 templates/js/order.js:210
-#: templates/js/stock.js:669 templates/js/stock.js:1101
+#: templates/js/stock.js:980 templates/js/stock.js:1388
msgid "Purchase Order"
msgstr ""
@@ -2962,7 +2964,7 @@ msgid "Number of items received"
msgstr ""
#: order/models.py:776 part/templates/part/prices.html:166 stock/models.py:545
-#: stock/templates/stock/item_base.html:343 templates/js/stock.js:713
+#: stock/templates/stock/item_base.html:343 templates/js/stock.js:1024
msgid "Purchase Price"
msgstr ""
@@ -3078,15 +3080,14 @@ 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
-#: part/templates/part/part_base.html:419
-#: stock/templates/stock/location.html:191 templates/js/stock.js:759
-#: templates/js/stock.js:1347
+#: part/templates/part/part_base.html:455
+#: stock/templates/stock/location.html:203 templates/js/stock.js:1634
msgid "New Location"
msgstr ""
#: order/templates/order/order_base.html:200
#: order/templates/order/purchase_order_detail.html:128
-#: part/templates/part/part_base.html:420
+#: part/templates/part/part_base.html:456
#: stock/templates/stock/location.html:42
msgid "Create new stock location"
msgstr ""
@@ -3361,7 +3362,7 @@ msgid "Order Code"
msgstr ""
#: order/templates/order/receive_parts.html:21
-#: part/templates/part/part_base.html:136 templates/js/part.js:582
+#: part/templates/part/part_base.html:152 templates/js/part.js:582
msgid "On Order"
msgstr ""
@@ -3668,7 +3669,7 @@ msgstr ""
msgid "Default Location"
msgstr ""
-#: part/bom.py:134 part/templates/part/part_base.html:124
+#: part/bom.py:134 part/templates/part/part_base.html:140
msgid "Available Stock"
msgstr ""
@@ -3891,7 +3892,7 @@ msgid "Part category"
msgstr ""
#: part/models.py:723 part/templates/part/detail.html:28
-#: part/templates/part/part_base.html:87 templates/js/part.js:169
+#: part/templates/part/part_base.html:103 templates/js/part.js:169
#: templates/js/part.js:397
msgid "IPN"
msgstr "IPN"
@@ -4011,7 +4012,7 @@ msgstr ""
msgid "Test with this name already exists for this part"
msgstr ""
-#: part/models.py:2124 templates/js/part.js:818 templates/js/stock.js:117
+#: part/models.py:2124 templates/js/part.js:818 templates/js/stock.js:426
msgid "Test Name"
msgstr ""
@@ -4255,7 +4256,7 @@ msgid "All selected BOM items will be deleted"
msgstr ""
#: part/templates/part/bom.html:167 part/views.py:451
-#: templates/js/stock.js:1336
+#: templates/js/stock.js:1623
msgid "Create New Part"
msgstr ""
@@ -4372,12 +4373,12 @@ msgid "View grid display"
msgstr ""
#: part/templates/part/category.html:218
-#: stock/templates/stock/location.html:192 templates/js/stock.js:760
+#: stock/templates/stock/location.html:204
msgid "Create new location"
msgstr ""
#: part/templates/part/category.html:223 part/templates/part/category.html:253
-#: part/templates/part/part_base.html:382
+#: part/templates/part/part_base.html:418
msgid "New Category"
msgstr ""
@@ -4389,7 +4390,7 @@ msgstr ""
msgid "Create new Part Category"
msgstr ""
-#: part/templates/part/category.html:260 stock/views.py:1244
+#: part/templates/part/category.html:260 stock/views.py:907
msgid "Create new Stock Location"
msgstr ""
@@ -4474,7 +4475,7 @@ msgstr ""
msgid "Part Details"
msgstr ""
-#: part/templates/part/detail.html:42 part/templates/part/part_base.html:188
+#: part/templates/part/detail.html:42 part/templates/part/part_base.html:204
msgid "Latest Serial Number"
msgstr ""
@@ -4639,73 +4640,83 @@ msgstr ""
msgid "Show pricing information"
msgstr ""
-#: part/templates/part/part_base.html:52
+#: part/templates/part/part_base.html:53
+#: stock/templates/stock/item_base.html:140
+#: stock/templates/stock/location.html:62
+msgid "Stock actions"
+msgstr ""
+
+#: part/templates/part/part_base.html:60
msgid "Count part stock"
msgstr ""
-#: part/templates/part/part_base.html:67
+#: part/templates/part/part_base.html:66
+msgid "Transfer part stock"
+msgstr ""
+
+#: part/templates/part/part_base.html:83
msgid "Part actions"
msgstr ""
-#: part/templates/part/part_base.html:70
+#: part/templates/part/part_base.html:86
msgid "Duplicate part"
msgstr ""
-#: part/templates/part/part_base.html:73
+#: part/templates/part/part_base.html:89
msgid "Edit part"
msgstr ""
-#: part/templates/part/part_base.html:76
+#: part/templates/part/part_base.html:92
msgid "Delete part"
msgstr ""
-#: part/templates/part/part_base.html:107
+#: part/templates/part/part_base.html:123
msgid "This is a virtual part"
msgstr ""
-#: part/templates/part/part_base.html:113
+#: part/templates/part/part_base.html:129
#, python-format
msgid "This part is a variant of %(link)s"
msgstr ""
-#: part/templates/part/part_base.html:130 templates/js/table_filters.js:165
+#: part/templates/part/part_base.html:146 templates/js/table_filters.js:165
msgid "In Stock"
msgstr ""
-#: part/templates/part/part_base.html:143 templates/InvenTree/index.html:132
+#: part/templates/part/part_base.html:159 templates/InvenTree/index.html:132
msgid "Required for Build Orders"
msgstr ""
-#: part/templates/part/part_base.html:150
+#: part/templates/part/part_base.html:166
msgid "Required for Sales Orders"
msgstr ""
-#: part/templates/part/part_base.html:157
+#: part/templates/part/part_base.html:173
msgid "Allocated to Orders"
msgstr ""
-#: part/templates/part/part_base.html:172 templates/js/bom.js:316
+#: part/templates/part/part_base.html:188 templates/js/bom.js:316
msgid "Can Build"
msgstr ""
-#: part/templates/part/part_base.html:178 templates/js/part.js:413
+#: part/templates/part/part_base.html:194 templates/js/part.js:413
#: templates/js/part.js:586
msgid "Building"
msgstr ""
-#: part/templates/part/part_base.html:289 part/templates/part/prices.html:131
+#: part/templates/part/part_base.html:325 part/templates/part/prices.html:131
msgid "Calculate"
msgstr ""
-#: part/templates/part/part_base.html:383
+#: part/templates/part/part_base.html:419
msgid "Create New Part Category"
msgstr ""
-#: part/templates/part/part_base.html:391
+#: part/templates/part/part_base.html:427
msgid "New Parent"
msgstr ""
-#: part/templates/part/part_base.html:439
+#: part/templates/part/part_base.html:475
msgid "Edit Part"
msgstr ""
@@ -5237,7 +5248,7 @@ msgid "Result"
msgstr ""
#: report/templates/report/inventree_test_report_base.html:92
-#: templates/js/order.js:257 templates/js/stock.js:1035
+#: templates/js/order.js:257 templates/js/stock.js:1322
msgid "Date"
msgstr ""
@@ -5249,18 +5260,54 @@ msgstr ""
msgid "Fail"
msgstr ""
-#: stock/api.py:197
+#: stock/api.py:146
+msgid "Request must contain list of stock items"
+msgstr ""
+
+#: stock/api.py:154
+msgid "Improperly formatted data"
+msgstr ""
+
+#: stock/api.py:162
+msgid "Each entry must contain a valid integer primary-key"
+msgstr ""
+
+#: stock/api.py:168
+msgid "Primary key does not match valid stock item"
+msgstr ""
+
+#: stock/api.py:178
+#, fuzzy
+#| msgid "Invalid quantity provided"
+msgid "Invalid quantity value"
+msgstr "Quantité fournie invalide"
+
+#: stock/api.py:183
+msgid "Quantity must not be less than zero"
+msgstr ""
+
+#: stock/api.py:211
#, python-brace-format
msgid "Updated stock for {n} items"
msgstr ""
-#: stock/api.py:266
+#: stock/api.py:247 stock/api.py:280
+msgid "Specified quantity exceeds stock quantity"
+msgstr ""
+
+#: stock/api.py:270
+#, fuzzy
+#| msgid "No action specified"
+msgid "Valid location must be specified"
+msgstr "Aucune action spécifiée"
+
+#: stock/api.py:290
#, python-brace-format
msgid "Moved {n} parts to {loc}"
msgstr ""
#: stock/forms.py:81 stock/forms.py:385 stock/models.py:513
-#: stock/templates/stock/item_base.html:393 templates/js/stock.js:658
+#: stock/templates/stock/item_base.html:393 templates/js/stock.js:969
msgid "Expiry Date"
msgstr ""
@@ -5333,7 +5380,7 @@ msgstr ""
msgid "Add note (required)"
msgstr ""
-#: stock/forms.py:348 stock/views.py:728 stock/views.py:930
+#: stock/forms.py:348 stock/views.py:728 templates/js/stock.js:223
msgid "Confirm stock adjustment"
msgstr ""
@@ -5582,7 +5629,7 @@ msgid "Stock adjustment actions"
msgstr ""
#: stock/templates/stock/item_base.html:108
-#: stock/templates/stock/location.html:65 templates/stock_table.html:57
+#: stock/templates/stock/location.html:69 templates/stock_table.html:57
msgid "Count stock"
msgstr ""
@@ -5599,6 +5646,7 @@ msgid "Serialize stock"
msgstr ""
#: stock/templates/stock/item_base.html:121
+#: stock/templates/stock/location.html:75
msgid "Transfer stock"
msgstr ""
@@ -5618,11 +5666,6 @@ msgstr ""
msgid "Uninstall"
msgstr ""
-#: stock/templates/stock/item_base.html:140
-#: stock/templates/stock/location.html:62
-msgid "Stock actions"
-msgstr ""
-
#: stock/templates/stock/item_base.html:143
msgid "Convert to variant"
msgstr ""
@@ -5715,7 +5758,7 @@ msgstr ""
msgid "This StockItem expires on %(item.expiry_date)s"
msgstr ""
-#: stock/templates/stock/item_base.html:406 templates/js/stock.js:664
+#: stock/templates/stock/item_base.html:406 templates/js/stock.js:975
msgid "Last Updated"
msgstr ""
@@ -5819,42 +5862,42 @@ msgstr ""
msgid "Check-in Items"
msgstr ""
-#: stock/templates/stock/location.html:71
+#: stock/templates/stock/location.html:83
msgid "Location actions"
msgstr ""
-#: stock/templates/stock/location.html:73
+#: stock/templates/stock/location.html:85
msgid "Edit location"
msgstr ""
-#: stock/templates/stock/location.html:75
+#: stock/templates/stock/location.html:87
msgid "Delete location"
msgstr ""
-#: stock/templates/stock/location.html:87
+#: stock/templates/stock/location.html:99
msgid "Location Details"
msgstr ""
-#: stock/templates/stock/location.html:92
+#: stock/templates/stock/location.html:104
msgid "Location Path"
msgstr ""
-#: stock/templates/stock/location.html:97
+#: stock/templates/stock/location.html:109
msgid "Location Description"
msgstr ""
-#: stock/templates/stock/location.html:102
+#: stock/templates/stock/location.html:114
#: stock/templates/stock/location_navbar.html:11
#: stock/templates/stock/location_navbar.html:18
#: stock/templates/stock/sublocation.html:16
msgid "Sublocations"
msgstr ""
-#: stock/templates/stock/location.html:112
+#: stock/templates/stock/location.html:124
msgid "Stock Details"
msgstr ""
-#: stock/templates/stock/location.html:117 templates/InvenTree/search.html:279
+#: stock/templates/stock/location.html:129 templates/InvenTree/search.html:279
#: templates/stats.html:97 users/models.py:42
msgid "Stock Locations"
msgstr ""
@@ -5895,7 +5938,7 @@ msgstr ""
msgid "The following stock items will be uninstalled"
msgstr ""
-#: stock/templates/stock/stockitem_convert.html:7 stock/views.py:1217
+#: stock/templates/stock/stockitem_convert.html:7 stock/views.py:880
msgid "Convert Stock Item"
msgstr ""
@@ -5928,8 +5971,7 @@ msgstr ""
msgid "Edit Stock Location"
msgstr ""
-#: stock/views.py:253 stock/views.py:1196 stock/views.py:1318
-#: stock/views.py:1683
+#: stock/views.py:253 stock/views.py:859 stock/views.py:981 stock/views.py:1346
msgid "Owner is required (ownership control is enabled)"
msgstr ""
@@ -5985,129 +6027,43 @@ msgstr ""
msgid "Uninstalled stock items"
msgstr ""
-#: stock/views.py:764
-msgid "Adjust Stock"
-msgstr ""
-
-#: stock/views.py:840
-msgid "Move Stock Items"
-msgstr ""
-
-#: stock/views.py:840
-msgid "Move"
-msgstr ""
-
-#: stock/views.py:841
-msgid "Count Stock Items"
-msgstr ""
-
-#: stock/views.py:841
-msgid "Count"
-msgstr ""
-
-#: stock/views.py:842
-msgid "Remove From Stock"
-msgstr ""
-
-#: stock/views.py:842
-msgid "Take"
-msgstr ""
-
-#: stock/views.py:843
-msgid "Add Stock Items"
-msgstr ""
-
-#: stock/views.py:843 users/models.py:189
-msgid "Add"
-msgstr ""
-
-#: stock/views.py:844
-msgid "Delete Stock Items"
-msgstr ""
-
-#: stock/views.py:910
-msgid "Must enter integer value"
-msgstr ""
-
-#: stock/views.py:915
-msgid "Quantity must be positive"
-msgstr ""
-
-#: stock/views.py:922
-#, python-brace-format
-msgid "Quantity must not exceed {x}"
-msgstr ""
-
-#: stock/views.py:986
-msgid "No action performed"
-msgstr ""
-
-#: stock/views.py:1000
-#, python-brace-format
-msgid "Added stock to {n} items"
-msgstr ""
-
-#: stock/views.py:1014
-#, python-brace-format
-msgid "Removed stock from {n} items"
-msgstr ""
-
-#: stock/views.py:1026
-#, python-brace-format
-msgid "Counted stock for {n} items"
-msgstr ""
-
-#: stock/views.py:1064
-msgid "No items were moved"
-msgstr ""
-
-#: stock/views.py:1067
-#, python-brace-format
-msgid "Moved {n} items to {dest}"
-msgstr ""
-
-#: stock/views.py:1086
-#, python-brace-format
-msgid "Deleted {n} stock items"
-msgstr ""
-
-#: stock/views.py:1098
+#: stock/views.py:761
msgid "Edit Stock Item"
msgstr ""
-#: stock/views.py:1335
+#: stock/views.py:998
msgid "Serialize Stock"
msgstr ""
-#: stock/views.py:1428 templates/js/build.js:365
+#: stock/views.py:1091 templates/js/build.js:365
msgid "Create new Stock Item"
msgstr ""
-#: stock/views.py:1570
+#: stock/views.py:1233
msgid "Duplicate Stock Item"
msgstr ""
-#: stock/views.py:1652
+#: stock/views.py:1315
msgid "Quantity cannot be negative"
msgstr ""
-#: stock/views.py:1752
+#: stock/views.py:1415
msgid "Delete Stock Location"
msgstr ""
-#: stock/views.py:1765
+#: stock/views.py:1428
msgid "Delete Stock Item"
msgstr ""
-#: stock/views.py:1776
+#: stock/views.py:1439
msgid "Delete Stock Tracking Entry"
msgstr ""
-#: stock/views.py:1783
+#: stock/views.py:1446
msgid "Edit Stock Tracking Entry"
msgstr ""
-#: stock/views.py:1792
+#: stock/views.py:1455
msgid "Add Stock Tracking Entry"
msgstr ""
@@ -6191,11 +6147,11 @@ msgstr ""
msgid "Enter a search query"
msgstr ""
-#: templates/InvenTree/search.html:268 templates/js/stock.js:303
+#: templates/InvenTree/search.html:268 templates/js/stock.js:570
msgid "Shipped to customer"
msgstr ""
-#: templates/InvenTree/search.html:271 templates/js/stock.js:313
+#: templates/InvenTree/search.html:271 templates/js/stock.js:580
msgid "No stock location set"
msgstr ""
@@ -6469,9 +6425,9 @@ msgstr ""
msgid "copy version information"
msgstr ""
-#: templates/about.html:100 templates/js/modals.js:34
-#: templates/js/modals.js:675 templates/js/modals.js:968
-#: templates/modals.html:29 templates/modals.html:54 templates/modals.html:97
+#: templates/about.html:100 templates/js/modals.js:33
+#: templates/js/modals.js:567 templates/js/modals.js:661
+#: templates/js/modals.js:954 templates/modals.html:29 templates/modals.html:54
msgid "Close"
msgstr ""
@@ -6491,6 +6447,62 @@ msgstr ""
msgid "Remote image must not exceed maximum allowable file size"
msgstr ""
+#: templates/js/api.js:154 templates/js/modals.js:1024
+msgid "No Response"
+msgstr ""
+
+#: templates/js/api.js:155 templates/js/modals.js:1025
+msgid "No response from the InvenTree server"
+msgstr ""
+
+#: templates/js/api.js:160
+msgid "Error 400: Bad request"
+msgstr ""
+
+#: templates/js/api.js:161
+msgid "API request returned error code 400"
+msgstr ""
+
+#: templates/js/api.js:164 templates/js/modals.js:1034
+msgid "Error 401: Not Authenticated"
+msgstr ""
+
+#: templates/js/api.js:165 templates/js/modals.js:1035
+msgid "Authentication credentials not supplied"
+msgstr ""
+
+#: templates/js/api.js:168 templates/js/modals.js:1039
+msgid "Error 403: Permission Denied"
+msgstr ""
+
+#: templates/js/api.js:169 templates/js/modals.js:1040
+msgid "You do not have the required permissions to access this function"
+msgstr ""
+
+#: templates/js/api.js:172 templates/js/modals.js:1044
+msgid "Error 404: Resource Not Found"
+msgstr ""
+
+#: templates/js/api.js:173 templates/js/modals.js:1045
+msgid "The requested resource could not be located on the server"
+msgstr ""
+
+#: templates/js/api.js:176 templates/js/modals.js:1049
+msgid "Error 408: Timeout"
+msgstr ""
+
+#: templates/js/api.js:177 templates/js/modals.js:1050
+msgid "Connection timeout while requesting data from server"
+msgstr ""
+
+#: templates/js/api.js:180
+msgid "Unhandled Error Code"
+msgstr ""
+
+#: templates/js/api.js:181
+msgid "Error code"
+msgstr ""
+
#: templates/js/attachment.js:16
msgid "No attachments found"
msgstr ""
@@ -6535,7 +6547,7 @@ msgstr ""
msgid "Unknown response from server"
msgstr ""
-#: templates/js/barcode.js:119 templates/js/modals.js:1028
+#: templates/js/barcode.js:119 templates/js/modals.js:1014
msgid "Invalid server response"
msgstr ""
@@ -6559,7 +6571,7 @@ msgstr ""
msgid "Unlink"
msgstr ""
-#: templates/js/barcode.js:376
+#: templates/js/barcode.js:376 templates/js/stock.js:161
msgid "Remove stock item"
msgstr ""
@@ -6697,7 +6709,7 @@ msgid "No builds matching query"
msgstr ""
#: templates/js/build.js:840 templates/js/part.js:491 templates/js/part.js:736
-#: templates/js/stock.js:514 templates/js/stock.js:989
+#: templates/js/stock.js:825 templates/js/stock.js:1276
msgid "Select"
msgstr ""
@@ -6705,7 +6717,7 @@ msgstr ""
msgid "Build order is overdue"
msgstr ""
-#: templates/js/build.js:924 templates/js/stock.js:1211
+#: templates/js/build.js:924 templates/js/stock.js:1498
msgid "No user information"
msgstr ""
@@ -6832,63 +6844,19 @@ msgstr ""
msgid "View operation not allowed"
msgstr ""
-#: templates/js/forms.js:587 templates/js/modals.js:1038
-msgid "No Response"
-msgstr ""
-
-#: templates/js/forms.js:588 templates/js/modals.js:1039
-msgid "No response from the InvenTree server"
-msgstr ""
-
-#: templates/js/forms.js:594 templates/js/modals.js:1048
-msgid "Error 401: Not Authenticated"
-msgstr ""
-
-#: templates/js/forms.js:595 templates/js/modals.js:1049
-msgid "Authentication credentials not supplied"
-msgstr ""
-
-#: templates/js/forms.js:601 templates/js/modals.js:1053
-msgid "Error 403: Permission Denied"
-msgstr ""
-
-#: templates/js/forms.js:602 templates/js/modals.js:1054
-msgid "You do not have the required permissions to access this function"
-msgstr ""
-
-#: templates/js/forms.js:608 templates/js/modals.js:1058
-msgid "Error 404: Resource Not Found"
-msgstr ""
-
-#: templates/js/forms.js:609 templates/js/modals.js:1059
-msgid "The requested resource could not be located on the server"
-msgstr ""
-
-#: templates/js/forms.js:615 templates/js/modals.js:1063
-msgid "Error 408: Timeout"
-msgstr ""
-
-#: templates/js/forms.js:616 templates/js/modals.js:1064
-msgid "Connection timeout while requesting data from server"
-msgstr ""
-
-#: templates/js/forms.js:622 templates/js/modals.js:1067
-msgid "Error requesting form data"
-msgstr ""
-
-#: templates/js/forms.js:815 templates/modals.html:21 templates/modals.html:47
+#: templates/js/forms.js:797 templates/modals.html:21 templates/modals.html:47
msgid "Form errors exist"
msgstr ""
-#: templates/js/forms.js:1188
+#: templates/js/forms.js:1164
msgid "Searching"
msgstr ""
-#: templates/js/forms.js:1338
+#: templates/js/forms.js:1314
msgid "Clear input"
msgstr ""
-#: templates/js/label.js:10 templates/js/report.js:98
+#: templates/js/label.js:10 templates/js/report.js:98 templates/js/stock.js:185
msgid "Select Stock Items"
msgstr ""
@@ -6941,12 +6909,12 @@ msgid "Select Label Template"
msgstr ""
#: templates/js/modals.js:59 templates/js/modals.js:103
-#: templates/js/modals.js:599 templates/modals.html:75
+#: templates/js/modals.js:593
msgid "Cancel"
msgstr ""
#: templates/js/modals.js:60 templates/js/modals.js:102
-#: templates/js/modals.js:674 templates/js/modals.js:967
+#: templates/js/modals.js:660 templates/js/modals.js:953
#: templates/modals.html:30 templates/modals.html:55
msgid "Submit"
msgstr ""
@@ -6955,46 +6923,50 @@ msgstr ""
msgid "Form Title"
msgstr ""
-#: templates/js/modals.js:372
+#: templates/js/modals.js:380
msgid "Waiting for server..."
msgstr ""
-#: templates/js/modals.js:531
+#: templates/js/modals.js:539
msgid "Show Error Information"
msgstr ""
-#: templates/js/modals.js:598 templates/modals.html:76
+#: templates/js/modals.js:592
msgid "Accept"
msgstr ""
-#: templates/js/modals.js:663
+#: templates/js/modals.js:649
msgid "Loading Data"
msgstr ""
-#: templates/js/modals.js:918
+#: templates/js/modals.js:904
msgid "Invalid response from server"
msgstr ""
-#: templates/js/modals.js:918
+#: templates/js/modals.js:904
msgid "Form data missing from server response"
msgstr ""
-#: templates/js/modals.js:931
+#: templates/js/modals.js:917
msgid "Error posting form data"
msgstr ""
-#: templates/js/modals.js:1028
+#: templates/js/modals.js:1014
msgid "JSON response missing form data"
msgstr ""
-#: templates/js/modals.js:1043
+#: templates/js/modals.js:1029
msgid "Error 400: Bad Request"
msgstr ""
-#: templates/js/modals.js:1044
+#: templates/js/modals.js:1030
msgid "Server returned error code 400"
msgstr ""
+#: templates/js/modals.js:1053
+msgid "Error requesting form data"
+msgstr ""
+
#: templates/js/model_renderers.js:38
msgid "Company ID"
msgstr ""
@@ -7083,7 +7055,7 @@ msgstr ""
msgid "Low stock"
msgstr ""
-#: templates/js/part.js:761 templates/js/stock.js:1013
+#: templates/js/part.js:761 templates/js/stock.js:1300
msgid "Path"
msgstr ""
@@ -7091,11 +7063,11 @@ msgstr ""
msgid "No test templates matching query"
msgstr ""
-#: templates/js/part.js:855 templates/js/stock.js:75
+#: templates/js/part.js:855 templates/js/stock.js:384
msgid "Edit test result"
msgstr ""
-#: templates/js/part.js:856 templates/js/stock.js:76
+#: templates/js/part.js:856 templates/js/stock.js:385
msgid "Delete test result"
msgstr ""
@@ -7188,179 +7160,237 @@ msgstr ""
msgid "Sales Order(s) must be selected before printing report"
msgstr ""
-#: templates/js/stock.js:38
-msgid "PASS"
+#: templates/js/stock.js:39
+msgid "Transfer Stock"
msgstr ""
#: templates/js/stock.js:40
+msgid "Move"
+msgstr ""
+
+#: templates/js/stock.js:46
+msgid "Count Stock"
+msgstr ""
+
+#: templates/js/stock.js:47
+msgid "Count"
+msgstr ""
+
+#: templates/js/stock.js:51
+msgid "Remove Stock"
+msgstr ""
+
+#: templates/js/stock.js:52
+msgid "Take"
+msgstr ""
+
+#: templates/js/stock.js:56
+msgid "Add Stock"
+msgstr ""
+
+#: templates/js/stock.js:57 users/models.py:189
+msgid "Add"
+msgstr ""
+
+#: templates/js/stock.js:61 templates/stock_table.html:63
+msgid "Delete Stock"
+msgstr ""
+
+#: templates/js/stock.js:150
+msgid "Quantity cannot be adjusted for serialized stock"
+msgstr ""
+
+#: templates/js/stock.js:150
+msgid "Specify stock quantity"
+msgstr ""
+
+#: templates/js/stock.js:186
+msgid "You must select at least one available stock item"
+msgstr ""
+
+#: templates/js/stock.js:202
+msgid "Select destination stock location"
+msgstr ""
+
+#: templates/js/stock.js:210
+#, fuzzy
+#| msgid "Stock counted"
+msgid "Stock transaction notes"
+msgstr "Stock comptabilisé"
+
+#: templates/js/stock.js:347
+msgid "PASS"
+msgstr ""
+
+#: templates/js/stock.js:349
msgid "FAIL"
msgstr ""
-#: templates/js/stock.js:45
+#: templates/js/stock.js:354
msgid "NO RESULT"
msgstr ""
-#: templates/js/stock.js:71
+#: templates/js/stock.js:380
msgid "Add test result"
msgstr ""
-#: templates/js/stock.js:97
+#: templates/js/stock.js:406
msgid "No test results found"
msgstr ""
-#: templates/js/stock.js:145
+#: templates/js/stock.js:454
msgid "Test Date"
msgstr ""
-#: templates/js/stock.js:295
+#: templates/js/stock.js:562
msgid "In production"
msgstr ""
-#: templates/js/stock.js:299
+#: templates/js/stock.js:566
msgid "Installed in Stock Item"
msgstr ""
-#: templates/js/stock.js:307
+#: templates/js/stock.js:574
msgid "Assigned to Sales Order"
msgstr ""
-#: templates/js/stock.js:339
+#: templates/js/stock.js:650
msgid "No stock items matching query"
msgstr ""
-#: templates/js/stock.js:360
+#: templates/js/stock.js:671
msgid "items"
msgstr ""
-#: templates/js/stock.js:452
+#: templates/js/stock.js:763
msgid "batches"
msgstr ""
-#: templates/js/stock.js:479
+#: templates/js/stock.js:790
msgid "locations"
msgstr ""
-#: templates/js/stock.js:481
+#: templates/js/stock.js:792
msgid "Undefined location"
msgstr ""
-#: templates/js/stock.js:582
+#: templates/js/stock.js:893
msgid "Stock item is in production"
msgstr ""
-#: templates/js/stock.js:587
+#: templates/js/stock.js:898
msgid "Stock item assigned to sales order"
msgstr ""
-#: templates/js/stock.js:590
+#: templates/js/stock.js:901
msgid "Stock item assigned to customer"
msgstr ""
-#: templates/js/stock.js:594
+#: templates/js/stock.js:905
msgid "Stock item has expired"
msgstr ""
-#: templates/js/stock.js:596
+#: templates/js/stock.js:907
msgid "Stock item will expire soon"
msgstr ""
-#: templates/js/stock.js:600
+#: templates/js/stock.js:911
msgid "Stock item has been allocated"
msgstr ""
-#: templates/js/stock.js:604
+#: templates/js/stock.js:915
msgid "Stock item has been installed in another item"
msgstr ""
-#: templates/js/stock.js:611
+#: templates/js/stock.js:922
msgid "Stock item has been rejected"
msgstr ""
-#: templates/js/stock.js:615
+#: templates/js/stock.js:926
msgid "Stock item is lost"
msgstr ""
-#: templates/js/stock.js:618
+#: templates/js/stock.js:929
msgid "Stock item is destroyed"
msgstr ""
-#: templates/js/stock.js:622 templates/js/table_filters.js:147
+#: templates/js/stock.js:933 templates/js/table_filters.js:147
msgid "Depleted"
msgstr ""
-#: templates/js/stock.js:651
+#: templates/js/stock.js:962
msgid "Stocktake"
msgstr ""
-#: templates/js/stock.js:705
+#: templates/js/stock.js:1016
msgid "Supplier part not specified"
msgstr ""
-#: templates/js/stock.js:876
+#: templates/js/stock.js:1163
msgid "Stock Status"
msgstr ""
-#: templates/js/stock.js:891
+#: templates/js/stock.js:1178
msgid "Set Stock Status"
msgstr ""
-#: templates/js/stock.js:905
+#: templates/js/stock.js:1192
msgid "Select Status Code"
msgstr ""
-#: templates/js/stock.js:906
+#: templates/js/stock.js:1193
msgid "Status code must be selected"
msgstr ""
-#: templates/js/stock.js:1045
+#: templates/js/stock.js:1332
msgid "Invalid date"
msgstr ""
-#: templates/js/stock.js:1092
+#: templates/js/stock.js:1379
msgid "Location no longer exists"
msgstr ""
-#: templates/js/stock.js:1111
+#: templates/js/stock.js:1398
msgid "Purchase order no longer exists"
msgstr ""
-#: templates/js/stock.js:1130
+#: templates/js/stock.js:1417
msgid "Customer no longer exists"
msgstr ""
-#: templates/js/stock.js:1148
+#: templates/js/stock.js:1435
msgid "Stock item no longer exists"
msgstr ""
-#: templates/js/stock.js:1171
+#: templates/js/stock.js:1458
msgid "Added"
msgstr ""
-#: templates/js/stock.js:1179
+#: templates/js/stock.js:1466
msgid "Removed"
msgstr ""
-#: templates/js/stock.js:1223
+#: templates/js/stock.js:1510
msgid "Edit tracking entry"
msgstr ""
-#: templates/js/stock.js:1224
+#: templates/js/stock.js:1511
msgid "Delete tracking entry"
msgstr ""
-#: templates/js/stock.js:1348
+#: templates/js/stock.js:1635
msgid "Create New Location"
msgstr ""
-#: templates/js/stock.js:1389
+#: templates/js/stock.js:1676
msgid "No installed items"
msgstr ""
-#: templates/js/stock.js:1412
+#: templates/js/stock.js:1699
msgid "Serial"
msgstr ""
-#: templates/js/stock.js:1440
+#: templates/js/stock.js:1727
msgid "Uninstall Stock Item"
msgstr ""
@@ -7791,10 +7821,6 @@ msgstr ""
msgid "Delete selected items"
msgstr ""
-#: templates/stock_table.html:63
-msgid "Delete Stock"
-msgstr ""
-
#: templates/yesnolabel.html:4
msgid "Yes"
msgstr ""
diff --git a/InvenTree/locale/it/LC_MESSAGES/django.po b/InvenTree/locale/it/LC_MESSAGES/django.po
index c0781fb13d..6ff12dda7e 100644
--- a/InvenTree/locale/it/LC_MESSAGES/django.po
+++ b/InvenTree/locale/it/LC_MESSAGES/django.po
@@ -2,7 +2,7 @@ msgid ""
msgstr ""
"Project-Id-Version: inventree\n"
"Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2021-07-12 11:35+0000\n"
+"POT-Creation-Date: 2021-07-12 12:18+0000\n"
"PO-Revision-Date: 2021-07-10 04:49\n"
"Last-Translator: \n"
"Language-Team: Italian\n"
@@ -36,7 +36,7 @@ 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:30 order/forms.py:41 order/forms.py:52 order/forms.py:63
-#: order/forms.py:74 part/forms.py:119 templates/js/forms.js:486
+#: order/forms.py:74 part/forms.py:119 templates/js/forms.js:506
msgid "Confirm"
msgstr ""
@@ -78,7 +78,7 @@ msgid "Duplicate serial: {n}"
msgstr ""
#: InvenTree/helpers.py:403 order/models.py:315 order/models.py:425
-#: stock/views.py:1648
+#: stock/views.py:1311
msgid "Invalid quantity provided"
msgstr ""
@@ -124,7 +124,7 @@ msgstr ""
#: InvenTree/models.py:70 InvenTree/models.py:71 part/models.py:2042
#: report/templates/report/inventree_test_report_base.html:91
-#: templates/js/stock.js:1202
+#: templates/js/stock.js:1489
msgid "User"
msgstr ""
@@ -141,7 +141,7 @@ msgstr ""
#: report/models.py:181 templates/InvenTree/search.html:137
#: templates/InvenTree/search.html:289 templates/js/company.js:365
#: templates/js/part.js:118 templates/js/part.js:251 templates/js/part.js:743
-#: templates/js/stock.js:995
+#: templates/js/stock.js:1282
msgid "Name"
msgstr ""
@@ -164,8 +164,8 @@ msgstr ""
#: templates/js/company.js:561 templates/js/order.js:245
#: templates/js/order.js:347 templates/js/part.js:177 templates/js/part.js:361
#: templates/js/part.js:538 templates/js/part.js:755 templates/js/part.js:823
-#: templates/js/stock.js:557 templates/js/stock.js:1007
-#: templates/js/stock.js:1052
+#: templates/js/stock.js:868 templates/js/stock.js:1294
+#: templates/js/stock.js:1339
msgid "Description"
msgstr ""
@@ -496,8 +496,8 @@ msgstr ""
#: templates/js/bom.js:205 templates/js/build.js:271 templates/js/build.js:606
#: templates/js/build.js:1172 templates/js/model_renderers.js:56
#: templates/js/order.js:460 templates/js/part.js:928 templates/js/part.js:1050
-#: templates/js/part.js:1106 templates/js/stock.js:1187
-#: templates/js/stock.js:1406
+#: templates/js/part.js:1106 templates/js/stock.js:1474
+#: templates/js/stock.js:1693
msgid "Quantity"
msgstr ""
@@ -542,8 +542,9 @@ msgstr ""
#: stock/templates/stock/stock_adjust.html:17
#: templates/InvenTree/search.html:260 templates/js/barcode.js:363
#: templates/js/barcode.js:531 templates/js/build.js:256
-#: templates/js/build.js:620 templates/js/order.js:445
-#: templates/js/stock.js:643 templates/js/stock.js:1079
+#: templates/js/build.js:620 templates/js/order.js:445 templates/js/stock.js:75
+#: templates/js/stock.js:201 templates/js/stock.js:954
+#: templates/js/stock.js:1366
msgid "Location"
msgstr ""
@@ -557,8 +558,8 @@ msgstr ""
#: stock/templates/stock/item_base.html:420 templates/InvenTree/search.html:252
#: templates/js/barcode.js:119 templates/js/build.js:902
#: templates/js/order.js:249 templates/js/order.js:352
-#: templates/js/stock.js:630 templates/js/stock.js:1156
-#: templates/js/stock.js:1422
+#: templates/js/stock.js:941 templates/js/stock.js:1443
+#: templates/js/stock.js:1709
msgid "Status"
msgstr ""
@@ -659,8 +660,8 @@ msgstr ""
#: templates/js/build.js:586 templates/js/build.js:873
#: templates/js/build.js:1139 templates/js/company.js:264
#: templates/js/company.js:470 templates/js/part.js:342
-#: templates/js/part.js:505 templates/js/stock.js:526
-#: templates/js/stock.js:1394
+#: templates/js/part.js:505 templates/js/stock.js:73 templates/js/stock.js:837
+#: templates/js/stock.js:1681
msgid "Part"
msgstr ""
@@ -708,7 +709,7 @@ msgstr ""
msgid "Number of stock items which have been completed"
msgstr ""
-#: build/models.py:249 part/templates/part/part_base.html:167
+#: build/models.py:249 part/templates/part/part_base.html:183
msgid "Build Status"
msgstr ""
@@ -766,7 +767,7 @@ msgstr ""
#: 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
+#: part/templates/part/detail.html:83 part/templates/part/part_base.html:110
#: stock/models.py:464 stock/templates/stock/item_base.html:357
msgid "External Link"
msgstr ""
@@ -791,7 +792,8 @@ msgstr ""
#: 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/company.js:566
-#: templates/js/stock.js:141 templates/js/stock.js:722
+#: templates/js/stock.js:209 templates/js/stock.js:450
+#: templates/js/stock.js:1033
msgid "Notes"
msgstr ""
@@ -857,7 +859,7 @@ msgstr ""
#: stock/templates/stock/stock_adjust.html:16 templates/js/build.js:244
#: templates/js/build.js:249 templates/js/build.js:993
#: templates/js/order.js:433 templates/js/order.js:438
-#: templates/js/stock.js:1138
+#: templates/js/stock.js:1425
msgid "Stock Item"
msgstr ""
@@ -1242,8 +1244,8 @@ msgid "Destination location not specified"
msgstr ""
#: build/templates/build/detail.html:70
-#: stock/templates/stock/item_base.html:315 templates/js/stock.js:638
-#: templates/js/stock.js:1429 templates/js/table_filters.js:116
+#: stock/templates/stock/item_base.html:315 templates/js/stock.js:949
+#: templates/js/stock.js:1716 templates/js/table_filters.js:116
#: templates/js/table_filters.js:210
msgid "Batch"
msgstr ""
@@ -1298,7 +1300,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:1067
+#: templates/js/stock.js:1354
msgid "Details"
msgstr ""
@@ -1362,7 +1364,7 @@ msgstr ""
msgid "Maximum output quantity is "
msgstr ""
-#: build/views.py:184 stock/views.py:1674
+#: build/views.py:184 stock/views.py:1337
msgid "Serial numbers already exist"
msgstr ""
@@ -2116,7 +2118,7 @@ msgstr ""
#: report/templates/report/inventree_test_report_base.html:90
#: stock/models.py:1771 templates/InvenTree/settings/header.html:8
#: templates/js/company.js:371 templates/js/part.js:260
-#: templates/js/stock.js:137
+#: templates/js/stock.js:446
msgid "Value"
msgstr ""
@@ -2189,7 +2191,7 @@ msgstr ""
#: company/models.py:566 company/templates/company/supplier_part_base.html:109
#: stock/models.py:435 stock/templates/stock/item_base.html:322
-#: templates/js/company.js:571 templates/js/stock.js:718
+#: templates/js/company.js:571 templates/js/stock.js:1029
msgid "Packaging"
msgstr ""
@@ -2259,7 +2261,7 @@ msgid "Phone"
msgstr ""
#: company/templates/company/company_base.html:166
-#: part/templates/part/part_base.html:311
+#: part/templates/part/part_base.html:347
msgid "Upload Image"
msgstr ""
@@ -2279,7 +2281,7 @@ msgstr ""
#: order/templates/order/sales_order_base.html:94 stock/models.py:453
#: stock/models.py:454 stock/templates/stock/item_base.html:274
#: templates/js/company.js:109 templates/js/order.js:329
-#: templates/js/stock.js:1120
+#: templates/js/stock.js:1407
msgid "Customer"
msgstr ""
@@ -2325,7 +2327,7 @@ msgstr ""
#: company/templates/company/detail_manufacturer_part.html:68
#: company/templates/company/detail_supplier_part.html:66
#: part/templates/part/bom.html:166 part/templates/part/category.html:127
-#: templates/js/stock.js:1335
+#: templates/js/stock.js:1622
msgid "New Part"
msgstr ""
@@ -2351,7 +2353,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:55 stock/templates/stock/location.html:163
+#: part/templates/part/stock.html:55 stock/templates/stock/location.html:175
msgid "Export"
msgstr ""
@@ -2363,14 +2365,14 @@ msgstr ""
#: company/templates/company/detail_supplier_part.html:21
#: order/templates/order/order_wizard/select_parts.html:44
-#: part/templates/part/part_base.html:433
+#: part/templates/part/part_base.html:469
msgid "Create new supplier part"
msgstr ""
#: company/templates/company/detail_supplier_part.html:22
#: company/templates/company/manufacturer_part_suppliers.html:17
-#: part/templates/part/part_base.html:432 part/templates/part/supplier.html:18
-#: templates/js/stock.js:1341
+#: part/templates/part/part_base.html:468 part/templates/part/supplier.html:18
+#: templates/js/stock.js:1628
msgid "New Supplier Part"
msgstr ""
@@ -2391,7 +2393,7 @@ msgstr ""
#: company/templates/company/manufacturer_part_base.html:36
#: company/templates/company/supplier_part_base.html:36
#: company/templates/company/supplier_part_orders.html:17
-#: part/templates/part/orders.html:17 part/templates/part/part_base.html:58
+#: part/templates/part/orders.html:17 part/templates/part/part_base.html:74
msgid "Order part"
msgstr ""
@@ -2444,8 +2446,8 @@ msgstr ""
#: templates/InvenTree/index.html:128 templates/InvenTree/search.html:196
#: templates/InvenTree/search.html:232
#: templates/InvenTree/settings/tabs.html:31 templates/js/part.js:181
-#: templates/js/part.js:406 templates/js/part.js:566 templates/js/stock.js:566
-#: templates/navbar.html:26
+#: templates/js/part.js:406 templates/js/part.js:566 templates/js/stock.js:74
+#: templates/js/stock.js:877 templates/navbar.html:26
msgid "Stock"
msgstr ""
@@ -2467,8 +2469,8 @@ msgstr ""
#: company/templates/company/manufacturer_part_suppliers.html:48
#: company/templates/company/manufacturer_part_suppliers.html:142
#: part/templates/part/related.html:44 part/templates/part/supplier.html:23
-#: part/templates/part/supplier.html:52 stock/views.py:844
-#: templates/js/company.js:203 users/models.py:193
+#: part/templates/part/supplier.html:52 templates/js/company.js:203
+#: users/models.py:193
msgid "Delete"
msgstr ""
@@ -2518,12 +2520,12 @@ msgid "Supplied Parts"
msgstr ""
#: company/templates/company/navbar.html:38 part/templates/part/navbar.html:30
-#: stock/templates/stock/location.html:107
-#: stock/templates/stock/location.html:122
-#: stock/templates/stock/location.html:136
+#: stock/templates/stock/location.html:119
+#: stock/templates/stock/location.html:134
+#: stock/templates/stock/location.html:148
#: stock/templates/stock/location_navbar.html:22
#: stock/templates/stock/location_navbar.html:29
-#: templates/InvenTree/search.html:198 templates/js/stock.js:1019
+#: templates/InvenTree/search.html:198 templates/js/stock.js:1306
#: templates/stats.html:93 templates/stats.html:102 users/models.py:43
msgid "Stock Items"
msgstr ""
@@ -2581,7 +2583,7 @@ msgstr ""
#: company/templates/company/supplier_part_base.html:7
#: company/templates/company/supplier_part_base.html:20 stock/models.py:420
#: stock/templates/stock/item_base.html:386 templates/js/company.js:511
-#: templates/js/stock.js:690
+#: templates/js/stock.js:1001
msgid "Supplier Part"
msgstr ""
@@ -2703,7 +2705,7 @@ msgstr ""
msgid "Edit Supplier Part"
msgstr ""
-#: company/views.py:385 templates/js/stock.js:1342
+#: company/views.py:385 templates/js/stock.js:1629
msgid "Create new Supplier Part"
msgstr ""
@@ -2942,7 +2944,7 @@ msgstr ""
#: order/templates/order/order_base.html:24
#: report/templates/report/inventree_po_report.html:77
#: stock/templates/stock/item_base.html:336 templates/js/order.js:210
-#: templates/js/stock.js:669 templates/js/stock.js:1101
+#: templates/js/stock.js:980 templates/js/stock.js:1388
msgid "Purchase Order"
msgstr ""
@@ -2962,7 +2964,7 @@ msgid "Number of items received"
msgstr ""
#: order/models.py:776 part/templates/part/prices.html:166 stock/models.py:545
-#: stock/templates/stock/item_base.html:343 templates/js/stock.js:713
+#: stock/templates/stock/item_base.html:343 templates/js/stock.js:1024
msgid "Purchase Price"
msgstr ""
@@ -3078,15 +3080,14 @@ 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
-#: part/templates/part/part_base.html:419
-#: stock/templates/stock/location.html:191 templates/js/stock.js:759
-#: templates/js/stock.js:1347
+#: part/templates/part/part_base.html:455
+#: stock/templates/stock/location.html:203 templates/js/stock.js:1634
msgid "New Location"
msgstr ""
#: order/templates/order/order_base.html:200
#: order/templates/order/purchase_order_detail.html:128
-#: part/templates/part/part_base.html:420
+#: part/templates/part/part_base.html:456
#: stock/templates/stock/location.html:42
msgid "Create new stock location"
msgstr ""
@@ -3361,7 +3362,7 @@ msgid "Order Code"
msgstr ""
#: order/templates/order/receive_parts.html:21
-#: part/templates/part/part_base.html:136 templates/js/part.js:582
+#: part/templates/part/part_base.html:152 templates/js/part.js:582
msgid "On Order"
msgstr ""
@@ -3668,7 +3669,7 @@ msgstr ""
msgid "Default Location"
msgstr ""
-#: part/bom.py:134 part/templates/part/part_base.html:124
+#: part/bom.py:134 part/templates/part/part_base.html:140
msgid "Available Stock"
msgstr ""
@@ -3891,7 +3892,7 @@ msgid "Part category"
msgstr ""
#: part/models.py:723 part/templates/part/detail.html:28
-#: part/templates/part/part_base.html:87 templates/js/part.js:169
+#: part/templates/part/part_base.html:103 templates/js/part.js:169
#: templates/js/part.js:397
msgid "IPN"
msgstr ""
@@ -4011,7 +4012,7 @@ msgstr ""
msgid "Test with this name already exists for this part"
msgstr ""
-#: part/models.py:2124 templates/js/part.js:818 templates/js/stock.js:117
+#: part/models.py:2124 templates/js/part.js:818 templates/js/stock.js:426
msgid "Test Name"
msgstr ""
@@ -4255,7 +4256,7 @@ msgid "All selected BOM items will be deleted"
msgstr ""
#: part/templates/part/bom.html:167 part/views.py:451
-#: templates/js/stock.js:1336
+#: templates/js/stock.js:1623
msgid "Create New Part"
msgstr ""
@@ -4372,12 +4373,12 @@ msgid "View grid display"
msgstr ""
#: part/templates/part/category.html:218
-#: stock/templates/stock/location.html:192 templates/js/stock.js:760
+#: stock/templates/stock/location.html:204
msgid "Create new location"
msgstr ""
#: part/templates/part/category.html:223 part/templates/part/category.html:253
-#: part/templates/part/part_base.html:382
+#: part/templates/part/part_base.html:418
msgid "New Category"
msgstr ""
@@ -4389,7 +4390,7 @@ msgstr ""
msgid "Create new Part Category"
msgstr ""
-#: part/templates/part/category.html:260 stock/views.py:1244
+#: part/templates/part/category.html:260 stock/views.py:907
msgid "Create new Stock Location"
msgstr ""
@@ -4474,7 +4475,7 @@ msgstr ""
msgid "Part Details"
msgstr ""
-#: part/templates/part/detail.html:42 part/templates/part/part_base.html:188
+#: part/templates/part/detail.html:42 part/templates/part/part_base.html:204
msgid "Latest Serial Number"
msgstr ""
@@ -4639,73 +4640,83 @@ msgstr ""
msgid "Show pricing information"
msgstr ""
-#: part/templates/part/part_base.html:52
+#: part/templates/part/part_base.html:53
+#: stock/templates/stock/item_base.html:140
+#: stock/templates/stock/location.html:62
+msgid "Stock actions"
+msgstr ""
+
+#: part/templates/part/part_base.html:60
msgid "Count part stock"
msgstr ""
-#: part/templates/part/part_base.html:67
+#: part/templates/part/part_base.html:66
+msgid "Transfer part stock"
+msgstr ""
+
+#: part/templates/part/part_base.html:83
msgid "Part actions"
msgstr ""
-#: part/templates/part/part_base.html:70
+#: part/templates/part/part_base.html:86
msgid "Duplicate part"
msgstr ""
-#: part/templates/part/part_base.html:73
+#: part/templates/part/part_base.html:89
msgid "Edit part"
msgstr ""
-#: part/templates/part/part_base.html:76
+#: part/templates/part/part_base.html:92
msgid "Delete part"
msgstr ""
-#: part/templates/part/part_base.html:107
+#: part/templates/part/part_base.html:123
msgid "This is a virtual part"
msgstr ""
-#: part/templates/part/part_base.html:113
+#: part/templates/part/part_base.html:129
#, python-format
msgid "This part is a variant of %(link)s"
msgstr ""
-#: part/templates/part/part_base.html:130 templates/js/table_filters.js:165
+#: part/templates/part/part_base.html:146 templates/js/table_filters.js:165
msgid "In Stock"
msgstr ""
-#: part/templates/part/part_base.html:143 templates/InvenTree/index.html:132
+#: part/templates/part/part_base.html:159 templates/InvenTree/index.html:132
msgid "Required for Build Orders"
msgstr ""
-#: part/templates/part/part_base.html:150
+#: part/templates/part/part_base.html:166
msgid "Required for Sales Orders"
msgstr ""
-#: part/templates/part/part_base.html:157
+#: part/templates/part/part_base.html:173
msgid "Allocated to Orders"
msgstr ""
-#: part/templates/part/part_base.html:172 templates/js/bom.js:316
+#: part/templates/part/part_base.html:188 templates/js/bom.js:316
msgid "Can Build"
msgstr ""
-#: part/templates/part/part_base.html:178 templates/js/part.js:413
+#: part/templates/part/part_base.html:194 templates/js/part.js:413
#: templates/js/part.js:586
msgid "Building"
msgstr ""
-#: part/templates/part/part_base.html:289 part/templates/part/prices.html:131
+#: part/templates/part/part_base.html:325 part/templates/part/prices.html:131
msgid "Calculate"
msgstr ""
-#: part/templates/part/part_base.html:383
+#: part/templates/part/part_base.html:419
msgid "Create New Part Category"
msgstr ""
-#: part/templates/part/part_base.html:391
+#: part/templates/part/part_base.html:427
msgid "New Parent"
msgstr ""
-#: part/templates/part/part_base.html:439
+#: part/templates/part/part_base.html:475
msgid "Edit Part"
msgstr ""
@@ -5237,7 +5248,7 @@ msgid "Result"
msgstr ""
#: report/templates/report/inventree_test_report_base.html:92
-#: templates/js/order.js:257 templates/js/stock.js:1035
+#: templates/js/order.js:257 templates/js/stock.js:1322
msgid "Date"
msgstr ""
@@ -5249,18 +5260,50 @@ msgstr ""
msgid "Fail"
msgstr ""
-#: stock/api.py:197
+#: stock/api.py:146
+msgid "Request must contain list of stock items"
+msgstr ""
+
+#: stock/api.py:154
+msgid "Improperly formatted data"
+msgstr ""
+
+#: stock/api.py:162
+msgid "Each entry must contain a valid integer primary-key"
+msgstr ""
+
+#: stock/api.py:168
+msgid "Primary key does not match valid stock item"
+msgstr ""
+
+#: stock/api.py:178
+msgid "Invalid quantity value"
+msgstr ""
+
+#: stock/api.py:183
+msgid "Quantity must not be less than zero"
+msgstr ""
+
+#: stock/api.py:211
#, python-brace-format
msgid "Updated stock for {n} items"
msgstr ""
-#: stock/api.py:266
+#: stock/api.py:247 stock/api.py:280
+msgid "Specified quantity exceeds stock quantity"
+msgstr ""
+
+#: stock/api.py:270
+msgid "Valid location must be specified"
+msgstr ""
+
+#: stock/api.py:290
#, python-brace-format
msgid "Moved {n} parts to {loc}"
msgstr ""
#: stock/forms.py:81 stock/forms.py:385 stock/models.py:513
-#: stock/templates/stock/item_base.html:393 templates/js/stock.js:658
+#: stock/templates/stock/item_base.html:393 templates/js/stock.js:969
msgid "Expiry Date"
msgstr ""
@@ -5333,7 +5376,7 @@ msgstr ""
msgid "Add note (required)"
msgstr ""
-#: stock/forms.py:348 stock/views.py:728 stock/views.py:930
+#: stock/forms.py:348 stock/views.py:728 templates/js/stock.js:223
msgid "Confirm stock adjustment"
msgstr ""
@@ -5582,7 +5625,7 @@ msgid "Stock adjustment actions"
msgstr ""
#: stock/templates/stock/item_base.html:108
-#: stock/templates/stock/location.html:65 templates/stock_table.html:57
+#: stock/templates/stock/location.html:69 templates/stock_table.html:57
msgid "Count stock"
msgstr ""
@@ -5599,6 +5642,7 @@ msgid "Serialize stock"
msgstr ""
#: stock/templates/stock/item_base.html:121
+#: stock/templates/stock/location.html:75
msgid "Transfer stock"
msgstr ""
@@ -5618,11 +5662,6 @@ msgstr ""
msgid "Uninstall"
msgstr ""
-#: stock/templates/stock/item_base.html:140
-#: stock/templates/stock/location.html:62
-msgid "Stock actions"
-msgstr ""
-
#: stock/templates/stock/item_base.html:143
msgid "Convert to variant"
msgstr ""
@@ -5715,7 +5754,7 @@ msgstr ""
msgid "This StockItem expires on %(item.expiry_date)s"
msgstr ""
-#: stock/templates/stock/item_base.html:406 templates/js/stock.js:664
+#: stock/templates/stock/item_base.html:406 templates/js/stock.js:975
msgid "Last Updated"
msgstr ""
@@ -5819,42 +5858,42 @@ msgstr ""
msgid "Check-in Items"
msgstr ""
-#: stock/templates/stock/location.html:71
+#: stock/templates/stock/location.html:83
msgid "Location actions"
msgstr ""
-#: stock/templates/stock/location.html:73
+#: stock/templates/stock/location.html:85
msgid "Edit location"
msgstr ""
-#: stock/templates/stock/location.html:75
+#: stock/templates/stock/location.html:87
msgid "Delete location"
msgstr ""
-#: stock/templates/stock/location.html:87
+#: stock/templates/stock/location.html:99
msgid "Location Details"
msgstr ""
-#: stock/templates/stock/location.html:92
+#: stock/templates/stock/location.html:104
msgid "Location Path"
msgstr ""
-#: stock/templates/stock/location.html:97
+#: stock/templates/stock/location.html:109
msgid "Location Description"
msgstr ""
-#: stock/templates/stock/location.html:102
+#: stock/templates/stock/location.html:114
#: stock/templates/stock/location_navbar.html:11
#: stock/templates/stock/location_navbar.html:18
#: stock/templates/stock/sublocation.html:16
msgid "Sublocations"
msgstr ""
-#: stock/templates/stock/location.html:112
+#: stock/templates/stock/location.html:124
msgid "Stock Details"
msgstr ""
-#: stock/templates/stock/location.html:117 templates/InvenTree/search.html:279
+#: stock/templates/stock/location.html:129 templates/InvenTree/search.html:279
#: templates/stats.html:97 users/models.py:42
msgid "Stock Locations"
msgstr ""
@@ -5895,7 +5934,7 @@ msgstr ""
msgid "The following stock items will be uninstalled"
msgstr ""
-#: stock/templates/stock/stockitem_convert.html:7 stock/views.py:1217
+#: stock/templates/stock/stockitem_convert.html:7 stock/views.py:880
msgid "Convert Stock Item"
msgstr ""
@@ -5928,8 +5967,7 @@ msgstr ""
msgid "Edit Stock Location"
msgstr ""
-#: stock/views.py:253 stock/views.py:1196 stock/views.py:1318
-#: stock/views.py:1683
+#: stock/views.py:253 stock/views.py:859 stock/views.py:981 stock/views.py:1346
msgid "Owner is required (ownership control is enabled)"
msgstr ""
@@ -5985,129 +6023,43 @@ msgstr ""
msgid "Uninstalled stock items"
msgstr ""
-#: stock/views.py:764
-msgid "Adjust Stock"
-msgstr ""
-
-#: stock/views.py:840
-msgid "Move Stock Items"
-msgstr ""
-
-#: stock/views.py:840
-msgid "Move"
-msgstr ""
-
-#: stock/views.py:841
-msgid "Count Stock Items"
-msgstr ""
-
-#: stock/views.py:841
-msgid "Count"
-msgstr ""
-
-#: stock/views.py:842
-msgid "Remove From Stock"
-msgstr ""
-
-#: stock/views.py:842
-msgid "Take"
-msgstr ""
-
-#: stock/views.py:843
-msgid "Add Stock Items"
-msgstr ""
-
-#: stock/views.py:843 users/models.py:189
-msgid "Add"
-msgstr ""
-
-#: stock/views.py:844
-msgid "Delete Stock Items"
-msgstr ""
-
-#: stock/views.py:910
-msgid "Must enter integer value"
-msgstr ""
-
-#: stock/views.py:915
-msgid "Quantity must be positive"
-msgstr ""
-
-#: stock/views.py:922
-#, python-brace-format
-msgid "Quantity must not exceed {x}"
-msgstr ""
-
-#: stock/views.py:986
-msgid "No action performed"
-msgstr ""
-
-#: stock/views.py:1000
-#, python-brace-format
-msgid "Added stock to {n} items"
-msgstr ""
-
-#: stock/views.py:1014
-#, python-brace-format
-msgid "Removed stock from {n} items"
-msgstr ""
-
-#: stock/views.py:1026
-#, python-brace-format
-msgid "Counted stock for {n} items"
-msgstr ""
-
-#: stock/views.py:1064
-msgid "No items were moved"
-msgstr ""
-
-#: stock/views.py:1067
-#, python-brace-format
-msgid "Moved {n} items to {dest}"
-msgstr ""
-
-#: stock/views.py:1086
-#, python-brace-format
-msgid "Deleted {n} stock items"
-msgstr ""
-
-#: stock/views.py:1098
+#: stock/views.py:761
msgid "Edit Stock Item"
msgstr ""
-#: stock/views.py:1335
+#: stock/views.py:998
msgid "Serialize Stock"
msgstr ""
-#: stock/views.py:1428 templates/js/build.js:365
+#: stock/views.py:1091 templates/js/build.js:365
msgid "Create new Stock Item"
msgstr ""
-#: stock/views.py:1570
+#: stock/views.py:1233
msgid "Duplicate Stock Item"
msgstr ""
-#: stock/views.py:1652
+#: stock/views.py:1315
msgid "Quantity cannot be negative"
msgstr ""
-#: stock/views.py:1752
+#: stock/views.py:1415
msgid "Delete Stock Location"
msgstr ""
-#: stock/views.py:1765
+#: stock/views.py:1428
msgid "Delete Stock Item"
msgstr ""
-#: stock/views.py:1776
+#: stock/views.py:1439
msgid "Delete Stock Tracking Entry"
msgstr ""
-#: stock/views.py:1783
+#: stock/views.py:1446
msgid "Edit Stock Tracking Entry"
msgstr ""
-#: stock/views.py:1792
+#: stock/views.py:1455
msgid "Add Stock Tracking Entry"
msgstr ""
@@ -6191,11 +6143,11 @@ msgstr ""
msgid "Enter a search query"
msgstr ""
-#: templates/InvenTree/search.html:268 templates/js/stock.js:303
+#: templates/InvenTree/search.html:268 templates/js/stock.js:570
msgid "Shipped to customer"
msgstr ""
-#: templates/InvenTree/search.html:271 templates/js/stock.js:313
+#: templates/InvenTree/search.html:271 templates/js/stock.js:580
msgid "No stock location set"
msgstr ""
@@ -6469,9 +6421,9 @@ msgstr ""
msgid "copy version information"
msgstr ""
-#: templates/about.html:100 templates/js/modals.js:34
-#: templates/js/modals.js:675 templates/js/modals.js:968
-#: templates/modals.html:29 templates/modals.html:54 templates/modals.html:97
+#: templates/about.html:100 templates/js/modals.js:33
+#: templates/js/modals.js:567 templates/js/modals.js:661
+#: templates/js/modals.js:954 templates/modals.html:29 templates/modals.html:54
msgid "Close"
msgstr ""
@@ -6491,6 +6443,62 @@ msgstr ""
msgid "Remote image must not exceed maximum allowable file size"
msgstr ""
+#: templates/js/api.js:154 templates/js/modals.js:1024
+msgid "No Response"
+msgstr ""
+
+#: templates/js/api.js:155 templates/js/modals.js:1025
+msgid "No response from the InvenTree server"
+msgstr ""
+
+#: templates/js/api.js:160
+msgid "Error 400: Bad request"
+msgstr ""
+
+#: templates/js/api.js:161
+msgid "API request returned error code 400"
+msgstr ""
+
+#: templates/js/api.js:164 templates/js/modals.js:1034
+msgid "Error 401: Not Authenticated"
+msgstr ""
+
+#: templates/js/api.js:165 templates/js/modals.js:1035
+msgid "Authentication credentials not supplied"
+msgstr ""
+
+#: templates/js/api.js:168 templates/js/modals.js:1039
+msgid "Error 403: Permission Denied"
+msgstr ""
+
+#: templates/js/api.js:169 templates/js/modals.js:1040
+msgid "You do not have the required permissions to access this function"
+msgstr ""
+
+#: templates/js/api.js:172 templates/js/modals.js:1044
+msgid "Error 404: Resource Not Found"
+msgstr ""
+
+#: templates/js/api.js:173 templates/js/modals.js:1045
+msgid "The requested resource could not be located on the server"
+msgstr ""
+
+#: templates/js/api.js:176 templates/js/modals.js:1049
+msgid "Error 408: Timeout"
+msgstr ""
+
+#: templates/js/api.js:177 templates/js/modals.js:1050
+msgid "Connection timeout while requesting data from server"
+msgstr ""
+
+#: templates/js/api.js:180
+msgid "Unhandled Error Code"
+msgstr ""
+
+#: templates/js/api.js:181
+msgid "Error code"
+msgstr ""
+
#: templates/js/attachment.js:16
msgid "No attachments found"
msgstr ""
@@ -6535,7 +6543,7 @@ msgstr ""
msgid "Unknown response from server"
msgstr ""
-#: templates/js/barcode.js:119 templates/js/modals.js:1028
+#: templates/js/barcode.js:119 templates/js/modals.js:1014
msgid "Invalid server response"
msgstr ""
@@ -6559,7 +6567,7 @@ msgstr ""
msgid "Unlink"
msgstr ""
-#: templates/js/barcode.js:376
+#: templates/js/barcode.js:376 templates/js/stock.js:161
msgid "Remove stock item"
msgstr ""
@@ -6697,7 +6705,7 @@ msgid "No builds matching query"
msgstr ""
#: templates/js/build.js:840 templates/js/part.js:491 templates/js/part.js:736
-#: templates/js/stock.js:514 templates/js/stock.js:989
+#: templates/js/stock.js:825 templates/js/stock.js:1276
msgid "Select"
msgstr ""
@@ -6705,7 +6713,7 @@ msgstr ""
msgid "Build order is overdue"
msgstr ""
-#: templates/js/build.js:924 templates/js/stock.js:1211
+#: templates/js/build.js:924 templates/js/stock.js:1498
msgid "No user information"
msgstr ""
@@ -6832,63 +6840,19 @@ msgstr ""
msgid "View operation not allowed"
msgstr ""
-#: templates/js/forms.js:587 templates/js/modals.js:1038
-msgid "No Response"
-msgstr ""
-
-#: templates/js/forms.js:588 templates/js/modals.js:1039
-msgid "No response from the InvenTree server"
-msgstr ""
-
-#: templates/js/forms.js:594 templates/js/modals.js:1048
-msgid "Error 401: Not Authenticated"
-msgstr ""
-
-#: templates/js/forms.js:595 templates/js/modals.js:1049
-msgid "Authentication credentials not supplied"
-msgstr ""
-
-#: templates/js/forms.js:601 templates/js/modals.js:1053
-msgid "Error 403: Permission Denied"
-msgstr ""
-
-#: templates/js/forms.js:602 templates/js/modals.js:1054
-msgid "You do not have the required permissions to access this function"
-msgstr ""
-
-#: templates/js/forms.js:608 templates/js/modals.js:1058
-msgid "Error 404: Resource Not Found"
-msgstr ""
-
-#: templates/js/forms.js:609 templates/js/modals.js:1059
-msgid "The requested resource could not be located on the server"
-msgstr ""
-
-#: templates/js/forms.js:615 templates/js/modals.js:1063
-msgid "Error 408: Timeout"
-msgstr ""
-
-#: templates/js/forms.js:616 templates/js/modals.js:1064
-msgid "Connection timeout while requesting data from server"
-msgstr ""
-
-#: templates/js/forms.js:622 templates/js/modals.js:1067
-msgid "Error requesting form data"
-msgstr ""
-
-#: templates/js/forms.js:815 templates/modals.html:21 templates/modals.html:47
+#: templates/js/forms.js:797 templates/modals.html:21 templates/modals.html:47
msgid "Form errors exist"
msgstr ""
-#: templates/js/forms.js:1188
+#: templates/js/forms.js:1164
msgid "Searching"
msgstr ""
-#: templates/js/forms.js:1338
+#: templates/js/forms.js:1314
msgid "Clear input"
msgstr ""
-#: templates/js/label.js:10 templates/js/report.js:98
+#: templates/js/label.js:10 templates/js/report.js:98 templates/js/stock.js:185
msgid "Select Stock Items"
msgstr ""
@@ -6941,12 +6905,12 @@ msgid "Select Label Template"
msgstr ""
#: templates/js/modals.js:59 templates/js/modals.js:103
-#: templates/js/modals.js:599 templates/modals.html:75
+#: templates/js/modals.js:593
msgid "Cancel"
msgstr ""
#: templates/js/modals.js:60 templates/js/modals.js:102
-#: templates/js/modals.js:674 templates/js/modals.js:967
+#: templates/js/modals.js:660 templates/js/modals.js:953
#: templates/modals.html:30 templates/modals.html:55
msgid "Submit"
msgstr ""
@@ -6955,46 +6919,50 @@ msgstr ""
msgid "Form Title"
msgstr ""
-#: templates/js/modals.js:372
+#: templates/js/modals.js:380
msgid "Waiting for server..."
msgstr ""
-#: templates/js/modals.js:531
+#: templates/js/modals.js:539
msgid "Show Error Information"
msgstr ""
-#: templates/js/modals.js:598 templates/modals.html:76
+#: templates/js/modals.js:592
msgid "Accept"
msgstr ""
-#: templates/js/modals.js:663
+#: templates/js/modals.js:649
msgid "Loading Data"
msgstr ""
-#: templates/js/modals.js:918
+#: templates/js/modals.js:904
msgid "Invalid response from server"
msgstr ""
-#: templates/js/modals.js:918
+#: templates/js/modals.js:904
msgid "Form data missing from server response"
msgstr ""
-#: templates/js/modals.js:931
+#: templates/js/modals.js:917
msgid "Error posting form data"
msgstr ""
-#: templates/js/modals.js:1028
+#: templates/js/modals.js:1014
msgid "JSON response missing form data"
msgstr ""
-#: templates/js/modals.js:1043
+#: templates/js/modals.js:1029
msgid "Error 400: Bad Request"
msgstr ""
-#: templates/js/modals.js:1044
+#: templates/js/modals.js:1030
msgid "Server returned error code 400"
msgstr ""
+#: templates/js/modals.js:1053
+msgid "Error requesting form data"
+msgstr ""
+
#: templates/js/model_renderers.js:38
msgid "Company ID"
msgstr ""
@@ -7083,7 +7051,7 @@ msgstr ""
msgid "Low stock"
msgstr ""
-#: templates/js/part.js:761 templates/js/stock.js:1013
+#: templates/js/part.js:761 templates/js/stock.js:1300
msgid "Path"
msgstr ""
@@ -7091,11 +7059,11 @@ msgstr ""
msgid "No test templates matching query"
msgstr ""
-#: templates/js/part.js:855 templates/js/stock.js:75
+#: templates/js/part.js:855 templates/js/stock.js:384
msgid "Edit test result"
msgstr ""
-#: templates/js/part.js:856 templates/js/stock.js:76
+#: templates/js/part.js:856 templates/js/stock.js:385
msgid "Delete test result"
msgstr ""
@@ -7188,179 +7156,235 @@ msgstr ""
msgid "Sales Order(s) must be selected before printing report"
msgstr ""
-#: templates/js/stock.js:38
-msgid "PASS"
+#: templates/js/stock.js:39
+msgid "Transfer Stock"
msgstr ""
#: templates/js/stock.js:40
+msgid "Move"
+msgstr ""
+
+#: templates/js/stock.js:46
+msgid "Count Stock"
+msgstr ""
+
+#: templates/js/stock.js:47
+msgid "Count"
+msgstr ""
+
+#: templates/js/stock.js:51
+msgid "Remove Stock"
+msgstr ""
+
+#: templates/js/stock.js:52
+msgid "Take"
+msgstr ""
+
+#: templates/js/stock.js:56
+msgid "Add Stock"
+msgstr ""
+
+#: templates/js/stock.js:57 users/models.py:189
+msgid "Add"
+msgstr ""
+
+#: templates/js/stock.js:61 templates/stock_table.html:63
+msgid "Delete Stock"
+msgstr ""
+
+#: templates/js/stock.js:150
+msgid "Quantity cannot be adjusted for serialized stock"
+msgstr ""
+
+#: templates/js/stock.js:150
+msgid "Specify stock quantity"
+msgstr ""
+
+#: templates/js/stock.js:186
+msgid "You must select at least one available stock item"
+msgstr ""
+
+#: templates/js/stock.js:202
+msgid "Select destination stock location"
+msgstr ""
+
+#: templates/js/stock.js:210
+msgid "Stock transaction notes"
+msgstr ""
+
+#: templates/js/stock.js:347
+msgid "PASS"
+msgstr ""
+
+#: templates/js/stock.js:349
msgid "FAIL"
msgstr ""
-#: templates/js/stock.js:45
+#: templates/js/stock.js:354
msgid "NO RESULT"
msgstr ""
-#: templates/js/stock.js:71
+#: templates/js/stock.js:380
msgid "Add test result"
msgstr ""
-#: templates/js/stock.js:97
+#: templates/js/stock.js:406
msgid "No test results found"
msgstr ""
-#: templates/js/stock.js:145
+#: templates/js/stock.js:454
msgid "Test Date"
msgstr ""
-#: templates/js/stock.js:295
+#: templates/js/stock.js:562
msgid "In production"
msgstr ""
-#: templates/js/stock.js:299
+#: templates/js/stock.js:566
msgid "Installed in Stock Item"
msgstr ""
-#: templates/js/stock.js:307
+#: templates/js/stock.js:574
msgid "Assigned to Sales Order"
msgstr ""
-#: templates/js/stock.js:339
+#: templates/js/stock.js:650
msgid "No stock items matching query"
msgstr ""
-#: templates/js/stock.js:360
+#: templates/js/stock.js:671
msgid "items"
msgstr ""
-#: templates/js/stock.js:452
+#: templates/js/stock.js:763
msgid "batches"
msgstr ""
-#: templates/js/stock.js:479
+#: templates/js/stock.js:790
msgid "locations"
msgstr ""
-#: templates/js/stock.js:481
+#: templates/js/stock.js:792
msgid "Undefined location"
msgstr ""
-#: templates/js/stock.js:582
+#: templates/js/stock.js:893
msgid "Stock item is in production"
msgstr ""
-#: templates/js/stock.js:587
+#: templates/js/stock.js:898
msgid "Stock item assigned to sales order"
msgstr ""
-#: templates/js/stock.js:590
+#: templates/js/stock.js:901
msgid "Stock item assigned to customer"
msgstr ""
-#: templates/js/stock.js:594
+#: templates/js/stock.js:905
msgid "Stock item has expired"
msgstr ""
-#: templates/js/stock.js:596
+#: templates/js/stock.js:907
msgid "Stock item will expire soon"
msgstr ""
-#: templates/js/stock.js:600
+#: templates/js/stock.js:911
msgid "Stock item has been allocated"
msgstr ""
-#: templates/js/stock.js:604
+#: templates/js/stock.js:915
msgid "Stock item has been installed in another item"
msgstr ""
-#: templates/js/stock.js:611
+#: templates/js/stock.js:922
msgid "Stock item has been rejected"
msgstr ""
-#: templates/js/stock.js:615
+#: templates/js/stock.js:926
msgid "Stock item is lost"
msgstr ""
-#: templates/js/stock.js:618
+#: templates/js/stock.js:929
msgid "Stock item is destroyed"
msgstr ""
-#: templates/js/stock.js:622 templates/js/table_filters.js:147
+#: templates/js/stock.js:933 templates/js/table_filters.js:147
msgid "Depleted"
msgstr ""
-#: templates/js/stock.js:651
+#: templates/js/stock.js:962
msgid "Stocktake"
msgstr ""
-#: templates/js/stock.js:705
+#: templates/js/stock.js:1016
msgid "Supplier part not specified"
msgstr ""
-#: templates/js/stock.js:876
+#: templates/js/stock.js:1163
msgid "Stock Status"
msgstr ""
-#: templates/js/stock.js:891
+#: templates/js/stock.js:1178
msgid "Set Stock Status"
msgstr ""
-#: templates/js/stock.js:905
+#: templates/js/stock.js:1192
msgid "Select Status Code"
msgstr ""
-#: templates/js/stock.js:906
+#: templates/js/stock.js:1193
msgid "Status code must be selected"
msgstr ""
-#: templates/js/stock.js:1045
+#: templates/js/stock.js:1332
msgid "Invalid date"
msgstr ""
-#: templates/js/stock.js:1092
+#: templates/js/stock.js:1379
msgid "Location no longer exists"
msgstr ""
-#: templates/js/stock.js:1111
+#: templates/js/stock.js:1398
msgid "Purchase order no longer exists"
msgstr ""
-#: templates/js/stock.js:1130
+#: templates/js/stock.js:1417
msgid "Customer no longer exists"
msgstr ""
-#: templates/js/stock.js:1148
+#: templates/js/stock.js:1435
msgid "Stock item no longer exists"
msgstr ""
-#: templates/js/stock.js:1171
+#: templates/js/stock.js:1458
msgid "Added"
msgstr ""
-#: templates/js/stock.js:1179
+#: templates/js/stock.js:1466
msgid "Removed"
msgstr ""
-#: templates/js/stock.js:1223
+#: templates/js/stock.js:1510
msgid "Edit tracking entry"
msgstr ""
-#: templates/js/stock.js:1224
+#: templates/js/stock.js:1511
msgid "Delete tracking entry"
msgstr ""
-#: templates/js/stock.js:1348
+#: templates/js/stock.js:1635
msgid "Create New Location"
msgstr ""
-#: templates/js/stock.js:1389
+#: templates/js/stock.js:1676
msgid "No installed items"
msgstr ""
-#: templates/js/stock.js:1412
+#: templates/js/stock.js:1699
msgid "Serial"
msgstr ""
-#: templates/js/stock.js:1440
+#: templates/js/stock.js:1727
msgid "Uninstall Stock Item"
msgstr ""
@@ -7791,10 +7815,6 @@ msgstr ""
msgid "Delete selected items"
msgstr ""
-#: templates/stock_table.html:63
-msgid "Delete Stock"
-msgstr ""
-
#: templates/yesnolabel.html:4
msgid "Yes"
msgstr ""
diff --git a/InvenTree/locale/ja/LC_MESSAGES/django.po b/InvenTree/locale/ja/LC_MESSAGES/django.po
index e9f0940728..c6fbd1d8f9 100644
--- a/InvenTree/locale/ja/LC_MESSAGES/django.po
+++ b/InvenTree/locale/ja/LC_MESSAGES/django.po
@@ -2,7 +2,7 @@ msgid ""
msgstr ""
"Project-Id-Version: inventree\n"
"Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2021-07-12 11:35+0000\n"
+"POT-Creation-Date: 2021-07-12 12:18+0000\n"
"PO-Revision-Date: 2021-07-10 04:49\n"
"Last-Translator: \n"
"Language-Team: Japanese\n"
@@ -36,7 +36,7 @@ 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:30 order/forms.py:41 order/forms.py:52 order/forms.py:63
-#: order/forms.py:74 part/forms.py:119 templates/js/forms.js:486
+#: order/forms.py:74 part/forms.py:119 templates/js/forms.js:506
msgid "Confirm"
msgstr "確認"
@@ -78,7 +78,7 @@ msgid "Duplicate serial: {n}"
msgstr ""
#: InvenTree/helpers.py:403 order/models.py:315 order/models.py:425
-#: stock/views.py:1648
+#: stock/views.py:1311
msgid "Invalid quantity provided"
msgstr ""
@@ -124,7 +124,7 @@ msgstr "ファイルコメント"
#: InvenTree/models.py:70 InvenTree/models.py:71 part/models.py:2042
#: report/templates/report/inventree_test_report_base.html:91
-#: templates/js/stock.js:1202
+#: templates/js/stock.js:1489
msgid "User"
msgstr "ユーザー"
@@ -141,7 +141,7 @@ msgstr "無効な選択です"
#: report/models.py:181 templates/InvenTree/search.html:137
#: templates/InvenTree/search.html:289 templates/js/company.js:365
#: templates/js/part.js:118 templates/js/part.js:251 templates/js/part.js:743
-#: templates/js/stock.js:995
+#: templates/js/stock.js:1282
msgid "Name"
msgstr "お名前"
@@ -164,8 +164,8 @@ msgstr "お名前"
#: templates/js/company.js:561 templates/js/order.js:245
#: templates/js/order.js:347 templates/js/part.js:177 templates/js/part.js:361
#: templates/js/part.js:538 templates/js/part.js:755 templates/js/part.js:823
-#: templates/js/stock.js:557 templates/js/stock.js:1007
-#: templates/js/stock.js:1052
+#: templates/js/stock.js:868 templates/js/stock.js:1294
+#: templates/js/stock.js:1339
msgid "Description"
msgstr "説明"
@@ -496,8 +496,8 @@ msgstr ""
#: templates/js/bom.js:205 templates/js/build.js:271 templates/js/build.js:606
#: templates/js/build.js:1172 templates/js/model_renderers.js:56
#: templates/js/order.js:460 templates/js/part.js:928 templates/js/part.js:1050
-#: templates/js/part.js:1106 templates/js/stock.js:1187
-#: templates/js/stock.js:1406
+#: templates/js/part.js:1106 templates/js/stock.js:1474
+#: templates/js/stock.js:1693
msgid "Quantity"
msgstr ""
@@ -542,8 +542,9 @@ msgstr ""
#: stock/templates/stock/stock_adjust.html:17
#: templates/InvenTree/search.html:260 templates/js/barcode.js:363
#: templates/js/barcode.js:531 templates/js/build.js:256
-#: templates/js/build.js:620 templates/js/order.js:445
-#: templates/js/stock.js:643 templates/js/stock.js:1079
+#: templates/js/build.js:620 templates/js/order.js:445 templates/js/stock.js:75
+#: templates/js/stock.js:201 templates/js/stock.js:954
+#: templates/js/stock.js:1366
msgid "Location"
msgstr ""
@@ -557,8 +558,8 @@ msgstr "完了したパーツの場所"
#: stock/templates/stock/item_base.html:420 templates/InvenTree/search.html:252
#: templates/js/barcode.js:119 templates/js/build.js:902
#: templates/js/order.js:249 templates/js/order.js:352
-#: templates/js/stock.js:630 templates/js/stock.js:1156
-#: templates/js/stock.js:1422
+#: templates/js/stock.js:941 templates/js/stock.js:1443
+#: templates/js/stock.js:1709
msgid "Status"
msgstr ""
@@ -659,8 +660,8 @@ msgstr ""
#: templates/js/build.js:586 templates/js/build.js:873
#: templates/js/build.js:1139 templates/js/company.js:264
#: templates/js/company.js:470 templates/js/part.js:342
-#: templates/js/part.js:505 templates/js/stock.js:526
-#: templates/js/stock.js:1394
+#: templates/js/part.js:505 templates/js/stock.js:73 templates/js/stock.js:837
+#: templates/js/stock.js:1681
msgid "Part"
msgstr "パーツ"
@@ -708,7 +709,7 @@ msgstr ""
msgid "Number of stock items which have been completed"
msgstr ""
-#: build/models.py:249 part/templates/part/part_base.html:167
+#: build/models.py:249 part/templates/part/part_base.html:183
msgid "Build Status"
msgstr ""
@@ -766,7 +767,7 @@ msgstr ""
#: 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
+#: part/templates/part/detail.html:83 part/templates/part/part_base.html:110
#: stock/models.py:464 stock/templates/stock/item_base.html:357
msgid "External Link"
msgstr ""
@@ -791,7 +792,8 @@ msgstr ""
#: 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/company.js:566
-#: templates/js/stock.js:141 templates/js/stock.js:722
+#: templates/js/stock.js:209 templates/js/stock.js:450
+#: templates/js/stock.js:1033
msgid "Notes"
msgstr ""
@@ -857,7 +859,7 @@ msgstr "パーツを割り当てるためにビルドする"
#: stock/templates/stock/stock_adjust.html:16 templates/js/build.js:244
#: templates/js/build.js:249 templates/js/build.js:993
#: templates/js/order.js:433 templates/js/order.js:438
-#: templates/js/stock.js:1138
+#: templates/js/stock.js:1425
msgid "Stock Item"
msgstr ""
@@ -1242,8 +1244,8 @@ msgid "Destination location not specified"
msgstr ""
#: build/templates/build/detail.html:70
-#: stock/templates/stock/item_base.html:315 templates/js/stock.js:638
-#: templates/js/stock.js:1429 templates/js/table_filters.js:116
+#: stock/templates/stock/item_base.html:315 templates/js/stock.js:949
+#: templates/js/stock.js:1716 templates/js/table_filters.js:116
#: templates/js/table_filters.js:210
msgid "Batch"
msgstr ""
@@ -1298,7 +1300,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:1067
+#: templates/js/stock.js:1354
msgid "Details"
msgstr ""
@@ -1362,7 +1364,7 @@ msgstr ""
msgid "Maximum output quantity is "
msgstr ""
-#: build/views.py:184 stock/views.py:1674
+#: build/views.py:184 stock/views.py:1337
msgid "Serial numbers already exist"
msgstr ""
@@ -2116,7 +2118,7 @@ msgstr ""
#: report/templates/report/inventree_test_report_base.html:90
#: stock/models.py:1771 templates/InvenTree/settings/header.html:8
#: templates/js/company.js:371 templates/js/part.js:260
-#: templates/js/stock.js:137
+#: templates/js/stock.js:446
msgid "Value"
msgstr ""
@@ -2189,7 +2191,7 @@ msgstr ""
#: company/models.py:566 company/templates/company/supplier_part_base.html:109
#: stock/models.py:435 stock/templates/stock/item_base.html:322
-#: templates/js/company.js:571 templates/js/stock.js:718
+#: templates/js/company.js:571 templates/js/stock.js:1029
msgid "Packaging"
msgstr ""
@@ -2259,7 +2261,7 @@ msgid "Phone"
msgstr ""
#: company/templates/company/company_base.html:166
-#: part/templates/part/part_base.html:311
+#: part/templates/part/part_base.html:347
msgid "Upload Image"
msgstr ""
@@ -2279,7 +2281,7 @@ msgstr ""
#: order/templates/order/sales_order_base.html:94 stock/models.py:453
#: stock/models.py:454 stock/templates/stock/item_base.html:274
#: templates/js/company.js:109 templates/js/order.js:329
-#: templates/js/stock.js:1120
+#: templates/js/stock.js:1407
msgid "Customer"
msgstr ""
@@ -2325,7 +2327,7 @@ msgstr "パーツを削除"
#: company/templates/company/detail_manufacturer_part.html:68
#: company/templates/company/detail_supplier_part.html:66
#: part/templates/part/bom.html:166 part/templates/part/category.html:127
-#: templates/js/stock.js:1335
+#: templates/js/stock.js:1622
msgid "New Part"
msgstr "新規パーツ"
@@ -2351,7 +2353,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:55 stock/templates/stock/location.html:163
+#: part/templates/part/stock.html:55 stock/templates/stock/location.html:175
msgid "Export"
msgstr ""
@@ -2363,14 +2365,14 @@ msgstr "サプライヤー・パーツ"
#: company/templates/company/detail_supplier_part.html:21
#: order/templates/order/order_wizard/select_parts.html:44
-#: part/templates/part/part_base.html:433
+#: part/templates/part/part_base.html:469
msgid "Create new supplier part"
msgstr "新しいサプライヤー・パーツを作成"
#: company/templates/company/detail_supplier_part.html:22
#: company/templates/company/manufacturer_part_suppliers.html:17
-#: part/templates/part/part_base.html:432 part/templates/part/supplier.html:18
-#: templates/js/stock.js:1341
+#: part/templates/part/part_base.html:468 part/templates/part/supplier.html:18
+#: templates/js/stock.js:1628
msgid "New Supplier Part"
msgstr "新しいサプライヤー・パーツ"
@@ -2391,7 +2393,7 @@ msgstr ""
#: company/templates/company/manufacturer_part_base.html:36
#: company/templates/company/supplier_part_base.html:36
#: company/templates/company/supplier_part_orders.html:17
-#: part/templates/part/orders.html:17 part/templates/part/part_base.html:58
+#: part/templates/part/orders.html:17 part/templates/part/part_base.html:74
msgid "Order part"
msgstr "パーツの注文"
@@ -2444,8 +2446,8 @@ msgstr "メーカー・パーツの在庫"
#: templates/InvenTree/index.html:128 templates/InvenTree/search.html:196
#: templates/InvenTree/search.html:232
#: templates/InvenTree/settings/tabs.html:31 templates/js/part.js:181
-#: templates/js/part.js:406 templates/js/part.js:566 templates/js/stock.js:566
-#: templates/navbar.html:26
+#: templates/js/part.js:406 templates/js/part.js:566 templates/js/stock.js:74
+#: templates/js/stock.js:877 templates/navbar.html:26
msgid "Stock"
msgstr ""
@@ -2467,8 +2469,8 @@ msgstr ""
#: company/templates/company/manufacturer_part_suppliers.html:48
#: company/templates/company/manufacturer_part_suppliers.html:142
#: part/templates/part/related.html:44 part/templates/part/supplier.html:23
-#: part/templates/part/supplier.html:52 stock/views.py:844
-#: templates/js/company.js:203 users/models.py:193
+#: part/templates/part/supplier.html:52 templates/js/company.js:203
+#: users/models.py:193
msgid "Delete"
msgstr ""
@@ -2518,12 +2520,12 @@ msgid "Supplied Parts"
msgstr ""
#: company/templates/company/navbar.html:38 part/templates/part/navbar.html:30
-#: stock/templates/stock/location.html:107
-#: stock/templates/stock/location.html:122
-#: stock/templates/stock/location.html:136
+#: stock/templates/stock/location.html:119
+#: stock/templates/stock/location.html:134
+#: stock/templates/stock/location.html:148
#: stock/templates/stock/location_navbar.html:22
#: stock/templates/stock/location_navbar.html:29
-#: templates/InvenTree/search.html:198 templates/js/stock.js:1019
+#: templates/InvenTree/search.html:198 templates/js/stock.js:1306
#: templates/stats.html:93 templates/stats.html:102 users/models.py:43
msgid "Stock Items"
msgstr ""
@@ -2581,7 +2583,7 @@ msgstr ""
#: company/templates/company/supplier_part_base.html:7
#: company/templates/company/supplier_part_base.html:20 stock/models.py:420
#: stock/templates/stock/item_base.html:386 templates/js/company.js:511
-#: templates/js/stock.js:690
+#: templates/js/stock.js:1001
msgid "Supplier Part"
msgstr ""
@@ -2703,7 +2705,7 @@ msgstr ""
msgid "Edit Supplier Part"
msgstr ""
-#: company/views.py:385 templates/js/stock.js:1342
+#: company/views.py:385 templates/js/stock.js:1629
msgid "Create new Supplier Part"
msgstr ""
@@ -2942,7 +2944,7 @@ msgstr ""
#: order/templates/order/order_base.html:24
#: report/templates/report/inventree_po_report.html:77
#: stock/templates/stock/item_base.html:336 templates/js/order.js:210
-#: templates/js/stock.js:669 templates/js/stock.js:1101
+#: templates/js/stock.js:980 templates/js/stock.js:1388
msgid "Purchase Order"
msgstr ""
@@ -2962,7 +2964,7 @@ msgid "Number of items received"
msgstr ""
#: order/models.py:776 part/templates/part/prices.html:166 stock/models.py:545
-#: stock/templates/stock/item_base.html:343 templates/js/stock.js:713
+#: stock/templates/stock/item_base.html:343 templates/js/stock.js:1024
msgid "Purchase Price"
msgstr ""
@@ -3078,15 +3080,14 @@ 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
-#: part/templates/part/part_base.html:419
-#: stock/templates/stock/location.html:191 templates/js/stock.js:759
-#: templates/js/stock.js:1347
+#: part/templates/part/part_base.html:455
+#: stock/templates/stock/location.html:203 templates/js/stock.js:1634
msgid "New Location"
msgstr ""
#: order/templates/order/order_base.html:200
#: order/templates/order/purchase_order_detail.html:128
-#: part/templates/part/part_base.html:420
+#: part/templates/part/part_base.html:456
#: stock/templates/stock/location.html:42
msgid "Create new stock location"
msgstr ""
@@ -3361,7 +3362,7 @@ msgid "Order Code"
msgstr ""
#: order/templates/order/receive_parts.html:21
-#: part/templates/part/part_base.html:136 templates/js/part.js:582
+#: part/templates/part/part_base.html:152 templates/js/part.js:582
msgid "On Order"
msgstr ""
@@ -3668,7 +3669,7 @@ msgstr ""
msgid "Default Location"
msgstr ""
-#: part/bom.py:134 part/templates/part/part_base.html:124
+#: part/bom.py:134 part/templates/part/part_base.html:140
msgid "Available Stock"
msgstr ""
@@ -3891,7 +3892,7 @@ msgid "Part category"
msgstr ""
#: part/models.py:723 part/templates/part/detail.html:28
-#: part/templates/part/part_base.html:87 templates/js/part.js:169
+#: part/templates/part/part_base.html:103 templates/js/part.js:169
#: templates/js/part.js:397
msgid "IPN"
msgstr ""
@@ -4011,7 +4012,7 @@ msgstr ""
msgid "Test with this name already exists for this part"
msgstr ""
-#: part/models.py:2124 templates/js/part.js:818 templates/js/stock.js:117
+#: part/models.py:2124 templates/js/part.js:818 templates/js/stock.js:426
msgid "Test Name"
msgstr ""
@@ -4255,7 +4256,7 @@ msgid "All selected BOM items will be deleted"
msgstr ""
#: part/templates/part/bom.html:167 part/views.py:451
-#: templates/js/stock.js:1336
+#: templates/js/stock.js:1623
msgid "Create New Part"
msgstr ""
@@ -4372,12 +4373,12 @@ msgid "View grid display"
msgstr ""
#: part/templates/part/category.html:218
-#: stock/templates/stock/location.html:192 templates/js/stock.js:760
+#: stock/templates/stock/location.html:204
msgid "Create new location"
msgstr ""
#: part/templates/part/category.html:223 part/templates/part/category.html:253
-#: part/templates/part/part_base.html:382
+#: part/templates/part/part_base.html:418
msgid "New Category"
msgstr ""
@@ -4389,7 +4390,7 @@ msgstr ""
msgid "Create new Part Category"
msgstr ""
-#: part/templates/part/category.html:260 stock/views.py:1244
+#: part/templates/part/category.html:260 stock/views.py:907
msgid "Create new Stock Location"
msgstr ""
@@ -4474,7 +4475,7 @@ msgstr ""
msgid "Part Details"
msgstr ""
-#: part/templates/part/detail.html:42 part/templates/part/part_base.html:188
+#: part/templates/part/detail.html:42 part/templates/part/part_base.html:204
msgid "Latest Serial Number"
msgstr ""
@@ -4639,73 +4640,85 @@ msgstr ""
msgid "Show pricing information"
msgstr ""
-#: part/templates/part/part_base.html:52
+#: part/templates/part/part_base.html:53
+#: stock/templates/stock/item_base.html:140
+#: stock/templates/stock/location.html:62
+msgid "Stock actions"
+msgstr ""
+
+#: part/templates/part/part_base.html:60
msgid "Count part stock"
msgstr ""
-#: part/templates/part/part_base.html:67
+#: part/templates/part/part_base.html:66
+#, fuzzy
+#| msgid "Manufacturer Part Stock"
+msgid "Transfer part stock"
+msgstr "メーカー・パーツの在庫"
+
+#: part/templates/part/part_base.html:83
msgid "Part actions"
msgstr ""
-#: part/templates/part/part_base.html:70
+#: part/templates/part/part_base.html:86
msgid "Duplicate part"
msgstr ""
-#: part/templates/part/part_base.html:73
+#: part/templates/part/part_base.html:89
msgid "Edit part"
msgstr ""
-#: part/templates/part/part_base.html:76
+#: part/templates/part/part_base.html:92
msgid "Delete part"
msgstr ""
-#: part/templates/part/part_base.html:107
+#: part/templates/part/part_base.html:123
msgid "This is a virtual part"
msgstr ""
-#: part/templates/part/part_base.html:113
+#: part/templates/part/part_base.html:129
#, python-format
msgid "This part is a variant of %(link)s"
msgstr ""
-#: part/templates/part/part_base.html:130 templates/js/table_filters.js:165
+#: part/templates/part/part_base.html:146 templates/js/table_filters.js:165
msgid "In Stock"
msgstr ""
-#: part/templates/part/part_base.html:143 templates/InvenTree/index.html:132
+#: part/templates/part/part_base.html:159 templates/InvenTree/index.html:132
msgid "Required for Build Orders"
msgstr ""
-#: part/templates/part/part_base.html:150
+#: part/templates/part/part_base.html:166
msgid "Required for Sales Orders"
msgstr ""
-#: part/templates/part/part_base.html:157
+#: part/templates/part/part_base.html:173
msgid "Allocated to Orders"
msgstr ""
-#: part/templates/part/part_base.html:172 templates/js/bom.js:316
+#: part/templates/part/part_base.html:188 templates/js/bom.js:316
msgid "Can Build"
msgstr ""
-#: part/templates/part/part_base.html:178 templates/js/part.js:413
+#: part/templates/part/part_base.html:194 templates/js/part.js:413
#: templates/js/part.js:586
msgid "Building"
msgstr ""
-#: part/templates/part/part_base.html:289 part/templates/part/prices.html:131
+#: part/templates/part/part_base.html:325 part/templates/part/prices.html:131
msgid "Calculate"
msgstr ""
-#: part/templates/part/part_base.html:383
+#: part/templates/part/part_base.html:419
msgid "Create New Part Category"
msgstr ""
-#: part/templates/part/part_base.html:391
+#: part/templates/part/part_base.html:427
msgid "New Parent"
msgstr ""
-#: part/templates/part/part_base.html:439
+#: part/templates/part/part_base.html:475
msgid "Edit Part"
msgstr ""
@@ -5237,7 +5250,7 @@ msgid "Result"
msgstr ""
#: report/templates/report/inventree_test_report_base.html:92
-#: templates/js/order.js:257 templates/js/stock.js:1035
+#: templates/js/order.js:257 templates/js/stock.js:1322
msgid "Date"
msgstr ""
@@ -5249,18 +5262,50 @@ msgstr ""
msgid "Fail"
msgstr ""
-#: stock/api.py:197
+#: stock/api.py:146
+msgid "Request must contain list of stock items"
+msgstr ""
+
+#: stock/api.py:154
+msgid "Improperly formatted data"
+msgstr ""
+
+#: stock/api.py:162
+msgid "Each entry must contain a valid integer primary-key"
+msgstr ""
+
+#: stock/api.py:168
+msgid "Primary key does not match valid stock item"
+msgstr ""
+
+#: stock/api.py:178
+msgid "Invalid quantity value"
+msgstr ""
+
+#: stock/api.py:183
+msgid "Quantity must not be less than zero"
+msgstr ""
+
+#: stock/api.py:211
#, python-brace-format
msgid "Updated stock for {n} items"
msgstr ""
-#: stock/api.py:266
+#: stock/api.py:247 stock/api.py:280
+msgid "Specified quantity exceeds stock quantity"
+msgstr ""
+
+#: stock/api.py:270
+msgid "Valid location must be specified"
+msgstr ""
+
+#: stock/api.py:290
#, python-brace-format
msgid "Moved {n} parts to {loc}"
msgstr ""
#: stock/forms.py:81 stock/forms.py:385 stock/models.py:513
-#: stock/templates/stock/item_base.html:393 templates/js/stock.js:658
+#: stock/templates/stock/item_base.html:393 templates/js/stock.js:969
msgid "Expiry Date"
msgstr ""
@@ -5333,7 +5378,7 @@ msgstr ""
msgid "Add note (required)"
msgstr ""
-#: stock/forms.py:348 stock/views.py:728 stock/views.py:930
+#: stock/forms.py:348 stock/views.py:728 templates/js/stock.js:223
msgid "Confirm stock adjustment"
msgstr ""
@@ -5582,7 +5627,7 @@ msgid "Stock adjustment actions"
msgstr ""
#: stock/templates/stock/item_base.html:108
-#: stock/templates/stock/location.html:65 templates/stock_table.html:57
+#: stock/templates/stock/location.html:69 templates/stock_table.html:57
msgid "Count stock"
msgstr ""
@@ -5599,6 +5644,7 @@ msgid "Serialize stock"
msgstr ""
#: stock/templates/stock/item_base.html:121
+#: stock/templates/stock/location.html:75
msgid "Transfer stock"
msgstr ""
@@ -5618,11 +5664,6 @@ msgstr ""
msgid "Uninstall"
msgstr ""
-#: stock/templates/stock/item_base.html:140
-#: stock/templates/stock/location.html:62
-msgid "Stock actions"
-msgstr ""
-
#: stock/templates/stock/item_base.html:143
msgid "Convert to variant"
msgstr ""
@@ -5715,7 +5756,7 @@ msgstr ""
msgid "This StockItem expires on %(item.expiry_date)s"
msgstr ""
-#: stock/templates/stock/item_base.html:406 templates/js/stock.js:664
+#: stock/templates/stock/item_base.html:406 templates/js/stock.js:975
msgid "Last Updated"
msgstr ""
@@ -5819,42 +5860,42 @@ msgstr ""
msgid "Check-in Items"
msgstr ""
-#: stock/templates/stock/location.html:71
+#: stock/templates/stock/location.html:83
msgid "Location actions"
msgstr ""
-#: stock/templates/stock/location.html:73
+#: stock/templates/stock/location.html:85
msgid "Edit location"
msgstr ""
-#: stock/templates/stock/location.html:75
+#: stock/templates/stock/location.html:87
msgid "Delete location"
msgstr ""
-#: stock/templates/stock/location.html:87
+#: stock/templates/stock/location.html:99
msgid "Location Details"
msgstr ""
-#: stock/templates/stock/location.html:92
+#: stock/templates/stock/location.html:104
msgid "Location Path"
msgstr ""
-#: stock/templates/stock/location.html:97
+#: stock/templates/stock/location.html:109
msgid "Location Description"
msgstr ""
-#: stock/templates/stock/location.html:102
+#: stock/templates/stock/location.html:114
#: stock/templates/stock/location_navbar.html:11
#: stock/templates/stock/location_navbar.html:18
#: stock/templates/stock/sublocation.html:16
msgid "Sublocations"
msgstr ""
-#: stock/templates/stock/location.html:112
+#: stock/templates/stock/location.html:124
msgid "Stock Details"
msgstr ""
-#: stock/templates/stock/location.html:117 templates/InvenTree/search.html:279
+#: stock/templates/stock/location.html:129 templates/InvenTree/search.html:279
#: templates/stats.html:97 users/models.py:42
msgid "Stock Locations"
msgstr ""
@@ -5895,7 +5936,7 @@ msgstr ""
msgid "The following stock items will be uninstalled"
msgstr ""
-#: stock/templates/stock/stockitem_convert.html:7 stock/views.py:1217
+#: stock/templates/stock/stockitem_convert.html:7 stock/views.py:880
msgid "Convert Stock Item"
msgstr ""
@@ -5928,8 +5969,7 @@ msgstr ""
msgid "Edit Stock Location"
msgstr ""
-#: stock/views.py:253 stock/views.py:1196 stock/views.py:1318
-#: stock/views.py:1683
+#: stock/views.py:253 stock/views.py:859 stock/views.py:981 stock/views.py:1346
msgid "Owner is required (ownership control is enabled)"
msgstr ""
@@ -5985,129 +6025,43 @@ msgstr ""
msgid "Uninstalled stock items"
msgstr ""
-#: stock/views.py:764
-msgid "Adjust Stock"
-msgstr ""
-
-#: stock/views.py:840
-msgid "Move Stock Items"
-msgstr ""
-
-#: stock/views.py:840
-msgid "Move"
-msgstr ""
-
-#: stock/views.py:841
-msgid "Count Stock Items"
-msgstr ""
-
-#: stock/views.py:841
-msgid "Count"
-msgstr ""
-
-#: stock/views.py:842
-msgid "Remove From Stock"
-msgstr ""
-
-#: stock/views.py:842
-msgid "Take"
-msgstr ""
-
-#: stock/views.py:843
-msgid "Add Stock Items"
-msgstr ""
-
-#: stock/views.py:843 users/models.py:189
-msgid "Add"
-msgstr ""
-
-#: stock/views.py:844
-msgid "Delete Stock Items"
-msgstr ""
-
-#: stock/views.py:910
-msgid "Must enter integer value"
-msgstr ""
-
-#: stock/views.py:915
-msgid "Quantity must be positive"
-msgstr ""
-
-#: stock/views.py:922
-#, python-brace-format
-msgid "Quantity must not exceed {x}"
-msgstr ""
-
-#: stock/views.py:986
-msgid "No action performed"
-msgstr ""
-
-#: stock/views.py:1000
-#, python-brace-format
-msgid "Added stock to {n} items"
-msgstr ""
-
-#: stock/views.py:1014
-#, python-brace-format
-msgid "Removed stock from {n} items"
-msgstr ""
-
-#: stock/views.py:1026
-#, python-brace-format
-msgid "Counted stock for {n} items"
-msgstr ""
-
-#: stock/views.py:1064
-msgid "No items were moved"
-msgstr ""
-
-#: stock/views.py:1067
-#, python-brace-format
-msgid "Moved {n} items to {dest}"
-msgstr ""
-
-#: stock/views.py:1086
-#, python-brace-format
-msgid "Deleted {n} stock items"
-msgstr ""
-
-#: stock/views.py:1098
+#: stock/views.py:761
msgid "Edit Stock Item"
msgstr ""
-#: stock/views.py:1335
+#: stock/views.py:998
msgid "Serialize Stock"
msgstr ""
-#: stock/views.py:1428 templates/js/build.js:365
+#: stock/views.py:1091 templates/js/build.js:365
msgid "Create new Stock Item"
msgstr ""
-#: stock/views.py:1570
+#: stock/views.py:1233
msgid "Duplicate Stock Item"
msgstr ""
-#: stock/views.py:1652
+#: stock/views.py:1315
msgid "Quantity cannot be negative"
msgstr ""
-#: stock/views.py:1752
+#: stock/views.py:1415
msgid "Delete Stock Location"
msgstr ""
-#: stock/views.py:1765
+#: stock/views.py:1428
msgid "Delete Stock Item"
msgstr ""
-#: stock/views.py:1776
+#: stock/views.py:1439
msgid "Delete Stock Tracking Entry"
msgstr ""
-#: stock/views.py:1783
+#: stock/views.py:1446
msgid "Edit Stock Tracking Entry"
msgstr ""
-#: stock/views.py:1792
+#: stock/views.py:1455
msgid "Add Stock Tracking Entry"
msgstr ""
@@ -6191,11 +6145,11 @@ msgstr ""
msgid "Enter a search query"
msgstr ""
-#: templates/InvenTree/search.html:268 templates/js/stock.js:303
+#: templates/InvenTree/search.html:268 templates/js/stock.js:570
msgid "Shipped to customer"
msgstr ""
-#: templates/InvenTree/search.html:271 templates/js/stock.js:313
+#: templates/InvenTree/search.html:271 templates/js/stock.js:580
msgid "No stock location set"
msgstr ""
@@ -6469,9 +6423,9 @@ msgstr ""
msgid "copy version information"
msgstr ""
-#: templates/about.html:100 templates/js/modals.js:34
-#: templates/js/modals.js:675 templates/js/modals.js:968
-#: templates/modals.html:29 templates/modals.html:54 templates/modals.html:97
+#: templates/about.html:100 templates/js/modals.js:33
+#: templates/js/modals.js:567 templates/js/modals.js:661
+#: templates/js/modals.js:954 templates/modals.html:29 templates/modals.html:54
msgid "Close"
msgstr ""
@@ -6491,6 +6445,62 @@ msgstr ""
msgid "Remote image must not exceed maximum allowable file size"
msgstr ""
+#: templates/js/api.js:154 templates/js/modals.js:1024
+msgid "No Response"
+msgstr ""
+
+#: templates/js/api.js:155 templates/js/modals.js:1025
+msgid "No response from the InvenTree server"
+msgstr ""
+
+#: templates/js/api.js:160
+msgid "Error 400: Bad request"
+msgstr ""
+
+#: templates/js/api.js:161
+msgid "API request returned error code 400"
+msgstr ""
+
+#: templates/js/api.js:164 templates/js/modals.js:1034
+msgid "Error 401: Not Authenticated"
+msgstr ""
+
+#: templates/js/api.js:165 templates/js/modals.js:1035
+msgid "Authentication credentials not supplied"
+msgstr ""
+
+#: templates/js/api.js:168 templates/js/modals.js:1039
+msgid "Error 403: Permission Denied"
+msgstr ""
+
+#: templates/js/api.js:169 templates/js/modals.js:1040
+msgid "You do not have the required permissions to access this function"
+msgstr ""
+
+#: templates/js/api.js:172 templates/js/modals.js:1044
+msgid "Error 404: Resource Not Found"
+msgstr ""
+
+#: templates/js/api.js:173 templates/js/modals.js:1045
+msgid "The requested resource could not be located on the server"
+msgstr ""
+
+#: templates/js/api.js:176 templates/js/modals.js:1049
+msgid "Error 408: Timeout"
+msgstr ""
+
+#: templates/js/api.js:177 templates/js/modals.js:1050
+msgid "Connection timeout while requesting data from server"
+msgstr ""
+
+#: templates/js/api.js:180
+msgid "Unhandled Error Code"
+msgstr ""
+
+#: templates/js/api.js:181
+msgid "Error code"
+msgstr ""
+
#: templates/js/attachment.js:16
msgid "No attachments found"
msgstr ""
@@ -6535,7 +6545,7 @@ msgstr ""
msgid "Unknown response from server"
msgstr ""
-#: templates/js/barcode.js:119 templates/js/modals.js:1028
+#: templates/js/barcode.js:119 templates/js/modals.js:1014
msgid "Invalid server response"
msgstr ""
@@ -6559,7 +6569,7 @@ msgstr ""
msgid "Unlink"
msgstr ""
-#: templates/js/barcode.js:376
+#: templates/js/barcode.js:376 templates/js/stock.js:161
msgid "Remove stock item"
msgstr ""
@@ -6697,7 +6707,7 @@ msgid "No builds matching query"
msgstr ""
#: templates/js/build.js:840 templates/js/part.js:491 templates/js/part.js:736
-#: templates/js/stock.js:514 templates/js/stock.js:989
+#: templates/js/stock.js:825 templates/js/stock.js:1276
msgid "Select"
msgstr ""
@@ -6705,7 +6715,7 @@ msgstr ""
msgid "Build order is overdue"
msgstr ""
-#: templates/js/build.js:924 templates/js/stock.js:1211
+#: templates/js/build.js:924 templates/js/stock.js:1498
msgid "No user information"
msgstr ""
@@ -6832,63 +6842,19 @@ msgstr ""
msgid "View operation not allowed"
msgstr ""
-#: templates/js/forms.js:587 templates/js/modals.js:1038
-msgid "No Response"
-msgstr ""
-
-#: templates/js/forms.js:588 templates/js/modals.js:1039
-msgid "No response from the InvenTree server"
-msgstr ""
-
-#: templates/js/forms.js:594 templates/js/modals.js:1048
-msgid "Error 401: Not Authenticated"
-msgstr ""
-
-#: templates/js/forms.js:595 templates/js/modals.js:1049
-msgid "Authentication credentials not supplied"
-msgstr ""
-
-#: templates/js/forms.js:601 templates/js/modals.js:1053
-msgid "Error 403: Permission Denied"
-msgstr ""
-
-#: templates/js/forms.js:602 templates/js/modals.js:1054
-msgid "You do not have the required permissions to access this function"
-msgstr ""
-
-#: templates/js/forms.js:608 templates/js/modals.js:1058
-msgid "Error 404: Resource Not Found"
-msgstr ""
-
-#: templates/js/forms.js:609 templates/js/modals.js:1059
-msgid "The requested resource could not be located on the server"
-msgstr ""
-
-#: templates/js/forms.js:615 templates/js/modals.js:1063
-msgid "Error 408: Timeout"
-msgstr ""
-
-#: templates/js/forms.js:616 templates/js/modals.js:1064
-msgid "Connection timeout while requesting data from server"
-msgstr ""
-
-#: templates/js/forms.js:622 templates/js/modals.js:1067
-msgid "Error requesting form data"
-msgstr ""
-
-#: templates/js/forms.js:815 templates/modals.html:21 templates/modals.html:47
+#: templates/js/forms.js:797 templates/modals.html:21 templates/modals.html:47
msgid "Form errors exist"
msgstr ""
-#: templates/js/forms.js:1188
+#: templates/js/forms.js:1164
msgid "Searching"
msgstr ""
-#: templates/js/forms.js:1338
+#: templates/js/forms.js:1314
msgid "Clear input"
msgstr ""
-#: templates/js/label.js:10 templates/js/report.js:98
+#: templates/js/label.js:10 templates/js/report.js:98 templates/js/stock.js:185
msgid "Select Stock Items"
msgstr ""
@@ -6941,12 +6907,12 @@ msgid "Select Label Template"
msgstr ""
#: templates/js/modals.js:59 templates/js/modals.js:103
-#: templates/js/modals.js:599 templates/modals.html:75
+#: templates/js/modals.js:593
msgid "Cancel"
msgstr ""
#: templates/js/modals.js:60 templates/js/modals.js:102
-#: templates/js/modals.js:674 templates/js/modals.js:967
+#: templates/js/modals.js:660 templates/js/modals.js:953
#: templates/modals.html:30 templates/modals.html:55
msgid "Submit"
msgstr ""
@@ -6955,46 +6921,50 @@ msgstr ""
msgid "Form Title"
msgstr ""
-#: templates/js/modals.js:372
+#: templates/js/modals.js:380
msgid "Waiting for server..."
msgstr ""
-#: templates/js/modals.js:531
+#: templates/js/modals.js:539
msgid "Show Error Information"
msgstr ""
-#: templates/js/modals.js:598 templates/modals.html:76
+#: templates/js/modals.js:592
msgid "Accept"
msgstr ""
-#: templates/js/modals.js:663
+#: templates/js/modals.js:649
msgid "Loading Data"
msgstr ""
-#: templates/js/modals.js:918
+#: templates/js/modals.js:904
msgid "Invalid response from server"
msgstr ""
-#: templates/js/modals.js:918
+#: templates/js/modals.js:904
msgid "Form data missing from server response"
msgstr ""
-#: templates/js/modals.js:931
+#: templates/js/modals.js:917
msgid "Error posting form data"
msgstr ""
-#: templates/js/modals.js:1028
+#: templates/js/modals.js:1014
msgid "JSON response missing form data"
msgstr ""
-#: templates/js/modals.js:1043
+#: templates/js/modals.js:1029
msgid "Error 400: Bad Request"
msgstr ""
-#: templates/js/modals.js:1044
+#: templates/js/modals.js:1030
msgid "Server returned error code 400"
msgstr ""
+#: templates/js/modals.js:1053
+msgid "Error requesting form data"
+msgstr ""
+
#: templates/js/model_renderers.js:38
msgid "Company ID"
msgstr ""
@@ -7083,7 +7053,7 @@ msgstr ""
msgid "Low stock"
msgstr ""
-#: templates/js/part.js:761 templates/js/stock.js:1013
+#: templates/js/part.js:761 templates/js/stock.js:1300
msgid "Path"
msgstr ""
@@ -7091,11 +7061,11 @@ msgstr ""
msgid "No test templates matching query"
msgstr ""
-#: templates/js/part.js:855 templates/js/stock.js:75
+#: templates/js/part.js:855 templates/js/stock.js:384
msgid "Edit test result"
msgstr ""
-#: templates/js/part.js:856 templates/js/stock.js:76
+#: templates/js/part.js:856 templates/js/stock.js:385
msgid "Delete test result"
msgstr ""
@@ -7188,179 +7158,235 @@ msgstr ""
msgid "Sales Order(s) must be selected before printing report"
msgstr ""
-#: templates/js/stock.js:38
-msgid "PASS"
+#: templates/js/stock.js:39
+msgid "Transfer Stock"
msgstr ""
#: templates/js/stock.js:40
+msgid "Move"
+msgstr ""
+
+#: templates/js/stock.js:46
+msgid "Count Stock"
+msgstr ""
+
+#: templates/js/stock.js:47
+msgid "Count"
+msgstr ""
+
+#: templates/js/stock.js:51
+msgid "Remove Stock"
+msgstr ""
+
+#: templates/js/stock.js:52
+msgid "Take"
+msgstr ""
+
+#: templates/js/stock.js:56
+msgid "Add Stock"
+msgstr ""
+
+#: templates/js/stock.js:57 users/models.py:189
+msgid "Add"
+msgstr ""
+
+#: templates/js/stock.js:61 templates/stock_table.html:63
+msgid "Delete Stock"
+msgstr ""
+
+#: templates/js/stock.js:150
+msgid "Quantity cannot be adjusted for serialized stock"
+msgstr ""
+
+#: templates/js/stock.js:150
+msgid "Specify stock quantity"
+msgstr ""
+
+#: templates/js/stock.js:186
+msgid "You must select at least one available stock item"
+msgstr ""
+
+#: templates/js/stock.js:202
+msgid "Select destination stock location"
+msgstr ""
+
+#: templates/js/stock.js:210
+msgid "Stock transaction notes"
+msgstr ""
+
+#: templates/js/stock.js:347
+msgid "PASS"
+msgstr ""
+
+#: templates/js/stock.js:349
msgid "FAIL"
msgstr ""
-#: templates/js/stock.js:45
+#: templates/js/stock.js:354
msgid "NO RESULT"
msgstr ""
-#: templates/js/stock.js:71
+#: templates/js/stock.js:380
msgid "Add test result"
msgstr ""
-#: templates/js/stock.js:97
+#: templates/js/stock.js:406
msgid "No test results found"
msgstr ""
-#: templates/js/stock.js:145
+#: templates/js/stock.js:454
msgid "Test Date"
msgstr ""
-#: templates/js/stock.js:295
+#: templates/js/stock.js:562
msgid "In production"
msgstr ""
-#: templates/js/stock.js:299
+#: templates/js/stock.js:566
msgid "Installed in Stock Item"
msgstr ""
-#: templates/js/stock.js:307
+#: templates/js/stock.js:574
msgid "Assigned to Sales Order"
msgstr ""
-#: templates/js/stock.js:339
+#: templates/js/stock.js:650
msgid "No stock items matching query"
msgstr ""
-#: templates/js/stock.js:360
+#: templates/js/stock.js:671
msgid "items"
msgstr ""
-#: templates/js/stock.js:452
+#: templates/js/stock.js:763
msgid "batches"
msgstr ""
-#: templates/js/stock.js:479
+#: templates/js/stock.js:790
msgid "locations"
msgstr ""
-#: templates/js/stock.js:481
+#: templates/js/stock.js:792
msgid "Undefined location"
msgstr ""
-#: templates/js/stock.js:582
+#: templates/js/stock.js:893
msgid "Stock item is in production"
msgstr ""
-#: templates/js/stock.js:587
+#: templates/js/stock.js:898
msgid "Stock item assigned to sales order"
msgstr ""
-#: templates/js/stock.js:590
+#: templates/js/stock.js:901
msgid "Stock item assigned to customer"
msgstr ""
-#: templates/js/stock.js:594
+#: templates/js/stock.js:905
msgid "Stock item has expired"
msgstr ""
-#: templates/js/stock.js:596
+#: templates/js/stock.js:907
msgid "Stock item will expire soon"
msgstr ""
-#: templates/js/stock.js:600
+#: templates/js/stock.js:911
msgid "Stock item has been allocated"
msgstr ""
-#: templates/js/stock.js:604
+#: templates/js/stock.js:915
msgid "Stock item has been installed in another item"
msgstr ""
-#: templates/js/stock.js:611
+#: templates/js/stock.js:922
msgid "Stock item has been rejected"
msgstr ""
-#: templates/js/stock.js:615
+#: templates/js/stock.js:926
msgid "Stock item is lost"
msgstr ""
-#: templates/js/stock.js:618
+#: templates/js/stock.js:929
msgid "Stock item is destroyed"
msgstr ""
-#: templates/js/stock.js:622 templates/js/table_filters.js:147
+#: templates/js/stock.js:933 templates/js/table_filters.js:147
msgid "Depleted"
msgstr ""
-#: templates/js/stock.js:651
+#: templates/js/stock.js:962
msgid "Stocktake"
msgstr ""
-#: templates/js/stock.js:705
+#: templates/js/stock.js:1016
msgid "Supplier part not specified"
msgstr ""
-#: templates/js/stock.js:876
+#: templates/js/stock.js:1163
msgid "Stock Status"
msgstr ""
-#: templates/js/stock.js:891
+#: templates/js/stock.js:1178
msgid "Set Stock Status"
msgstr ""
-#: templates/js/stock.js:905
+#: templates/js/stock.js:1192
msgid "Select Status Code"
msgstr ""
-#: templates/js/stock.js:906
+#: templates/js/stock.js:1193
msgid "Status code must be selected"
msgstr ""
-#: templates/js/stock.js:1045
+#: templates/js/stock.js:1332
msgid "Invalid date"
msgstr ""
-#: templates/js/stock.js:1092
+#: templates/js/stock.js:1379
msgid "Location no longer exists"
msgstr ""
-#: templates/js/stock.js:1111
+#: templates/js/stock.js:1398
msgid "Purchase order no longer exists"
msgstr ""
-#: templates/js/stock.js:1130
+#: templates/js/stock.js:1417
msgid "Customer no longer exists"
msgstr ""
-#: templates/js/stock.js:1148
+#: templates/js/stock.js:1435
msgid "Stock item no longer exists"
msgstr ""
-#: templates/js/stock.js:1171
+#: templates/js/stock.js:1458
msgid "Added"
msgstr ""
-#: templates/js/stock.js:1179
+#: templates/js/stock.js:1466
msgid "Removed"
msgstr ""
-#: templates/js/stock.js:1223
+#: templates/js/stock.js:1510
msgid "Edit tracking entry"
msgstr ""
-#: templates/js/stock.js:1224
+#: templates/js/stock.js:1511
msgid "Delete tracking entry"
msgstr ""
-#: templates/js/stock.js:1348
+#: templates/js/stock.js:1635
msgid "Create New Location"
msgstr ""
-#: templates/js/stock.js:1389
+#: templates/js/stock.js:1676
msgid "No installed items"
msgstr ""
-#: templates/js/stock.js:1412
+#: templates/js/stock.js:1699
msgid "Serial"
msgstr ""
-#: templates/js/stock.js:1440
+#: templates/js/stock.js:1727
msgid "Uninstall Stock Item"
msgstr ""
@@ -7791,10 +7817,6 @@ msgstr ""
msgid "Delete selected items"
msgstr ""
-#: templates/stock_table.html:63
-msgid "Delete Stock"
-msgstr ""
-
#: templates/yesnolabel.html:4
msgid "Yes"
msgstr ""
diff --git a/InvenTree/locale/pl/LC_MESSAGES/django.po b/InvenTree/locale/pl/LC_MESSAGES/django.po
index 419a9981d8..b5bab2b6dc 100644
--- a/InvenTree/locale/pl/LC_MESSAGES/django.po
+++ b/InvenTree/locale/pl/LC_MESSAGES/django.po
@@ -2,7 +2,7 @@ msgid ""
msgstr ""
"Project-Id-Version: inventree\n"
"Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2021-07-12 11:35+0000\n"
+"POT-Creation-Date: 2021-07-12 12:18+0000\n"
"PO-Revision-Date: 2021-07-10 04:50\n"
"Last-Translator: \n"
"Language-Team: Polish\n"
@@ -36,7 +36,7 @@ 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:30 order/forms.py:41 order/forms.py:52 order/forms.py:63
-#: order/forms.py:74 part/forms.py:119 templates/js/forms.js:486
+#: order/forms.py:74 part/forms.py:119 templates/js/forms.js:506
msgid "Confirm"
msgstr "Potwierdź"
@@ -78,7 +78,7 @@ msgid "Duplicate serial: {n}"
msgstr "Powtórzony numer seryjny: {n}"
#: InvenTree/helpers.py:403 order/models.py:315 order/models.py:425
-#: stock/views.py:1648
+#: stock/views.py:1311
msgid "Invalid quantity provided"
msgstr "Podano nieprawidłową ilość"
@@ -124,7 +124,7 @@ msgstr "Komentarz pliku"
#: InvenTree/models.py:70 InvenTree/models.py:71 part/models.py:2042
#: report/templates/report/inventree_test_report_base.html:91
-#: templates/js/stock.js:1202
+#: templates/js/stock.js:1489
msgid "User"
msgstr "Użytkownik"
@@ -141,7 +141,7 @@ msgstr ""
#: report/models.py:181 templates/InvenTree/search.html:137
#: templates/InvenTree/search.html:289 templates/js/company.js:365
#: templates/js/part.js:118 templates/js/part.js:251 templates/js/part.js:743
-#: templates/js/stock.js:995
+#: templates/js/stock.js:1282
msgid "Name"
msgstr "Nazwa"
@@ -164,8 +164,8 @@ msgstr "Nazwa"
#: templates/js/company.js:561 templates/js/order.js:245
#: templates/js/order.js:347 templates/js/part.js:177 templates/js/part.js:361
#: templates/js/part.js:538 templates/js/part.js:755 templates/js/part.js:823
-#: templates/js/stock.js:557 templates/js/stock.js:1007
-#: templates/js/stock.js:1052
+#: templates/js/stock.js:868 templates/js/stock.js:1294
+#: templates/js/stock.js:1339
msgid "Description"
msgstr "Opis"
@@ -496,8 +496,8 @@ msgstr ""
#: templates/js/bom.js:205 templates/js/build.js:271 templates/js/build.js:606
#: templates/js/build.js:1172 templates/js/model_renderers.js:56
#: templates/js/order.js:460 templates/js/part.js:928 templates/js/part.js:1050
-#: templates/js/part.js:1106 templates/js/stock.js:1187
-#: templates/js/stock.js:1406
+#: templates/js/part.js:1106 templates/js/stock.js:1474
+#: templates/js/stock.js:1693
msgid "Quantity"
msgstr "Ilość"
@@ -542,8 +542,9 @@ msgstr "Oznacz budowę jako ukończoną"
#: stock/templates/stock/stock_adjust.html:17
#: templates/InvenTree/search.html:260 templates/js/barcode.js:363
#: templates/js/barcode.js:531 templates/js/build.js:256
-#: templates/js/build.js:620 templates/js/order.js:445
-#: templates/js/stock.js:643 templates/js/stock.js:1079
+#: templates/js/build.js:620 templates/js/order.js:445 templates/js/stock.js:75
+#: templates/js/stock.js:201 templates/js/stock.js:954
+#: templates/js/stock.js:1366
msgid "Location"
msgstr "Lokalizacja"
@@ -557,8 +558,8 @@ msgstr "Lokalizacja ukończonych części"
#: stock/templates/stock/item_base.html:420 templates/InvenTree/search.html:252
#: templates/js/barcode.js:119 templates/js/build.js:902
#: templates/js/order.js:249 templates/js/order.js:352
-#: templates/js/stock.js:630 templates/js/stock.js:1156
-#: templates/js/stock.js:1422
+#: templates/js/stock.js:941 templates/js/stock.js:1443
+#: templates/js/stock.js:1709
msgid "Status"
msgstr "Status"
@@ -659,8 +660,8 @@ msgstr "Zamówienie budowy, do którego budowa jest przypisana"
#: templates/js/build.js:586 templates/js/build.js:873
#: templates/js/build.js:1139 templates/js/company.js:264
#: templates/js/company.js:470 templates/js/part.js:342
-#: templates/js/part.js:505 templates/js/stock.js:526
-#: templates/js/stock.js:1394
+#: templates/js/part.js:505 templates/js/stock.js:73 templates/js/stock.js:837
+#: templates/js/stock.js:1681
msgid "Part"
msgstr "Część"
@@ -708,7 +709,7 @@ msgstr "Ukończone elementy"
msgid "Number of stock items which have been completed"
msgstr "Ilość produktów magazynowych które zostały ukończone"
-#: build/models.py:249 part/templates/part/part_base.html:167
+#: build/models.py:249 part/templates/part/part_base.html:183
msgid "Build Status"
msgstr "Status budowania"
@@ -766,7 +767,7 @@ msgstr "Użytkownik odpowiedzialny za to zamówienie budowy"
#: 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
+#: part/templates/part/detail.html:83 part/templates/part/part_base.html:110
#: stock/models.py:464 stock/templates/stock/item_base.html:357
msgid "External Link"
msgstr "Link Zewnętrzny"
@@ -791,7 +792,8 @@ msgstr "Link do zewnętrznego adresu URL"
#: 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/company.js:566
-#: templates/js/stock.js:141 templates/js/stock.js:722
+#: templates/js/stock.js:209 templates/js/stock.js:450
+#: templates/js/stock.js:1033
msgid "Notes"
msgstr "Uwagi"
@@ -857,7 +859,7 @@ msgstr ""
#: stock/templates/stock/stock_adjust.html:16 templates/js/build.js:244
#: templates/js/build.js:249 templates/js/build.js:993
#: templates/js/order.js:433 templates/js/order.js:438
-#: templates/js/stock.js:1138
+#: templates/js/stock.js:1425
msgid "Stock Item"
msgstr "Element magazynowy"
@@ -1242,8 +1244,8 @@ msgid "Destination location not specified"
msgstr "Nie określono lokalizacji docelowej"
#: build/templates/build/detail.html:70
-#: stock/templates/stock/item_base.html:315 templates/js/stock.js:638
-#: templates/js/stock.js:1429 templates/js/table_filters.js:116
+#: stock/templates/stock/item_base.html:315 templates/js/stock.js:949
+#: templates/js/stock.js:1716 templates/js/table_filters.js:116
#: templates/js/table_filters.js:210
msgid "Batch"
msgstr "Partia"
@@ -1298,7 +1300,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:1067
+#: templates/js/stock.js:1354
msgid "Details"
msgstr "Szczegóły"
@@ -1362,7 +1364,7 @@ msgstr "Utwórz zlecenie budowy"
msgid "Maximum output quantity is "
msgstr ""
-#: build/views.py:184 stock/views.py:1674
+#: build/views.py:184 stock/views.py:1337
msgid "Serial numbers already exist"
msgstr "Numer seryjny już istnieje"
@@ -2116,7 +2118,7 @@ msgstr ""
#: report/templates/report/inventree_test_report_base.html:90
#: stock/models.py:1771 templates/InvenTree/settings/header.html:8
#: templates/js/company.js:371 templates/js/part.js:260
-#: templates/js/stock.js:137
+#: templates/js/stock.js:446
msgid "Value"
msgstr ""
@@ -2189,7 +2191,7 @@ msgstr ""
#: company/models.py:566 company/templates/company/supplier_part_base.html:109
#: stock/models.py:435 stock/templates/stock/item_base.html:322
-#: templates/js/company.js:571 templates/js/stock.js:718
+#: templates/js/company.js:571 templates/js/stock.js:1029
msgid "Packaging"
msgstr "Opakowanie"
@@ -2259,7 +2261,7 @@ msgid "Phone"
msgstr "Telefon"
#: company/templates/company/company_base.html:166
-#: part/templates/part/part_base.html:311
+#: part/templates/part/part_base.html:347
msgid "Upload Image"
msgstr ""
@@ -2279,7 +2281,7 @@ msgstr ""
#: order/templates/order/sales_order_base.html:94 stock/models.py:453
#: stock/models.py:454 stock/templates/stock/item_base.html:274
#: templates/js/company.js:109 templates/js/order.js:329
-#: templates/js/stock.js:1120
+#: templates/js/stock.js:1407
msgid "Customer"
msgstr "Klient"
@@ -2325,7 +2327,7 @@ msgstr "Usuń części"
#: company/templates/company/detail_manufacturer_part.html:68
#: company/templates/company/detail_supplier_part.html:66
#: part/templates/part/bom.html:166 part/templates/part/category.html:127
-#: templates/js/stock.js:1335
+#: templates/js/stock.js:1622
msgid "New Part"
msgstr "Nowy komponent"
@@ -2351,7 +2353,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:55 stock/templates/stock/location.html:163
+#: part/templates/part/stock.html:55 stock/templates/stock/location.html:175
msgid "Export"
msgstr "Eksportuj"
@@ -2363,14 +2365,14 @@ msgstr "Komponenty dostawcy"
#: company/templates/company/detail_supplier_part.html:21
#: order/templates/order/order_wizard/select_parts.html:44
-#: part/templates/part/part_base.html:433
+#: part/templates/part/part_base.html:469
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
-#: part/templates/part/part_base.html:432 part/templates/part/supplier.html:18
-#: templates/js/stock.js:1341
+#: part/templates/part/part_base.html:468 part/templates/part/supplier.html:18
+#: templates/js/stock.js:1628
msgid "New Supplier Part"
msgstr "Now dostawca części"
@@ -2391,7 +2393,7 @@ msgstr "Lista dostawców"
#: company/templates/company/manufacturer_part_base.html:36
#: company/templates/company/supplier_part_base.html:36
#: company/templates/company/supplier_part_orders.html:17
-#: part/templates/part/orders.html:17 part/templates/part/part_base.html:58
+#: part/templates/part/orders.html:17 part/templates/part/part_base.html:74
msgid "Order part"
msgstr "Zamów część"
@@ -2444,8 +2446,8 @@ msgstr ""
#: templates/InvenTree/index.html:128 templates/InvenTree/search.html:196
#: templates/InvenTree/search.html:232
#: templates/InvenTree/settings/tabs.html:31 templates/js/part.js:181
-#: templates/js/part.js:406 templates/js/part.js:566 templates/js/stock.js:566
-#: templates/navbar.html:26
+#: templates/js/part.js:406 templates/js/part.js:566 templates/js/stock.js:74
+#: templates/js/stock.js:877 templates/navbar.html:26
msgid "Stock"
msgstr "Stan"
@@ -2467,8 +2469,8 @@ msgstr ""
#: company/templates/company/manufacturer_part_suppliers.html:48
#: company/templates/company/manufacturer_part_suppliers.html:142
#: part/templates/part/related.html:44 part/templates/part/supplier.html:23
-#: part/templates/part/supplier.html:52 stock/views.py:844
-#: templates/js/company.js:203 users/models.py:193
+#: part/templates/part/supplier.html:52 templates/js/company.js:203
+#: users/models.py:193
msgid "Delete"
msgstr "Usuń"
@@ -2518,12 +2520,12 @@ msgid "Supplied Parts"
msgstr "Dostarczone części"
#: company/templates/company/navbar.html:38 part/templates/part/navbar.html:30
-#: stock/templates/stock/location.html:107
-#: stock/templates/stock/location.html:122
-#: stock/templates/stock/location.html:136
+#: stock/templates/stock/location.html:119
+#: stock/templates/stock/location.html:134
+#: stock/templates/stock/location.html:148
#: stock/templates/stock/location_navbar.html:22
#: stock/templates/stock/location_navbar.html:29
-#: templates/InvenTree/search.html:198 templates/js/stock.js:1019
+#: templates/InvenTree/search.html:198 templates/js/stock.js:1306
#: templates/stats.html:93 templates/stats.html:102 users/models.py:43
msgid "Stock Items"
msgstr ""
@@ -2581,7 +2583,7 @@ msgstr ""
#: company/templates/company/supplier_part_base.html:7
#: company/templates/company/supplier_part_base.html:20 stock/models.py:420
#: stock/templates/stock/item_base.html:386 templates/js/company.js:511
-#: templates/js/stock.js:690
+#: templates/js/stock.js:1001
msgid "Supplier Part"
msgstr ""
@@ -2703,7 +2705,7 @@ msgstr ""
msgid "Edit Supplier Part"
msgstr ""
-#: company/views.py:385 templates/js/stock.js:1342
+#: company/views.py:385 templates/js/stock.js:1629
msgid "Create new Supplier Part"
msgstr ""
@@ -2942,7 +2944,7 @@ msgstr "Zamówienie"
#: order/templates/order/order_base.html:24
#: report/templates/report/inventree_po_report.html:77
#: stock/templates/stock/item_base.html:336 templates/js/order.js:210
-#: templates/js/stock.js:669 templates/js/stock.js:1101
+#: templates/js/stock.js:980 templates/js/stock.js:1388
msgid "Purchase Order"
msgstr ""
@@ -2962,7 +2964,7 @@ msgid "Number of items received"
msgstr ""
#: order/models.py:776 part/templates/part/prices.html:166 stock/models.py:545
-#: stock/templates/stock/item_base.html:343 templates/js/stock.js:713
+#: stock/templates/stock/item_base.html:343 templates/js/stock.js:1024
msgid "Purchase Price"
msgstr "Cena zakupu"
@@ -3078,15 +3080,14 @@ 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
-#: part/templates/part/part_base.html:419
-#: stock/templates/stock/location.html:191 templates/js/stock.js:759
-#: templates/js/stock.js:1347
+#: part/templates/part/part_base.html:455
+#: stock/templates/stock/location.html:203 templates/js/stock.js:1634
msgid "New Location"
msgstr "Nowa lokalizacja"
#: order/templates/order/order_base.html:200
#: order/templates/order/purchase_order_detail.html:128
-#: part/templates/part/part_base.html:420
+#: part/templates/part/part_base.html:456
#: stock/templates/stock/location.html:42
msgid "Create new stock location"
msgstr ""
@@ -3361,7 +3362,7 @@ msgid "Order Code"
msgstr "Kod zamówienia"
#: order/templates/order/receive_parts.html:21
-#: part/templates/part/part_base.html:136 templates/js/part.js:582
+#: part/templates/part/part_base.html:152 templates/js/part.js:582
msgid "On Order"
msgstr ""
@@ -3668,7 +3669,7 @@ msgstr ""
msgid "Default Location"
msgstr "Domyślna lokalizacja"
-#: part/bom.py:134 part/templates/part/part_base.html:124
+#: part/bom.py:134 part/templates/part/part_base.html:140
msgid "Available Stock"
msgstr "Dostępna ilość"
@@ -3891,7 +3892,7 @@ msgid "Part category"
msgstr ""
#: part/models.py:723 part/templates/part/detail.html:28
-#: part/templates/part/part_base.html:87 templates/js/part.js:169
+#: part/templates/part/part_base.html:103 templates/js/part.js:169
#: templates/js/part.js:397
msgid "IPN"
msgstr "IPN"
@@ -4011,7 +4012,7 @@ msgstr ""
msgid "Test with this name already exists for this part"
msgstr ""
-#: part/models.py:2124 templates/js/part.js:818 templates/js/stock.js:117
+#: part/models.py:2124 templates/js/part.js:818 templates/js/stock.js:426
msgid "Test Name"
msgstr "Nazwa testu"
@@ -4255,7 +4256,7 @@ msgid "All selected BOM items will be deleted"
msgstr ""
#: part/templates/part/bom.html:167 part/views.py:451
-#: templates/js/stock.js:1336
+#: templates/js/stock.js:1623
msgid "Create New Part"
msgstr ""
@@ -4372,12 +4373,12 @@ msgid "View grid display"
msgstr ""
#: part/templates/part/category.html:218
-#: stock/templates/stock/location.html:192 templates/js/stock.js:760
+#: stock/templates/stock/location.html:204
msgid "Create new location"
msgstr ""
#: part/templates/part/category.html:223 part/templates/part/category.html:253
-#: part/templates/part/part_base.html:382
+#: part/templates/part/part_base.html:418
msgid "New Category"
msgstr ""
@@ -4389,7 +4390,7 @@ msgstr ""
msgid "Create new Part Category"
msgstr ""
-#: part/templates/part/category.html:260 stock/views.py:1244
+#: part/templates/part/category.html:260 stock/views.py:907
msgid "Create new Stock Location"
msgstr "Utwórz nową lokalizację magazynową"
@@ -4474,7 +4475,7 @@ msgstr ""
msgid "Part Details"
msgstr "Szczegóły części"
-#: part/templates/part/detail.html:42 part/templates/part/part_base.html:188
+#: part/templates/part/detail.html:42 part/templates/part/part_base.html:204
msgid "Latest Serial Number"
msgstr "Ostatni numer seryjny"
@@ -4639,73 +4640,85 @@ msgstr ""
msgid "Show pricing information"
msgstr ""
-#: part/templates/part/part_base.html:52
+#: part/templates/part/part_base.html:53
+#: stock/templates/stock/item_base.html:140
+#: stock/templates/stock/location.html:62
+msgid "Stock actions"
+msgstr ""
+
+#: part/templates/part/part_base.html:60
msgid "Count part stock"
msgstr ""
-#: part/templates/part/part_base.html:67
+#: part/templates/part/part_base.html:66
+#, fuzzy
+#| msgid "Order parts"
+msgid "Transfer part stock"
+msgstr "Zamów części"
+
+#: part/templates/part/part_base.html:83
msgid "Part actions"
msgstr ""
-#: part/templates/part/part_base.html:70
+#: part/templates/part/part_base.html:86
msgid "Duplicate part"
msgstr ""
-#: part/templates/part/part_base.html:73
+#: part/templates/part/part_base.html:89
msgid "Edit part"
msgstr ""
-#: part/templates/part/part_base.html:76
+#: part/templates/part/part_base.html:92
msgid "Delete part"
msgstr ""
-#: part/templates/part/part_base.html:107
+#: part/templates/part/part_base.html:123
msgid "This is a virtual part"
msgstr ""
-#: part/templates/part/part_base.html:113
+#: part/templates/part/part_base.html:129
#, python-format
msgid "This part is a variant of %(link)s"
msgstr ""
-#: part/templates/part/part_base.html:130 templates/js/table_filters.js:165
+#: part/templates/part/part_base.html:146 templates/js/table_filters.js:165
msgid "In Stock"
msgstr ""
-#: part/templates/part/part_base.html:143 templates/InvenTree/index.html:132
+#: part/templates/part/part_base.html:159 templates/InvenTree/index.html:132
msgid "Required for Build Orders"
msgstr ""
-#: part/templates/part/part_base.html:150
+#: part/templates/part/part_base.html:166
msgid "Required for Sales Orders"
msgstr ""
-#: part/templates/part/part_base.html:157
+#: part/templates/part/part_base.html:173
msgid "Allocated to Orders"
msgstr ""
-#: part/templates/part/part_base.html:172 templates/js/bom.js:316
+#: part/templates/part/part_base.html:188 templates/js/bom.js:316
msgid "Can Build"
msgstr ""
-#: part/templates/part/part_base.html:178 templates/js/part.js:413
+#: part/templates/part/part_base.html:194 templates/js/part.js:413
#: templates/js/part.js:586
msgid "Building"
msgstr ""
-#: part/templates/part/part_base.html:289 part/templates/part/prices.html:131
+#: part/templates/part/part_base.html:325 part/templates/part/prices.html:131
msgid "Calculate"
msgstr ""
-#: part/templates/part/part_base.html:383
+#: part/templates/part/part_base.html:419
msgid "Create New Part Category"
msgstr ""
-#: part/templates/part/part_base.html:391
+#: part/templates/part/part_base.html:427
msgid "New Parent"
msgstr ""
-#: part/templates/part/part_base.html:439
+#: part/templates/part/part_base.html:475
msgid "Edit Part"
msgstr ""
@@ -5237,7 +5250,7 @@ msgid "Result"
msgstr ""
#: report/templates/report/inventree_test_report_base.html:92
-#: templates/js/order.js:257 templates/js/stock.js:1035
+#: templates/js/order.js:257 templates/js/stock.js:1322
msgid "Date"
msgstr ""
@@ -5249,18 +5262,56 @@ msgstr ""
msgid "Fail"
msgstr ""
-#: stock/api.py:197
+#: stock/api.py:146
+#, fuzzy
+#| msgid "Enter quantity of stock items"
+msgid "Request must contain list of stock items"
+msgstr "Wprowadź ilość produktów magazynowych"
+
+#: stock/api.py:154
+msgid "Improperly formatted data"
+msgstr ""
+
+#: stock/api.py:162
+msgid "Each entry must contain a valid integer primary-key"
+msgstr ""
+
+#: stock/api.py:168
+msgid "Primary key does not match valid stock item"
+msgstr ""
+
+#: stock/api.py:178
+#, fuzzy
+#| msgid "Invalid quantity provided"
+msgid "Invalid quantity value"
+msgstr "Podano nieprawidłową ilość"
+
+#: stock/api.py:183
+msgid "Quantity must not be less than zero"
+msgstr ""
+
+#: stock/api.py:211
#, python-brace-format
msgid "Updated stock for {n} items"
msgstr ""
-#: stock/api.py:266
+#: stock/api.py:247 stock/api.py:280
+msgid "Specified quantity exceeds stock quantity"
+msgstr ""
+
+#: stock/api.py:270
+#, fuzzy
+#| msgid "Destination location not specified"
+msgid "Valid location must be specified"
+msgstr "Nie określono lokalizacji docelowej"
+
+#: stock/api.py:290
#, python-brace-format
msgid "Moved {n} parts to {loc}"
msgstr ""
#: stock/forms.py:81 stock/forms.py:385 stock/models.py:513
-#: stock/templates/stock/item_base.html:393 templates/js/stock.js:658
+#: stock/templates/stock/item_base.html:393 templates/js/stock.js:969
msgid "Expiry Date"
msgstr ""
@@ -5333,7 +5384,7 @@ msgstr ""
msgid "Add note (required)"
msgstr ""
-#: stock/forms.py:348 stock/views.py:728 stock/views.py:930
+#: stock/forms.py:348 stock/views.py:728 templates/js/stock.js:223
msgid "Confirm stock adjustment"
msgstr ""
@@ -5582,7 +5633,7 @@ msgid "Stock adjustment actions"
msgstr ""
#: stock/templates/stock/item_base.html:108
-#: stock/templates/stock/location.html:65 templates/stock_table.html:57
+#: stock/templates/stock/location.html:69 templates/stock_table.html:57
msgid "Count stock"
msgstr ""
@@ -5599,6 +5650,7 @@ msgid "Serialize stock"
msgstr ""
#: stock/templates/stock/item_base.html:121
+#: stock/templates/stock/location.html:75
msgid "Transfer stock"
msgstr ""
@@ -5618,11 +5670,6 @@ msgstr ""
msgid "Uninstall"
msgstr ""
-#: stock/templates/stock/item_base.html:140
-#: stock/templates/stock/location.html:62
-msgid "Stock actions"
-msgstr ""
-
#: stock/templates/stock/item_base.html:143
msgid "Convert to variant"
msgstr ""
@@ -5715,7 +5762,7 @@ msgstr ""
msgid "This StockItem expires on %(item.expiry_date)s"
msgstr ""
-#: stock/templates/stock/item_base.html:406 templates/js/stock.js:664
+#: stock/templates/stock/item_base.html:406 templates/js/stock.js:975
msgid "Last Updated"
msgstr ""
@@ -5819,42 +5866,42 @@ msgstr ""
msgid "Check-in Items"
msgstr ""
-#: stock/templates/stock/location.html:71
+#: stock/templates/stock/location.html:83
msgid "Location actions"
msgstr ""
-#: stock/templates/stock/location.html:73
+#: stock/templates/stock/location.html:85
msgid "Edit location"
msgstr ""
-#: stock/templates/stock/location.html:75
+#: stock/templates/stock/location.html:87
msgid "Delete location"
msgstr ""
-#: stock/templates/stock/location.html:87
+#: stock/templates/stock/location.html:99
msgid "Location Details"
msgstr ""
-#: stock/templates/stock/location.html:92
+#: stock/templates/stock/location.html:104
msgid "Location Path"
msgstr ""
-#: stock/templates/stock/location.html:97
+#: stock/templates/stock/location.html:109
msgid "Location Description"
msgstr ""
-#: stock/templates/stock/location.html:102
+#: stock/templates/stock/location.html:114
#: stock/templates/stock/location_navbar.html:11
#: stock/templates/stock/location_navbar.html:18
#: stock/templates/stock/sublocation.html:16
msgid "Sublocations"
msgstr ""
-#: stock/templates/stock/location.html:112
+#: stock/templates/stock/location.html:124
msgid "Stock Details"
msgstr ""
-#: stock/templates/stock/location.html:117 templates/InvenTree/search.html:279
+#: stock/templates/stock/location.html:129 templates/InvenTree/search.html:279
#: templates/stats.html:97 users/models.py:42
msgid "Stock Locations"
msgstr ""
@@ -5895,7 +5942,7 @@ msgstr ""
msgid "The following stock items will be uninstalled"
msgstr ""
-#: stock/templates/stock/stockitem_convert.html:7 stock/views.py:1217
+#: stock/templates/stock/stockitem_convert.html:7 stock/views.py:880
msgid "Convert Stock Item"
msgstr ""
@@ -5928,8 +5975,7 @@ msgstr ""
msgid "Edit Stock Location"
msgstr ""
-#: stock/views.py:253 stock/views.py:1196 stock/views.py:1318
-#: stock/views.py:1683
+#: stock/views.py:253 stock/views.py:859 stock/views.py:981 stock/views.py:1346
msgid "Owner is required (ownership control is enabled)"
msgstr ""
@@ -5985,129 +6031,43 @@ msgstr ""
msgid "Uninstalled stock items"
msgstr ""
-#: stock/views.py:764
-msgid "Adjust Stock"
-msgstr ""
-
-#: stock/views.py:840
-msgid "Move Stock Items"
-msgstr ""
-
-#: stock/views.py:840
-msgid "Move"
-msgstr ""
-
-#: stock/views.py:841
-msgid "Count Stock Items"
-msgstr ""
-
-#: stock/views.py:841
-msgid "Count"
-msgstr ""
-
-#: stock/views.py:842
-msgid "Remove From Stock"
-msgstr ""
-
-#: stock/views.py:842
-msgid "Take"
-msgstr ""
-
-#: stock/views.py:843
-msgid "Add Stock Items"
-msgstr ""
-
-#: stock/views.py:843 users/models.py:189
-msgid "Add"
-msgstr ""
-
-#: stock/views.py:844
-msgid "Delete Stock Items"
-msgstr ""
-
-#: stock/views.py:910
-msgid "Must enter integer value"
-msgstr ""
-
-#: stock/views.py:915
-msgid "Quantity must be positive"
-msgstr ""
-
-#: stock/views.py:922
-#, python-brace-format
-msgid "Quantity must not exceed {x}"
-msgstr ""
-
-#: stock/views.py:986
-msgid "No action performed"
-msgstr ""
-
-#: stock/views.py:1000
-#, python-brace-format
-msgid "Added stock to {n} items"
-msgstr ""
-
-#: stock/views.py:1014
-#, python-brace-format
-msgid "Removed stock from {n} items"
-msgstr ""
-
-#: stock/views.py:1026
-#, python-brace-format
-msgid "Counted stock for {n} items"
-msgstr ""
-
-#: stock/views.py:1064
-msgid "No items were moved"
-msgstr ""
-
-#: stock/views.py:1067
-#, python-brace-format
-msgid "Moved {n} items to {dest}"
-msgstr ""
-
-#: stock/views.py:1086
-#, python-brace-format
-msgid "Deleted {n} stock items"
-msgstr ""
-
-#: stock/views.py:1098
+#: stock/views.py:761
msgid "Edit Stock Item"
msgstr ""
-#: stock/views.py:1335
+#: stock/views.py:998
msgid "Serialize Stock"
msgstr ""
-#: stock/views.py:1428 templates/js/build.js:365
+#: stock/views.py:1091 templates/js/build.js:365
msgid "Create new Stock Item"
msgstr ""
-#: stock/views.py:1570
+#: stock/views.py:1233
msgid "Duplicate Stock Item"
msgstr ""
-#: stock/views.py:1652
+#: stock/views.py:1315
msgid "Quantity cannot be negative"
msgstr ""
-#: stock/views.py:1752
+#: stock/views.py:1415
msgid "Delete Stock Location"
msgstr ""
-#: stock/views.py:1765
+#: stock/views.py:1428
msgid "Delete Stock Item"
msgstr ""
-#: stock/views.py:1776
+#: stock/views.py:1439
msgid "Delete Stock Tracking Entry"
msgstr ""
-#: stock/views.py:1783
+#: stock/views.py:1446
msgid "Edit Stock Tracking Entry"
msgstr ""
-#: stock/views.py:1792
+#: stock/views.py:1455
msgid "Add Stock Tracking Entry"
msgstr ""
@@ -6191,11 +6151,11 @@ msgstr ""
msgid "Enter a search query"
msgstr ""
-#: templates/InvenTree/search.html:268 templates/js/stock.js:303
+#: templates/InvenTree/search.html:268 templates/js/stock.js:570
msgid "Shipped to customer"
msgstr ""
-#: templates/InvenTree/search.html:271 templates/js/stock.js:313
+#: templates/InvenTree/search.html:271 templates/js/stock.js:580
msgid "No stock location set"
msgstr ""
@@ -6469,9 +6429,9 @@ msgstr ""
msgid "copy version information"
msgstr ""
-#: templates/about.html:100 templates/js/modals.js:34
-#: templates/js/modals.js:675 templates/js/modals.js:968
-#: templates/modals.html:29 templates/modals.html:54 templates/modals.html:97
+#: templates/about.html:100 templates/js/modals.js:33
+#: templates/js/modals.js:567 templates/js/modals.js:661
+#: templates/js/modals.js:954 templates/modals.html:29 templates/modals.html:54
msgid "Close"
msgstr ""
@@ -6491,6 +6451,62 @@ msgstr ""
msgid "Remote image must not exceed maximum allowable file size"
msgstr ""
+#: templates/js/api.js:154 templates/js/modals.js:1024
+msgid "No Response"
+msgstr ""
+
+#: templates/js/api.js:155 templates/js/modals.js:1025
+msgid "No response from the InvenTree server"
+msgstr ""
+
+#: templates/js/api.js:160
+msgid "Error 400: Bad request"
+msgstr ""
+
+#: templates/js/api.js:161
+msgid "API request returned error code 400"
+msgstr ""
+
+#: templates/js/api.js:164 templates/js/modals.js:1034
+msgid "Error 401: Not Authenticated"
+msgstr ""
+
+#: templates/js/api.js:165 templates/js/modals.js:1035
+msgid "Authentication credentials not supplied"
+msgstr ""
+
+#: templates/js/api.js:168 templates/js/modals.js:1039
+msgid "Error 403: Permission Denied"
+msgstr ""
+
+#: templates/js/api.js:169 templates/js/modals.js:1040
+msgid "You do not have the required permissions to access this function"
+msgstr ""
+
+#: templates/js/api.js:172 templates/js/modals.js:1044
+msgid "Error 404: Resource Not Found"
+msgstr ""
+
+#: templates/js/api.js:173 templates/js/modals.js:1045
+msgid "The requested resource could not be located on the server"
+msgstr ""
+
+#: templates/js/api.js:176 templates/js/modals.js:1049
+msgid "Error 408: Timeout"
+msgstr ""
+
+#: templates/js/api.js:177 templates/js/modals.js:1050
+msgid "Connection timeout while requesting data from server"
+msgstr ""
+
+#: templates/js/api.js:180
+msgid "Unhandled Error Code"
+msgstr ""
+
+#: templates/js/api.js:181
+msgid "Error code"
+msgstr ""
+
#: templates/js/attachment.js:16
msgid "No attachments found"
msgstr ""
@@ -6535,7 +6551,7 @@ msgstr ""
msgid "Unknown response from server"
msgstr ""
-#: templates/js/barcode.js:119 templates/js/modals.js:1028
+#: templates/js/barcode.js:119 templates/js/modals.js:1014
msgid "Invalid server response"
msgstr ""
@@ -6559,7 +6575,7 @@ msgstr ""
msgid "Unlink"
msgstr ""
-#: templates/js/barcode.js:376
+#: templates/js/barcode.js:376 templates/js/stock.js:161
msgid "Remove stock item"
msgstr ""
@@ -6697,7 +6713,7 @@ msgid "No builds matching query"
msgstr ""
#: templates/js/build.js:840 templates/js/part.js:491 templates/js/part.js:736
-#: templates/js/stock.js:514 templates/js/stock.js:989
+#: templates/js/stock.js:825 templates/js/stock.js:1276
msgid "Select"
msgstr ""
@@ -6705,7 +6721,7 @@ msgstr ""
msgid "Build order is overdue"
msgstr ""
-#: templates/js/build.js:924 templates/js/stock.js:1211
+#: templates/js/build.js:924 templates/js/stock.js:1498
msgid "No user information"
msgstr ""
@@ -6832,63 +6848,19 @@ msgstr ""
msgid "View operation not allowed"
msgstr ""
-#: templates/js/forms.js:587 templates/js/modals.js:1038
-msgid "No Response"
-msgstr ""
-
-#: templates/js/forms.js:588 templates/js/modals.js:1039
-msgid "No response from the InvenTree server"
-msgstr ""
-
-#: templates/js/forms.js:594 templates/js/modals.js:1048
-msgid "Error 401: Not Authenticated"
-msgstr ""
-
-#: templates/js/forms.js:595 templates/js/modals.js:1049
-msgid "Authentication credentials not supplied"
-msgstr ""
-
-#: templates/js/forms.js:601 templates/js/modals.js:1053
-msgid "Error 403: Permission Denied"
-msgstr ""
-
-#: templates/js/forms.js:602 templates/js/modals.js:1054
-msgid "You do not have the required permissions to access this function"
-msgstr ""
-
-#: templates/js/forms.js:608 templates/js/modals.js:1058
-msgid "Error 404: Resource Not Found"
-msgstr ""
-
-#: templates/js/forms.js:609 templates/js/modals.js:1059
-msgid "The requested resource could not be located on the server"
-msgstr ""
-
-#: templates/js/forms.js:615 templates/js/modals.js:1063
-msgid "Error 408: Timeout"
-msgstr ""
-
-#: templates/js/forms.js:616 templates/js/modals.js:1064
-msgid "Connection timeout while requesting data from server"
-msgstr ""
-
-#: templates/js/forms.js:622 templates/js/modals.js:1067
-msgid "Error requesting form data"
-msgstr ""
-
-#: templates/js/forms.js:815 templates/modals.html:21 templates/modals.html:47
+#: templates/js/forms.js:797 templates/modals.html:21 templates/modals.html:47
msgid "Form errors exist"
msgstr ""
-#: templates/js/forms.js:1188
+#: templates/js/forms.js:1164
msgid "Searching"
msgstr ""
-#: templates/js/forms.js:1338
+#: templates/js/forms.js:1314
msgid "Clear input"
msgstr ""
-#: templates/js/label.js:10 templates/js/report.js:98
+#: templates/js/label.js:10 templates/js/report.js:98 templates/js/stock.js:185
msgid "Select Stock Items"
msgstr ""
@@ -6941,12 +6913,12 @@ msgid "Select Label Template"
msgstr ""
#: templates/js/modals.js:59 templates/js/modals.js:103
-#: templates/js/modals.js:599 templates/modals.html:75
+#: templates/js/modals.js:593
msgid "Cancel"
msgstr ""
#: templates/js/modals.js:60 templates/js/modals.js:102
-#: templates/js/modals.js:674 templates/js/modals.js:967
+#: templates/js/modals.js:660 templates/js/modals.js:953
#: templates/modals.html:30 templates/modals.html:55
msgid "Submit"
msgstr ""
@@ -6955,46 +6927,50 @@ msgstr ""
msgid "Form Title"
msgstr ""
-#: templates/js/modals.js:372
+#: templates/js/modals.js:380
msgid "Waiting for server..."
msgstr ""
-#: templates/js/modals.js:531
+#: templates/js/modals.js:539
msgid "Show Error Information"
msgstr ""
-#: templates/js/modals.js:598 templates/modals.html:76
+#: templates/js/modals.js:592
msgid "Accept"
msgstr ""
-#: templates/js/modals.js:663
+#: templates/js/modals.js:649
msgid "Loading Data"
msgstr ""
-#: templates/js/modals.js:918
+#: templates/js/modals.js:904
msgid "Invalid response from server"
msgstr ""
-#: templates/js/modals.js:918
+#: templates/js/modals.js:904
msgid "Form data missing from server response"
msgstr ""
-#: templates/js/modals.js:931
+#: templates/js/modals.js:917
msgid "Error posting form data"
msgstr ""
-#: templates/js/modals.js:1028
+#: templates/js/modals.js:1014
msgid "JSON response missing form data"
msgstr ""
-#: templates/js/modals.js:1043
+#: templates/js/modals.js:1029
msgid "Error 400: Bad Request"
msgstr ""
-#: templates/js/modals.js:1044
+#: templates/js/modals.js:1030
msgid "Server returned error code 400"
msgstr ""
+#: templates/js/modals.js:1053
+msgid "Error requesting form data"
+msgstr ""
+
#: templates/js/model_renderers.js:38
msgid "Company ID"
msgstr ""
@@ -7083,7 +7059,7 @@ msgstr ""
msgid "Low stock"
msgstr ""
-#: templates/js/part.js:761 templates/js/stock.js:1013
+#: templates/js/part.js:761 templates/js/stock.js:1300
msgid "Path"
msgstr ""
@@ -7091,11 +7067,11 @@ msgstr ""
msgid "No test templates matching query"
msgstr ""
-#: templates/js/part.js:855 templates/js/stock.js:75
+#: templates/js/part.js:855 templates/js/stock.js:384
msgid "Edit test result"
msgstr ""
-#: templates/js/part.js:856 templates/js/stock.js:76
+#: templates/js/part.js:856 templates/js/stock.js:385
msgid "Delete test result"
msgstr ""
@@ -7188,179 +7164,243 @@ msgstr ""
msgid "Sales Order(s) must be selected before printing report"
msgstr ""
-#: templates/js/stock.js:38
-msgid "PASS"
+#: templates/js/stock.js:39
+msgid "Transfer Stock"
msgstr ""
#: templates/js/stock.js:40
+msgid "Move"
+msgstr ""
+
+#: templates/js/stock.js:46
+#, fuzzy
+#| msgid "Allocate Stock"
+msgid "Count Stock"
+msgstr "Przydziel zapasy"
+
+#: templates/js/stock.js:47
+msgid "Count"
+msgstr ""
+
+#: templates/js/stock.js:51
+#, fuzzy
+#| msgid "Remove part"
+msgid "Remove Stock"
+msgstr "Usuń część"
+
+#: templates/js/stock.js:52
+msgid "Take"
+msgstr ""
+
+#: templates/js/stock.js:56
+#, fuzzy
+#| msgid "Stock"
+msgid "Add Stock"
+msgstr "Stan"
+
+#: templates/js/stock.js:57 users/models.py:189
+msgid "Add"
+msgstr ""
+
+#: templates/js/stock.js:61 templates/stock_table.html:63
+msgid "Delete Stock"
+msgstr ""
+
+#: templates/js/stock.js:150
+msgid "Quantity cannot be adjusted for serialized stock"
+msgstr ""
+
+#: templates/js/stock.js:150
+msgid "Specify stock quantity"
+msgstr ""
+
+#: templates/js/stock.js:186
+msgid "You must select at least one available stock item"
+msgstr ""
+
+#: templates/js/stock.js:202
+#, fuzzy
+#| msgid "Destination Location"
+msgid "Select destination stock location"
+msgstr "Lokalizacja docelowa"
+
+#: templates/js/stock.js:210
+msgid "Stock transaction notes"
+msgstr ""
+
+#: templates/js/stock.js:347
+msgid "PASS"
+msgstr ""
+
+#: templates/js/stock.js:349
msgid "FAIL"
msgstr ""
-#: templates/js/stock.js:45
+#: templates/js/stock.js:354
msgid "NO RESULT"
msgstr ""
-#: templates/js/stock.js:71
+#: templates/js/stock.js:380
msgid "Add test result"
msgstr ""
-#: templates/js/stock.js:97
+#: templates/js/stock.js:406
msgid "No test results found"
msgstr ""
-#: templates/js/stock.js:145
+#: templates/js/stock.js:454
msgid "Test Date"
msgstr ""
-#: templates/js/stock.js:295
+#: templates/js/stock.js:562
msgid "In production"
msgstr ""
-#: templates/js/stock.js:299
+#: templates/js/stock.js:566
msgid "Installed in Stock Item"
msgstr ""
-#: templates/js/stock.js:307
+#: templates/js/stock.js:574
msgid "Assigned to Sales Order"
msgstr ""
-#: templates/js/stock.js:339
+#: templates/js/stock.js:650
msgid "No stock items matching query"
msgstr ""
-#: templates/js/stock.js:360
+#: templates/js/stock.js:671
msgid "items"
msgstr ""
-#: templates/js/stock.js:452
+#: templates/js/stock.js:763
msgid "batches"
msgstr ""
-#: templates/js/stock.js:479
+#: templates/js/stock.js:790
msgid "locations"
msgstr ""
-#: templates/js/stock.js:481
+#: templates/js/stock.js:792
msgid "Undefined location"
msgstr ""
-#: templates/js/stock.js:582
+#: templates/js/stock.js:893
msgid "Stock item is in production"
msgstr ""
-#: templates/js/stock.js:587
+#: templates/js/stock.js:898
msgid "Stock item assigned to sales order"
msgstr ""
-#: templates/js/stock.js:590
+#: templates/js/stock.js:901
msgid "Stock item assigned to customer"
msgstr ""
-#: templates/js/stock.js:594
+#: templates/js/stock.js:905
msgid "Stock item has expired"
msgstr ""
-#: templates/js/stock.js:596
+#: templates/js/stock.js:907
msgid "Stock item will expire soon"
msgstr ""
-#: templates/js/stock.js:600
+#: templates/js/stock.js:911
msgid "Stock item has been allocated"
msgstr ""
-#: templates/js/stock.js:604
+#: templates/js/stock.js:915
msgid "Stock item has been installed in another item"
msgstr ""
-#: templates/js/stock.js:611
+#: templates/js/stock.js:922
msgid "Stock item has been rejected"
msgstr ""
-#: templates/js/stock.js:615
+#: templates/js/stock.js:926
msgid "Stock item is lost"
msgstr ""
-#: templates/js/stock.js:618
+#: templates/js/stock.js:929
msgid "Stock item is destroyed"
msgstr ""
-#: templates/js/stock.js:622 templates/js/table_filters.js:147
+#: templates/js/stock.js:933 templates/js/table_filters.js:147
msgid "Depleted"
msgstr ""
-#: templates/js/stock.js:651
+#: templates/js/stock.js:962
msgid "Stocktake"
msgstr ""
-#: templates/js/stock.js:705
+#: templates/js/stock.js:1016
msgid "Supplier part not specified"
msgstr ""
-#: templates/js/stock.js:876
+#: templates/js/stock.js:1163
msgid "Stock Status"
msgstr ""
-#: templates/js/stock.js:891
+#: templates/js/stock.js:1178
msgid "Set Stock Status"
msgstr ""
-#: templates/js/stock.js:905
+#: templates/js/stock.js:1192
msgid "Select Status Code"
msgstr ""
-#: templates/js/stock.js:906
+#: templates/js/stock.js:1193
msgid "Status code must be selected"
msgstr ""
-#: templates/js/stock.js:1045
+#: templates/js/stock.js:1332
msgid "Invalid date"
msgstr ""
-#: templates/js/stock.js:1092
+#: templates/js/stock.js:1379
msgid "Location no longer exists"
msgstr ""
-#: templates/js/stock.js:1111
+#: templates/js/stock.js:1398
msgid "Purchase order no longer exists"
msgstr ""
-#: templates/js/stock.js:1130
+#: templates/js/stock.js:1417
msgid "Customer no longer exists"
msgstr ""
-#: templates/js/stock.js:1148
+#: templates/js/stock.js:1435
msgid "Stock item no longer exists"
msgstr ""
-#: templates/js/stock.js:1171
+#: templates/js/stock.js:1458
msgid "Added"
msgstr ""
-#: templates/js/stock.js:1179
+#: templates/js/stock.js:1466
msgid "Removed"
msgstr ""
-#: templates/js/stock.js:1223
+#: templates/js/stock.js:1510
msgid "Edit tracking entry"
msgstr ""
-#: templates/js/stock.js:1224
+#: templates/js/stock.js:1511
msgid "Delete tracking entry"
msgstr ""
-#: templates/js/stock.js:1348
+#: templates/js/stock.js:1635
msgid "Create New Location"
msgstr ""
-#: templates/js/stock.js:1389
+#: templates/js/stock.js:1676
msgid "No installed items"
msgstr ""
-#: templates/js/stock.js:1412
+#: templates/js/stock.js:1699
msgid "Serial"
msgstr ""
-#: templates/js/stock.js:1440
+#: templates/js/stock.js:1727
msgid "Uninstall Stock Item"
msgstr ""
@@ -7791,10 +7831,6 @@ msgstr ""
msgid "Delete selected items"
msgstr ""
-#: templates/stock_table.html:63
-msgid "Delete Stock"
-msgstr ""
-
#: templates/yesnolabel.html:4
msgid "Yes"
msgstr ""
diff --git a/InvenTree/locale/ru/LC_MESSAGES/django.po b/InvenTree/locale/ru/LC_MESSAGES/django.po
index 9d93b2d686..d58e4d3fb2 100644
--- a/InvenTree/locale/ru/LC_MESSAGES/django.po
+++ b/InvenTree/locale/ru/LC_MESSAGES/django.po
@@ -2,7 +2,7 @@ msgid ""
msgstr ""
"Project-Id-Version: inventree\n"
"Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2021-07-12 11:35+0000\n"
+"POT-Creation-Date: 2021-07-12 12:18+0000\n"
"PO-Revision-Date: 2021-07-10 04:50\n"
"Last-Translator: \n"
"Language-Team: Russian\n"
@@ -36,7 +36,7 @@ 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:30 order/forms.py:41 order/forms.py:52 order/forms.py:63
-#: order/forms.py:74 part/forms.py:119 templates/js/forms.js:486
+#: order/forms.py:74 part/forms.py:119 templates/js/forms.js:506
msgid "Confirm"
msgstr "Подтвердить"
@@ -78,7 +78,7 @@ msgid "Duplicate serial: {n}"
msgstr "Дублировать серийный номер: {n}"
#: InvenTree/helpers.py:403 order/models.py:315 order/models.py:425
-#: stock/views.py:1648
+#: stock/views.py:1311
msgid "Invalid quantity provided"
msgstr "недопустимое количество"
@@ -124,7 +124,7 @@ msgstr "Комментарий к файлу"
#: InvenTree/models.py:70 InvenTree/models.py:71 part/models.py:2042
#: report/templates/report/inventree_test_report_base.html:91
-#: templates/js/stock.js:1202
+#: templates/js/stock.js:1489
msgid "User"
msgstr "Пользователь"
@@ -141,7 +141,7 @@ msgstr ""
#: report/models.py:181 templates/InvenTree/search.html:137
#: templates/InvenTree/search.html:289 templates/js/company.js:365
#: templates/js/part.js:118 templates/js/part.js:251 templates/js/part.js:743
-#: templates/js/stock.js:995
+#: templates/js/stock.js:1282
msgid "Name"
msgstr "Название"
@@ -164,8 +164,8 @@ msgstr "Название"
#: templates/js/company.js:561 templates/js/order.js:245
#: templates/js/order.js:347 templates/js/part.js:177 templates/js/part.js:361
#: templates/js/part.js:538 templates/js/part.js:755 templates/js/part.js:823
-#: templates/js/stock.js:557 templates/js/stock.js:1007
-#: templates/js/stock.js:1052
+#: templates/js/stock.js:868 templates/js/stock.js:1294
+#: templates/js/stock.js:1339
msgid "Description"
msgstr "Описание"
@@ -496,8 +496,8 @@ msgstr "Целевая дата для сборки. Сборка будет п
#: templates/js/bom.js:205 templates/js/build.js:271 templates/js/build.js:606
#: templates/js/build.js:1172 templates/js/model_renderers.js:56
#: templates/js/order.js:460 templates/js/part.js:928 templates/js/part.js:1050
-#: templates/js/part.js:1106 templates/js/stock.js:1187
-#: templates/js/stock.js:1406
+#: templates/js/part.js:1106 templates/js/stock.js:1474
+#: templates/js/stock.js:1693
msgid "Quantity"
msgstr "Количество"
@@ -542,8 +542,9 @@ msgstr "Пометить сборку как завершенную"
#: stock/templates/stock/stock_adjust.html:17
#: templates/InvenTree/search.html:260 templates/js/barcode.js:363
#: templates/js/barcode.js:531 templates/js/build.js:256
-#: templates/js/build.js:620 templates/js/order.js:445
-#: templates/js/stock.js:643 templates/js/stock.js:1079
+#: templates/js/build.js:620 templates/js/order.js:445 templates/js/stock.js:75
+#: templates/js/stock.js:201 templates/js/stock.js:954
+#: templates/js/stock.js:1366
msgid "Location"
msgstr "Расположение"
@@ -557,8 +558,8 @@ msgstr "Расположение укомплектованных частей"
#: stock/templates/stock/item_base.html:420 templates/InvenTree/search.html:252
#: templates/js/barcode.js:119 templates/js/build.js:902
#: templates/js/order.js:249 templates/js/order.js:352
-#: templates/js/stock.js:630 templates/js/stock.js:1156
-#: templates/js/stock.js:1422
+#: templates/js/stock.js:941 templates/js/stock.js:1443
+#: templates/js/stock.js:1709
msgid "Status"
msgstr "Статус"
@@ -659,8 +660,8 @@ msgstr ""
#: templates/js/build.js:586 templates/js/build.js:873
#: templates/js/build.js:1139 templates/js/company.js:264
#: templates/js/company.js:470 templates/js/part.js:342
-#: templates/js/part.js:505 templates/js/stock.js:526
-#: templates/js/stock.js:1394
+#: templates/js/part.js:505 templates/js/stock.js:73 templates/js/stock.js:837
+#: templates/js/stock.js:1681
msgid "Part"
msgstr ""
@@ -708,7 +709,7 @@ msgstr ""
msgid "Number of stock items which have been completed"
msgstr ""
-#: build/models.py:249 part/templates/part/part_base.html:167
+#: build/models.py:249 part/templates/part/part_base.html:183
msgid "Build Status"
msgstr ""
@@ -766,7 +767,7 @@ msgstr ""
#: 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
+#: part/templates/part/detail.html:83 part/templates/part/part_base.html:110
#: stock/models.py:464 stock/templates/stock/item_base.html:357
msgid "External Link"
msgstr ""
@@ -791,7 +792,8 @@ msgstr ""
#: 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/company.js:566
-#: templates/js/stock.js:141 templates/js/stock.js:722
+#: templates/js/stock.js:209 templates/js/stock.js:450
+#: templates/js/stock.js:1033
msgid "Notes"
msgstr ""
@@ -857,7 +859,7 @@ msgstr ""
#: stock/templates/stock/stock_adjust.html:16 templates/js/build.js:244
#: templates/js/build.js:249 templates/js/build.js:993
#: templates/js/order.js:433 templates/js/order.js:438
-#: templates/js/stock.js:1138
+#: templates/js/stock.js:1425
msgid "Stock Item"
msgstr ""
@@ -1242,8 +1244,8 @@ msgid "Destination location not specified"
msgstr ""
#: build/templates/build/detail.html:70
-#: stock/templates/stock/item_base.html:315 templates/js/stock.js:638
-#: templates/js/stock.js:1429 templates/js/table_filters.js:116
+#: stock/templates/stock/item_base.html:315 templates/js/stock.js:949
+#: templates/js/stock.js:1716 templates/js/table_filters.js:116
#: templates/js/table_filters.js:210
msgid "Batch"
msgstr ""
@@ -1298,7 +1300,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:1067
+#: templates/js/stock.js:1354
msgid "Details"
msgstr ""
@@ -1362,7 +1364,7 @@ msgstr ""
msgid "Maximum output quantity is "
msgstr ""
-#: build/views.py:184 stock/views.py:1674
+#: build/views.py:184 stock/views.py:1337
msgid "Serial numbers already exist"
msgstr ""
@@ -2116,7 +2118,7 @@ msgstr ""
#: report/templates/report/inventree_test_report_base.html:90
#: stock/models.py:1771 templates/InvenTree/settings/header.html:8
#: templates/js/company.js:371 templates/js/part.js:260
-#: templates/js/stock.js:137
+#: templates/js/stock.js:446
msgid "Value"
msgstr ""
@@ -2189,7 +2191,7 @@ msgstr ""
#: company/models.py:566 company/templates/company/supplier_part_base.html:109
#: stock/models.py:435 stock/templates/stock/item_base.html:322
-#: templates/js/company.js:571 templates/js/stock.js:718
+#: templates/js/company.js:571 templates/js/stock.js:1029
msgid "Packaging"
msgstr ""
@@ -2259,7 +2261,7 @@ msgid "Phone"
msgstr ""
#: company/templates/company/company_base.html:166
-#: part/templates/part/part_base.html:311
+#: part/templates/part/part_base.html:347
msgid "Upload Image"
msgstr ""
@@ -2279,7 +2281,7 @@ msgstr ""
#: order/templates/order/sales_order_base.html:94 stock/models.py:453
#: stock/models.py:454 stock/templates/stock/item_base.html:274
#: templates/js/company.js:109 templates/js/order.js:329
-#: templates/js/stock.js:1120
+#: templates/js/stock.js:1407
msgid "Customer"
msgstr ""
@@ -2325,7 +2327,7 @@ msgstr ""
#: company/templates/company/detail_manufacturer_part.html:68
#: company/templates/company/detail_supplier_part.html:66
#: part/templates/part/bom.html:166 part/templates/part/category.html:127
-#: templates/js/stock.js:1335
+#: templates/js/stock.js:1622
msgid "New Part"
msgstr ""
@@ -2351,7 +2353,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:55 stock/templates/stock/location.html:163
+#: part/templates/part/stock.html:55 stock/templates/stock/location.html:175
msgid "Export"
msgstr ""
@@ -2363,14 +2365,14 @@ msgstr ""
#: company/templates/company/detail_supplier_part.html:21
#: order/templates/order/order_wizard/select_parts.html:44
-#: part/templates/part/part_base.html:433
+#: part/templates/part/part_base.html:469
msgid "Create new supplier part"
msgstr ""
#: company/templates/company/detail_supplier_part.html:22
#: company/templates/company/manufacturer_part_suppliers.html:17
-#: part/templates/part/part_base.html:432 part/templates/part/supplier.html:18
-#: templates/js/stock.js:1341
+#: part/templates/part/part_base.html:468 part/templates/part/supplier.html:18
+#: templates/js/stock.js:1628
msgid "New Supplier Part"
msgstr ""
@@ -2391,7 +2393,7 @@ msgstr ""
#: company/templates/company/manufacturer_part_base.html:36
#: company/templates/company/supplier_part_base.html:36
#: company/templates/company/supplier_part_orders.html:17
-#: part/templates/part/orders.html:17 part/templates/part/part_base.html:58
+#: part/templates/part/orders.html:17 part/templates/part/part_base.html:74
msgid "Order part"
msgstr ""
@@ -2444,8 +2446,8 @@ msgstr ""
#: templates/InvenTree/index.html:128 templates/InvenTree/search.html:196
#: templates/InvenTree/search.html:232
#: templates/InvenTree/settings/tabs.html:31 templates/js/part.js:181
-#: templates/js/part.js:406 templates/js/part.js:566 templates/js/stock.js:566
-#: templates/navbar.html:26
+#: templates/js/part.js:406 templates/js/part.js:566 templates/js/stock.js:74
+#: templates/js/stock.js:877 templates/navbar.html:26
msgid "Stock"
msgstr ""
@@ -2467,8 +2469,8 @@ msgstr ""
#: company/templates/company/manufacturer_part_suppliers.html:48
#: company/templates/company/manufacturer_part_suppliers.html:142
#: part/templates/part/related.html:44 part/templates/part/supplier.html:23
-#: part/templates/part/supplier.html:52 stock/views.py:844
-#: templates/js/company.js:203 users/models.py:193
+#: part/templates/part/supplier.html:52 templates/js/company.js:203
+#: users/models.py:193
msgid "Delete"
msgstr ""
@@ -2518,12 +2520,12 @@ msgid "Supplied Parts"
msgstr ""
#: company/templates/company/navbar.html:38 part/templates/part/navbar.html:30
-#: stock/templates/stock/location.html:107
-#: stock/templates/stock/location.html:122
-#: stock/templates/stock/location.html:136
+#: stock/templates/stock/location.html:119
+#: stock/templates/stock/location.html:134
+#: stock/templates/stock/location.html:148
#: stock/templates/stock/location_navbar.html:22
#: stock/templates/stock/location_navbar.html:29
-#: templates/InvenTree/search.html:198 templates/js/stock.js:1019
+#: templates/InvenTree/search.html:198 templates/js/stock.js:1306
#: templates/stats.html:93 templates/stats.html:102 users/models.py:43
msgid "Stock Items"
msgstr ""
@@ -2581,7 +2583,7 @@ msgstr ""
#: company/templates/company/supplier_part_base.html:7
#: company/templates/company/supplier_part_base.html:20 stock/models.py:420
#: stock/templates/stock/item_base.html:386 templates/js/company.js:511
-#: templates/js/stock.js:690
+#: templates/js/stock.js:1001
msgid "Supplier Part"
msgstr ""
@@ -2703,7 +2705,7 @@ msgstr ""
msgid "Edit Supplier Part"
msgstr ""
-#: company/views.py:385 templates/js/stock.js:1342
+#: company/views.py:385 templates/js/stock.js:1629
msgid "Create new Supplier Part"
msgstr ""
@@ -2942,7 +2944,7 @@ msgstr ""
#: order/templates/order/order_base.html:24
#: report/templates/report/inventree_po_report.html:77
#: stock/templates/stock/item_base.html:336 templates/js/order.js:210
-#: templates/js/stock.js:669 templates/js/stock.js:1101
+#: templates/js/stock.js:980 templates/js/stock.js:1388
msgid "Purchase Order"
msgstr ""
@@ -2962,7 +2964,7 @@ msgid "Number of items received"
msgstr ""
#: order/models.py:776 part/templates/part/prices.html:166 stock/models.py:545
-#: stock/templates/stock/item_base.html:343 templates/js/stock.js:713
+#: stock/templates/stock/item_base.html:343 templates/js/stock.js:1024
msgid "Purchase Price"
msgstr ""
@@ -3078,15 +3080,14 @@ 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
-#: part/templates/part/part_base.html:419
-#: stock/templates/stock/location.html:191 templates/js/stock.js:759
-#: templates/js/stock.js:1347
+#: part/templates/part/part_base.html:455
+#: stock/templates/stock/location.html:203 templates/js/stock.js:1634
msgid "New Location"
msgstr ""
#: order/templates/order/order_base.html:200
#: order/templates/order/purchase_order_detail.html:128
-#: part/templates/part/part_base.html:420
+#: part/templates/part/part_base.html:456
#: stock/templates/stock/location.html:42
msgid "Create new stock location"
msgstr ""
@@ -3361,7 +3362,7 @@ msgid "Order Code"
msgstr ""
#: order/templates/order/receive_parts.html:21
-#: part/templates/part/part_base.html:136 templates/js/part.js:582
+#: part/templates/part/part_base.html:152 templates/js/part.js:582
msgid "On Order"
msgstr ""
@@ -3668,7 +3669,7 @@ msgstr ""
msgid "Default Location"
msgstr ""
-#: part/bom.py:134 part/templates/part/part_base.html:124
+#: part/bom.py:134 part/templates/part/part_base.html:140
msgid "Available Stock"
msgstr ""
@@ -3891,7 +3892,7 @@ msgid "Part category"
msgstr ""
#: part/models.py:723 part/templates/part/detail.html:28
-#: part/templates/part/part_base.html:87 templates/js/part.js:169
+#: part/templates/part/part_base.html:103 templates/js/part.js:169
#: templates/js/part.js:397
msgid "IPN"
msgstr ""
@@ -4011,7 +4012,7 @@ msgstr ""
msgid "Test with this name already exists for this part"
msgstr ""
-#: part/models.py:2124 templates/js/part.js:818 templates/js/stock.js:117
+#: part/models.py:2124 templates/js/part.js:818 templates/js/stock.js:426
msgid "Test Name"
msgstr ""
@@ -4255,7 +4256,7 @@ msgid "All selected BOM items will be deleted"
msgstr ""
#: part/templates/part/bom.html:167 part/views.py:451
-#: templates/js/stock.js:1336
+#: templates/js/stock.js:1623
msgid "Create New Part"
msgstr ""
@@ -4372,12 +4373,12 @@ msgid "View grid display"
msgstr ""
#: part/templates/part/category.html:218
-#: stock/templates/stock/location.html:192 templates/js/stock.js:760
+#: stock/templates/stock/location.html:204
msgid "Create new location"
msgstr ""
#: part/templates/part/category.html:223 part/templates/part/category.html:253
-#: part/templates/part/part_base.html:382
+#: part/templates/part/part_base.html:418
msgid "New Category"
msgstr ""
@@ -4389,7 +4390,7 @@ msgstr ""
msgid "Create new Part Category"
msgstr ""
-#: part/templates/part/category.html:260 stock/views.py:1244
+#: part/templates/part/category.html:260 stock/views.py:907
msgid "Create new Stock Location"
msgstr ""
@@ -4474,7 +4475,7 @@ msgstr ""
msgid "Part Details"
msgstr ""
-#: part/templates/part/detail.html:42 part/templates/part/part_base.html:188
+#: part/templates/part/detail.html:42 part/templates/part/part_base.html:204
msgid "Latest Serial Number"
msgstr ""
@@ -4639,73 +4640,83 @@ msgstr ""
msgid "Show pricing information"
msgstr ""
-#: part/templates/part/part_base.html:52
+#: part/templates/part/part_base.html:53
+#: stock/templates/stock/item_base.html:140
+#: stock/templates/stock/location.html:62
+msgid "Stock actions"
+msgstr ""
+
+#: part/templates/part/part_base.html:60
msgid "Count part stock"
msgstr ""
-#: part/templates/part/part_base.html:67
+#: part/templates/part/part_base.html:66
+msgid "Transfer part stock"
+msgstr ""
+
+#: part/templates/part/part_base.html:83
msgid "Part actions"
msgstr ""
-#: part/templates/part/part_base.html:70
+#: part/templates/part/part_base.html:86
msgid "Duplicate part"
msgstr ""
-#: part/templates/part/part_base.html:73
+#: part/templates/part/part_base.html:89
msgid "Edit part"
msgstr ""
-#: part/templates/part/part_base.html:76
+#: part/templates/part/part_base.html:92
msgid "Delete part"
msgstr ""
-#: part/templates/part/part_base.html:107
+#: part/templates/part/part_base.html:123
msgid "This is a virtual part"
msgstr ""
-#: part/templates/part/part_base.html:113
+#: part/templates/part/part_base.html:129
#, python-format
msgid "This part is a variant of %(link)s"
msgstr ""
-#: part/templates/part/part_base.html:130 templates/js/table_filters.js:165
+#: part/templates/part/part_base.html:146 templates/js/table_filters.js:165
msgid "In Stock"
msgstr ""
-#: part/templates/part/part_base.html:143 templates/InvenTree/index.html:132
+#: part/templates/part/part_base.html:159 templates/InvenTree/index.html:132
msgid "Required for Build Orders"
msgstr ""
-#: part/templates/part/part_base.html:150
+#: part/templates/part/part_base.html:166
msgid "Required for Sales Orders"
msgstr ""
-#: part/templates/part/part_base.html:157
+#: part/templates/part/part_base.html:173
msgid "Allocated to Orders"
msgstr ""
-#: part/templates/part/part_base.html:172 templates/js/bom.js:316
+#: part/templates/part/part_base.html:188 templates/js/bom.js:316
msgid "Can Build"
msgstr ""
-#: part/templates/part/part_base.html:178 templates/js/part.js:413
+#: part/templates/part/part_base.html:194 templates/js/part.js:413
#: templates/js/part.js:586
msgid "Building"
msgstr ""
-#: part/templates/part/part_base.html:289 part/templates/part/prices.html:131
+#: part/templates/part/part_base.html:325 part/templates/part/prices.html:131
msgid "Calculate"
msgstr ""
-#: part/templates/part/part_base.html:383
+#: part/templates/part/part_base.html:419
msgid "Create New Part Category"
msgstr ""
-#: part/templates/part/part_base.html:391
+#: part/templates/part/part_base.html:427
msgid "New Parent"
msgstr ""
-#: part/templates/part/part_base.html:439
+#: part/templates/part/part_base.html:475
msgid "Edit Part"
msgstr ""
@@ -5237,7 +5248,7 @@ msgid "Result"
msgstr ""
#: report/templates/report/inventree_test_report_base.html:92
-#: templates/js/order.js:257 templates/js/stock.js:1035
+#: templates/js/order.js:257 templates/js/stock.js:1322
msgid "Date"
msgstr ""
@@ -5249,18 +5260,54 @@ msgstr ""
msgid "Fail"
msgstr ""
-#: stock/api.py:197
+#: stock/api.py:146
+msgid "Request must contain list of stock items"
+msgstr ""
+
+#: stock/api.py:154
+msgid "Improperly formatted data"
+msgstr ""
+
+#: stock/api.py:162
+msgid "Each entry must contain a valid integer primary-key"
+msgstr ""
+
+#: stock/api.py:168
+msgid "Primary key does not match valid stock item"
+msgstr ""
+
+#: stock/api.py:178
+#, fuzzy
+#| msgid "Invalid quantity provided"
+msgid "Invalid quantity value"
+msgstr "недопустимое количество"
+
+#: stock/api.py:183
+msgid "Quantity must not be less than zero"
+msgstr ""
+
+#: stock/api.py:211
#, python-brace-format
msgid "Updated stock for {n} items"
msgstr ""
-#: stock/api.py:266
+#: stock/api.py:247 stock/api.py:280
+msgid "Specified quantity exceeds stock quantity"
+msgstr ""
+
+#: stock/api.py:270
+#, fuzzy
+#| msgid "No action specified"
+msgid "Valid location must be specified"
+msgstr "Действие не указано"
+
+#: stock/api.py:290
#, python-brace-format
msgid "Moved {n} parts to {loc}"
msgstr ""
#: stock/forms.py:81 stock/forms.py:385 stock/models.py:513
-#: stock/templates/stock/item_base.html:393 templates/js/stock.js:658
+#: stock/templates/stock/item_base.html:393 templates/js/stock.js:969
msgid "Expiry Date"
msgstr ""
@@ -5333,7 +5380,7 @@ msgstr ""
msgid "Add note (required)"
msgstr ""
-#: stock/forms.py:348 stock/views.py:728 stock/views.py:930
+#: stock/forms.py:348 stock/views.py:728 templates/js/stock.js:223
msgid "Confirm stock adjustment"
msgstr ""
@@ -5582,7 +5629,7 @@ msgid "Stock adjustment actions"
msgstr ""
#: stock/templates/stock/item_base.html:108
-#: stock/templates/stock/location.html:65 templates/stock_table.html:57
+#: stock/templates/stock/location.html:69 templates/stock_table.html:57
msgid "Count stock"
msgstr ""
@@ -5599,6 +5646,7 @@ msgid "Serialize stock"
msgstr ""
#: stock/templates/stock/item_base.html:121
+#: stock/templates/stock/location.html:75
msgid "Transfer stock"
msgstr ""
@@ -5618,11 +5666,6 @@ msgstr ""
msgid "Uninstall"
msgstr ""
-#: stock/templates/stock/item_base.html:140
-#: stock/templates/stock/location.html:62
-msgid "Stock actions"
-msgstr ""
-
#: stock/templates/stock/item_base.html:143
msgid "Convert to variant"
msgstr ""
@@ -5715,7 +5758,7 @@ msgstr ""
msgid "This StockItem expires on %(item.expiry_date)s"
msgstr ""
-#: stock/templates/stock/item_base.html:406 templates/js/stock.js:664
+#: stock/templates/stock/item_base.html:406 templates/js/stock.js:975
msgid "Last Updated"
msgstr ""
@@ -5819,42 +5862,42 @@ msgstr ""
msgid "Check-in Items"
msgstr ""
-#: stock/templates/stock/location.html:71
+#: stock/templates/stock/location.html:83
msgid "Location actions"
msgstr ""
-#: stock/templates/stock/location.html:73
+#: stock/templates/stock/location.html:85
msgid "Edit location"
msgstr ""
-#: stock/templates/stock/location.html:75
+#: stock/templates/stock/location.html:87
msgid "Delete location"
msgstr ""
-#: stock/templates/stock/location.html:87
+#: stock/templates/stock/location.html:99
msgid "Location Details"
msgstr ""
-#: stock/templates/stock/location.html:92
+#: stock/templates/stock/location.html:104
msgid "Location Path"
msgstr ""
-#: stock/templates/stock/location.html:97
+#: stock/templates/stock/location.html:109
msgid "Location Description"
msgstr ""
-#: stock/templates/stock/location.html:102
+#: stock/templates/stock/location.html:114
#: stock/templates/stock/location_navbar.html:11
#: stock/templates/stock/location_navbar.html:18
#: stock/templates/stock/sublocation.html:16
msgid "Sublocations"
msgstr ""
-#: stock/templates/stock/location.html:112
+#: stock/templates/stock/location.html:124
msgid "Stock Details"
msgstr ""
-#: stock/templates/stock/location.html:117 templates/InvenTree/search.html:279
+#: stock/templates/stock/location.html:129 templates/InvenTree/search.html:279
#: templates/stats.html:97 users/models.py:42
msgid "Stock Locations"
msgstr ""
@@ -5895,7 +5938,7 @@ msgstr ""
msgid "The following stock items will be uninstalled"
msgstr ""
-#: stock/templates/stock/stockitem_convert.html:7 stock/views.py:1217
+#: stock/templates/stock/stockitem_convert.html:7 stock/views.py:880
msgid "Convert Stock Item"
msgstr ""
@@ -5928,8 +5971,7 @@ msgstr ""
msgid "Edit Stock Location"
msgstr ""
-#: stock/views.py:253 stock/views.py:1196 stock/views.py:1318
-#: stock/views.py:1683
+#: stock/views.py:253 stock/views.py:859 stock/views.py:981 stock/views.py:1346
msgid "Owner is required (ownership control is enabled)"
msgstr ""
@@ -5985,129 +6027,43 @@ msgstr ""
msgid "Uninstalled stock items"
msgstr ""
-#: stock/views.py:764
-msgid "Adjust Stock"
-msgstr ""
-
-#: stock/views.py:840
-msgid "Move Stock Items"
-msgstr ""
-
-#: stock/views.py:840
-msgid "Move"
-msgstr ""
-
-#: stock/views.py:841
-msgid "Count Stock Items"
-msgstr ""
-
-#: stock/views.py:841
-msgid "Count"
-msgstr ""
-
-#: stock/views.py:842
-msgid "Remove From Stock"
-msgstr ""
-
-#: stock/views.py:842
-msgid "Take"
-msgstr ""
-
-#: stock/views.py:843
-msgid "Add Stock Items"
-msgstr ""
-
-#: stock/views.py:843 users/models.py:189
-msgid "Add"
-msgstr ""
-
-#: stock/views.py:844
-msgid "Delete Stock Items"
-msgstr ""
-
-#: stock/views.py:910
-msgid "Must enter integer value"
-msgstr ""
-
-#: stock/views.py:915
-msgid "Quantity must be positive"
-msgstr ""
-
-#: stock/views.py:922
-#, python-brace-format
-msgid "Quantity must not exceed {x}"
-msgstr ""
-
-#: stock/views.py:986
-msgid "No action performed"
-msgstr ""
-
-#: stock/views.py:1000
-#, python-brace-format
-msgid "Added stock to {n} items"
-msgstr ""
-
-#: stock/views.py:1014
-#, python-brace-format
-msgid "Removed stock from {n} items"
-msgstr ""
-
-#: stock/views.py:1026
-#, python-brace-format
-msgid "Counted stock for {n} items"
-msgstr ""
-
-#: stock/views.py:1064
-msgid "No items were moved"
-msgstr ""
-
-#: stock/views.py:1067
-#, python-brace-format
-msgid "Moved {n} items to {dest}"
-msgstr ""
-
-#: stock/views.py:1086
-#, python-brace-format
-msgid "Deleted {n} stock items"
-msgstr ""
-
-#: stock/views.py:1098
+#: stock/views.py:761
msgid "Edit Stock Item"
msgstr ""
-#: stock/views.py:1335
+#: stock/views.py:998
msgid "Serialize Stock"
msgstr ""
-#: stock/views.py:1428 templates/js/build.js:365
+#: stock/views.py:1091 templates/js/build.js:365
msgid "Create new Stock Item"
msgstr ""
-#: stock/views.py:1570
+#: stock/views.py:1233
msgid "Duplicate Stock Item"
msgstr ""
-#: stock/views.py:1652
+#: stock/views.py:1315
msgid "Quantity cannot be negative"
msgstr ""
-#: stock/views.py:1752
+#: stock/views.py:1415
msgid "Delete Stock Location"
msgstr ""
-#: stock/views.py:1765
+#: stock/views.py:1428
msgid "Delete Stock Item"
msgstr ""
-#: stock/views.py:1776
+#: stock/views.py:1439
msgid "Delete Stock Tracking Entry"
msgstr ""
-#: stock/views.py:1783
+#: stock/views.py:1446
msgid "Edit Stock Tracking Entry"
msgstr ""
-#: stock/views.py:1792
+#: stock/views.py:1455
msgid "Add Stock Tracking Entry"
msgstr ""
@@ -6191,11 +6147,11 @@ msgstr ""
msgid "Enter a search query"
msgstr ""
-#: templates/InvenTree/search.html:268 templates/js/stock.js:303
+#: templates/InvenTree/search.html:268 templates/js/stock.js:570
msgid "Shipped to customer"
msgstr ""
-#: templates/InvenTree/search.html:271 templates/js/stock.js:313
+#: templates/InvenTree/search.html:271 templates/js/stock.js:580
msgid "No stock location set"
msgstr ""
@@ -6469,9 +6425,9 @@ msgstr ""
msgid "copy version information"
msgstr ""
-#: templates/about.html:100 templates/js/modals.js:34
-#: templates/js/modals.js:675 templates/js/modals.js:968
-#: templates/modals.html:29 templates/modals.html:54 templates/modals.html:97
+#: templates/about.html:100 templates/js/modals.js:33
+#: templates/js/modals.js:567 templates/js/modals.js:661
+#: templates/js/modals.js:954 templates/modals.html:29 templates/modals.html:54
msgid "Close"
msgstr ""
@@ -6491,6 +6447,62 @@ msgstr ""
msgid "Remote image must not exceed maximum allowable file size"
msgstr ""
+#: templates/js/api.js:154 templates/js/modals.js:1024
+msgid "No Response"
+msgstr ""
+
+#: templates/js/api.js:155 templates/js/modals.js:1025
+msgid "No response from the InvenTree server"
+msgstr ""
+
+#: templates/js/api.js:160
+msgid "Error 400: Bad request"
+msgstr ""
+
+#: templates/js/api.js:161
+msgid "API request returned error code 400"
+msgstr ""
+
+#: templates/js/api.js:164 templates/js/modals.js:1034
+msgid "Error 401: Not Authenticated"
+msgstr ""
+
+#: templates/js/api.js:165 templates/js/modals.js:1035
+msgid "Authentication credentials not supplied"
+msgstr ""
+
+#: templates/js/api.js:168 templates/js/modals.js:1039
+msgid "Error 403: Permission Denied"
+msgstr ""
+
+#: templates/js/api.js:169 templates/js/modals.js:1040
+msgid "You do not have the required permissions to access this function"
+msgstr ""
+
+#: templates/js/api.js:172 templates/js/modals.js:1044
+msgid "Error 404: Resource Not Found"
+msgstr ""
+
+#: templates/js/api.js:173 templates/js/modals.js:1045
+msgid "The requested resource could not be located on the server"
+msgstr ""
+
+#: templates/js/api.js:176 templates/js/modals.js:1049
+msgid "Error 408: Timeout"
+msgstr ""
+
+#: templates/js/api.js:177 templates/js/modals.js:1050
+msgid "Connection timeout while requesting data from server"
+msgstr ""
+
+#: templates/js/api.js:180
+msgid "Unhandled Error Code"
+msgstr ""
+
+#: templates/js/api.js:181
+msgid "Error code"
+msgstr ""
+
#: templates/js/attachment.js:16
msgid "No attachments found"
msgstr ""
@@ -6535,7 +6547,7 @@ msgstr ""
msgid "Unknown response from server"
msgstr ""
-#: templates/js/barcode.js:119 templates/js/modals.js:1028
+#: templates/js/barcode.js:119 templates/js/modals.js:1014
msgid "Invalid server response"
msgstr ""
@@ -6559,7 +6571,7 @@ msgstr ""
msgid "Unlink"
msgstr ""
-#: templates/js/barcode.js:376
+#: templates/js/barcode.js:376 templates/js/stock.js:161
msgid "Remove stock item"
msgstr ""
@@ -6697,7 +6709,7 @@ msgid "No builds matching query"
msgstr ""
#: templates/js/build.js:840 templates/js/part.js:491 templates/js/part.js:736
-#: templates/js/stock.js:514 templates/js/stock.js:989
+#: templates/js/stock.js:825 templates/js/stock.js:1276
msgid "Select"
msgstr ""
@@ -6705,7 +6717,7 @@ msgstr ""
msgid "Build order is overdue"
msgstr ""
-#: templates/js/build.js:924 templates/js/stock.js:1211
+#: templates/js/build.js:924 templates/js/stock.js:1498
msgid "No user information"
msgstr ""
@@ -6832,63 +6844,19 @@ msgstr ""
msgid "View operation not allowed"
msgstr ""
-#: templates/js/forms.js:587 templates/js/modals.js:1038
-msgid "No Response"
-msgstr ""
-
-#: templates/js/forms.js:588 templates/js/modals.js:1039
-msgid "No response from the InvenTree server"
-msgstr ""
-
-#: templates/js/forms.js:594 templates/js/modals.js:1048
-msgid "Error 401: Not Authenticated"
-msgstr ""
-
-#: templates/js/forms.js:595 templates/js/modals.js:1049
-msgid "Authentication credentials not supplied"
-msgstr ""
-
-#: templates/js/forms.js:601 templates/js/modals.js:1053
-msgid "Error 403: Permission Denied"
-msgstr ""
-
-#: templates/js/forms.js:602 templates/js/modals.js:1054
-msgid "You do not have the required permissions to access this function"
-msgstr ""
-
-#: templates/js/forms.js:608 templates/js/modals.js:1058
-msgid "Error 404: Resource Not Found"
-msgstr ""
-
-#: templates/js/forms.js:609 templates/js/modals.js:1059
-msgid "The requested resource could not be located on the server"
-msgstr ""
-
-#: templates/js/forms.js:615 templates/js/modals.js:1063
-msgid "Error 408: Timeout"
-msgstr ""
-
-#: templates/js/forms.js:616 templates/js/modals.js:1064
-msgid "Connection timeout while requesting data from server"
-msgstr ""
-
-#: templates/js/forms.js:622 templates/js/modals.js:1067
-msgid "Error requesting form data"
-msgstr ""
-
-#: templates/js/forms.js:815 templates/modals.html:21 templates/modals.html:47
+#: templates/js/forms.js:797 templates/modals.html:21 templates/modals.html:47
msgid "Form errors exist"
msgstr ""
-#: templates/js/forms.js:1188
+#: templates/js/forms.js:1164
msgid "Searching"
msgstr ""
-#: templates/js/forms.js:1338
+#: templates/js/forms.js:1314
msgid "Clear input"
msgstr ""
-#: templates/js/label.js:10 templates/js/report.js:98
+#: templates/js/label.js:10 templates/js/report.js:98 templates/js/stock.js:185
msgid "Select Stock Items"
msgstr ""
@@ -6941,12 +6909,12 @@ msgid "Select Label Template"
msgstr ""
#: templates/js/modals.js:59 templates/js/modals.js:103
-#: templates/js/modals.js:599 templates/modals.html:75
+#: templates/js/modals.js:593
msgid "Cancel"
msgstr ""
#: templates/js/modals.js:60 templates/js/modals.js:102
-#: templates/js/modals.js:674 templates/js/modals.js:967
+#: templates/js/modals.js:660 templates/js/modals.js:953
#: templates/modals.html:30 templates/modals.html:55
msgid "Submit"
msgstr ""
@@ -6955,46 +6923,50 @@ msgstr ""
msgid "Form Title"
msgstr ""
-#: templates/js/modals.js:372
+#: templates/js/modals.js:380
msgid "Waiting for server..."
msgstr ""
-#: templates/js/modals.js:531
+#: templates/js/modals.js:539
msgid "Show Error Information"
msgstr ""
-#: templates/js/modals.js:598 templates/modals.html:76
+#: templates/js/modals.js:592
msgid "Accept"
msgstr ""
-#: templates/js/modals.js:663
+#: templates/js/modals.js:649
msgid "Loading Data"
msgstr ""
-#: templates/js/modals.js:918
+#: templates/js/modals.js:904
msgid "Invalid response from server"
msgstr ""
-#: templates/js/modals.js:918
+#: templates/js/modals.js:904
msgid "Form data missing from server response"
msgstr ""
-#: templates/js/modals.js:931
+#: templates/js/modals.js:917
msgid "Error posting form data"
msgstr ""
-#: templates/js/modals.js:1028
+#: templates/js/modals.js:1014
msgid "JSON response missing form data"
msgstr ""
-#: templates/js/modals.js:1043
+#: templates/js/modals.js:1029
msgid "Error 400: Bad Request"
msgstr ""
-#: templates/js/modals.js:1044
+#: templates/js/modals.js:1030
msgid "Server returned error code 400"
msgstr ""
+#: templates/js/modals.js:1053
+msgid "Error requesting form data"
+msgstr ""
+
#: templates/js/model_renderers.js:38
msgid "Company ID"
msgstr ""
@@ -7083,7 +7055,7 @@ msgstr ""
msgid "Low stock"
msgstr ""
-#: templates/js/part.js:761 templates/js/stock.js:1013
+#: templates/js/part.js:761 templates/js/stock.js:1300
msgid "Path"
msgstr ""
@@ -7091,11 +7063,11 @@ msgstr ""
msgid "No test templates matching query"
msgstr ""
-#: templates/js/part.js:855 templates/js/stock.js:75
+#: templates/js/part.js:855 templates/js/stock.js:384
msgid "Edit test result"
msgstr ""
-#: templates/js/part.js:856 templates/js/stock.js:76
+#: templates/js/part.js:856 templates/js/stock.js:385
msgid "Delete test result"
msgstr ""
@@ -7188,179 +7160,239 @@ msgstr ""
msgid "Sales Order(s) must be selected before printing report"
msgstr ""
-#: templates/js/stock.js:38
-msgid "PASS"
+#: templates/js/stock.js:39
+msgid "Transfer Stock"
msgstr ""
#: templates/js/stock.js:40
+msgid "Move"
+msgstr ""
+
+#: templates/js/stock.js:46
+msgid "Count Stock"
+msgstr ""
+
+#: templates/js/stock.js:47
+msgid "Count"
+msgstr ""
+
+#: templates/js/stock.js:51
+msgid "Remove Stock"
+msgstr ""
+
+#: templates/js/stock.js:52
+msgid "Take"
+msgstr ""
+
+#: templates/js/stock.js:56
+msgid "Add Stock"
+msgstr ""
+
+#: templates/js/stock.js:57 users/models.py:189
+msgid "Add"
+msgstr ""
+
+#: templates/js/stock.js:61 templates/stock_table.html:63
+msgid "Delete Stock"
+msgstr ""
+
+#: templates/js/stock.js:150
+msgid "Quantity cannot be adjusted for serialized stock"
+msgstr ""
+
+#: templates/js/stock.js:150
+msgid "Specify stock quantity"
+msgstr ""
+
+#: templates/js/stock.js:186
+msgid "You must select at least one available stock item"
+msgstr ""
+
+#: templates/js/stock.js:202
+#, fuzzy
+#| msgid "Select quantity of stock to allocate"
+msgid "Select destination stock location"
+msgstr "Выберите количество запасов для распределения"
+
+#: templates/js/stock.js:210
+#, fuzzy
+#| msgid "Stock counted"
+msgid "Stock transaction notes"
+msgstr "Склад подсчитан"
+
+#: templates/js/stock.js:347
+msgid "PASS"
+msgstr ""
+
+#: templates/js/stock.js:349
msgid "FAIL"
msgstr ""
-#: templates/js/stock.js:45
+#: templates/js/stock.js:354
msgid "NO RESULT"
msgstr ""
-#: templates/js/stock.js:71
+#: templates/js/stock.js:380
msgid "Add test result"
msgstr ""
-#: templates/js/stock.js:97
+#: templates/js/stock.js:406
msgid "No test results found"
msgstr ""
-#: templates/js/stock.js:145
+#: templates/js/stock.js:454
msgid "Test Date"
msgstr ""
-#: templates/js/stock.js:295
+#: templates/js/stock.js:562
msgid "In production"
msgstr ""
-#: templates/js/stock.js:299
+#: templates/js/stock.js:566
msgid "Installed in Stock Item"
msgstr ""
-#: templates/js/stock.js:307
+#: templates/js/stock.js:574
msgid "Assigned to Sales Order"
msgstr ""
-#: templates/js/stock.js:339
+#: templates/js/stock.js:650
msgid "No stock items matching query"
msgstr ""
-#: templates/js/stock.js:360
+#: templates/js/stock.js:671
msgid "items"
msgstr ""
-#: templates/js/stock.js:452
+#: templates/js/stock.js:763
msgid "batches"
msgstr ""
-#: templates/js/stock.js:479
+#: templates/js/stock.js:790
msgid "locations"
msgstr ""
-#: templates/js/stock.js:481
+#: templates/js/stock.js:792
msgid "Undefined location"
msgstr ""
-#: templates/js/stock.js:582
+#: templates/js/stock.js:893
msgid "Stock item is in production"
msgstr ""
-#: templates/js/stock.js:587
+#: templates/js/stock.js:898
msgid "Stock item assigned to sales order"
msgstr ""
-#: templates/js/stock.js:590
+#: templates/js/stock.js:901
msgid "Stock item assigned to customer"
msgstr ""
-#: templates/js/stock.js:594
+#: templates/js/stock.js:905
msgid "Stock item has expired"
msgstr ""
-#: templates/js/stock.js:596
+#: templates/js/stock.js:907
msgid "Stock item will expire soon"
msgstr ""
-#: templates/js/stock.js:600
+#: templates/js/stock.js:911
msgid "Stock item has been allocated"
msgstr ""
-#: templates/js/stock.js:604
+#: templates/js/stock.js:915
msgid "Stock item has been installed in another item"
msgstr ""
-#: templates/js/stock.js:611
+#: templates/js/stock.js:922
msgid "Stock item has been rejected"
msgstr ""
-#: templates/js/stock.js:615
+#: templates/js/stock.js:926
msgid "Stock item is lost"
msgstr ""
-#: templates/js/stock.js:618
+#: templates/js/stock.js:929
msgid "Stock item is destroyed"
msgstr ""
-#: templates/js/stock.js:622 templates/js/table_filters.js:147
+#: templates/js/stock.js:933 templates/js/table_filters.js:147
msgid "Depleted"
msgstr ""
-#: templates/js/stock.js:651
+#: templates/js/stock.js:962
msgid "Stocktake"
msgstr ""
-#: templates/js/stock.js:705
+#: templates/js/stock.js:1016
msgid "Supplier part not specified"
msgstr ""
-#: templates/js/stock.js:876
+#: templates/js/stock.js:1163
msgid "Stock Status"
msgstr ""
-#: templates/js/stock.js:891
+#: templates/js/stock.js:1178
msgid "Set Stock Status"
msgstr ""
-#: templates/js/stock.js:905
+#: templates/js/stock.js:1192
msgid "Select Status Code"
msgstr ""
-#: templates/js/stock.js:906
+#: templates/js/stock.js:1193
msgid "Status code must be selected"
msgstr ""
-#: templates/js/stock.js:1045
+#: templates/js/stock.js:1332
msgid "Invalid date"
msgstr ""
-#: templates/js/stock.js:1092
+#: templates/js/stock.js:1379
msgid "Location no longer exists"
msgstr ""
-#: templates/js/stock.js:1111
+#: templates/js/stock.js:1398
msgid "Purchase order no longer exists"
msgstr ""
-#: templates/js/stock.js:1130
+#: templates/js/stock.js:1417
msgid "Customer no longer exists"
msgstr ""
-#: templates/js/stock.js:1148
+#: templates/js/stock.js:1435
msgid "Stock item no longer exists"
msgstr ""
-#: templates/js/stock.js:1171
+#: templates/js/stock.js:1458
msgid "Added"
msgstr ""
-#: templates/js/stock.js:1179
+#: templates/js/stock.js:1466
msgid "Removed"
msgstr ""
-#: templates/js/stock.js:1223
+#: templates/js/stock.js:1510
msgid "Edit tracking entry"
msgstr ""
-#: templates/js/stock.js:1224
+#: templates/js/stock.js:1511
msgid "Delete tracking entry"
msgstr ""
-#: templates/js/stock.js:1348
+#: templates/js/stock.js:1635
msgid "Create New Location"
msgstr ""
-#: templates/js/stock.js:1389
+#: templates/js/stock.js:1676
msgid "No installed items"
msgstr ""
-#: templates/js/stock.js:1412
+#: templates/js/stock.js:1699
msgid "Serial"
msgstr ""
-#: templates/js/stock.js:1440
+#: templates/js/stock.js:1727
msgid "Uninstall Stock Item"
msgstr ""
@@ -7791,10 +7823,6 @@ msgstr ""
msgid "Delete selected items"
msgstr ""
-#: templates/stock_table.html:63
-msgid "Delete Stock"
-msgstr ""
-
#: templates/yesnolabel.html:4
msgid "Yes"
msgstr ""
diff --git a/InvenTree/locale/tr/LC_MESSAGES/django.po b/InvenTree/locale/tr/LC_MESSAGES/django.po
index ab01401a43..e3296f120c 100644
--- a/InvenTree/locale/tr/LC_MESSAGES/django.po
+++ b/InvenTree/locale/tr/LC_MESSAGES/django.po
@@ -2,7 +2,7 @@ msgid ""
msgstr ""
"Project-Id-Version: inventree\n"
"Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2021-07-12 11:35+0000\n"
+"POT-Creation-Date: 2021-07-12 12:18+0000\n"
"PO-Revision-Date: 2021-07-10 04:50\n"
"Last-Translator: \n"
"Language-Team: Turkish\n"
@@ -36,7 +36,7 @@ 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:30 order/forms.py:41 order/forms.py:52 order/forms.py:63
-#: order/forms.py:74 part/forms.py:119 templates/js/forms.js:486
+#: order/forms.py:74 part/forms.py:119 templates/js/forms.js:506
msgid "Confirm"
msgstr "Onay"
@@ -78,7 +78,7 @@ msgid "Duplicate serial: {n}"
msgstr "Tekrarlanan seri {n}"
#: InvenTree/helpers.py:403 order/models.py:315 order/models.py:425
-#: stock/views.py:1648
+#: stock/views.py:1311
msgid "Invalid quantity provided"
msgstr "Geçersiz veri sağlandı"
@@ -124,7 +124,7 @@ msgstr "Dosya yorumu"
#: InvenTree/models.py:70 InvenTree/models.py:71 part/models.py:2042
#: report/templates/report/inventree_test_report_base.html:91
-#: templates/js/stock.js:1202
+#: templates/js/stock.js:1489
msgid "User"
msgstr "Kullanıcı"
@@ -141,7 +141,7 @@ msgstr ""
#: report/models.py:181 templates/InvenTree/search.html:137
#: templates/InvenTree/search.html:289 templates/js/company.js:365
#: templates/js/part.js:118 templates/js/part.js:251 templates/js/part.js:743
-#: templates/js/stock.js:995
+#: templates/js/stock.js:1282
msgid "Name"
msgstr "Adı"
@@ -164,8 +164,8 @@ msgstr "Adı"
#: templates/js/company.js:561 templates/js/order.js:245
#: templates/js/order.js:347 templates/js/part.js:177 templates/js/part.js:361
#: templates/js/part.js:538 templates/js/part.js:755 templates/js/part.js:823
-#: templates/js/stock.js:557 templates/js/stock.js:1007
-#: templates/js/stock.js:1052
+#: templates/js/stock.js:868 templates/js/stock.js:1294
+#: templates/js/stock.js:1339
msgid "Description"
msgstr "Açıklama"
@@ -496,8 +496,8 @@ msgstr "Yapım işinin tamamlanması için hedef tarih. Bu tarihten sonra yapım
#: templates/js/bom.js:205 templates/js/build.js:271 templates/js/build.js:606
#: templates/js/build.js:1172 templates/js/model_renderers.js:56
#: templates/js/order.js:460 templates/js/part.js:928 templates/js/part.js:1050
-#: templates/js/part.js:1106 templates/js/stock.js:1187
-#: templates/js/stock.js:1406
+#: templates/js/part.js:1106 templates/js/stock.js:1474
+#: templates/js/stock.js:1693
msgid "Quantity"
msgstr "Miktar"
@@ -542,8 +542,9 @@ msgstr "Yapım işini tamamlandı olarak işaretle"
#: 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:256
-#: templates/js/build.js:620 templates/js/order.js:445
-#: templates/js/stock.js:643 templates/js/stock.js:1079
+#: templates/js/build.js:620 templates/js/order.js:445 templates/js/stock.js:75
+#: templates/js/stock.js:201 templates/js/stock.js:954
+#: templates/js/stock.js:1366
msgid "Location"
msgstr "Konum"
@@ -557,8 +558,8 @@ msgstr "Tamamlanmış parçaların konumu"
#: stock/templates/stock/item_base.html:420 templates/InvenTree/search.html:252
#: templates/js/barcode.js:119 templates/js/build.js:902
#: templates/js/order.js:249 templates/js/order.js:352
-#: templates/js/stock.js:630 templates/js/stock.js:1156
-#: templates/js/stock.js:1422
+#: templates/js/stock.js:941 templates/js/stock.js:1443
+#: templates/js/stock.js:1709
msgid "Status"
msgstr "Durum"
@@ -659,8 +660,8 @@ msgstr "Bu yapım işinin tahsis edildiği yapım işi emri"
#: templates/js/build.js:586 templates/js/build.js:873
#: templates/js/build.js:1139 templates/js/company.js:264
#: templates/js/company.js:470 templates/js/part.js:342
-#: templates/js/part.js:505 templates/js/stock.js:526
-#: templates/js/stock.js:1394
+#: templates/js/part.js:505 templates/js/stock.js:73 templates/js/stock.js:837
+#: templates/js/stock.js:1681
msgid "Part"
msgstr "Parça"
@@ -708,7 +709,7 @@ msgstr "Tamamlanmış ögeler"
msgid "Number of stock items which have been completed"
msgstr "Tamamlanan stok kalemlerinin sayısı"
-#: build/models.py:249 part/templates/part/part_base.html:167
+#: build/models.py:249 part/templates/part/part_base.html:183
msgid "Build Status"
msgstr "Yapım İşi Durumu"
@@ -766,7 +767,7 @@ msgstr "Bu yapım işi emrinden sorumlu kullanıcı"
#: 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
+#: part/templates/part/detail.html:83 part/templates/part/part_base.html:110
#: stock/models.py:464 stock/templates/stock/item_base.html:357
msgid "External Link"
msgstr "Harici Bağlantı"
@@ -791,7 +792,8 @@ msgstr "Harici URL'ye bağlantı"
#: 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/company.js:566
-#: templates/js/stock.js:141 templates/js/stock.js:722
+#: templates/js/stock.js:209 templates/js/stock.js:450
+#: templates/js/stock.js:1033
msgid "Notes"
msgstr "Notlar"
@@ -857,7 +859,7 @@ msgstr "Yapım işi için tahsis edilen parçalar"
#: stock/templates/stock/stock_adjust.html:16 templates/js/build.js:244
#: templates/js/build.js:249 templates/js/build.js:993
#: templates/js/order.js:433 templates/js/order.js:438
-#: templates/js/stock.js:1138
+#: templates/js/stock.js:1425
msgid "Stock Item"
msgstr "Stok Kalemi"
@@ -1242,8 +1244,8 @@ msgid "Destination location not specified"
msgstr "Hedef konumu belirtilmedi"
#: build/templates/build/detail.html:70
-#: stock/templates/stock/item_base.html:315 templates/js/stock.js:638
-#: templates/js/stock.js:1429 templates/js/table_filters.js:116
+#: stock/templates/stock/item_base.html:315 templates/js/stock.js:949
+#: templates/js/stock.js:1716 templates/js/table_filters.js:116
#: templates/js/table_filters.js:210
msgid "Batch"
msgstr "Toplu"
@@ -1298,7 +1300,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:1067
+#: templates/js/stock.js:1354
msgid "Details"
msgstr "Detaylar"
@@ -1362,7 +1364,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:1674
+#: build/views.py:184 stock/views.py:1337
msgid "Serial numbers already exist"
msgstr "Seri numaraları zaten mevcut"
@@ -2116,7 +2118,7 @@ msgstr ""
#: report/templates/report/inventree_test_report_base.html:90
#: stock/models.py:1771 templates/InvenTree/settings/header.html:8
#: templates/js/company.js:371 templates/js/part.js:260
-#: templates/js/stock.js:137
+#: templates/js/stock.js:446
msgid "Value"
msgstr ""
@@ -2189,7 +2191,7 @@ msgstr ""
#: company/models.py:566 company/templates/company/supplier_part_base.html:109
#: stock/models.py:435 stock/templates/stock/item_base.html:322
-#: templates/js/company.js:571 templates/js/stock.js:718
+#: templates/js/company.js:571 templates/js/stock.js:1029
msgid "Packaging"
msgstr ""
@@ -2259,7 +2261,7 @@ msgid "Phone"
msgstr ""
#: company/templates/company/company_base.html:166
-#: part/templates/part/part_base.html:311
+#: part/templates/part/part_base.html:347
msgid "Upload Image"
msgstr ""
@@ -2279,7 +2281,7 @@ msgstr ""
#: order/templates/order/sales_order_base.html:94 stock/models.py:453
#: stock/models.py:454 stock/templates/stock/item_base.html:274
#: templates/js/company.js:109 templates/js/order.js:329
-#: templates/js/stock.js:1120
+#: templates/js/stock.js:1407
msgid "Customer"
msgstr "Müşteri"
@@ -2325,7 +2327,7 @@ msgstr "Parçaları Sil"
#: company/templates/company/detail_manufacturer_part.html:68
#: company/templates/company/detail_supplier_part.html:66
#: part/templates/part/bom.html:166 part/templates/part/category.html:127
-#: templates/js/stock.js:1335
+#: templates/js/stock.js:1622
msgid "New Part"
msgstr ""
@@ -2351,7 +2353,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:55 stock/templates/stock/location.html:163
+#: part/templates/part/stock.html:55 stock/templates/stock/location.html:175
msgid "Export"
msgstr ""
@@ -2363,14 +2365,14 @@ msgstr "Tedarikçi Parçaları"
#: company/templates/company/detail_supplier_part.html:21
#: order/templates/order/order_wizard/select_parts.html:44
-#: part/templates/part/part_base.html:433
+#: part/templates/part/part_base.html:469
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
-#: part/templates/part/part_base.html:432 part/templates/part/supplier.html:18
-#: templates/js/stock.js:1341
+#: part/templates/part/part_base.html:468 part/templates/part/supplier.html:18
+#: templates/js/stock.js:1628
msgid "New Supplier Part"
msgstr "Yeni Tedarikçi Parçası"
@@ -2391,7 +2393,7 @@ msgstr ""
#: company/templates/company/manufacturer_part_base.html:36
#: company/templates/company/supplier_part_base.html:36
#: company/templates/company/supplier_part_orders.html:17
-#: part/templates/part/orders.html:17 part/templates/part/part_base.html:58
+#: part/templates/part/orders.html:17 part/templates/part/part_base.html:74
msgid "Order part"
msgstr "Parça siparişi"
@@ -2444,8 +2446,8 @@ msgstr ""
#: templates/InvenTree/index.html:128 templates/InvenTree/search.html:196
#: templates/InvenTree/search.html:232
#: templates/InvenTree/settings/tabs.html:31 templates/js/part.js:181
-#: templates/js/part.js:406 templates/js/part.js:566 templates/js/stock.js:566
-#: templates/navbar.html:26
+#: templates/js/part.js:406 templates/js/part.js:566 templates/js/stock.js:74
+#: templates/js/stock.js:877 templates/navbar.html:26
msgid "Stock"
msgstr "Stok"
@@ -2467,8 +2469,8 @@ msgstr "Tedarikçi parçalarını sil"
#: company/templates/company/manufacturer_part_suppliers.html:48
#: company/templates/company/manufacturer_part_suppliers.html:142
#: part/templates/part/related.html:44 part/templates/part/supplier.html:23
-#: part/templates/part/supplier.html:52 stock/views.py:844
-#: templates/js/company.js:203 users/models.py:193
+#: part/templates/part/supplier.html:52 templates/js/company.js:203
+#: users/models.py:193
msgid "Delete"
msgstr ""
@@ -2518,12 +2520,12 @@ msgid "Supplied Parts"
msgstr ""
#: company/templates/company/navbar.html:38 part/templates/part/navbar.html:30
-#: stock/templates/stock/location.html:107
-#: stock/templates/stock/location.html:122
-#: stock/templates/stock/location.html:136
+#: stock/templates/stock/location.html:119
+#: stock/templates/stock/location.html:134
+#: stock/templates/stock/location.html:148
#: stock/templates/stock/location_navbar.html:22
#: stock/templates/stock/location_navbar.html:29
-#: templates/InvenTree/search.html:198 templates/js/stock.js:1019
+#: templates/InvenTree/search.html:198 templates/js/stock.js:1306
#: templates/stats.html:93 templates/stats.html:102 users/models.py:43
msgid "Stock Items"
msgstr "Stok Kalemleri"
@@ -2581,7 +2583,7 @@ msgstr "Yeni Satış Emri"
#: company/templates/company/supplier_part_base.html:7
#: company/templates/company/supplier_part_base.html:20 stock/models.py:420
#: stock/templates/stock/item_base.html:386 templates/js/company.js:511
-#: templates/js/stock.js:690
+#: templates/js/stock.js:1001
msgid "Supplier Part"
msgstr "Tedarikçi Parçası"
@@ -2703,7 +2705,7 @@ msgstr ""
msgid "Edit Supplier Part"
msgstr ""
-#: company/views.py:385 templates/js/stock.js:1342
+#: company/views.py:385 templates/js/stock.js:1629
msgid "Create new Supplier Part"
msgstr ""
@@ -2942,7 +2944,7 @@ msgstr ""
#: order/templates/order/order_base.html:24
#: report/templates/report/inventree_po_report.html:77
#: stock/templates/stock/item_base.html:336 templates/js/order.js:210
-#: templates/js/stock.js:669 templates/js/stock.js:1101
+#: templates/js/stock.js:980 templates/js/stock.js:1388
msgid "Purchase Order"
msgstr ""
@@ -2962,7 +2964,7 @@ msgid "Number of items received"
msgstr ""
#: order/models.py:776 part/templates/part/prices.html:166 stock/models.py:545
-#: stock/templates/stock/item_base.html:343 templates/js/stock.js:713
+#: stock/templates/stock/item_base.html:343 templates/js/stock.js:1024
msgid "Purchase Price"
msgstr ""
@@ -3078,15 +3080,14 @@ 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
-#: part/templates/part/part_base.html:419
-#: stock/templates/stock/location.html:191 templates/js/stock.js:759
-#: templates/js/stock.js:1347
+#: part/templates/part/part_base.html:455
+#: stock/templates/stock/location.html:203 templates/js/stock.js:1634
msgid "New Location"
msgstr "Yeni Konum"
#: order/templates/order/order_base.html:200
#: order/templates/order/purchase_order_detail.html:128
-#: part/templates/part/part_base.html:420
+#: part/templates/part/part_base.html:456
#: stock/templates/stock/location.html:42
msgid "Create new stock location"
msgstr "Yeni stok konumu oluştur"
@@ -3361,7 +3362,7 @@ msgid "Order Code"
msgstr ""
#: order/templates/order/receive_parts.html:21
-#: part/templates/part/part_base.html:136 templates/js/part.js:582
+#: part/templates/part/part_base.html:152 templates/js/part.js:582
msgid "On Order"
msgstr ""
@@ -3668,7 +3669,7 @@ msgstr ""
msgid "Default Location"
msgstr "Varsayılan Konum"
-#: part/bom.py:134 part/templates/part/part_base.html:124
+#: part/bom.py:134 part/templates/part/part_base.html:140
msgid "Available Stock"
msgstr ""
@@ -3891,7 +3892,7 @@ msgid "Part category"
msgstr ""
#: part/models.py:723 part/templates/part/detail.html:28
-#: part/templates/part/part_base.html:87 templates/js/part.js:169
+#: part/templates/part/part_base.html:103 templates/js/part.js:169
#: templates/js/part.js:397
msgid "IPN"
msgstr "DPN"
@@ -4011,7 +4012,7 @@ msgstr "Test şablonları sadece takip edilebilir paçalar için oluşturulabili
msgid "Test with this name already exists for this part"
msgstr ""
-#: part/models.py:2124 templates/js/part.js:818 templates/js/stock.js:117
+#: part/models.py:2124 templates/js/part.js:818 templates/js/stock.js:426
msgid "Test Name"
msgstr ""
@@ -4255,7 +4256,7 @@ msgid "All selected BOM items will be deleted"
msgstr ""
#: part/templates/part/bom.html:167 part/views.py:451
-#: templates/js/stock.js:1336
+#: templates/js/stock.js:1623
msgid "Create New Part"
msgstr ""
@@ -4372,12 +4373,12 @@ msgid "View grid display"
msgstr ""
#: part/templates/part/category.html:218
-#: stock/templates/stock/location.html:192 templates/js/stock.js:760
+#: stock/templates/stock/location.html:204
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:382
+#: part/templates/part/part_base.html:418
msgid "New Category"
msgstr ""
@@ -4389,7 +4390,7 @@ msgstr ""
msgid "Create new Part Category"
msgstr ""
-#: part/templates/part/category.html:260 stock/views.py:1244
+#: part/templates/part/category.html:260 stock/views.py:907
msgid "Create new Stock Location"
msgstr "Yeni Stok konumu oluştur"
@@ -4474,7 +4475,7 @@ msgstr ""
msgid "Part Details"
msgstr ""
-#: part/templates/part/detail.html:42 part/templates/part/part_base.html:188
+#: part/templates/part/detail.html:42 part/templates/part/part_base.html:204
msgid "Latest Serial Number"
msgstr "Son Seri Numarası"
@@ -4639,73 +4640,83 @@ msgstr "Etiket Yazdır"
msgid "Show pricing information"
msgstr ""
-#: part/templates/part/part_base.html:52
+#: part/templates/part/part_base.html:53
+#: stock/templates/stock/item_base.html:140
+#: stock/templates/stock/location.html:62
+msgid "Stock actions"
+msgstr "Stok işlemleri"
+
+#: part/templates/part/part_base.html:60
msgid "Count part stock"
msgstr ""
-#: part/templates/part/part_base.html:67
+#: part/templates/part/part_base.html:66
+msgid "Transfer part stock"
+msgstr ""
+
+#: part/templates/part/part_base.html:83
msgid "Part actions"
msgstr "Parça işlemleri"
-#: part/templates/part/part_base.html:70
+#: part/templates/part/part_base.html:86
msgid "Duplicate part"
msgstr ""
-#: part/templates/part/part_base.html:73
+#: part/templates/part/part_base.html:89
msgid "Edit part"
msgstr ""
-#: part/templates/part/part_base.html:76
+#: part/templates/part/part_base.html:92
msgid "Delete part"
msgstr ""
-#: part/templates/part/part_base.html:107
+#: part/templates/part/part_base.html:123
msgid "This is a virtual part"
msgstr ""
-#: part/templates/part/part_base.html:113
+#: part/templates/part/part_base.html:129
#, python-format
msgid "This part is a variant of %(link)s"
msgstr "Bu parça %(link)s parçasının bir çeşididir"
-#: part/templates/part/part_base.html:130 templates/js/table_filters.js:165
+#: part/templates/part/part_base.html:146 templates/js/table_filters.js:165
msgid "In Stock"
msgstr ""
-#: part/templates/part/part_base.html:143 templates/InvenTree/index.html:132
+#: part/templates/part/part_base.html:159 templates/InvenTree/index.html:132
msgid "Required for Build Orders"
msgstr "Yapım İşi Emirleri için Gerekli"
-#: part/templates/part/part_base.html:150
+#: part/templates/part/part_base.html:166
msgid "Required for Sales Orders"
msgstr "Satış Emirleri için Gerekli"
-#: part/templates/part/part_base.html:157
+#: part/templates/part/part_base.html:173
msgid "Allocated to Orders"
msgstr ""
-#: part/templates/part/part_base.html:172 templates/js/bom.js:316
+#: part/templates/part/part_base.html:188 templates/js/bom.js:316
msgid "Can Build"
msgstr ""
-#: part/templates/part/part_base.html:178 templates/js/part.js:413
+#: part/templates/part/part_base.html:194 templates/js/part.js:413
#: templates/js/part.js:586
msgid "Building"
msgstr ""
-#: part/templates/part/part_base.html:289 part/templates/part/prices.html:131
+#: part/templates/part/part_base.html:325 part/templates/part/prices.html:131
msgid "Calculate"
msgstr ""
-#: part/templates/part/part_base.html:383
+#: part/templates/part/part_base.html:419
msgid "Create New Part Category"
msgstr ""
-#: part/templates/part/part_base.html:391
+#: part/templates/part/part_base.html:427
msgid "New Parent"
msgstr ""
-#: part/templates/part/part_base.html:439
+#: part/templates/part/part_base.html:475
msgid "Edit Part"
msgstr ""
@@ -5237,7 +5248,7 @@ msgid "Result"
msgstr ""
#: report/templates/report/inventree_test_report_base.html:92
-#: templates/js/order.js:257 templates/js/stock.js:1035
+#: templates/js/order.js:257 templates/js/stock.js:1322
msgid "Date"
msgstr ""
@@ -5249,18 +5260,60 @@ msgstr ""
msgid "Fail"
msgstr ""
-#: stock/api.py:197
+#: stock/api.py:146
+msgid "Request must contain list of stock items"
+msgstr ""
+
+#: stock/api.py:154
+msgid "Improperly formatted data"
+msgstr ""
+
+#: stock/api.py:162
+msgid "Each entry must contain a valid integer primary-key"
+msgstr ""
+
+#: stock/api.py:168
+#, fuzzy
+#| msgid "Barcode does not match a valid location"
+msgid "Primary key does not match valid stock item"
+msgstr "Barkod geçerli bir konumla eşleşmiyor"
+
+#: stock/api.py:178
+#, fuzzy
+#| msgid "Invalid quantity provided"
+msgid "Invalid quantity value"
+msgstr "Geçersiz veri sağlandı"
+
+#: stock/api.py:183
+#, fuzzy
+#| msgid "Allocation quantity must be greater than zero"
+msgid "Quantity must not be less than zero"
+msgstr "Tahsis edilen miktar sıfırdan büyük olmalıdır"
+
+#: stock/api.py:211
#, python-brace-format
msgid "Updated stock for {n} items"
msgstr "{n} öge için stok güncellendi"
-#: stock/api.py:266
+#: stock/api.py:247 stock/api.py:280
+#, fuzzy
+#| msgid "Allocation quantity cannot exceed stock quantity"
+msgid "Specified quantity exceeds stock quantity"
+msgstr "Tahsis miktarı stok miktarını aşamaz"
+
+#: stock/api.py:270
+#, fuzzy
+#| msgid "Build output must be specified"
+msgid "Valid location must be specified"
+msgstr "Yapım işi çıktısı belirtilmeli"
+
+#: stock/api.py:290
#, python-brace-format
msgid "Moved {n} parts to {loc}"
msgstr ""
#: stock/forms.py:81 stock/forms.py:385 stock/models.py:513
-#: stock/templates/stock/item_base.html:393 templates/js/stock.js:658
+#: stock/templates/stock/item_base.html:393 templates/js/stock.js:969
msgid "Expiry Date"
msgstr ""
@@ -5333,7 +5386,7 @@ msgstr "Hedef stok konumu"
msgid "Add note (required)"
msgstr "Not ekle (gerekli)"
-#: stock/forms.py:348 stock/views.py:728 stock/views.py:930
+#: stock/forms.py:348 stock/views.py:728 templates/js/stock.js:223
msgid "Confirm stock adjustment"
msgstr "Stok ayarlamasını onayla"
@@ -5582,7 +5635,7 @@ msgid "Stock adjustment actions"
msgstr "Stok ayarlama işlemleri"
#: stock/templates/stock/item_base.html:108
-#: stock/templates/stock/location.html:65 templates/stock_table.html:57
+#: stock/templates/stock/location.html:69 templates/stock_table.html:57
msgid "Count stock"
msgstr ""
@@ -5599,6 +5652,7 @@ msgid "Serialize stock"
msgstr "Stoku seri numarala"
#: stock/templates/stock/item_base.html:121
+#: stock/templates/stock/location.html:75
msgid "Transfer stock"
msgstr ""
@@ -5618,11 +5672,6 @@ msgstr ""
msgid "Uninstall"
msgstr ""
-#: stock/templates/stock/item_base.html:140
-#: stock/templates/stock/location.html:62
-msgid "Stock actions"
-msgstr "Stok işlemleri"
-
#: stock/templates/stock/item_base.html:143
msgid "Convert to variant"
msgstr "Çeşide çevir"
@@ -5715,7 +5764,7 @@ msgstr "Bu stok kaleminin süresi %(item.expiry_date)s tarihinde sona erdi"
msgid "This StockItem expires on %(item.expiry_date)s"
msgstr "Bu stok kaleminin süresi %(item.expiry_date)s tarihinde sona erecek"
-#: stock/templates/stock/item_base.html:406 templates/js/stock.js:664
+#: stock/templates/stock/item_base.html:406 templates/js/stock.js:975
msgid "Last Updated"
msgstr ""
@@ -5819,42 +5868,42 @@ msgstr ""
msgid "Check-in Items"
msgstr ""
-#: stock/templates/stock/location.html:71
+#: stock/templates/stock/location.html:83
msgid "Location actions"
msgstr "Konum işlemleri"
-#: stock/templates/stock/location.html:73
+#: stock/templates/stock/location.html:85
msgid "Edit location"
msgstr "Konumu düzenle"
-#: stock/templates/stock/location.html:75
+#: stock/templates/stock/location.html:87
msgid "Delete location"
msgstr "Konumu sil"
-#: stock/templates/stock/location.html:87
+#: stock/templates/stock/location.html:99
msgid "Location Details"
msgstr "Konum Detayları"
-#: stock/templates/stock/location.html:92
+#: stock/templates/stock/location.html:104
msgid "Location Path"
msgstr "Konum Yolu"
-#: stock/templates/stock/location.html:97
+#: stock/templates/stock/location.html:109
msgid "Location Description"
msgstr "Konum Tanımı"
-#: stock/templates/stock/location.html:102
+#: stock/templates/stock/location.html:114
#: stock/templates/stock/location_navbar.html:11
#: stock/templates/stock/location_navbar.html:18
#: stock/templates/stock/sublocation.html:16
msgid "Sublocations"
msgstr "Alt konumlar"
-#: stock/templates/stock/location.html:112
+#: stock/templates/stock/location.html:124
msgid "Stock Details"
msgstr ""
-#: stock/templates/stock/location.html:117 templates/InvenTree/search.html:279
+#: stock/templates/stock/location.html:129 templates/InvenTree/search.html:279
#: templates/stats.html:97 users/models.py:42
msgid "Stock Locations"
msgstr "Stok Konumları"
@@ -5895,7 +5944,7 @@ msgstr ""
msgid "The following stock items will be uninstalled"
msgstr ""
-#: stock/templates/stock/stockitem_convert.html:7 stock/views.py:1217
+#: stock/templates/stock/stockitem_convert.html:7 stock/views.py:880
msgid "Convert Stock Item"
msgstr "Stok Kalemine Dönüştür"
@@ -5928,8 +5977,7 @@ msgstr ""
msgid "Edit Stock Location"
msgstr "Stok konumunu düzenle"
-#: stock/views.py:253 stock/views.py:1196 stock/views.py:1318
-#: stock/views.py:1683
+#: stock/views.py:253 stock/views.py:859 stock/views.py:981 stock/views.py:1346
msgid "Owner is required (ownership control is enabled)"
msgstr "Sahip gerekli (sahip kontrolü etkinleştirildi)"
@@ -5985,129 +6033,43 @@ msgstr ""
msgid "Uninstalled stock items"
msgstr ""
-#: stock/views.py:764
-msgid "Adjust Stock"
-msgstr ""
-
-#: stock/views.py:840
-msgid "Move Stock Items"
-msgstr ""
-
-#: stock/views.py:840
-msgid "Move"
-msgstr ""
-
-#: stock/views.py:841
-msgid "Count Stock Items"
-msgstr ""
-
-#: stock/views.py:841
-msgid "Count"
-msgstr ""
-
-#: stock/views.py:842
-msgid "Remove From Stock"
-msgstr ""
-
-#: stock/views.py:842
-msgid "Take"
-msgstr ""
-
-#: stock/views.py:843
-msgid "Add Stock Items"
-msgstr ""
-
-#: stock/views.py:843 users/models.py:189
-msgid "Add"
-msgstr ""
-
-#: stock/views.py:844
-msgid "Delete Stock Items"
-msgstr ""
-
-#: stock/views.py:910
-msgid "Must enter integer value"
-msgstr ""
-
-#: stock/views.py:915
-msgid "Quantity must be positive"
-msgstr ""
-
-#: stock/views.py:922
-#, python-brace-format
-msgid "Quantity must not exceed {x}"
-msgstr ""
-
-#: stock/views.py:986
-msgid "No action performed"
-msgstr "Herhangi bir işlem gerçekleştirilmedi"
-
-#: stock/views.py:1000
-#, python-brace-format
-msgid "Added stock to {n} items"
-msgstr ""
-
-#: stock/views.py:1014
-#, python-brace-format
-msgid "Removed stock from {n} items"
-msgstr ""
-
-#: stock/views.py:1026
-#, python-brace-format
-msgid "Counted stock for {n} items"
-msgstr ""
-
-#: stock/views.py:1064
-msgid "No items were moved"
-msgstr ""
-
-#: stock/views.py:1067
-#, python-brace-format
-msgid "Moved {n} items to {dest}"
-msgstr ""
-
-#: stock/views.py:1086
-#, python-brace-format
-msgid "Deleted {n} stock items"
-msgstr ""
-
-#: stock/views.py:1098
+#: stock/views.py:761
msgid "Edit Stock Item"
msgstr ""
-#: stock/views.py:1335
+#: stock/views.py:998
msgid "Serialize Stock"
msgstr "Stoku Seri Numarala"
-#: stock/views.py:1428 templates/js/build.js:365
+#: stock/views.py:1091 templates/js/build.js:365
msgid "Create new Stock Item"
msgstr ""
-#: stock/views.py:1570
+#: stock/views.py:1233
msgid "Duplicate Stock Item"
msgstr ""
-#: stock/views.py:1652
+#: stock/views.py:1315
msgid "Quantity cannot be negative"
msgstr ""
-#: stock/views.py:1752
+#: stock/views.py:1415
msgid "Delete Stock Location"
msgstr "Stok Konumunu Sil"
-#: stock/views.py:1765
+#: stock/views.py:1428
msgid "Delete Stock Item"
msgstr ""
-#: stock/views.py:1776
+#: stock/views.py:1439
msgid "Delete Stock Tracking Entry"
msgstr ""
-#: stock/views.py:1783
+#: stock/views.py:1446
msgid "Edit Stock Tracking Entry"
msgstr ""
-#: stock/views.py:1792
+#: stock/views.py:1455
msgid "Add Stock Tracking Entry"
msgstr ""
@@ -6191,11 +6153,11 @@ msgstr ""
msgid "Enter a search query"
msgstr ""
-#: templates/InvenTree/search.html:268 templates/js/stock.js:303
+#: templates/InvenTree/search.html:268 templates/js/stock.js:570
msgid "Shipped to customer"
msgstr ""
-#: templates/InvenTree/search.html:271 templates/js/stock.js:313
+#: templates/InvenTree/search.html:271 templates/js/stock.js:580
msgid "No stock location set"
msgstr "Stok konumu ayarlanmadı"
@@ -6469,9 +6431,9 @@ msgstr ""
msgid "copy version information"
msgstr ""
-#: templates/about.html:100 templates/js/modals.js:34
-#: templates/js/modals.js:675 templates/js/modals.js:968
-#: templates/modals.html:29 templates/modals.html:54 templates/modals.html:97
+#: templates/about.html:100 templates/js/modals.js:33
+#: templates/js/modals.js:567 templates/js/modals.js:661
+#: templates/js/modals.js:954 templates/modals.html:29 templates/modals.html:54
msgid "Close"
msgstr ""
@@ -6491,6 +6453,62 @@ msgstr ""
msgid "Remote image must not exceed maximum allowable file size"
msgstr ""
+#: templates/js/api.js:154 templates/js/modals.js:1024
+msgid "No Response"
+msgstr ""
+
+#: templates/js/api.js:155 templates/js/modals.js:1025
+msgid "No response from the InvenTree server"
+msgstr ""
+
+#: templates/js/api.js:160
+msgid "Error 400: Bad request"
+msgstr ""
+
+#: templates/js/api.js:161
+msgid "API request returned error code 400"
+msgstr ""
+
+#: templates/js/api.js:164 templates/js/modals.js:1034
+msgid "Error 401: Not Authenticated"
+msgstr ""
+
+#: templates/js/api.js:165 templates/js/modals.js:1035
+msgid "Authentication credentials not supplied"
+msgstr ""
+
+#: templates/js/api.js:168 templates/js/modals.js:1039
+msgid "Error 403: Permission Denied"
+msgstr ""
+
+#: templates/js/api.js:169 templates/js/modals.js:1040
+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/api.js:172 templates/js/modals.js:1044
+msgid "Error 404: Resource Not Found"
+msgstr ""
+
+#: templates/js/api.js:173 templates/js/modals.js:1045
+msgid "The requested resource could not be located on the server"
+msgstr ""
+
+#: templates/js/api.js:176 templates/js/modals.js:1049
+msgid "Error 408: Timeout"
+msgstr ""
+
+#: templates/js/api.js:177 templates/js/modals.js:1050
+msgid "Connection timeout while requesting data from server"
+msgstr ""
+
+#: templates/js/api.js:180
+msgid "Unhandled Error Code"
+msgstr ""
+
+#: templates/js/api.js:181
+msgid "Error code"
+msgstr ""
+
#: templates/js/attachment.js:16
msgid "No attachments found"
msgstr ""
@@ -6535,7 +6553,7 @@ msgstr ""
msgid "Unknown response from server"
msgstr ""
-#: templates/js/barcode.js:119 templates/js/modals.js:1028
+#: templates/js/barcode.js:119 templates/js/modals.js:1014
msgid "Invalid server response"
msgstr ""
@@ -6559,7 +6577,7 @@ msgstr ""
msgid "Unlink"
msgstr ""
-#: templates/js/barcode.js:376
+#: templates/js/barcode.js:376 templates/js/stock.js:161
msgid "Remove stock item"
msgstr ""
@@ -6697,7 +6715,7 @@ msgid "No builds matching query"
msgstr ""
#: templates/js/build.js:840 templates/js/part.js:491 templates/js/part.js:736
-#: templates/js/stock.js:514 templates/js/stock.js:989
+#: templates/js/stock.js:825 templates/js/stock.js:1276
msgid "Select"
msgstr ""
@@ -6705,7 +6723,7 @@ msgstr ""
msgid "Build order is overdue"
msgstr ""
-#: templates/js/build.js:924 templates/js/stock.js:1211
+#: templates/js/build.js:924 templates/js/stock.js:1498
msgid "No user information"
msgstr ""
@@ -6832,63 +6850,19 @@ msgstr ""
msgid "View operation not allowed"
msgstr ""
-#: templates/js/forms.js:587 templates/js/modals.js:1038
-msgid "No Response"
-msgstr ""
-
-#: templates/js/forms.js:588 templates/js/modals.js:1039
-msgid "No response from the InvenTree server"
-msgstr ""
-
-#: templates/js/forms.js:594 templates/js/modals.js:1048
-msgid "Error 401: Not Authenticated"
-msgstr ""
-
-#: templates/js/forms.js:595 templates/js/modals.js:1049
-msgid "Authentication credentials not supplied"
-msgstr ""
-
-#: templates/js/forms.js:601 templates/js/modals.js:1053
-msgid "Error 403: Permission Denied"
-msgstr ""
-
-#: templates/js/forms.js:602 templates/js/modals.js:1054
-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:608 templates/js/modals.js:1058
-msgid "Error 404: Resource Not Found"
-msgstr ""
-
-#: templates/js/forms.js:609 templates/js/modals.js:1059
-msgid "The requested resource could not be located on the server"
-msgstr ""
-
-#: templates/js/forms.js:615 templates/js/modals.js:1063
-msgid "Error 408: Timeout"
-msgstr ""
-
-#: templates/js/forms.js:616 templates/js/modals.js:1064
-msgid "Connection timeout while requesting data from server"
-msgstr ""
-
-#: templates/js/forms.js:622 templates/js/modals.js:1067
-msgid "Error requesting form data"
-msgstr ""
-
-#: templates/js/forms.js:815 templates/modals.html:21 templates/modals.html:47
+#: templates/js/forms.js:797 templates/modals.html:21 templates/modals.html:47
msgid "Form errors exist"
msgstr ""
-#: templates/js/forms.js:1188
+#: templates/js/forms.js:1164
msgid "Searching"
msgstr ""
-#: templates/js/forms.js:1338
+#: templates/js/forms.js:1314
msgid "Clear input"
msgstr ""
-#: templates/js/label.js:10 templates/js/report.js:98
+#: templates/js/label.js:10 templates/js/report.js:98 templates/js/stock.js:185
msgid "Select Stock Items"
msgstr ""
@@ -6941,12 +6915,12 @@ msgid "Select Label Template"
msgstr "Etiket Şablonu Seç"
#: templates/js/modals.js:59 templates/js/modals.js:103
-#: templates/js/modals.js:599 templates/modals.html:75
+#: templates/js/modals.js:593
msgid "Cancel"
msgstr ""
#: templates/js/modals.js:60 templates/js/modals.js:102
-#: templates/js/modals.js:674 templates/js/modals.js:967
+#: templates/js/modals.js:660 templates/js/modals.js:953
#: templates/modals.html:30 templates/modals.html:55
msgid "Submit"
msgstr ""
@@ -6955,46 +6929,50 @@ msgstr ""
msgid "Form Title"
msgstr ""
-#: templates/js/modals.js:372
+#: templates/js/modals.js:380
msgid "Waiting for server..."
msgstr ""
-#: templates/js/modals.js:531
+#: templates/js/modals.js:539
msgid "Show Error Information"
msgstr ""
-#: templates/js/modals.js:598 templates/modals.html:76
+#: templates/js/modals.js:592
msgid "Accept"
msgstr ""
-#: templates/js/modals.js:663
+#: templates/js/modals.js:649
msgid "Loading Data"
msgstr ""
-#: templates/js/modals.js:918
+#: templates/js/modals.js:904
msgid "Invalid response from server"
msgstr ""
-#: templates/js/modals.js:918
+#: templates/js/modals.js:904
msgid "Form data missing from server response"
msgstr ""
-#: templates/js/modals.js:931
+#: templates/js/modals.js:917
msgid "Error posting form data"
msgstr ""
-#: templates/js/modals.js:1028
+#: templates/js/modals.js:1014
msgid "JSON response missing form data"
msgstr ""
-#: templates/js/modals.js:1043
+#: templates/js/modals.js:1029
msgid "Error 400: Bad Request"
msgstr ""
-#: templates/js/modals.js:1044
+#: templates/js/modals.js:1030
msgid "Server returned error code 400"
msgstr ""
+#: templates/js/modals.js:1053
+msgid "Error requesting form data"
+msgstr ""
+
#: templates/js/model_renderers.js:38
msgid "Company ID"
msgstr ""
@@ -7083,7 +7061,7 @@ msgstr ""
msgid "Low stock"
msgstr ""
-#: templates/js/part.js:761 templates/js/stock.js:1013
+#: templates/js/part.js:761 templates/js/stock.js:1300
msgid "Path"
msgstr ""
@@ -7091,11 +7069,11 @@ msgstr ""
msgid "No test templates matching query"
msgstr "Sorgu ile eşleşen test şablonu bulunamadı"
-#: templates/js/part.js:855 templates/js/stock.js:75
+#: templates/js/part.js:855 templates/js/stock.js:384
msgid "Edit test result"
msgstr ""
-#: templates/js/part.js:856 templates/js/stock.js:76
+#: templates/js/part.js:856 templates/js/stock.js:385
msgid "Delete test result"
msgstr ""
@@ -7188,179 +7166,251 @@ msgstr ""
msgid "Sales Order(s) must be selected before printing report"
msgstr ""
-#: templates/js/stock.js:38
+#: templates/js/stock.js:39
+#, fuzzy
+#| msgid "Part Stock"
+msgid "Transfer Stock"
+msgstr "Parça Stoku"
+
+#: templates/js/stock.js:40
+msgid "Move"
+msgstr ""
+
+#: templates/js/stock.js:46
+#, fuzzy
+#| msgid "No Stock"
+msgid "Count Stock"
+msgstr "Stok Yok"
+
+#: templates/js/stock.js:47
+msgid "Count"
+msgstr ""
+
+#: templates/js/stock.js:51
+#, fuzzy
+#| msgid "No Stock"
+msgid "Remove Stock"
+msgstr "Stok Yok"
+
+#: templates/js/stock.js:52
+msgid "Take"
+msgstr ""
+
+#: templates/js/stock.js:56
+#, fuzzy
+#| msgid "Stock"
+msgid "Add Stock"
+msgstr "Stok"
+
+#: templates/js/stock.js:57 users/models.py:189
+msgid "Add"
+msgstr ""
+
+#: templates/js/stock.js:61 templates/stock_table.html:63
+msgid "Delete Stock"
+msgstr ""
+
+#: templates/js/stock.js:150
+#, fuzzy
+#| msgid "Quantity must be 1 for serialized stock"
+msgid "Quantity cannot be adjusted for serialized stock"
+msgstr "Seri numaralı stok için miktar bir olmalı"
+
+#: templates/js/stock.js:150
+#, fuzzy
+#| msgid "Stock quantity to assign"
+msgid "Specify stock quantity"
+msgstr "Atanacak stok miktarı"
+
+#: templates/js/stock.js:186
+msgid "You must select at least one available stock item"
+msgstr ""
+
+#: templates/js/stock.js:202
+#, fuzzy
+#| msgid "Destination stock location"
+msgid "Select destination stock location"
+msgstr "Hedef stok konumu"
+
+#: templates/js/stock.js:210
+#, fuzzy
+#| msgid "Stock actions"
+msgid "Stock transaction notes"
+msgstr "Stok işlemleri"
+
+#: templates/js/stock.js:347
msgid "PASS"
msgstr ""
-#: templates/js/stock.js:40
+#: templates/js/stock.js:349
msgid "FAIL"
msgstr ""
-#: templates/js/stock.js:45
+#: templates/js/stock.js:354
msgid "NO RESULT"
msgstr ""
-#: templates/js/stock.js:71
+#: templates/js/stock.js:380
msgid "Add test result"
msgstr ""
-#: templates/js/stock.js:97
+#: templates/js/stock.js:406
msgid "No test results found"
msgstr ""
-#: templates/js/stock.js:145
+#: templates/js/stock.js:454
msgid "Test Date"
msgstr ""
-#: templates/js/stock.js:295
+#: templates/js/stock.js:562
msgid "In production"
msgstr ""
-#: templates/js/stock.js:299
+#: templates/js/stock.js:566
msgid "Installed in Stock Item"
msgstr ""
-#: templates/js/stock.js:307
+#: templates/js/stock.js:574
msgid "Assigned to Sales Order"
msgstr ""
-#: templates/js/stock.js:339
+#: templates/js/stock.js:650
msgid "No stock items matching query"
msgstr ""
-#: templates/js/stock.js:360
+#: templates/js/stock.js:671
msgid "items"
msgstr ""
-#: templates/js/stock.js:452
+#: templates/js/stock.js:763
msgid "batches"
msgstr ""
-#: templates/js/stock.js:479
+#: templates/js/stock.js:790
msgid "locations"
msgstr "konumlar"
-#: templates/js/stock.js:481
+#: templates/js/stock.js:792
msgid "Undefined location"
msgstr "Tanımsız konum"
-#: templates/js/stock.js:582
+#: templates/js/stock.js:893
msgid "Stock item is in production"
msgstr ""
-#: templates/js/stock.js:587
+#: templates/js/stock.js:898
msgid "Stock item assigned to sales order"
msgstr ""
-#: templates/js/stock.js:590
+#: templates/js/stock.js:901
msgid "Stock item assigned to customer"
msgstr ""
-#: templates/js/stock.js:594
+#: templates/js/stock.js:905
msgid "Stock item has expired"
msgstr ""
-#: templates/js/stock.js:596
+#: templates/js/stock.js:907
msgid "Stock item will expire soon"
msgstr ""
-#: templates/js/stock.js:600
+#: templates/js/stock.js:911
msgid "Stock item has been allocated"
msgstr ""
-#: templates/js/stock.js:604
+#: templates/js/stock.js:915
msgid "Stock item has been installed in another item"
msgstr ""
-#: templates/js/stock.js:611
+#: templates/js/stock.js:922
msgid "Stock item has been rejected"
msgstr ""
-#: templates/js/stock.js:615
+#: templates/js/stock.js:926
msgid "Stock item is lost"
msgstr ""
-#: templates/js/stock.js:618
+#: templates/js/stock.js:929
msgid "Stock item is destroyed"
msgstr ""
-#: templates/js/stock.js:622 templates/js/table_filters.js:147
+#: templates/js/stock.js:933 templates/js/table_filters.js:147
msgid "Depleted"
msgstr ""
-#: templates/js/stock.js:651
+#: templates/js/stock.js:962
msgid "Stocktake"
msgstr ""
-#: templates/js/stock.js:705
+#: templates/js/stock.js:1016
msgid "Supplier part not specified"
msgstr ""
-#: templates/js/stock.js:876
+#: templates/js/stock.js:1163
msgid "Stock Status"
msgstr ""
-#: templates/js/stock.js:891
+#: templates/js/stock.js:1178
msgid "Set Stock Status"
msgstr ""
-#: templates/js/stock.js:905
+#: templates/js/stock.js:1192
msgid "Select Status Code"
msgstr ""
-#: templates/js/stock.js:906
+#: templates/js/stock.js:1193
msgid "Status code must be selected"
msgstr ""
-#: templates/js/stock.js:1045
+#: templates/js/stock.js:1332
msgid "Invalid date"
msgstr ""
-#: templates/js/stock.js:1092
+#: templates/js/stock.js:1379
msgid "Location no longer exists"
msgstr "Konum artık yok"
-#: templates/js/stock.js:1111
+#: templates/js/stock.js:1398
msgid "Purchase order no longer exists"
msgstr ""
-#: templates/js/stock.js:1130
+#: templates/js/stock.js:1417
msgid "Customer no longer exists"
msgstr ""
-#: templates/js/stock.js:1148
+#: templates/js/stock.js:1435
msgid "Stock item no longer exists"
msgstr ""
-#: templates/js/stock.js:1171
+#: templates/js/stock.js:1458
msgid "Added"
msgstr ""
-#: templates/js/stock.js:1179
+#: templates/js/stock.js:1466
msgid "Removed"
msgstr ""
-#: templates/js/stock.js:1223
+#: templates/js/stock.js:1510
msgid "Edit tracking entry"
msgstr ""
-#: templates/js/stock.js:1224
+#: templates/js/stock.js:1511
msgid "Delete tracking entry"
msgstr ""
-#: templates/js/stock.js:1348
+#: templates/js/stock.js:1635
msgid "Create New Location"
msgstr "Yeni Konum Oluştur"
-#: templates/js/stock.js:1389
+#: templates/js/stock.js:1676
msgid "No installed items"
msgstr ""
-#: templates/js/stock.js:1412
+#: templates/js/stock.js:1699
msgid "Serial"
msgstr "Seri No"
-#: templates/js/stock.js:1440
+#: templates/js/stock.js:1727
msgid "Uninstall Stock Item"
msgstr ""
@@ -7791,10 +7841,6 @@ msgstr ""
msgid "Delete selected items"
msgstr ""
-#: templates/stock_table.html:63
-msgid "Delete Stock"
-msgstr ""
-
#: templates/yesnolabel.html:4
msgid "Yes"
msgstr ""
@@ -7858,3 +7904,6 @@ msgstr ""
#: users/models.py:193
msgid "Permission to delete items"
msgstr ""
+
+#~ msgid "No action performed"
+#~ msgstr "Herhangi bir işlem gerçekleştirilmedi"
diff --git a/InvenTree/locale/zh/LC_MESSAGES/django.po b/InvenTree/locale/zh/LC_MESSAGES/django.po
index c56cc5e85e..07d574133f 100644
--- a/InvenTree/locale/zh/LC_MESSAGES/django.po
+++ b/InvenTree/locale/zh/LC_MESSAGES/django.po
@@ -2,7 +2,7 @@ msgid ""
msgstr ""
"Project-Id-Version: inventree\n"
"Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2021-07-12 11:35+0000\n"
+"POT-Creation-Date: 2021-07-12 12:18+0000\n"
"PO-Revision-Date: 2021-07-10 04:50\n"
"Last-Translator: \n"
"Language-Team: Chinese Simplified\n"
@@ -36,7 +36,7 @@ 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:30 order/forms.py:41 order/forms.py:52 order/forms.py:63
-#: order/forms.py:74 part/forms.py:119 templates/js/forms.js:486
+#: order/forms.py:74 part/forms.py:119 templates/js/forms.js:506
msgid "Confirm"
msgstr "确认"
@@ -78,7 +78,7 @@ msgid "Duplicate serial: {n}"
msgstr ""
#: InvenTree/helpers.py:403 order/models.py:315 order/models.py:425
-#: stock/views.py:1648
+#: stock/views.py:1311
msgid "Invalid quantity provided"
msgstr ""
@@ -124,7 +124,7 @@ msgstr "文件注释"
#: InvenTree/models.py:70 InvenTree/models.py:71 part/models.py:2042
#: report/templates/report/inventree_test_report_base.html:91
-#: templates/js/stock.js:1202
+#: templates/js/stock.js:1489
msgid "User"
msgstr "用户"
@@ -141,7 +141,7 @@ msgstr ""
#: report/models.py:181 templates/InvenTree/search.html:137
#: templates/InvenTree/search.html:289 templates/js/company.js:365
#: templates/js/part.js:118 templates/js/part.js:251 templates/js/part.js:743
-#: templates/js/stock.js:995
+#: templates/js/stock.js:1282
msgid "Name"
msgstr "名称"
@@ -164,8 +164,8 @@ msgstr "名称"
#: templates/js/company.js:561 templates/js/order.js:245
#: templates/js/order.js:347 templates/js/part.js:177 templates/js/part.js:361
#: templates/js/part.js:538 templates/js/part.js:755 templates/js/part.js:823
-#: templates/js/stock.js:557 templates/js/stock.js:1007
-#: templates/js/stock.js:1052
+#: templates/js/stock.js:868 templates/js/stock.js:1294
+#: templates/js/stock.js:1339
msgid "Description"
msgstr ""
@@ -496,8 +496,8 @@ msgstr ""
#: templates/js/bom.js:205 templates/js/build.js:271 templates/js/build.js:606
#: templates/js/build.js:1172 templates/js/model_renderers.js:56
#: templates/js/order.js:460 templates/js/part.js:928 templates/js/part.js:1050
-#: templates/js/part.js:1106 templates/js/stock.js:1187
-#: templates/js/stock.js:1406
+#: templates/js/part.js:1106 templates/js/stock.js:1474
+#: templates/js/stock.js:1693
msgid "Quantity"
msgstr ""
@@ -542,8 +542,9 @@ msgstr ""
#: stock/templates/stock/stock_adjust.html:17
#: templates/InvenTree/search.html:260 templates/js/barcode.js:363
#: templates/js/barcode.js:531 templates/js/build.js:256
-#: templates/js/build.js:620 templates/js/order.js:445
-#: templates/js/stock.js:643 templates/js/stock.js:1079
+#: templates/js/build.js:620 templates/js/order.js:445 templates/js/stock.js:75
+#: templates/js/stock.js:201 templates/js/stock.js:954
+#: templates/js/stock.js:1366
msgid "Location"
msgstr ""
@@ -557,8 +558,8 @@ msgstr ""
#: stock/templates/stock/item_base.html:420 templates/InvenTree/search.html:252
#: templates/js/barcode.js:119 templates/js/build.js:902
#: templates/js/order.js:249 templates/js/order.js:352
-#: templates/js/stock.js:630 templates/js/stock.js:1156
-#: templates/js/stock.js:1422
+#: templates/js/stock.js:941 templates/js/stock.js:1443
+#: templates/js/stock.js:1709
msgid "Status"
msgstr ""
@@ -659,8 +660,8 @@ msgstr ""
#: templates/js/build.js:586 templates/js/build.js:873
#: templates/js/build.js:1139 templates/js/company.js:264
#: templates/js/company.js:470 templates/js/part.js:342
-#: templates/js/part.js:505 templates/js/stock.js:526
-#: templates/js/stock.js:1394
+#: templates/js/part.js:505 templates/js/stock.js:73 templates/js/stock.js:837
+#: templates/js/stock.js:1681
msgid "Part"
msgstr ""
@@ -708,7 +709,7 @@ msgstr ""
msgid "Number of stock items which have been completed"
msgstr ""
-#: build/models.py:249 part/templates/part/part_base.html:167
+#: build/models.py:249 part/templates/part/part_base.html:183
msgid "Build Status"
msgstr ""
@@ -766,7 +767,7 @@ msgstr ""
#: 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
+#: part/templates/part/detail.html:83 part/templates/part/part_base.html:110
#: stock/models.py:464 stock/templates/stock/item_base.html:357
msgid "External Link"
msgstr ""
@@ -791,7 +792,8 @@ msgstr ""
#: 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/company.js:566
-#: templates/js/stock.js:141 templates/js/stock.js:722
+#: templates/js/stock.js:209 templates/js/stock.js:450
+#: templates/js/stock.js:1033
msgid "Notes"
msgstr ""
@@ -857,7 +859,7 @@ msgstr ""
#: stock/templates/stock/stock_adjust.html:16 templates/js/build.js:244
#: templates/js/build.js:249 templates/js/build.js:993
#: templates/js/order.js:433 templates/js/order.js:438
-#: templates/js/stock.js:1138
+#: templates/js/stock.js:1425
msgid "Stock Item"
msgstr ""
@@ -1242,8 +1244,8 @@ msgid "Destination location not specified"
msgstr ""
#: build/templates/build/detail.html:70
-#: stock/templates/stock/item_base.html:315 templates/js/stock.js:638
-#: templates/js/stock.js:1429 templates/js/table_filters.js:116
+#: stock/templates/stock/item_base.html:315 templates/js/stock.js:949
+#: templates/js/stock.js:1716 templates/js/table_filters.js:116
#: templates/js/table_filters.js:210
msgid "Batch"
msgstr ""
@@ -1298,7 +1300,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:1067
+#: templates/js/stock.js:1354
msgid "Details"
msgstr ""
@@ -1362,7 +1364,7 @@ msgstr ""
msgid "Maximum output quantity is "
msgstr ""
-#: build/views.py:184 stock/views.py:1674
+#: build/views.py:184 stock/views.py:1337
msgid "Serial numbers already exist"
msgstr ""
@@ -2116,7 +2118,7 @@ msgstr ""
#: report/templates/report/inventree_test_report_base.html:90
#: stock/models.py:1771 templates/InvenTree/settings/header.html:8
#: templates/js/company.js:371 templates/js/part.js:260
-#: templates/js/stock.js:137
+#: templates/js/stock.js:446
msgid "Value"
msgstr ""
@@ -2189,7 +2191,7 @@ msgstr ""
#: company/models.py:566 company/templates/company/supplier_part_base.html:109
#: stock/models.py:435 stock/templates/stock/item_base.html:322
-#: templates/js/company.js:571 templates/js/stock.js:718
+#: templates/js/company.js:571 templates/js/stock.js:1029
msgid "Packaging"
msgstr ""
@@ -2259,7 +2261,7 @@ msgid "Phone"
msgstr ""
#: company/templates/company/company_base.html:166
-#: part/templates/part/part_base.html:311
+#: part/templates/part/part_base.html:347
msgid "Upload Image"
msgstr ""
@@ -2279,7 +2281,7 @@ msgstr ""
#: order/templates/order/sales_order_base.html:94 stock/models.py:453
#: stock/models.py:454 stock/templates/stock/item_base.html:274
#: templates/js/company.js:109 templates/js/order.js:329
-#: templates/js/stock.js:1120
+#: templates/js/stock.js:1407
msgid "Customer"
msgstr ""
@@ -2325,7 +2327,7 @@ msgstr ""
#: company/templates/company/detail_manufacturer_part.html:68
#: company/templates/company/detail_supplier_part.html:66
#: part/templates/part/bom.html:166 part/templates/part/category.html:127
-#: templates/js/stock.js:1335
+#: templates/js/stock.js:1622
msgid "New Part"
msgstr ""
@@ -2351,7 +2353,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:55 stock/templates/stock/location.html:163
+#: part/templates/part/stock.html:55 stock/templates/stock/location.html:175
msgid "Export"
msgstr ""
@@ -2363,14 +2365,14 @@ msgstr ""
#: company/templates/company/detail_supplier_part.html:21
#: order/templates/order/order_wizard/select_parts.html:44
-#: part/templates/part/part_base.html:433
+#: part/templates/part/part_base.html:469
msgid "Create new supplier part"
msgstr ""
#: company/templates/company/detail_supplier_part.html:22
#: company/templates/company/manufacturer_part_suppliers.html:17
-#: part/templates/part/part_base.html:432 part/templates/part/supplier.html:18
-#: templates/js/stock.js:1341
+#: part/templates/part/part_base.html:468 part/templates/part/supplier.html:18
+#: templates/js/stock.js:1628
msgid "New Supplier Part"
msgstr ""
@@ -2391,7 +2393,7 @@ msgstr ""
#: company/templates/company/manufacturer_part_base.html:36
#: company/templates/company/supplier_part_base.html:36
#: company/templates/company/supplier_part_orders.html:17
-#: part/templates/part/orders.html:17 part/templates/part/part_base.html:58
+#: part/templates/part/orders.html:17 part/templates/part/part_base.html:74
msgid "Order part"
msgstr ""
@@ -2444,8 +2446,8 @@ msgstr ""
#: templates/InvenTree/index.html:128 templates/InvenTree/search.html:196
#: templates/InvenTree/search.html:232
#: templates/InvenTree/settings/tabs.html:31 templates/js/part.js:181
-#: templates/js/part.js:406 templates/js/part.js:566 templates/js/stock.js:566
-#: templates/navbar.html:26
+#: templates/js/part.js:406 templates/js/part.js:566 templates/js/stock.js:74
+#: templates/js/stock.js:877 templates/navbar.html:26
msgid "Stock"
msgstr ""
@@ -2467,8 +2469,8 @@ msgstr ""
#: company/templates/company/manufacturer_part_suppliers.html:48
#: company/templates/company/manufacturer_part_suppliers.html:142
#: part/templates/part/related.html:44 part/templates/part/supplier.html:23
-#: part/templates/part/supplier.html:52 stock/views.py:844
-#: templates/js/company.js:203 users/models.py:193
+#: part/templates/part/supplier.html:52 templates/js/company.js:203
+#: users/models.py:193
msgid "Delete"
msgstr ""
@@ -2518,12 +2520,12 @@ msgid "Supplied Parts"
msgstr ""
#: company/templates/company/navbar.html:38 part/templates/part/navbar.html:30
-#: stock/templates/stock/location.html:107
-#: stock/templates/stock/location.html:122
-#: stock/templates/stock/location.html:136
+#: stock/templates/stock/location.html:119
+#: stock/templates/stock/location.html:134
+#: stock/templates/stock/location.html:148
#: stock/templates/stock/location_navbar.html:22
#: stock/templates/stock/location_navbar.html:29
-#: templates/InvenTree/search.html:198 templates/js/stock.js:1019
+#: templates/InvenTree/search.html:198 templates/js/stock.js:1306
#: templates/stats.html:93 templates/stats.html:102 users/models.py:43
msgid "Stock Items"
msgstr ""
@@ -2581,7 +2583,7 @@ msgstr ""
#: company/templates/company/supplier_part_base.html:7
#: company/templates/company/supplier_part_base.html:20 stock/models.py:420
#: stock/templates/stock/item_base.html:386 templates/js/company.js:511
-#: templates/js/stock.js:690
+#: templates/js/stock.js:1001
msgid "Supplier Part"
msgstr ""
@@ -2703,7 +2705,7 @@ msgstr ""
msgid "Edit Supplier Part"
msgstr ""
-#: company/views.py:385 templates/js/stock.js:1342
+#: company/views.py:385 templates/js/stock.js:1629
msgid "Create new Supplier Part"
msgstr ""
@@ -2942,7 +2944,7 @@ msgstr ""
#: order/templates/order/order_base.html:24
#: report/templates/report/inventree_po_report.html:77
#: stock/templates/stock/item_base.html:336 templates/js/order.js:210
-#: templates/js/stock.js:669 templates/js/stock.js:1101
+#: templates/js/stock.js:980 templates/js/stock.js:1388
msgid "Purchase Order"
msgstr ""
@@ -2962,7 +2964,7 @@ msgid "Number of items received"
msgstr ""
#: order/models.py:776 part/templates/part/prices.html:166 stock/models.py:545
-#: stock/templates/stock/item_base.html:343 templates/js/stock.js:713
+#: stock/templates/stock/item_base.html:343 templates/js/stock.js:1024
msgid "Purchase Price"
msgstr ""
@@ -3078,15 +3080,14 @@ 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
-#: part/templates/part/part_base.html:419
-#: stock/templates/stock/location.html:191 templates/js/stock.js:759
-#: templates/js/stock.js:1347
+#: part/templates/part/part_base.html:455
+#: stock/templates/stock/location.html:203 templates/js/stock.js:1634
msgid "New Location"
msgstr ""
#: order/templates/order/order_base.html:200
#: order/templates/order/purchase_order_detail.html:128
-#: part/templates/part/part_base.html:420
+#: part/templates/part/part_base.html:456
#: stock/templates/stock/location.html:42
msgid "Create new stock location"
msgstr ""
@@ -3361,7 +3362,7 @@ msgid "Order Code"
msgstr ""
#: order/templates/order/receive_parts.html:21
-#: part/templates/part/part_base.html:136 templates/js/part.js:582
+#: part/templates/part/part_base.html:152 templates/js/part.js:582
msgid "On Order"
msgstr ""
@@ -3668,7 +3669,7 @@ msgstr ""
msgid "Default Location"
msgstr ""
-#: part/bom.py:134 part/templates/part/part_base.html:124
+#: part/bom.py:134 part/templates/part/part_base.html:140
msgid "Available Stock"
msgstr ""
@@ -3891,7 +3892,7 @@ msgid "Part category"
msgstr ""
#: part/models.py:723 part/templates/part/detail.html:28
-#: part/templates/part/part_base.html:87 templates/js/part.js:169
+#: part/templates/part/part_base.html:103 templates/js/part.js:169
#: templates/js/part.js:397
msgid "IPN"
msgstr ""
@@ -4011,7 +4012,7 @@ msgstr ""
msgid "Test with this name already exists for this part"
msgstr ""
-#: part/models.py:2124 templates/js/part.js:818 templates/js/stock.js:117
+#: part/models.py:2124 templates/js/part.js:818 templates/js/stock.js:426
msgid "Test Name"
msgstr ""
@@ -4255,7 +4256,7 @@ msgid "All selected BOM items will be deleted"
msgstr ""
#: part/templates/part/bom.html:167 part/views.py:451
-#: templates/js/stock.js:1336
+#: templates/js/stock.js:1623
msgid "Create New Part"
msgstr ""
@@ -4372,12 +4373,12 @@ msgid "View grid display"
msgstr ""
#: part/templates/part/category.html:218
-#: stock/templates/stock/location.html:192 templates/js/stock.js:760
+#: stock/templates/stock/location.html:204
msgid "Create new location"
msgstr ""
#: part/templates/part/category.html:223 part/templates/part/category.html:253
-#: part/templates/part/part_base.html:382
+#: part/templates/part/part_base.html:418
msgid "New Category"
msgstr ""
@@ -4389,7 +4390,7 @@ msgstr ""
msgid "Create new Part Category"
msgstr ""
-#: part/templates/part/category.html:260 stock/views.py:1244
+#: part/templates/part/category.html:260 stock/views.py:907
msgid "Create new Stock Location"
msgstr ""
@@ -4474,7 +4475,7 @@ msgstr ""
msgid "Part Details"
msgstr ""
-#: part/templates/part/detail.html:42 part/templates/part/part_base.html:188
+#: part/templates/part/detail.html:42 part/templates/part/part_base.html:204
msgid "Latest Serial Number"
msgstr ""
@@ -4639,73 +4640,83 @@ msgstr ""
msgid "Show pricing information"
msgstr ""
-#: part/templates/part/part_base.html:52
+#: part/templates/part/part_base.html:53
+#: stock/templates/stock/item_base.html:140
+#: stock/templates/stock/location.html:62
+msgid "Stock actions"
+msgstr ""
+
+#: part/templates/part/part_base.html:60
msgid "Count part stock"
msgstr ""
-#: part/templates/part/part_base.html:67
+#: part/templates/part/part_base.html:66
+msgid "Transfer part stock"
+msgstr ""
+
+#: part/templates/part/part_base.html:83
msgid "Part actions"
msgstr ""
-#: part/templates/part/part_base.html:70
+#: part/templates/part/part_base.html:86
msgid "Duplicate part"
msgstr ""
-#: part/templates/part/part_base.html:73
+#: part/templates/part/part_base.html:89
msgid "Edit part"
msgstr ""
-#: part/templates/part/part_base.html:76
+#: part/templates/part/part_base.html:92
msgid "Delete part"
msgstr ""
-#: part/templates/part/part_base.html:107
+#: part/templates/part/part_base.html:123
msgid "This is a virtual part"
msgstr ""
-#: part/templates/part/part_base.html:113
+#: part/templates/part/part_base.html:129
#, python-format
msgid "This part is a variant of %(link)s"
msgstr ""
-#: part/templates/part/part_base.html:130 templates/js/table_filters.js:165
+#: part/templates/part/part_base.html:146 templates/js/table_filters.js:165
msgid "In Stock"
msgstr ""
-#: part/templates/part/part_base.html:143 templates/InvenTree/index.html:132
+#: part/templates/part/part_base.html:159 templates/InvenTree/index.html:132
msgid "Required for Build Orders"
msgstr ""
-#: part/templates/part/part_base.html:150
+#: part/templates/part/part_base.html:166
msgid "Required for Sales Orders"
msgstr ""
-#: part/templates/part/part_base.html:157
+#: part/templates/part/part_base.html:173
msgid "Allocated to Orders"
msgstr ""
-#: part/templates/part/part_base.html:172 templates/js/bom.js:316
+#: part/templates/part/part_base.html:188 templates/js/bom.js:316
msgid "Can Build"
msgstr ""
-#: part/templates/part/part_base.html:178 templates/js/part.js:413
+#: part/templates/part/part_base.html:194 templates/js/part.js:413
#: templates/js/part.js:586
msgid "Building"
msgstr ""
-#: part/templates/part/part_base.html:289 part/templates/part/prices.html:131
+#: part/templates/part/part_base.html:325 part/templates/part/prices.html:131
msgid "Calculate"
msgstr ""
-#: part/templates/part/part_base.html:383
+#: part/templates/part/part_base.html:419
msgid "Create New Part Category"
msgstr ""
-#: part/templates/part/part_base.html:391
+#: part/templates/part/part_base.html:427
msgid "New Parent"
msgstr ""
-#: part/templates/part/part_base.html:439
+#: part/templates/part/part_base.html:475
msgid "Edit Part"
msgstr ""
@@ -5237,7 +5248,7 @@ msgid "Result"
msgstr ""
#: report/templates/report/inventree_test_report_base.html:92
-#: templates/js/order.js:257 templates/js/stock.js:1035
+#: templates/js/order.js:257 templates/js/stock.js:1322
msgid "Date"
msgstr ""
@@ -5249,18 +5260,52 @@ msgstr ""
msgid "Fail"
msgstr ""
-#: stock/api.py:197
+#: stock/api.py:146
+msgid "Request must contain list of stock items"
+msgstr ""
+
+#: stock/api.py:154
+msgid "Improperly formatted data"
+msgstr ""
+
+#: stock/api.py:162
+msgid "Each entry must contain a valid integer primary-key"
+msgstr ""
+
+#: stock/api.py:168
+msgid "Primary key does not match valid stock item"
+msgstr ""
+
+#: stock/api.py:178
+msgid "Invalid quantity value"
+msgstr ""
+
+#: stock/api.py:183
+msgid "Quantity must not be less than zero"
+msgstr ""
+
+#: stock/api.py:211
#, python-brace-format
msgid "Updated stock for {n} items"
msgstr ""
-#: stock/api.py:266
+#: stock/api.py:247 stock/api.py:280
+msgid "Specified quantity exceeds stock quantity"
+msgstr ""
+
+#: stock/api.py:270
+#, fuzzy
+#| msgid "No action specified"
+msgid "Valid location must be specified"
+msgstr "未指定操作"
+
+#: stock/api.py:290
#, python-brace-format
msgid "Moved {n} parts to {loc}"
msgstr ""
#: stock/forms.py:81 stock/forms.py:385 stock/models.py:513
-#: stock/templates/stock/item_base.html:393 templates/js/stock.js:658
+#: stock/templates/stock/item_base.html:393 templates/js/stock.js:969
msgid "Expiry Date"
msgstr ""
@@ -5333,7 +5378,7 @@ msgstr ""
msgid "Add note (required)"
msgstr ""
-#: stock/forms.py:348 stock/views.py:728 stock/views.py:930
+#: stock/forms.py:348 stock/views.py:728 templates/js/stock.js:223
msgid "Confirm stock adjustment"
msgstr ""
@@ -5582,7 +5627,7 @@ msgid "Stock adjustment actions"
msgstr ""
#: stock/templates/stock/item_base.html:108
-#: stock/templates/stock/location.html:65 templates/stock_table.html:57
+#: stock/templates/stock/location.html:69 templates/stock_table.html:57
msgid "Count stock"
msgstr ""
@@ -5599,6 +5644,7 @@ msgid "Serialize stock"
msgstr ""
#: stock/templates/stock/item_base.html:121
+#: stock/templates/stock/location.html:75
msgid "Transfer stock"
msgstr ""
@@ -5618,11 +5664,6 @@ msgstr ""
msgid "Uninstall"
msgstr ""
-#: stock/templates/stock/item_base.html:140
-#: stock/templates/stock/location.html:62
-msgid "Stock actions"
-msgstr ""
-
#: stock/templates/stock/item_base.html:143
msgid "Convert to variant"
msgstr ""
@@ -5715,7 +5756,7 @@ msgstr ""
msgid "This StockItem expires on %(item.expiry_date)s"
msgstr ""
-#: stock/templates/stock/item_base.html:406 templates/js/stock.js:664
+#: stock/templates/stock/item_base.html:406 templates/js/stock.js:975
msgid "Last Updated"
msgstr ""
@@ -5819,42 +5860,42 @@ msgstr ""
msgid "Check-in Items"
msgstr ""
-#: stock/templates/stock/location.html:71
+#: stock/templates/stock/location.html:83
msgid "Location actions"
msgstr ""
-#: stock/templates/stock/location.html:73
+#: stock/templates/stock/location.html:85
msgid "Edit location"
msgstr ""
-#: stock/templates/stock/location.html:75
+#: stock/templates/stock/location.html:87
msgid "Delete location"
msgstr ""
-#: stock/templates/stock/location.html:87
+#: stock/templates/stock/location.html:99
msgid "Location Details"
msgstr ""
-#: stock/templates/stock/location.html:92
+#: stock/templates/stock/location.html:104
msgid "Location Path"
msgstr ""
-#: stock/templates/stock/location.html:97
+#: stock/templates/stock/location.html:109
msgid "Location Description"
msgstr ""
-#: stock/templates/stock/location.html:102
+#: stock/templates/stock/location.html:114
#: stock/templates/stock/location_navbar.html:11
#: stock/templates/stock/location_navbar.html:18
#: stock/templates/stock/sublocation.html:16
msgid "Sublocations"
msgstr ""
-#: stock/templates/stock/location.html:112
+#: stock/templates/stock/location.html:124
msgid "Stock Details"
msgstr ""
-#: stock/templates/stock/location.html:117 templates/InvenTree/search.html:279
+#: stock/templates/stock/location.html:129 templates/InvenTree/search.html:279
#: templates/stats.html:97 users/models.py:42
msgid "Stock Locations"
msgstr ""
@@ -5895,7 +5936,7 @@ msgstr ""
msgid "The following stock items will be uninstalled"
msgstr ""
-#: stock/templates/stock/stockitem_convert.html:7 stock/views.py:1217
+#: stock/templates/stock/stockitem_convert.html:7 stock/views.py:880
msgid "Convert Stock Item"
msgstr ""
@@ -5928,8 +5969,7 @@ msgstr ""
msgid "Edit Stock Location"
msgstr ""
-#: stock/views.py:253 stock/views.py:1196 stock/views.py:1318
-#: stock/views.py:1683
+#: stock/views.py:253 stock/views.py:859 stock/views.py:981 stock/views.py:1346
msgid "Owner is required (ownership control is enabled)"
msgstr ""
@@ -5985,129 +6025,43 @@ msgstr ""
msgid "Uninstalled stock items"
msgstr ""
-#: stock/views.py:764
-msgid "Adjust Stock"
-msgstr ""
-
-#: stock/views.py:840
-msgid "Move Stock Items"
-msgstr ""
-
-#: stock/views.py:840
-msgid "Move"
-msgstr ""
-
-#: stock/views.py:841
-msgid "Count Stock Items"
-msgstr ""
-
-#: stock/views.py:841
-msgid "Count"
-msgstr ""
-
-#: stock/views.py:842
-msgid "Remove From Stock"
-msgstr ""
-
-#: stock/views.py:842
-msgid "Take"
-msgstr ""
-
-#: stock/views.py:843
-msgid "Add Stock Items"
-msgstr ""
-
-#: stock/views.py:843 users/models.py:189
-msgid "Add"
-msgstr ""
-
-#: stock/views.py:844
-msgid "Delete Stock Items"
-msgstr ""
-
-#: stock/views.py:910
-msgid "Must enter integer value"
-msgstr ""
-
-#: stock/views.py:915
-msgid "Quantity must be positive"
-msgstr ""
-
-#: stock/views.py:922
-#, python-brace-format
-msgid "Quantity must not exceed {x}"
-msgstr ""
-
-#: stock/views.py:986
-msgid "No action performed"
-msgstr ""
-
-#: stock/views.py:1000
-#, python-brace-format
-msgid "Added stock to {n} items"
-msgstr ""
-
-#: stock/views.py:1014
-#, python-brace-format
-msgid "Removed stock from {n} items"
-msgstr ""
-
-#: stock/views.py:1026
-#, python-brace-format
-msgid "Counted stock for {n} items"
-msgstr ""
-
-#: stock/views.py:1064
-msgid "No items were moved"
-msgstr ""
-
-#: stock/views.py:1067
-#, python-brace-format
-msgid "Moved {n} items to {dest}"
-msgstr ""
-
-#: stock/views.py:1086
-#, python-brace-format
-msgid "Deleted {n} stock items"
-msgstr ""
-
-#: stock/views.py:1098
+#: stock/views.py:761
msgid "Edit Stock Item"
msgstr ""
-#: stock/views.py:1335
+#: stock/views.py:998
msgid "Serialize Stock"
msgstr ""
-#: stock/views.py:1428 templates/js/build.js:365
+#: stock/views.py:1091 templates/js/build.js:365
msgid "Create new Stock Item"
msgstr ""
-#: stock/views.py:1570
+#: stock/views.py:1233
msgid "Duplicate Stock Item"
msgstr ""
-#: stock/views.py:1652
+#: stock/views.py:1315
msgid "Quantity cannot be negative"
msgstr ""
-#: stock/views.py:1752
+#: stock/views.py:1415
msgid "Delete Stock Location"
msgstr ""
-#: stock/views.py:1765
+#: stock/views.py:1428
msgid "Delete Stock Item"
msgstr ""
-#: stock/views.py:1776
+#: stock/views.py:1439
msgid "Delete Stock Tracking Entry"
msgstr ""
-#: stock/views.py:1783
+#: stock/views.py:1446
msgid "Edit Stock Tracking Entry"
msgstr ""
-#: stock/views.py:1792
+#: stock/views.py:1455
msgid "Add Stock Tracking Entry"
msgstr ""
@@ -6191,11 +6145,11 @@ msgstr ""
msgid "Enter a search query"
msgstr ""
-#: templates/InvenTree/search.html:268 templates/js/stock.js:303
+#: templates/InvenTree/search.html:268 templates/js/stock.js:570
msgid "Shipped to customer"
msgstr ""
-#: templates/InvenTree/search.html:271 templates/js/stock.js:313
+#: templates/InvenTree/search.html:271 templates/js/stock.js:580
msgid "No stock location set"
msgstr ""
@@ -6469,9 +6423,9 @@ msgstr ""
msgid "copy version information"
msgstr ""
-#: templates/about.html:100 templates/js/modals.js:34
-#: templates/js/modals.js:675 templates/js/modals.js:968
-#: templates/modals.html:29 templates/modals.html:54 templates/modals.html:97
+#: templates/about.html:100 templates/js/modals.js:33
+#: templates/js/modals.js:567 templates/js/modals.js:661
+#: templates/js/modals.js:954 templates/modals.html:29 templates/modals.html:54
msgid "Close"
msgstr ""
@@ -6491,6 +6445,62 @@ msgstr ""
msgid "Remote image must not exceed maximum allowable file size"
msgstr ""
+#: templates/js/api.js:154 templates/js/modals.js:1024
+msgid "No Response"
+msgstr ""
+
+#: templates/js/api.js:155 templates/js/modals.js:1025
+msgid "No response from the InvenTree server"
+msgstr ""
+
+#: templates/js/api.js:160
+msgid "Error 400: Bad request"
+msgstr ""
+
+#: templates/js/api.js:161
+msgid "API request returned error code 400"
+msgstr ""
+
+#: templates/js/api.js:164 templates/js/modals.js:1034
+msgid "Error 401: Not Authenticated"
+msgstr ""
+
+#: templates/js/api.js:165 templates/js/modals.js:1035
+msgid "Authentication credentials not supplied"
+msgstr ""
+
+#: templates/js/api.js:168 templates/js/modals.js:1039
+msgid "Error 403: Permission Denied"
+msgstr ""
+
+#: templates/js/api.js:169 templates/js/modals.js:1040
+msgid "You do not have the required permissions to access this function"
+msgstr ""
+
+#: templates/js/api.js:172 templates/js/modals.js:1044
+msgid "Error 404: Resource Not Found"
+msgstr ""
+
+#: templates/js/api.js:173 templates/js/modals.js:1045
+msgid "The requested resource could not be located on the server"
+msgstr ""
+
+#: templates/js/api.js:176 templates/js/modals.js:1049
+msgid "Error 408: Timeout"
+msgstr ""
+
+#: templates/js/api.js:177 templates/js/modals.js:1050
+msgid "Connection timeout while requesting data from server"
+msgstr ""
+
+#: templates/js/api.js:180
+msgid "Unhandled Error Code"
+msgstr ""
+
+#: templates/js/api.js:181
+msgid "Error code"
+msgstr ""
+
#: templates/js/attachment.js:16
msgid "No attachments found"
msgstr ""
@@ -6535,7 +6545,7 @@ msgstr ""
msgid "Unknown response from server"
msgstr ""
-#: templates/js/barcode.js:119 templates/js/modals.js:1028
+#: templates/js/barcode.js:119 templates/js/modals.js:1014
msgid "Invalid server response"
msgstr ""
@@ -6559,7 +6569,7 @@ msgstr ""
msgid "Unlink"
msgstr ""
-#: templates/js/barcode.js:376
+#: templates/js/barcode.js:376 templates/js/stock.js:161
msgid "Remove stock item"
msgstr ""
@@ -6697,7 +6707,7 @@ msgid "No builds matching query"
msgstr ""
#: templates/js/build.js:840 templates/js/part.js:491 templates/js/part.js:736
-#: templates/js/stock.js:514 templates/js/stock.js:989
+#: templates/js/stock.js:825 templates/js/stock.js:1276
msgid "Select"
msgstr ""
@@ -6705,7 +6715,7 @@ msgstr ""
msgid "Build order is overdue"
msgstr ""
-#: templates/js/build.js:924 templates/js/stock.js:1211
+#: templates/js/build.js:924 templates/js/stock.js:1498
msgid "No user information"
msgstr ""
@@ -6832,63 +6842,19 @@ msgstr ""
msgid "View operation not allowed"
msgstr ""
-#: templates/js/forms.js:587 templates/js/modals.js:1038
-msgid "No Response"
-msgstr ""
-
-#: templates/js/forms.js:588 templates/js/modals.js:1039
-msgid "No response from the InvenTree server"
-msgstr ""
-
-#: templates/js/forms.js:594 templates/js/modals.js:1048
-msgid "Error 401: Not Authenticated"
-msgstr ""
-
-#: templates/js/forms.js:595 templates/js/modals.js:1049
-msgid "Authentication credentials not supplied"
-msgstr ""
-
-#: templates/js/forms.js:601 templates/js/modals.js:1053
-msgid "Error 403: Permission Denied"
-msgstr ""
-
-#: templates/js/forms.js:602 templates/js/modals.js:1054
-msgid "You do not have the required permissions to access this function"
-msgstr ""
-
-#: templates/js/forms.js:608 templates/js/modals.js:1058
-msgid "Error 404: Resource Not Found"
-msgstr ""
-
-#: templates/js/forms.js:609 templates/js/modals.js:1059
-msgid "The requested resource could not be located on the server"
-msgstr ""
-
-#: templates/js/forms.js:615 templates/js/modals.js:1063
-msgid "Error 408: Timeout"
-msgstr ""
-
-#: templates/js/forms.js:616 templates/js/modals.js:1064
-msgid "Connection timeout while requesting data from server"
-msgstr ""
-
-#: templates/js/forms.js:622 templates/js/modals.js:1067
-msgid "Error requesting form data"
-msgstr ""
-
-#: templates/js/forms.js:815 templates/modals.html:21 templates/modals.html:47
+#: templates/js/forms.js:797 templates/modals.html:21 templates/modals.html:47
msgid "Form errors exist"
msgstr ""
-#: templates/js/forms.js:1188
+#: templates/js/forms.js:1164
msgid "Searching"
msgstr ""
-#: templates/js/forms.js:1338
+#: templates/js/forms.js:1314
msgid "Clear input"
msgstr ""
-#: templates/js/label.js:10 templates/js/report.js:98
+#: templates/js/label.js:10 templates/js/report.js:98 templates/js/stock.js:185
msgid "Select Stock Items"
msgstr ""
@@ -6941,12 +6907,12 @@ msgid "Select Label Template"
msgstr ""
#: templates/js/modals.js:59 templates/js/modals.js:103
-#: templates/js/modals.js:599 templates/modals.html:75
+#: templates/js/modals.js:593
msgid "Cancel"
msgstr ""
#: templates/js/modals.js:60 templates/js/modals.js:102
-#: templates/js/modals.js:674 templates/js/modals.js:967
+#: templates/js/modals.js:660 templates/js/modals.js:953
#: templates/modals.html:30 templates/modals.html:55
msgid "Submit"
msgstr ""
@@ -6955,46 +6921,50 @@ msgstr ""
msgid "Form Title"
msgstr ""
-#: templates/js/modals.js:372
+#: templates/js/modals.js:380
msgid "Waiting for server..."
msgstr ""
-#: templates/js/modals.js:531
+#: templates/js/modals.js:539
msgid "Show Error Information"
msgstr ""
-#: templates/js/modals.js:598 templates/modals.html:76
+#: templates/js/modals.js:592
msgid "Accept"
msgstr ""
-#: templates/js/modals.js:663
+#: templates/js/modals.js:649
msgid "Loading Data"
msgstr ""
-#: templates/js/modals.js:918
+#: templates/js/modals.js:904
msgid "Invalid response from server"
msgstr ""
-#: templates/js/modals.js:918
+#: templates/js/modals.js:904
msgid "Form data missing from server response"
msgstr ""
-#: templates/js/modals.js:931
+#: templates/js/modals.js:917
msgid "Error posting form data"
msgstr ""
-#: templates/js/modals.js:1028
+#: templates/js/modals.js:1014
msgid "JSON response missing form data"
msgstr ""
-#: templates/js/modals.js:1043
+#: templates/js/modals.js:1029
msgid "Error 400: Bad Request"
msgstr ""
-#: templates/js/modals.js:1044
+#: templates/js/modals.js:1030
msgid "Server returned error code 400"
msgstr ""
+#: templates/js/modals.js:1053
+msgid "Error requesting form data"
+msgstr ""
+
#: templates/js/model_renderers.js:38
msgid "Company ID"
msgstr ""
@@ -7083,7 +7053,7 @@ msgstr ""
msgid "Low stock"
msgstr ""
-#: templates/js/part.js:761 templates/js/stock.js:1013
+#: templates/js/part.js:761 templates/js/stock.js:1300
msgid "Path"
msgstr ""
@@ -7091,11 +7061,11 @@ msgstr ""
msgid "No test templates matching query"
msgstr ""
-#: templates/js/part.js:855 templates/js/stock.js:75
+#: templates/js/part.js:855 templates/js/stock.js:384
msgid "Edit test result"
msgstr ""
-#: templates/js/part.js:856 templates/js/stock.js:76
+#: templates/js/part.js:856 templates/js/stock.js:385
msgid "Delete test result"
msgstr ""
@@ -7188,179 +7158,235 @@ msgstr ""
msgid "Sales Order(s) must be selected before printing report"
msgstr ""
-#: templates/js/stock.js:38
-msgid "PASS"
+#: templates/js/stock.js:39
+msgid "Transfer Stock"
msgstr ""
#: templates/js/stock.js:40
+msgid "Move"
+msgstr ""
+
+#: templates/js/stock.js:46
+msgid "Count Stock"
+msgstr ""
+
+#: templates/js/stock.js:47
+msgid "Count"
+msgstr ""
+
+#: templates/js/stock.js:51
+msgid "Remove Stock"
+msgstr ""
+
+#: templates/js/stock.js:52
+msgid "Take"
+msgstr ""
+
+#: templates/js/stock.js:56
+msgid "Add Stock"
+msgstr ""
+
+#: templates/js/stock.js:57 users/models.py:189
+msgid "Add"
+msgstr ""
+
+#: templates/js/stock.js:61 templates/stock_table.html:63
+msgid "Delete Stock"
+msgstr ""
+
+#: templates/js/stock.js:150
+msgid "Quantity cannot be adjusted for serialized stock"
+msgstr ""
+
+#: templates/js/stock.js:150
+msgid "Specify stock quantity"
+msgstr ""
+
+#: templates/js/stock.js:186
+msgid "You must select at least one available stock item"
+msgstr ""
+
+#: templates/js/stock.js:202
+msgid "Select destination stock location"
+msgstr ""
+
+#: templates/js/stock.js:210
+msgid "Stock transaction notes"
+msgstr ""
+
+#: templates/js/stock.js:347
+msgid "PASS"
+msgstr ""
+
+#: templates/js/stock.js:349
msgid "FAIL"
msgstr ""
-#: templates/js/stock.js:45
+#: templates/js/stock.js:354
msgid "NO RESULT"
msgstr ""
-#: templates/js/stock.js:71
+#: templates/js/stock.js:380
msgid "Add test result"
msgstr ""
-#: templates/js/stock.js:97
+#: templates/js/stock.js:406
msgid "No test results found"
msgstr ""
-#: templates/js/stock.js:145
+#: templates/js/stock.js:454
msgid "Test Date"
msgstr ""
-#: templates/js/stock.js:295
+#: templates/js/stock.js:562
msgid "In production"
msgstr ""
-#: templates/js/stock.js:299
+#: templates/js/stock.js:566
msgid "Installed in Stock Item"
msgstr ""
-#: templates/js/stock.js:307
+#: templates/js/stock.js:574
msgid "Assigned to Sales Order"
msgstr ""
-#: templates/js/stock.js:339
+#: templates/js/stock.js:650
msgid "No stock items matching query"
msgstr ""
-#: templates/js/stock.js:360
+#: templates/js/stock.js:671
msgid "items"
msgstr ""
-#: templates/js/stock.js:452
+#: templates/js/stock.js:763
msgid "batches"
msgstr ""
-#: templates/js/stock.js:479
+#: templates/js/stock.js:790
msgid "locations"
msgstr ""
-#: templates/js/stock.js:481
+#: templates/js/stock.js:792
msgid "Undefined location"
msgstr ""
-#: templates/js/stock.js:582
+#: templates/js/stock.js:893
msgid "Stock item is in production"
msgstr ""
-#: templates/js/stock.js:587
+#: templates/js/stock.js:898
msgid "Stock item assigned to sales order"
msgstr ""
-#: templates/js/stock.js:590
+#: templates/js/stock.js:901
msgid "Stock item assigned to customer"
msgstr ""
-#: templates/js/stock.js:594
+#: templates/js/stock.js:905
msgid "Stock item has expired"
msgstr ""
-#: templates/js/stock.js:596
+#: templates/js/stock.js:907
msgid "Stock item will expire soon"
msgstr ""
-#: templates/js/stock.js:600
+#: templates/js/stock.js:911
msgid "Stock item has been allocated"
msgstr ""
-#: templates/js/stock.js:604
+#: templates/js/stock.js:915
msgid "Stock item has been installed in another item"
msgstr ""
-#: templates/js/stock.js:611
+#: templates/js/stock.js:922
msgid "Stock item has been rejected"
msgstr ""
-#: templates/js/stock.js:615
+#: templates/js/stock.js:926
msgid "Stock item is lost"
msgstr ""
-#: templates/js/stock.js:618
+#: templates/js/stock.js:929
msgid "Stock item is destroyed"
msgstr ""
-#: templates/js/stock.js:622 templates/js/table_filters.js:147
+#: templates/js/stock.js:933 templates/js/table_filters.js:147
msgid "Depleted"
msgstr ""
-#: templates/js/stock.js:651
+#: templates/js/stock.js:962
msgid "Stocktake"
msgstr ""
-#: templates/js/stock.js:705
+#: templates/js/stock.js:1016
msgid "Supplier part not specified"
msgstr ""
-#: templates/js/stock.js:876
+#: templates/js/stock.js:1163
msgid "Stock Status"
msgstr ""
-#: templates/js/stock.js:891
+#: templates/js/stock.js:1178
msgid "Set Stock Status"
msgstr ""
-#: templates/js/stock.js:905
+#: templates/js/stock.js:1192
msgid "Select Status Code"
msgstr ""
-#: templates/js/stock.js:906
+#: templates/js/stock.js:1193
msgid "Status code must be selected"
msgstr ""
-#: templates/js/stock.js:1045
+#: templates/js/stock.js:1332
msgid "Invalid date"
msgstr ""
-#: templates/js/stock.js:1092
+#: templates/js/stock.js:1379
msgid "Location no longer exists"
msgstr ""
-#: templates/js/stock.js:1111
+#: templates/js/stock.js:1398
msgid "Purchase order no longer exists"
msgstr ""
-#: templates/js/stock.js:1130
+#: templates/js/stock.js:1417
msgid "Customer no longer exists"
msgstr ""
-#: templates/js/stock.js:1148
+#: templates/js/stock.js:1435
msgid "Stock item no longer exists"
msgstr ""
-#: templates/js/stock.js:1171
+#: templates/js/stock.js:1458
msgid "Added"
msgstr ""
-#: templates/js/stock.js:1179
+#: templates/js/stock.js:1466
msgid "Removed"
msgstr ""
-#: templates/js/stock.js:1223
+#: templates/js/stock.js:1510
msgid "Edit tracking entry"
msgstr ""
-#: templates/js/stock.js:1224
+#: templates/js/stock.js:1511
msgid "Delete tracking entry"
msgstr ""
-#: templates/js/stock.js:1348
+#: templates/js/stock.js:1635
msgid "Create New Location"
msgstr ""
-#: templates/js/stock.js:1389
+#: templates/js/stock.js:1676
msgid "No installed items"
msgstr ""
-#: templates/js/stock.js:1412
+#: templates/js/stock.js:1699
msgid "Serial"
msgstr ""
-#: templates/js/stock.js:1440
+#: templates/js/stock.js:1727
msgid "Uninstall Stock Item"
msgstr ""
@@ -7791,10 +7817,6 @@ msgstr ""
msgid "Delete selected items"
msgstr ""
-#: templates/stock_table.html:63
-msgid "Delete Stock"
-msgstr ""
-
#: templates/yesnolabel.html:4
msgid "Yes"
msgstr ""