diff --git a/InvenTree/locale/tr/LC_MESSAGES/django.po b/InvenTree/locale/tr/LC_MESSAGES/django.po
index 7f29cb134c..860f89d04e 100644
--- a/InvenTree/locale/tr/LC_MESSAGES/django.po
+++ b/InvenTree/locale/tr/LC_MESSAGES/django.po
@@ -2,8 +2,8 @@ msgid ""
msgstr ""
"Project-Id-Version: inventree\n"
"Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2021-07-21 05:27+0000\n"
-"PO-Revision-Date: 2021-07-21 05:31\n"
+"POT-Creation-Date: 2021-07-21 11:51+0000\n"
+"PO-Revision-Date: 2021-07-21 11:56\n"
"Last-Translator: \n"
"Language-Team: Turkish\n"
"Language: tr_TR\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:109 templates/js/forms.js:520
+#: order/forms.py:74 part/forms.py:109 templates/js/forms.js:526
msgid "Confirm"
msgstr "Onay"
@@ -106,7 +106,7 @@ msgstr "Seri numarası bulunamadı"
msgid "Number of unique serial number ({s}) must match quantity ({q})"
msgstr "Benzersiz seri numaralarının sayısı ({s}) girilen miktarla eşleşmeli ({q})"
-#: InvenTree/models.py:61 stock/models.py:1804
+#: InvenTree/models.py:61 stock/models.py:1815
msgid "Attachment"
msgstr "Ek"
@@ -122,7 +122,7 @@ msgstr "Yorum"
msgid "File comment"
msgstr "Dosya yorumu"
-#: InvenTree/models.py:70 InvenTree/models.py:71 part/models.py:2063
+#: InvenTree/models.py:70 InvenTree/models.py:71 part/models.py:2080
#: report/templates/report/inventree_test_report_base.html:91
#: templates/js/stock.js:1538
msgid "User"
@@ -132,12 +132,12 @@ msgstr "Kullanıcı"
msgid "upload date"
msgstr "yükleme tarihi"
-#: InvenTree/models.py:102
+#: InvenTree/models.py:113
msgid "Invalid choice"
msgstr ""
-#: InvenTree/models.py:118 InvenTree/models.py:119 company/models.py:412
-#: label/models.py:112 part/models.py:701 part/models.py:2212
+#: InvenTree/models.py:129 InvenTree/models.py:130 company/models.py:412
+#: label/models.py:112 part/models.py:718 part/models.py:2229
#: report/models.py:181 templates/InvenTree/search.html:137
#: templates/InvenTree/search.html:289 templates/js/company.js:545
#: templates/js/part.js:206 templates/js/part.js:339 templates/js/part.js:831
@@ -145,12 +145,12 @@ msgstr ""
msgid "Name"
msgstr "Adı"
-#: InvenTree/models.py:125 build/models.py:179
+#: InvenTree/models.py:136 build/models.py:187
#: build/templates/build/detail.html:24 company/models.py:351
#: company/models.py:519 company/templates/company/manufacturer_part.html:76
#: company/templates/company/supplier_part.html:75 label/models.py:119
#: order/models.py:158 order/templates/order/purchase_order_detail.html:312
-#: part/models.py:724 part/templates/part/set_category.html:14
+#: part/models.py:741 part/templates/part/set_category.html:14
#: report/models.py:194 report/models.py:551 report/models.py:590
#: report/templates/report/inventree_build_order_base.html:118
#: templates/InvenTree/search.html:144 templates/InvenTree/search.html:224
@@ -166,15 +166,15 @@ msgstr "Adı"
msgid "Description"
msgstr "Açıklama"
-#: InvenTree/models.py:126
+#: InvenTree/models.py:137
msgid "Description (optional)"
msgstr "Açıklama (isteğe bağlı)"
-#: InvenTree/models.py:134
+#: InvenTree/models.py:145
msgid "parent"
msgstr "üst"
-#: InvenTree/serializers.py:52 part/models.py:2448
+#: InvenTree/serializers.py:52 part/models.py:2465
msgid "Must be a valid number"
msgstr ""
@@ -461,11 +461,11 @@ msgstr "Emir hedef tarihi"
msgid "Target Date"
msgstr "Hedeflenen tarih"
-#: build/forms.py:43 build/models.py:269
+#: build/forms.py:43 build/models.py:277
msgid "Target date for build completion. Build will be overdue after this date."
msgstr "Yapım işinin tamamlanması için hedef tarih. Bu tarihten sonra yapım işi gecikmiş olacak."
-#: build/forms.py:48 build/forms.py:90 build/forms.py:266 build/models.py:1394
+#: build/forms.py:48 build/forms.py:90 build/forms.py:266 build/models.py:1402
#: build/templates/build/allocation_card.html:23
#: build/templates/build/auto_allocate.html:17
#: build/templates/build/build_base.html:133
@@ -479,7 +479,7 @@ msgstr "Yapım işinin tamamlanması için hedef tarih. Bu tarihten sonra yapım
#: order/templates/order/sales_order_detail.html:207
#: order/templates/order/sales_order_detail.html:292
#: order/templates/order/sales_order_detail.html:364 part/forms.py:323
-#: part/forms.py:353 part/forms.py:369 part/forms.py:385 part/models.py:2350
+#: part/forms.py:353 part/forms.py:369 part/forms.py:385 part/models.py:2367
#: part/templates/part/bom_upload/match_parts.html:31
#: part/templates/part/detail.html:939 part/templates/part/detail.html:1025
#: part/templates/part/part_pricing.html:16
@@ -588,18 +588,18 @@ msgstr "Yapım işi iptalini onayla"
msgid "Select quantity of stock to allocate"
msgstr "Tahsis edilecek stok miktarını seçiniz"
-#: build/models.py:105
+#: build/models.py:113
msgid "Invalid choice for parent build"
msgstr ""
-#: build/models.py:109 build/templates/build/build_base.html:9
+#: build/models.py:117 build/templates/build/build_base.html:9
#: build/templates/build/build_base.html:73
#: report/templates/report/inventree_build_order_base.html:106
#: templates/js/build.js:233
msgid "Build Order"
msgstr "Yapım İşi Emri"
-#: build/models.py:110 build/templates/build/index.html:8
+#: build/models.py:118 build/templates/build/index.html:8
#: build/templates/build/index.html:15
#: order/templates/order/sales_order_detail.html:34
#: order/templates/order/so_navbar.html:19
@@ -610,13 +610,13 @@ msgstr "Yapım İşi Emri"
msgid "Build Orders"
msgstr "Yapım İşi Emirleri"
-#: build/models.py:170
+#: build/models.py:178
msgid "Build Order Reference"
msgstr "Yapım İşi Emri Referansı"
-#: build/models.py:171 order/models.py:246 order/models.py:533
+#: build/models.py:179 order/models.py:246 order/models.py:533
#: order/models.py:713 order/templates/order/purchase_order_detail.html:343
-#: order/templates/order/sales_order_detail.html:359 part/models.py:2359
+#: order/templates/order/sales_order_detail.html:359 part/models.py:2376
#: part/templates/part/bom_upload/match_parts.html:30
#: report/templates/report/inventree_po_report.html:92
#: report/templates/report/inventree_so_report.html:92 templates/js/bom.js:197
@@ -624,30 +624,30 @@ msgstr "Yapım İşi Emri Referansı"
msgid "Reference"
msgstr "Referans"
-#: build/models.py:182
+#: build/models.py:190
msgid "Brief description of the build"
msgstr "Yapım işinin kısa açıklaması"
-#: build/models.py:191 build/templates/build/build_base.html:163
+#: build/models.py:199 build/templates/build/build_base.html:163
#: build/templates/build/detail.html:80
msgid "Parent Build"
msgstr "Üst Yapım İşi"
-#: build/models.py:192
+#: build/models.py:200
msgid "BuildOrder to which this build is allocated"
msgstr "Bu yapım işinin tahsis edildiği yapım işi emri"
-#: build/models.py:197 build/templates/build/auto_allocate.html:16
+#: build/models.py:205 build/templates/build/auto_allocate.html:16
#: build/templates/build/build_base.html:128
#: build/templates/build/detail.html:29 company/models.py:654
#: order/models.py:766 order/models.py:825
#: order/templates/order/order_wizard/select_parts.html:32
#: order/templates/order/purchase_order_detail.html:297
#: order/templates/order/receive_parts.html:19
-#: order/templates/order/sales_order_detail.html:344 part/models.py:346
-#: part/models.py:2008 part/models.py:2024 part/models.py:2043
-#: part/models.py:2061 part/models.py:2140 part/models.py:2244
-#: part/models.py:2334 part/templates/part/detail.html:199
+#: order/templates/order/sales_order_detail.html:344 part/models.py:347
+#: part/models.py:2025 part/models.py:2041 part/models.py:2060
+#: part/models.py:2078 part/models.py:2157 part/models.py:2261
+#: part/models.py:2351 part/templates/part/detail.html:199
#: part/templates/part/part_app_base.html:8
#: part/templates/part/part_pricing.html:12
#: part/templates/part/set_category.html:13
@@ -664,116 +664,116 @@ msgstr "Bu yapım işinin tahsis edildiği yapım işi emri"
msgid "Part"
msgstr "Parça"
-#: build/models.py:205
+#: build/models.py:213
msgid "Select part to build"
msgstr "Yapım işi için parça seçin"
-#: build/models.py:210
+#: build/models.py:218
msgid "Sales Order Reference"
msgstr "Satış Emri Referansı"
-#: build/models.py:214
+#: build/models.py:222
msgid "SalesOrder to which this build is allocated"
msgstr "Bu yapım işinin tahsis edildiği satış emri"
-#: build/models.py:219
+#: build/models.py:227
msgid "Source Location"
msgstr "Kaynak Konum"
-#: build/models.py:223
+#: build/models.py:231
msgid "Select location to take stock from for this build (leave blank to take from any stock location)"
msgstr "Bu yapım işi için stok alınacak konumu seçin (her hangi bir stok konumundan alınması için boş bırakın)"
-#: build/models.py:228
+#: build/models.py:236
msgid "Destination Location"
msgstr "Hedef Konum"
-#: build/models.py:232
+#: build/models.py:240
msgid "Select location where the completed items will be stored"
msgstr "Tamamlanmış ögelerin saklanacağı konumu seçiniz"
-#: build/models.py:236
+#: build/models.py:244
msgid "Build Quantity"
msgstr "Yapım İşi Miktarı"
-#: build/models.py:239
+#: build/models.py:247
msgid "Number of stock items to build"
msgstr "Yapım işi stok kalemlerinin sayısı"
-#: build/models.py:243
+#: build/models.py:251
msgid "Completed items"
msgstr "Tamamlanmış ögeler"
-#: build/models.py:245
+#: build/models.py:253
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:225
+#: build/models.py:257 part/templates/part/part_base.html:225
msgid "Build Status"
msgstr "Yapım İşi Durumu"
-#: build/models.py:253
+#: build/models.py:261
msgid "Build status code"
msgstr "Yapım işi durum kodu"
-#: build/models.py:257 stock/models.py:496
+#: build/models.py:265 stock/models.py:507
msgid "Batch Code"
msgstr "Sıra numarası"
-#: build/models.py:261
+#: build/models.py:269
msgid "Batch code for this build output"
msgstr "Yapım işi çıktısı için sıra numarası"
-#: build/models.py:264 order/models.py:162 part/models.py:896
+#: build/models.py:272 order/models.py:162 part/models.py:913
#: part/templates/part/part_base.html:143 templates/js/order.js:362
msgid "Creation Date"
msgstr "Oluşturulma tarihi"
-#: build/models.py:268 order/models.py:555
+#: build/models.py:276 order/models.py:555
msgid "Target completion date"
msgstr "Hedef tamamlama tarihi"
-#: build/models.py:272 order/models.py:288 templates/js/build.js:950
+#: build/models.py:280 order/models.py:288 templates/js/build.js:950
msgid "Completion Date"
msgstr "Tamamlama tarihi"
-#: build/models.py:278
+#: build/models.py:286
msgid "completed by"
msgstr "tamamlayan"
-#: build/models.py:286 templates/js/build.js:915
+#: build/models.py:294 templates/js/build.js:915
msgid "Issued by"
msgstr "Veren"
-#: build/models.py:287
+#: build/models.py:295
msgid "User who issued this build order"
msgstr "Bu yapım işi emrini veren kullanıcı"
-#: build/models.py:295 build/templates/build/build_base.html:184
+#: build/models.py:303 build/templates/build/build_base.html:184
#: build/templates/build/detail.html:108 order/models.py:176
#: order/templates/order/order_base.html:138
-#: order/templates/order/sales_order_base.html:140 part/models.py:900
+#: order/templates/order/sales_order_base.html:140 part/models.py:917
#: report/templates/report/inventree_build_order_base.html:159
msgid "Responsible"
msgstr "Sorumlu"
-#: build/models.py:296
+#: build/models.py:304
msgid "User responsible for this build order"
msgstr "Bu yapım işi emrinden sorumlu kullanıcı"
-#: build/models.py:301 build/templates/build/detail.html:94
+#: build/models.py:309 build/templates/build/detail.html:94
#: company/templates/company/manufacturer_part.html:83
#: company/templates/company/supplier_part.html:82
-#: part/templates/part/part_base.html:137 stock/models.py:490
+#: part/templates/part/part_base.html:137 stock/models.py:501
#: stock/templates/stock/item_base.html:357
msgid "External Link"
msgstr "Harici Bağlantı"
-#: build/models.py:302 part/models.py:758 stock/models.py:492
+#: build/models.py:310 part/models.py:775 stock/models.py:503
msgid "Link to external URL"
msgstr "Harici URL'ye bağlantı"
-#: build/models.py:306 build/templates/build/navbar.html:52
+#: build/models.py:314 build/templates/build/navbar.html:52
#: company/models.py:139 company/models.py:526
#: company/templates/company/navbar.html:63
#: company/templates/company/navbar.html:66 order/models.py:180
@@ -782,12 +782,12 @@ msgstr "Harici URL'ye bağlantı"
#: order/templates/order/purchase_order_detail.html:419
#: order/templates/order/sales_order_detail.html:439
#: order/templates/order/so_navbar.html:33
-#: order/templates/order/so_navbar.html:36 part/models.py:885
+#: order/templates/order/so_navbar.html:36 part/models.py:902
#: part/templates/part/detail.html:105 part/templates/part/navbar.html:108
#: part/templates/part/navbar.html:111
#: report/templates/report/inventree_build_order_base.html:173
-#: stock/forms.py:139 stock/forms.py:256 stock/forms.py:288 stock/models.py:562
-#: stock/models.py:1704 stock/models.py:1810
+#: stock/forms.py:139 stock/forms.py:256 stock/forms.py:288 stock/models.py:573
+#: stock/models.py:1715 stock/models.py:1821
#: stock/templates/stock/navbar.html:57 templates/js/barcode.js:37
#: templates/js/bom.js:349 templates/js/company.js:746
#: templates/js/stock.js:258 templates/js/stock.js:499
@@ -795,63 +795,63 @@ msgstr "Harici URL'ye bağlantı"
msgid "Notes"
msgstr "Notlar"
-#: build/models.py:307
+#: build/models.py:315
msgid "Extra build notes"
msgstr "Yapım işi için ekstra notlar"
-#: build/models.py:784
+#: build/models.py:792
msgid "No build output specified"
msgstr "Yapım işi çıktısı belirtilmedi"
-#: build/models.py:787
+#: build/models.py:795
msgid "Build output is already completed"
msgstr "Yapım işi çıktısı zaten tamamlanmış"
-#: build/models.py:790
+#: build/models.py:798
msgid "Build output does not match Build Order"
msgstr "Yapım işi çıktısı, yapım işi emri ile eşleşmiyor"
-#: build/models.py:1200
+#: build/models.py:1208
msgid "BuildItem must be unique for build, stock_item and install_into"
msgstr "Yapım işi ögesi; yapım işi, stok kalemi ve kurulacak yer için benzersiz olmalıdır"
-#: build/models.py:1225
+#: build/models.py:1233
msgid "Build item must specify a build output, as master part is marked as trackable"
msgstr "Ana parça izlenebilir olarak işaretlendiğinden, yapım işi çıktısı için bir yapım işi ögesi belirtmelidir"
-#: build/models.py:1229
+#: build/models.py:1237
#, python-brace-format
msgid "Allocated quantity ({n}) must not exceed available quantity ({q})"
msgstr "Tahsis edilecek miktar ({n}) mevcut miktarı ({q}) geçmemeli"
-#: build/models.py:1236 order/models.py:926
+#: build/models.py:1244 order/models.py:926
msgid "StockItem is over-allocated"
msgstr "Stok kalemi fazladan tahsis edilmiş"
-#: build/models.py:1240 order/models.py:929
+#: build/models.py:1248 order/models.py:929
msgid "Allocation quantity must be greater than zero"
msgstr "Tahsis edilen miktar sıfırdan büyük olmalıdır"
-#: build/models.py:1244
+#: build/models.py:1252
msgid "Quantity must be 1 for serialized stock"
msgstr "Seri numaralı stok için miktar bir olmalı"
-#: build/models.py:1304
+#: build/models.py:1312
#, python-brace-format
msgid "Selected stock item not found in BOM for part '{p}'"
msgstr "{p} parçasının malzeme listesindeki seçili stok kalemi bulunamadı"
-#: build/models.py:1364 stock/templates/stock/item_base.html:329
+#: build/models.py:1372 stock/templates/stock/item_base.html:329
#: templates/InvenTree/search.html:183 templates/js/build.js:846
#: templates/navbar.html:29
msgid "Build"
msgstr "Yapım İşi"
-#: build/models.py:1365
+#: build/models.py:1373
msgid "Build to allocate parts"
msgstr "Yapım işi için tahsis edilen parçalar"
-#: build/models.py:1381 stock/templates/stock/item_base.html:8
+#: build/models.py:1389 stock/templates/stock/item_base.html:8
#: stock/templates/stock/item_base.html:31
#: stock/templates/stock/item_base.html:351
#: stock/templates/stock/stock_adjust.html:16 templates/js/build.js:244
@@ -861,19 +861,19 @@ msgstr "Yapım işi için tahsis edilen parçalar"
msgid "Stock Item"
msgstr "Stok Kalemi"
-#: build/models.py:1382
+#: build/models.py:1390
msgid "Source stock item"
msgstr "Kaynak stok kalemi"
-#: build/models.py:1395
+#: build/models.py:1403
msgid "Stock quantity to allocate to build"
msgstr "Yapım işi için tahsis edilen stok miktarı"
-#: build/models.py:1403
+#: build/models.py:1411
msgid "Install into"
msgstr "Kurulduğu yer"
-#: build/models.py:1404
+#: build/models.py:1412
msgid "Destination stock item"
msgstr "Hedef stok kalemi"
@@ -882,7 +882,7 @@ msgstr "Hedef stok kalemi"
#: order/templates/order/sales_order_detail.html:205
#: order/templates/order/sales_order_detail.html:290
#: report/templates/report/inventree_test_report_base.html:75
-#: stock/models.py:484 stock/templates/stock/item_base.html:249
+#: stock/models.py:495 stock/templates/stock/item_base.html:249
#: templates/js/build.js:604 templates/js/model_renderers.js:54
msgid "Serial Number"
msgstr "Seri Numara"
@@ -1609,7 +1609,7 @@ msgstr ""
msgid "Number of recent parts to display on index page"
msgstr ""
-#: common/models.py:158 part/models.py:2246 report/models.py:187
+#: common/models.py:158 part/models.py:2263 report/models.py:187
#: stock/forms.py:225 templates/js/table_filters.js:25
#: templates/js/table_filters.js:324
msgid "Template"
@@ -1619,7 +1619,7 @@ msgstr "Şablon"
msgid "Parts are templates by default"
msgstr "Parçaları varsayılan olan şablondur"
-#: common/models.py:165 part/models.py:848 templates/js/table_filters.js:132
+#: common/models.py:165 part/models.py:865 templates/js/table_filters.js:132
#: templates/js/table_filters.js:336
msgid "Assembly"
msgstr "Montaj"
@@ -1628,7 +1628,7 @@ msgstr "Montaj"
msgid "Parts can be assembled from other components by default"
msgstr "Parçalar varsayılan olarak başka bileşenlerden monte edilebilir"
-#: common/models.py:172 part/models.py:854 templates/js/table_filters.js:340
+#: common/models.py:172 part/models.py:871 templates/js/table_filters.js:340
msgid "Component"
msgstr "Bileşen"
@@ -1636,7 +1636,7 @@ msgstr "Bileşen"
msgid "Parts can be used as sub-components by default"
msgstr "Parçalar varsayılan olarak alt bileşen olarak kullanılabilir"
-#: common/models.py:179 part/models.py:865
+#: common/models.py:179 part/models.py:882
msgid "Purchaseable"
msgstr "Satın Alınabilir"
@@ -1644,7 +1644,7 @@ msgstr "Satın Alınabilir"
msgid "Parts are purchaseable by default"
msgstr "Parçalar varsayılan olarak satın alınabilir"
-#: common/models.py:186 part/models.py:870 templates/js/table_filters.js:348
+#: common/models.py:186 part/models.py:887 templates/js/table_filters.js:348
msgid "Salable"
msgstr "Satılabilir"
@@ -1652,7 +1652,7 @@ msgstr "Satılabilir"
msgid "Parts are salable by default"
msgstr "Parçalar varsayılan olarak satılabilir"
-#: common/models.py:193 part/models.py:860 templates/js/table_filters.js:33
+#: common/models.py:193 part/models.py:877 templates/js/table_filters.js:33
#: templates/js/table_filters.js:352
msgid "Trackable"
msgstr "Takip Edilebilir"
@@ -1661,7 +1661,7 @@ msgstr "Takip Edilebilir"
msgid "Parts are trackable by default"
msgstr "Parçalar varsayılan olarak takip edilebilir"
-#: common/models.py:200 part/models.py:880 templates/js/table_filters.js:29
+#: common/models.py:200 part/models.py:897 templates/js/table_filters.js:29
msgid "Virtual"
msgstr "Sanal"
@@ -2006,7 +2006,7 @@ msgid "Point of contact"
msgstr ""
#: company/models.py:128 company/models.py:345 company/models.py:513
-#: order/models.py:160 part/models.py:757
+#: order/models.py:160 part/models.py:774
#: report/templates/report/inventree_build_order_base.html:165
#: templates/js/company.js:448 templates/js/company.js:730
#: templates/js/part.js:687
@@ -2017,7 +2017,7 @@ msgstr ""
msgid "Link to external company information"
msgstr ""
-#: company/models.py:136 part/models.py:767
+#: company/models.py:136 part/models.py:784
msgid "Image"
msgstr ""
@@ -2054,7 +2054,7 @@ msgstr ""
msgid "Default currency used for this company"
msgstr ""
-#: company/models.py:317 company/models.py:484 stock/models.py:437
+#: company/models.py:317 company/models.py:484 stock/models.py:448
#: stock/templates/stock/item_base.html:235
msgid "Base Part"
msgstr ""
@@ -2108,7 +2108,7 @@ msgstr ""
#: company/models.py:419
#: report/templates/report/inventree_test_report_base.html:90
-#: stock/models.py:1797 templates/InvenTree/settings/header.html:8
+#: stock/models.py:1808 templates/InvenTree/settings/header.html:8
#: templates/js/company.js:551 templates/js/part.js:348
#: templates/js/stock.js:495
msgid "Value"
@@ -2118,7 +2118,7 @@ msgstr ""
msgid "Parameter value"
msgstr ""
-#: company/models.py:426 part/models.py:842 part/models.py:2214
+#: company/models.py:426 part/models.py:859 part/models.py:2231
#: templates/js/company.js:557 templates/js/part.js:354
msgid "Units"
msgstr ""
@@ -2164,21 +2164,21 @@ msgid "Supplier part description"
msgstr ""
#: company/models.py:525 company/templates/company/supplier_part.html:120
-#: part/models.py:2362 report/templates/report/inventree_po_report.html:93
+#: part/models.py:2379 report/templates/report/inventree_po_report.html:93
#: report/templates/report/inventree_so_report.html:93
msgid "Note"
msgstr ""
-#: company/models.py:529 part/models.py:1635
+#: company/models.py:529 part/models.py:1652
msgid "base cost"
msgstr ""
-#: company/models.py:529 part/models.py:1635
+#: company/models.py:529 part/models.py:1652
msgid "Minimum charge (e.g. stocking fee)"
msgstr ""
#: company/models.py:531 company/templates/company/supplier_part.html:113
-#: stock/models.py:461 stock/templates/stock/item_base.html:322
+#: stock/models.py:472 stock/templates/stock/item_base.html:322
#: templates/js/company.js:751 templates/js/stock.js:1078
msgid "Packaging"
msgstr ""
@@ -2187,7 +2187,7 @@ msgstr ""
msgid "Part packaging"
msgstr ""
-#: company/models.py:533 part/models.py:1637
+#: company/models.py:533 part/models.py:1654
msgid "multiple"
msgstr ""
@@ -2245,8 +2245,8 @@ msgid "Phone"
msgstr ""
#: company/templates/company/company_base.html:126 order/models.py:544
-#: order/templates/order/sales_order_base.html:94 stock/models.py:479
-#: stock/models.py:480 stock/templates/stock/item_base.html:274
+#: order/templates/order/sales_order_base.html:94 stock/models.py:490
+#: stock/models.py:491 stock/templates/stock/item_base.html:274
#: templates/js/company.js:245 templates/js/order.js:331
#: templates/js/stock.js:1456
msgid "Customer"
@@ -2519,7 +2519,7 @@ msgid "Stock Items"
msgstr "Stok Kalemleri"
#: company/templates/company/supplier_part.html:7
-#: company/templates/company/supplier_part.html:24 stock/models.py:446
+#: company/templates/company/supplier_part.html:24 stock/models.py:457
#: stock/templates/stock/item_base.html:386 templates/js/company.js:691
#: templates/js/stock.js:1050
msgid "Supplier Part"
@@ -2801,7 +2801,7 @@ msgstr ""
msgid "Date order was completed"
msgstr ""
-#: order/models.py:313 stock/models.py:334 stock/models.py:1049
+#: order/models.py:313 stock/models.py:345 stock/models.py:1060
msgid "Quantity must be greater than zero"
msgstr ""
@@ -2888,7 +2888,7 @@ msgstr ""
msgid "Number of items received"
msgstr ""
-#: order/models.py:776 part/templates/part/prices.html:157 stock/models.py:571
+#: order/models.py:776 part/templates/part/prices.html:157 stock/models.py:582
#: stock/templates/stock/item_base.html:343 templates/js/stock.js:1073
msgid "Purchase Price"
msgstr ""
@@ -3267,7 +3267,7 @@ msgid "Receive outstanding parts for %(order)s - %(desc)s"
msgstr ""
#: order/templates/order/receive_parts.html:14 part/api.py:47
-#: part/models.py:347 part/templates/part/cat_link.html:7
+#: part/models.py:348 part/templates/part/cat_link.html:7
#: part/templates/part/category.html:108 part/templates/part/category.html:122
#: part/templates/part/category_navbar.html:21
#: part/templates/part/category_navbar.html:24
@@ -3587,7 +3587,7 @@ msgstr ""
msgid "Updated {part} unit-price to {price} and quantity to {qty}"
msgstr ""
-#: part/bom.py:133 part/models.py:73 part/models.py:776
+#: part/bom.py:133 part/models.py:74 part/models.py:793
#: part/templates/part/category.html:75
msgid "Default Location"
msgstr "Varsayılan Konum"
@@ -3652,7 +3652,7 @@ msgstr ""
msgid "Include part supplier data in exported BOM"
msgstr "Dışa aktarılan malzeme listesine parça tedarikçisi verilerini dahil edin"
-#: part/forms.py:97 part/models.py:2244
+#: part/forms.py:97 part/models.py:2261
msgid "Parent Part"
msgstr ""
@@ -3728,7 +3728,7 @@ msgstr "Parametre şablonunu aynı seviyedeki kategorilere ekle"
msgid "Add parameter template to all categories"
msgstr "Parametre şablonunu tüm kategorilere ekle"
-#: part/forms.py:325 part/models.py:2343
+#: part/forms.py:325 part/models.py:2360
msgid "Sub part"
msgstr ""
@@ -3736,370 +3736,374 @@ msgstr ""
msgid "Input quantity for price calculation"
msgstr ""
-#: part/models.py:74
+#: part/models.py:75
msgid "Default location for parts in this category"
msgstr "Bu kategori içindeki parçalar için varsayılan konum"
-#: part/models.py:77
+#: part/models.py:78
msgid "Default keywords"
msgstr ""
-#: part/models.py:77
+#: part/models.py:78
msgid "Default keywords for parts in this category"
msgstr ""
-#: part/models.py:87 part/models.py:2290
+#: part/models.py:88 part/models.py:2307
#: part/templates/part/part_app_base.html:10
msgid "Part Category"
msgstr ""
-#: part/models.py:88 part/templates/part/category.html:32
+#: part/models.py:89 part/templates/part/category.html:32
#: part/templates/part/category.html:103 templates/InvenTree/search.html:127
#: templates/stats.html:84 users/models.py:40
msgid "Part Categories"
msgstr "Parça Kategorileri"
-#: part/models.py:478 part/models.py:490
+#: part/models.py:433
+msgid "Invalid choice for parent part"
+msgstr ""
+
+#: part/models.py:495 part/models.py:507
#, python-brace-format
msgid "Part '{p1}' is used in BOM for '{p2}' (recursive)"
msgstr ""
-#: part/models.py:587
+#: part/models.py:604
msgid "Next available serial numbers are"
msgstr "Sonraki kullanılabilir seri numaraları"
-#: part/models.py:591
+#: part/models.py:608
msgid "Next available serial number is"
msgstr "Sonraki müsait seri numarası"
-#: part/models.py:596
+#: part/models.py:613
msgid "Most recent serial number is"
msgstr "En son seri numarası"
-#: part/models.py:675
+#: part/models.py:692
msgid "Duplicate IPN not allowed in part settings"
msgstr "Yinelenen DPN'ye parça ayarlarında izin verilmiyor"
-#: part/models.py:700
+#: part/models.py:717
msgid "Part name"
msgstr ""
-#: part/models.py:707
+#: part/models.py:724
msgid "Is Template"
msgstr "Şablon Mu"
-#: part/models.py:708
+#: part/models.py:725
msgid "Is this part a template part?"
msgstr "Bu parça bir şablon parçası mı?"
-#: part/models.py:718
+#: part/models.py:735
msgid "Is this part a variant of another part?"
msgstr "Bu parça başka bir parçanın çeşidi mi?"
-#: part/models.py:719
+#: part/models.py:736
msgid "Variant Of"
msgstr "Çeşidi"
-#: part/models.py:725
+#: part/models.py:742
msgid "Part description"
msgstr ""
-#: part/models.py:730 part/templates/part/category.html:82
+#: part/models.py:747 part/templates/part/category.html:82
#: part/templates/part/part_base.html:130
msgid "Keywords"
msgstr ""
-#: part/models.py:731
+#: part/models.py:748
msgid "Part keywords to improve visibility in search results"
msgstr ""
-#: part/models.py:738 part/models.py:2289
+#: part/models.py:755 part/models.py:2306
#: part/templates/part/set_category.html:15 templates/js/part.js:641
msgid "Category"
msgstr ""
-#: part/models.py:739
+#: part/models.py:756
msgid "Part category"
msgstr ""
-#: part/models.py:744 templates/js/part.js:257 templates/js/part.js:485
+#: part/models.py:761 templates/js/part.js:257 templates/js/part.js:485
msgid "IPN"
msgstr "DPN"
-#: part/models.py:745
+#: part/models.py:762
msgid "Internal Part Number"
msgstr ""
-#: part/models.py:751
+#: part/models.py:768
msgid "Part revision or version number"
msgstr "Parça revizyon veya versiyon numarası"
-#: part/models.py:752 report/models.py:200 templates/js/part.js:261
+#: part/models.py:769 report/models.py:200 templates/js/part.js:261
msgid "Revision"
msgstr "Revizyon"
-#: part/models.py:774
+#: part/models.py:791
msgid "Where is this item normally stored?"
msgstr ""
-#: part/models.py:821
+#: part/models.py:838
msgid "Default Supplier"
msgstr ""
-#: part/models.py:822
+#: part/models.py:839
msgid "Default supplier part"
msgstr "Varsayılan tedarikçi parçası"
-#: part/models.py:829
+#: part/models.py:846
msgid "Default Expiry"
msgstr ""
-#: part/models.py:830
+#: part/models.py:847
msgid "Expiry time (in days) for stock items of this part"
msgstr ""
-#: part/models.py:835
+#: part/models.py:852
msgid "Minimum Stock"
msgstr ""
-#: part/models.py:836
+#: part/models.py:853
msgid "Minimum allowed stock level"
msgstr ""
-#: part/models.py:843
+#: part/models.py:860
msgid "Stock keeping units for this part"
msgstr ""
-#: part/models.py:849
+#: part/models.py:866
msgid "Can this part be built from other parts?"
msgstr "Bu parça diğer parçalardan yapılabilir mi?"
-#: part/models.py:855
+#: part/models.py:872
msgid "Can this part be used to build other parts?"
msgstr "Bu parça diğer parçaların yapımında kullanılabilir mi?"
-#: part/models.py:861
+#: part/models.py:878
msgid "Does this part have tracking for unique items?"
msgstr ""
-#: part/models.py:866
+#: part/models.py:883
msgid "Can this part be purchased from external suppliers?"
msgstr "Bu parça dış tedarikçilerden satın alınabilir mi?"
-#: part/models.py:871
+#: part/models.py:888
msgid "Can this part be sold to customers?"
msgstr "Bu parça müşterilere satılabilir mi?"
-#: part/models.py:875 templates/js/table_filters.js:21
+#: part/models.py:892 templates/js/table_filters.js:21
#: templates/js/table_filters.js:69 templates/js/table_filters.js:250
#: templates/js/table_filters.js:319
msgid "Active"
msgstr ""
-#: part/models.py:876
+#: part/models.py:893
msgid "Is this part active?"
msgstr ""
-#: part/models.py:881
+#: part/models.py:898
msgid "Is this a virtual part, such as a software product or license?"
msgstr ""
-#: part/models.py:886
+#: part/models.py:903
msgid "Part notes - supports Markdown formatting"
msgstr ""
-#: part/models.py:889
+#: part/models.py:906
msgid "BOM checksum"
msgstr ""
-#: part/models.py:889
+#: part/models.py:906
msgid "Stored BOM checksum"
msgstr ""
-#: part/models.py:892
+#: part/models.py:909
msgid "BOM checked by"
msgstr ""
-#: part/models.py:894
+#: part/models.py:911
msgid "BOM checked date"
msgstr ""
-#: part/models.py:898
+#: part/models.py:915
msgid "Creation User"
msgstr ""
-#: part/models.py:1637
+#: part/models.py:1654
msgid "Sell multiple"
msgstr ""
-#: part/models.py:2108
+#: part/models.py:2125
msgid "Test templates can only be created for trackable parts"
msgstr "Test şablonları sadece takip edilebilir paçalar için oluşturulabilir"
-#: part/models.py:2125
+#: part/models.py:2142
msgid "Test with this name already exists for this part"
msgstr ""
-#: part/models.py:2145 templates/js/part.js:906 templates/js/stock.js:475
+#: part/models.py:2162 templates/js/part.js:906 templates/js/stock.js:475
msgid "Test Name"
msgstr ""
-#: part/models.py:2146
+#: part/models.py:2163
msgid "Enter a name for the test"
msgstr ""
-#: part/models.py:2151
+#: part/models.py:2168
msgid "Test Description"
msgstr ""
-#: part/models.py:2152
+#: part/models.py:2169
msgid "Enter description for this test"
msgstr ""
-#: part/models.py:2157 templates/js/part.js:915
+#: part/models.py:2174 templates/js/part.js:915
#: templates/js/table_filters.js:236
msgid "Required"
msgstr "Gerekli"
-#: part/models.py:2158
+#: part/models.py:2175
msgid "Is this test required to pass?"
msgstr "Testi geçmesi için bu gerekli mi?"
-#: part/models.py:2163 templates/js/part.js:923
+#: part/models.py:2180 templates/js/part.js:923
msgid "Requires Value"
msgstr ""
-#: part/models.py:2164
+#: part/models.py:2181
msgid "Does this test require a value when adding a test result?"
msgstr ""
-#: part/models.py:2169 templates/js/part.js:930
+#: part/models.py:2186 templates/js/part.js:930
msgid "Requires Attachment"
msgstr ""
-#: part/models.py:2170
+#: part/models.py:2187
msgid "Does this test require a file attachment when adding a test result?"
msgstr ""
-#: part/models.py:2207
+#: part/models.py:2224
msgid "Parameter template name must be unique"
msgstr "Parametre şablon adı benzersiz olmalıdır"
-#: part/models.py:2212
+#: part/models.py:2229
msgid "Parameter Name"
msgstr ""
-#: part/models.py:2214
+#: part/models.py:2231
msgid "Parameter Units"
msgstr ""
-#: part/models.py:2246 part/models.py:2295 part/models.py:2296
+#: part/models.py:2263 part/models.py:2312 part/models.py:2313
#: templates/InvenTree/settings/category.html:62
msgid "Parameter Template"
msgstr "Parametre Şablonu"
-#: part/models.py:2248
+#: part/models.py:2265
msgid "Data"
msgstr ""
-#: part/models.py:2248
+#: part/models.py:2265
msgid "Parameter Value"
msgstr ""
-#: part/models.py:2300 templates/InvenTree/settings/category.html:67
+#: part/models.py:2317 templates/InvenTree/settings/category.html:67
msgid "Default Value"
msgstr ""
-#: part/models.py:2301
+#: part/models.py:2318
msgid "Default Parameter Value"
msgstr ""
-#: part/models.py:2335
+#: part/models.py:2352
msgid "Select parent part"
msgstr ""
-#: part/models.py:2344
+#: part/models.py:2361
msgid "Select part to be used in BOM"
msgstr ""
-#: part/models.py:2350
+#: part/models.py:2367
msgid "BOM quantity for this BOM item"
msgstr ""
-#: part/models.py:2352 templates/js/bom.js:216 templates/js/bom.js:278
+#: part/models.py:2369 templates/js/bom.js:216 templates/js/bom.js:278
msgid "Optional"
msgstr ""
-#: part/models.py:2352
+#: part/models.py:2369
msgid "This BOM item is optional"
msgstr ""
-#: part/models.py:2355
+#: part/models.py:2372
msgid "Overage"
msgstr ""
-#: part/models.py:2356
+#: part/models.py:2373
msgid "Estimated build wastage quantity (absolute or percentage)"
msgstr ""
-#: part/models.py:2359
+#: part/models.py:2376
msgid "BOM item reference"
msgstr ""
-#: part/models.py:2362
+#: part/models.py:2379
msgid "BOM item notes"
msgstr ""
-#: part/models.py:2364
+#: part/models.py:2381
msgid "Checksum"
msgstr ""
-#: part/models.py:2364
+#: part/models.py:2381
msgid "BOM line checksum"
msgstr ""
-#: part/models.py:2368 templates/js/bom.js:295 templates/js/bom.js:302
+#: part/models.py:2385 templates/js/bom.js:295 templates/js/bom.js:302
#: templates/js/table_filters.js:55
msgid "Inherited"
msgstr ""
-#: part/models.py:2369
+#: part/models.py:2386
msgid "This BOM item is inherited by BOMs for variant parts"
msgstr "Bu malzeme listesi, çeşit parçalar listesini kalıtsalıdır"
-#: part/models.py:2374 templates/js/bom.js:287
+#: part/models.py:2391 templates/js/bom.js:287
msgid "Allow Variants"
msgstr "Çeşide İzin Ver"
-#: part/models.py:2375
+#: part/models.py:2392
msgid "Stock items for variant parts can be used for this BOM item"
msgstr "Çeşit parçaların stok kalemleri bu malzeme listesinde kullanılabilir"
-#: part/models.py:2460 stock/models.py:324
+#: part/models.py:2477 stock/models.py:335
msgid "Quantity must be integer value for trackable parts"
msgstr ""
-#: part/models.py:2469 part/models.py:2471
+#: part/models.py:2486 part/models.py:2488
msgid "Sub part must be specified"
msgstr ""
-#: part/models.py:2474
+#: part/models.py:2491
msgid "BOM Item"
msgstr ""
-#: part/models.py:2593
+#: part/models.py:2610
msgid "Part 1"
msgstr ""
-#: part/models.py:2597
+#: part/models.py:2614
msgid "Part 2"
msgstr ""
-#: part/models.py:2597
+#: part/models.py:2614
msgid "Select Related Part"
msgstr ""
-#: part/models.py:2629
+#: part/models.py:2646
msgid "Error creating relationship: check that the part is not related to itself and that the relationship is unique"
msgstr ""
@@ -5088,12 +5092,12 @@ msgid "Test Results"
msgstr ""
#: report/templates/report/inventree_test_report_base.html:88
-#: stock/models.py:1785
+#: stock/models.py:1796
msgid "Test"
msgstr ""
#: report/templates/report/inventree_test_report_base.html:89
-#: stock/models.py:1791
+#: stock/models.py:1802
msgid "Result"
msgstr ""
@@ -5152,7 +5156,7 @@ msgstr ""
msgid "Moved {n} parts to {loc}"
msgstr ""
-#: stock/forms.py:80 stock/forms.py:313 stock/models.py:539
+#: stock/forms.py:80 stock/forms.py:313 stock/models.py:550
#: stock/templates/stock/item_base.html:393 templates/js/stock.js:1018
msgid "Expiry Date"
msgstr ""
@@ -5209,187 +5213,187 @@ msgstr ""
msgid "Confirm removal of installed stock items"
msgstr "Kurulu stok kalemlerinin kaldırılmasını onayla"
-#: stock/models.py:57 stock/models.py:576
+#: stock/models.py:57 stock/models.py:587
msgid "Owner"
msgstr ""
-#: stock/models.py:58 stock/models.py:577
+#: stock/models.py:58 stock/models.py:588
msgid "Select Owner"
msgstr ""
-#: stock/models.py:305
+#: stock/models.py:316
msgid "StockItem with this serial number already exists"
msgstr "Bu seri numarasına sahip stok kalemi zaten var"
-#: stock/models.py:341
+#: stock/models.py:352
#, python-brace-format
msgid "Part type ('{pf}') must be {pe}"
msgstr ""
-#: stock/models.py:351 stock/models.py:360
+#: stock/models.py:362 stock/models.py:371
msgid "Quantity must be 1 for item with a serial number"
msgstr "Seri numarası olan ögenin miktarı bir olmalı"
-#: stock/models.py:352
+#: stock/models.py:363
msgid "Serial number cannot be set if quantity greater than 1"
msgstr "Miktar birden büyük ise seri numarası ayarlanamaz"
-#: stock/models.py:374
+#: stock/models.py:385
msgid "Item cannot belong to itself"
msgstr ""
-#: stock/models.py:380
+#: stock/models.py:391
msgid "Item must have a build reference if is_building=True"
msgstr ""
-#: stock/models.py:387
+#: stock/models.py:398
msgid "Build reference does not point to the same part object"
msgstr ""
-#: stock/models.py:429
+#: stock/models.py:440
msgid "Parent Stock Item"
msgstr "Üst Stok Kalemi"
-#: stock/models.py:438
+#: stock/models.py:449
msgid "Base part"
msgstr ""
-#: stock/models.py:447
+#: stock/models.py:458
msgid "Select a matching supplier part for this stock item"
msgstr "Bu stok kalemi için tedarikçi parçası seçin"
-#: stock/models.py:452 stock/templates/stock/stock_app_base.html:8
+#: stock/models.py:463 stock/templates/stock/stock_app_base.html:8
msgid "Stock Location"
msgstr "Stok Konumu"
-#: stock/models.py:455
+#: stock/models.py:466
msgid "Where is this stock item located?"
msgstr ""
-#: stock/models.py:462
+#: stock/models.py:473
msgid "Packaging this stock item is stored in"
msgstr ""
-#: stock/models.py:467 stock/templates/stock/item_base.html:282
+#: stock/models.py:478 stock/templates/stock/item_base.html:282
msgid "Installed In"
msgstr ""
-#: stock/models.py:470
+#: stock/models.py:481
msgid "Is this item installed in another item?"
msgstr ""
-#: stock/models.py:486
+#: stock/models.py:497
msgid "Serial number for this item"
msgstr "Bu öge için seri numarası"
-#: stock/models.py:498
+#: stock/models.py:509
msgid "Batch code for this stock item"
msgstr ""
-#: stock/models.py:502
+#: stock/models.py:513
msgid "Stock Quantity"
msgstr ""
-#: stock/models.py:511
+#: stock/models.py:522
msgid "Source Build"
msgstr ""
-#: stock/models.py:513
+#: stock/models.py:524
msgid "Build for this stock item"
msgstr ""
-#: stock/models.py:524
+#: stock/models.py:535
msgid "Source Purchase Order"
msgstr ""
-#: stock/models.py:527
+#: stock/models.py:538
msgid "Purchase order for this stock item"
msgstr ""
-#: stock/models.py:533
+#: stock/models.py:544
msgid "Destination Sales Order"
msgstr ""
-#: stock/models.py:540
+#: stock/models.py:551
msgid "Expiry date for stock item. Stock will be considered expired after this date"
msgstr ""
-#: stock/models.py:553
+#: stock/models.py:564
msgid "Delete on deplete"
msgstr ""
-#: stock/models.py:553
+#: stock/models.py:564
msgid "Delete this Stock Item when stock is depleted"
msgstr ""
-#: stock/models.py:563 stock/templates/stock/item.html:98
+#: stock/models.py:574 stock/templates/stock/item.html:98
#: stock/templates/stock/navbar.html:54
msgid "Stock Item Notes"
msgstr ""
-#: stock/models.py:572
+#: stock/models.py:583
msgid "Single unit purchase price at time of purchase"
msgstr ""
-#: stock/models.py:1040
+#: stock/models.py:1051
msgid "Part is not set as trackable"
msgstr ""
-#: stock/models.py:1046
+#: stock/models.py:1057
msgid "Quantity must be integer"
msgstr ""
-#: stock/models.py:1052
+#: stock/models.py:1063
#, python-brace-format
msgid "Quantity must not exceed available stock quantity ({n})"
msgstr ""
-#: stock/models.py:1055
+#: stock/models.py:1066
msgid "Serial numbers must be a list of integers"
msgstr "Seri numaraları tam sayı listesi olmalı"
-#: stock/models.py:1058
+#: stock/models.py:1069
msgid "Quantity does not match serial numbers"
msgstr "Miktar seri numaları ile eşleşmiyor"
-#: stock/models.py:1065
+#: stock/models.py:1076
#, python-brace-format
msgid "Serial numbers already exist: {exists}"
msgstr "Seri numaraları zaten mevcut: {exists}"
-#: stock/models.py:1223
+#: stock/models.py:1234
msgid "StockItem cannot be moved as it is not in stock"
msgstr "Stok kalemi stokta olmadığı için taşınamaz"
-#: stock/models.py:1705
+#: stock/models.py:1716
msgid "Entry notes"
msgstr ""
-#: stock/models.py:1762
+#: stock/models.py:1773
msgid "Value must be provided for this test"
msgstr ""
-#: stock/models.py:1768
+#: stock/models.py:1779
msgid "Attachment must be uploaded for this test"
msgstr ""
-#: stock/models.py:1786
+#: stock/models.py:1797
msgid "Test name"
msgstr ""
-#: stock/models.py:1792 templates/js/table_filters.js:226
+#: stock/models.py:1803 templates/js/table_filters.js:226
msgid "Test result"
msgstr ""
-#: stock/models.py:1798
+#: stock/models.py:1809
msgid "Test output value"
msgstr ""
-#: stock/models.py:1805
+#: stock/models.py:1816
msgid "Test result attachment"
msgstr ""
-#: stock/models.py:1811
+#: stock/models.py:1822
msgid "Test notes"
msgstr ""
@@ -6681,15 +6685,15 @@ msgstr ""
msgid "View operation not allowed"
msgstr ""
-#: templates/js/forms.js:811 templates/modals.html:21 templates/modals.html:47
+#: templates/js/forms.js:817 templates/modals.html:21 templates/modals.html:47
msgid "Form errors exist"
msgstr ""
-#: templates/js/forms.js:1178
+#: templates/js/forms.js:1184
msgid "Searching"
msgstr ""
-#: templates/js/forms.js:1331
+#: templates/js/forms.js:1337
msgid "Clear input"
msgstr ""