mirror of
https://github.com/inventree/InvenTree
synced 2024-08-30 18:33:04 +00:00
commit
a148cfe593
@ -78,7 +78,15 @@ function getImageUrlFromTransfer(transfer) {
|
||||
return url;
|
||||
}
|
||||
|
||||
function makeIconButton(icon, cls, pk, title) {
|
||||
function makeIconBadge(icon, title) {
|
||||
// Construct an 'icon badge' which floats to the right of an object
|
||||
|
||||
var html = `<span class='fas ${icon} label-right' title='${title}'></span>`;
|
||||
|
||||
return html;
|
||||
}
|
||||
|
||||
function makeIconButton(icon, cls, pk, title, options={}) {
|
||||
// Construct an 'icon button' using the fontawesome set
|
||||
|
||||
var classes = `btn btn-default btn-glyph ${cls}`;
|
||||
@ -86,15 +94,21 @@ function makeIconButton(icon, cls, pk, title) {
|
||||
var id = `${cls}-${pk}`;
|
||||
|
||||
var html = '';
|
||||
|
||||
var extraProps = '';
|
||||
|
||||
if (options.disabled) {
|
||||
extraProps += "disabled='true' ";
|
||||
}
|
||||
|
||||
html += `<button pk='${pk}' id='${id}' class='${classes}' title='${title}'>`;
|
||||
html += `<button pk='${pk}' id='${id}' class='${classes}' title='${title}' ${extraProps}>`;
|
||||
html += `<span class='fas ${icon}'></span>`;
|
||||
html += `</button>`;
|
||||
|
||||
return html;
|
||||
}
|
||||
|
||||
function makeProgressBar(value, maximum, opts) {
|
||||
function makeProgressBar(value, maximum, opts={}) {
|
||||
/*
|
||||
* Render a progessbar!
|
||||
*
|
||||
|
@ -467,6 +467,9 @@ function openModal(options) {
|
||||
|
||||
var modal = options.modal || '#modal-form';
|
||||
|
||||
// Ensure that the 'warning' div is hidden
|
||||
$(modal).find('#form-validation-warning').css('display', 'none');
|
||||
|
||||
$(modal).on('shown.bs.modal', function() {
|
||||
$(modal + ' .modal-form-content').scrollTop(0);
|
||||
if (options.focus) {
|
||||
|
@ -131,6 +131,13 @@ class SupplierPartList(generics.ListCreateAPIView):
|
||||
if part is not None:
|
||||
queryset = queryset.filter(part=part)
|
||||
|
||||
# Filter by 'active' status of the part?
|
||||
active = params.get('active', None)
|
||||
|
||||
if active is not None:
|
||||
active = str2bool(active)
|
||||
queryset = queryset.filter(part__active=active)
|
||||
|
||||
return queryset
|
||||
|
||||
def get_serializer(self, *args, **kwargs):
|
||||
|
@ -34,6 +34,9 @@
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<div class='filter-list' id='filter-list-supplier-part'>
|
||||
<!-- Empty div (will be filled out with available BOM filters) -->
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
{% endif %}
|
||||
|
Binary file not shown.
File diff suppressed because it is too large
Load Diff
@ -8,7 +8,7 @@ msgid ""
|
||||
msgstr ""
|
||||
"Project-Id-Version: PACKAGE VERSION\n"
|
||||
"Report-Msgid-Bugs-To: \n"
|
||||
"POT-Creation-Date: 2020-10-28 11:37+0000\n"
|
||||
"POT-Creation-Date: 2020-10-29 02:25+0000\n"
|
||||
"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
|
||||
"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
|
||||
"Language-Team: LANGUAGE <LL@li.org>\n"
|
||||
@ -91,7 +91,7 @@ msgid "User"
|
||||
msgstr ""
|
||||
|
||||
#: InvenTree/models.py:106 part/templates/part/params.html:24
|
||||
#: templates/js/part.js:81
|
||||
#: templates/js/part.js:90
|
||||
msgid "Name"
|
||||
msgstr ""
|
||||
|
||||
@ -116,7 +116,7 @@ msgid "Polish"
|
||||
msgstr ""
|
||||
|
||||
#: InvenTree/status_codes.py:94 InvenTree/status_codes.py:135
|
||||
#: InvenTree/status_codes.py:222 templates/js/table_filters.js:159
|
||||
#: InvenTree/status_codes.py:222 templates/js/table_filters.js:181
|
||||
msgid "Pending"
|
||||
msgstr ""
|
||||
|
||||
@ -291,7 +291,7 @@ msgid "Build Order Reference"
|
||||
msgstr ""
|
||||
|
||||
#: build/models.py:87 build/templates/build/allocate.html:342
|
||||
#: order/templates/order/purchase_order_detail.html:173 templates/js/bom.js:154
|
||||
#: order/templates/order/purchase_order_detail.html:173 templates/js/bom.js:172
|
||||
msgid "Reference"
|
||||
msgstr ""
|
||||
|
||||
@ -300,10 +300,10 @@ msgstr ""
|
||||
#: company/templates/company/supplier_part_detail.html:27
|
||||
#: order/templates/order/purchase_order_detail.html:160
|
||||
#: part/templates/part/detail.html:51 part/templates/part/set_category.html:14
|
||||
#: templates/InvenTree/search.html:147 templates/js/bom.js:147
|
||||
#: templates/js/bom.js:486 templates/js/build.js:56 templates/js/company.js:56
|
||||
#: templates/js/order.js:167 templates/js/order.js:249 templates/js/part.js:120
|
||||
#: templates/js/part.js:203 templates/js/part.js:345 templates/js/part.js:526
|
||||
#: templates/InvenTree/search.html:147 templates/js/bom.js:165
|
||||
#: templates/js/bom.js:504 templates/js/build.js:56 templates/js/company.js:56
|
||||
#: templates/js/order.js:167 templates/js/order.js:249 templates/js/part.js:149
|
||||
#: templates/js/part.js:232 templates/js/part.js:384 templates/js/part.js:565
|
||||
#: templates/js/stock.js:445 templates/js/stock.js:672
|
||||
msgid "Description"
|
||||
msgstr ""
|
||||
@ -329,9 +329,9 @@ msgstr ""
|
||||
#: order/templates/order/receive_parts.html:19 part/models.py:293
|
||||
#: part/templates/part/part_app_base.html:7
|
||||
#: part/templates/part/set_category.html:13 templates/InvenTree/search.html:133
|
||||
#: templates/js/barcode.js:336 templates/js/bom.js:124 templates/js/bom.js:471
|
||||
#: templates/js/build.js:61 templates/js/company.js:137
|
||||
#: templates/js/part.js:184 templates/js/part.js:289 templates/js/stock.js:421
|
||||
#: templates/js/barcode.js:336 templates/js/bom.js:124 templates/js/bom.js:489
|
||||
#: templates/js/build.js:61 templates/js/company.js:138
|
||||
#: templates/js/part.js:213 templates/js/part.js:318 templates/js/stock.js:421
|
||||
#: templates/js/stock.js:978
|
||||
msgid "Part"
|
||||
msgstr ""
|
||||
@ -400,7 +400,7 @@ msgstr ""
|
||||
#: order/templates/order/so_tabs.html:23 part/templates/part/tabs.html:70
|
||||
#: stock/forms.py:306 stock/forms.py:338 stock/forms.py:366 stock/models.py:453
|
||||
#: stock/models.py:1404 stock/templates/stock/tabs.html:26
|
||||
#: templates/js/barcode.js:391 templates/js/bom.js:223
|
||||
#: templates/js/barcode.js:391 templates/js/bom.js:241
|
||||
#: templates/js/stock.js:116 templates/js/stock.js:544
|
||||
msgid "Notes"
|
||||
msgstr ""
|
||||
@ -492,7 +492,7 @@ msgstr ""
|
||||
#: stock/templates/stock/item_base.html:32
|
||||
#: stock/templates/stock/item_base.html:184
|
||||
#: stock/templates/stock/stock_adjust.html:18 templates/js/barcode.js:338
|
||||
#: templates/js/bom.js:162 templates/js/build.js:72 templates/js/stock.js:691
|
||||
#: templates/js/bom.js:180 templates/js/build.js:72 templates/js/stock.js:691
|
||||
#: templates/js/stock.js:906
|
||||
msgid "Quantity"
|
||||
msgstr ""
|
||||
@ -516,12 +516,12 @@ msgstr ""
|
||||
msgid "Delete stock allocation"
|
||||
msgstr ""
|
||||
|
||||
#: build/templates/build/allocate.html:238 templates/js/bom.js:334
|
||||
#: build/templates/build/allocate.html:238 templates/js/bom.js:352
|
||||
msgid "No BOM items found"
|
||||
msgstr ""
|
||||
|
||||
#: build/templates/build/allocate.html:347 part/models.py:1401
|
||||
#: templates/js/part.js:530 templates/js/table_filters.js:145
|
||||
#: templates/js/part.js:569 templates/js/table_filters.js:167
|
||||
msgid "Required"
|
||||
msgstr ""
|
||||
|
||||
@ -693,8 +693,8 @@ msgstr ""
|
||||
|
||||
#: build/templates/build/detail.html:48
|
||||
#: stock/templates/stock/item_base.html:238 templates/js/stock.js:514
|
||||
#: templates/js/stock.js:921 templates/js/table_filters.js:58
|
||||
#: templates/js/table_filters.js:124
|
||||
#: templates/js/stock.js:921 templates/js/table_filters.js:80
|
||||
#: templates/js/table_filters.js:146
|
||||
msgid "Batch"
|
||||
msgstr ""
|
||||
|
||||
@ -1104,7 +1104,7 @@ msgstr ""
|
||||
#: company/templates/company/detail.html:16
|
||||
#: company/templates/company/supplier_part_base.html:84
|
||||
#: company/templates/company/supplier_part_detail.html:30 part/bom.py:172
|
||||
#: templates/js/company.js:44 templates/js/company.js:186
|
||||
#: templates/js/company.js:44 templates/js/company.js:188
|
||||
msgid "Manufacturer"
|
||||
msgstr ""
|
||||
|
||||
@ -1114,7 +1114,7 @@ msgstr ""
|
||||
#: order/templates/order/order_base.html:79
|
||||
#: order/templates/order/order_wizard/select_pos.html:30 part/bom.py:170
|
||||
#: stock/templates/stock/item_base.html:273 templates/js/company.js:48
|
||||
#: templates/js/company.js:162 templates/js/order.js:154
|
||||
#: templates/js/company.js:164 templates/js/order.js:154
|
||||
msgid "Supplier"
|
||||
msgstr ""
|
||||
|
||||
@ -1159,30 +1159,30 @@ msgstr ""
|
||||
msgid "Delete Parts"
|
||||
msgstr ""
|
||||
|
||||
#: company/templates/company/detail_part.html:60
|
||||
#: company/templates/company/detail_part.html:63
|
||||
#: part/templates/part/category.html:116 templates/js/stock.js:792
|
||||
msgid "New Part"
|
||||
msgstr ""
|
||||
|
||||
#: company/templates/company/detail_part.html:61
|
||||
#: company/templates/company/detail_part.html:64
|
||||
msgid "Create new Part"
|
||||
msgstr ""
|
||||
|
||||
#: company/templates/company/detail_part.html:66 company/views.py:53
|
||||
#: company/templates/company/detail_part.html:69 company/views.py:53
|
||||
#: part/templates/part/supplier.html:47
|
||||
msgid "New Supplier"
|
||||
msgstr ""
|
||||
|
||||
#: company/templates/company/detail_part.html:67 company/views.py:192
|
||||
#: company/templates/company/detail_part.html:70 company/views.py:192
|
||||
msgid "Create new Supplier"
|
||||
msgstr ""
|
||||
|
||||
#: company/templates/company/detail_part.html:72 company/views.py:60
|
||||
#: company/templates/company/detail_part.html:75 company/views.py:60
|
||||
#: part/templates/part/supplier.html:53
|
||||
msgid "New Manufacturer"
|
||||
msgstr ""
|
||||
|
||||
#: company/templates/company/detail_part.html:73 company/views.py:195
|
||||
#: company/templates/company/detail_part.html:76 company/views.py:195
|
||||
msgid "Create new Manufacturer"
|
||||
msgstr ""
|
||||
|
||||
@ -1253,7 +1253,7 @@ msgstr ""
|
||||
|
||||
#: company/templates/company/supplier_part_base.html:6
|
||||
#: company/templates/company/supplier_part_base.html:19 stock/models.py:344
|
||||
#: stock/templates/stock/item_base.html:278 templates/js/company.js:178
|
||||
#: stock/templates/stock/item_base.html:278 templates/js/company.js:180
|
||||
msgid "Supplier Part"
|
||||
msgstr ""
|
||||
|
||||
@ -1287,7 +1287,7 @@ msgstr ""
|
||||
|
||||
#: company/templates/company/supplier_part_base.html:88
|
||||
#: company/templates/company/supplier_part_detail.html:31 part/bom.py:173
|
||||
#: templates/js/company.js:202
|
||||
#: templates/js/company.js:204
|
||||
msgid "MPN"
|
||||
msgstr ""
|
||||
|
||||
@ -1310,7 +1310,7 @@ msgid "Pricing Information"
|
||||
msgstr ""
|
||||
|
||||
#: company/templates/company/supplier_part_pricing.html:17 company/views.py:410
|
||||
#: part/templates/part/sale_prices.html:13 part/views.py:2228
|
||||
#: part/templates/part/sale_prices.html:13 part/views.py:2229
|
||||
msgid "Add Price Break"
|
||||
msgstr ""
|
||||
|
||||
@ -1320,7 +1320,7 @@ msgid "No price break information found"
|
||||
msgstr ""
|
||||
|
||||
#: company/templates/company/supplier_part_pricing.html:80
|
||||
#: part/templates/part/sale_prices.html:85 templates/js/bom.js:207
|
||||
#: part/templates/part/sale_prices.html:85 templates/js/bom.js:225
|
||||
msgid "Price"
|
||||
msgstr ""
|
||||
|
||||
@ -1345,8 +1345,8 @@ msgstr ""
|
||||
#: company/templates/company/supplier_part_tabs.html:8
|
||||
#: company/templates/company/tabs.html:12 part/templates/part/tabs.html:18
|
||||
#: stock/templates/stock/location.html:17 templates/InvenTree/search.html:155
|
||||
#: templates/InvenTree/settings/tabs.html:25 templates/js/part.js:124
|
||||
#: templates/js/part.js:372 templates/js/stock.js:453 templates/navbar.html:22
|
||||
#: templates/InvenTree/settings/tabs.html:25 templates/js/part.js:153
|
||||
#: templates/js/part.js:411 templates/js/stock.js:453 templates/navbar.html:22
|
||||
#: users/models.py:29
|
||||
msgid "Stock"
|
||||
msgstr ""
|
||||
@ -1437,15 +1437,15 @@ msgstr ""
|
||||
msgid "Delete Supplier Part"
|
||||
msgstr ""
|
||||
|
||||
#: company/views.py:416 part/views.py:2234
|
||||
#: company/views.py:416 part/views.py:2235
|
||||
msgid "Added new price break"
|
||||
msgstr ""
|
||||
|
||||
#: company/views.py:453 part/views.py:2279
|
||||
#: company/views.py:453 part/views.py:2280
|
||||
msgid "Edit Price Break"
|
||||
msgstr ""
|
||||
|
||||
#: company/views.py:469 part/views.py:2295
|
||||
#: company/views.py:469 part/views.py:2296
|
||||
msgid "Delete Price Break"
|
||||
msgstr ""
|
||||
|
||||
@ -1538,7 +1538,7 @@ msgstr ""
|
||||
msgid "Date order was completed"
|
||||
msgstr ""
|
||||
|
||||
#: order/models.py:185 order/models.py:259 part/views.py:1345
|
||||
#: order/models.py:185 order/models.py:259 part/views.py:1346
|
||||
#: stock/models.py:241 stock/models.py:805
|
||||
msgid "Quantity must be greater than zero"
|
||||
msgstr ""
|
||||
@ -1785,7 +1785,7 @@ msgid "Select parts to receive against this order"
|
||||
msgstr ""
|
||||
|
||||
#: order/templates/order/receive_parts.html:21
|
||||
#: part/templates/part/part_base.html:145 templates/js/part.js:388
|
||||
#: part/templates/part/part_base.html:145 templates/js/part.js:427
|
||||
msgid "On Order"
|
||||
msgstr ""
|
||||
|
||||
@ -2257,7 +2257,7 @@ msgstr ""
|
||||
msgid "Test with this name already exists for this part"
|
||||
msgstr ""
|
||||
|
||||
#: part/models.py:1389 templates/js/part.js:521 templates/js/stock.js:92
|
||||
#: part/models.py:1389 templates/js/part.js:560 templates/js/stock.js:92
|
||||
msgid "Test Name"
|
||||
msgstr ""
|
||||
|
||||
@ -2277,7 +2277,7 @@ msgstr ""
|
||||
msgid "Is this test required to pass?"
|
||||
msgstr ""
|
||||
|
||||
#: part/models.py:1407 templates/js/part.js:538
|
||||
#: part/models.py:1407 templates/js/part.js:577
|
||||
msgid "Requires Value"
|
||||
msgstr ""
|
||||
|
||||
@ -2285,7 +2285,7 @@ msgstr ""
|
||||
msgid "Does this test require a value when adding a test result?"
|
||||
msgstr ""
|
||||
|
||||
#: part/models.py:1413 templates/js/part.js:545
|
||||
#: part/models.py:1413 templates/js/part.js:584
|
||||
msgid "Requires Attachment"
|
||||
msgstr ""
|
||||
|
||||
@ -2349,7 +2349,7 @@ msgstr ""
|
||||
msgid "BOM line checksum"
|
||||
msgstr ""
|
||||
|
||||
#: part/models.py:1612 part/views.py:1351 part/views.py:1403
|
||||
#: part/models.py:1612 part/views.py:1352 part/views.py:1404
|
||||
#: stock/models.py:231
|
||||
msgid "Quantity must be integer value for trackable parts"
|
||||
msgstr ""
|
||||
@ -2432,7 +2432,7 @@ msgstr ""
|
||||
msgid "Validate"
|
||||
msgstr ""
|
||||
|
||||
#: part/templates/part/bom.html:61 part/views.py:1642
|
||||
#: part/templates/part/bom.html:61 part/views.py:1643
|
||||
msgid "Export Bill of Materials"
|
||||
msgstr ""
|
||||
|
||||
@ -2524,7 +2524,7 @@ msgstr ""
|
||||
msgid "All parts"
|
||||
msgstr ""
|
||||
|
||||
#: part/templates/part/category.html:24 part/views.py:2045
|
||||
#: part/templates/part/category.html:24 part/views.py:2046
|
||||
msgid "Create new part category"
|
||||
msgstr ""
|
||||
|
||||
@ -2604,16 +2604,28 @@ msgstr ""
|
||||
msgid "Parametric Table"
|
||||
msgstr ""
|
||||
|
||||
#: part/templates/part/create_part.html:11
|
||||
msgid "Possible Matching Parts"
|
||||
msgstr ""
|
||||
|
||||
#: part/templates/part/create_part.html:12
|
||||
msgid "The new part may be a duplicate of these existing parts"
|
||||
msgstr ""
|
||||
|
||||
#: part/templates/part/create_part.html:16
|
||||
msgid "match"
|
||||
msgstr ""
|
||||
|
||||
#: part/templates/part/detail.html:9
|
||||
msgid "Part Details"
|
||||
msgstr ""
|
||||
|
||||
#: part/templates/part/detail.html:25 part/templates/part/part_base.html:95
|
||||
#: templates/js/part.js:112
|
||||
#: templates/js/part.js:141
|
||||
msgid "IPN"
|
||||
msgstr ""
|
||||
|
||||
#: part/templates/part/detail.html:32 templates/js/part.js:116
|
||||
#: part/templates/part/detail.html:32 templates/js/part.js:145
|
||||
msgid "Revision"
|
||||
msgstr ""
|
||||
|
||||
@ -2630,7 +2642,7 @@ msgid "Variant Of"
|
||||
msgstr ""
|
||||
|
||||
#: part/templates/part/detail.html:70 part/templates/part/set_category.html:15
|
||||
#: templates/js/part.js:359
|
||||
#: templates/js/part.js:398
|
||||
msgid "Category"
|
||||
msgstr ""
|
||||
|
||||
@ -2658,7 +2670,7 @@ msgstr ""
|
||||
msgid "Responsible User"
|
||||
msgstr ""
|
||||
|
||||
#: part/templates/part/detail.html:136
|
||||
#: part/templates/part/detail.html:136 templates/js/table_filters.js:27
|
||||
msgid "Virtual"
|
||||
msgstr ""
|
||||
|
||||
@ -2671,7 +2683,7 @@ msgid "Part is not a virtual part"
|
||||
msgstr ""
|
||||
|
||||
#: part/templates/part/detail.html:145 stock/forms.py:248
|
||||
#: templates/js/table_filters.js:212
|
||||
#: templates/js/table_filters.js:23 templates/js/table_filters.js:243
|
||||
msgid "Template"
|
||||
msgstr ""
|
||||
|
||||
@ -2683,7 +2695,7 @@ msgstr ""
|
||||
msgid "Part is not a template part"
|
||||
msgstr ""
|
||||
|
||||
#: part/templates/part/detail.html:154 templates/js/table_filters.js:224
|
||||
#: part/templates/part/detail.html:154 templates/js/table_filters.js:255
|
||||
msgid "Assembly"
|
||||
msgstr ""
|
||||
|
||||
@ -2695,7 +2707,7 @@ msgstr ""
|
||||
msgid "Part cannot be assembled from other parts"
|
||||
msgstr ""
|
||||
|
||||
#: part/templates/part/detail.html:163 templates/js/table_filters.js:228
|
||||
#: part/templates/part/detail.html:163 templates/js/table_filters.js:259
|
||||
msgid "Component"
|
||||
msgstr ""
|
||||
|
||||
@ -2707,7 +2719,8 @@ msgstr ""
|
||||
msgid "Part cannot be used in assemblies"
|
||||
msgstr ""
|
||||
|
||||
#: part/templates/part/detail.html:172 templates/js/table_filters.js:240
|
||||
#: part/templates/part/detail.html:172 templates/js/table_filters.js:31
|
||||
#: templates/js/table_filters.js:271
|
||||
msgid "Trackable"
|
||||
msgstr ""
|
||||
|
||||
@ -2727,7 +2740,7 @@ msgstr ""
|
||||
msgid "Part can be purchased from external suppliers"
|
||||
msgstr ""
|
||||
|
||||
#: part/templates/part/detail.html:190 templates/js/table_filters.js:236
|
||||
#: part/templates/part/detail.html:190 templates/js/table_filters.js:267
|
||||
msgid "Salable"
|
||||
msgstr ""
|
||||
|
||||
@ -2739,8 +2752,8 @@ msgstr ""
|
||||
msgid "Part cannot be sold to customers"
|
||||
msgstr ""
|
||||
|
||||
#: part/templates/part/detail.html:199 templates/js/table_filters.js:33
|
||||
#: templates/js/table_filters.js:207
|
||||
#: part/templates/part/detail.html:199 templates/js/table_filters.js:19
|
||||
#: templates/js/table_filters.js:55 templates/js/table_filters.js:238
|
||||
msgid "Active"
|
||||
msgstr ""
|
||||
|
||||
@ -2794,8 +2807,9 @@ msgstr ""
|
||||
msgid "This part is a variant of"
|
||||
msgstr ""
|
||||
|
||||
#: part/templates/part/part_base.html:36 templates/js/company.js:153
|
||||
#: templates/js/part.js:336
|
||||
#: part/templates/part/part_base.html:36 templates/js/bom.js:152
|
||||
#: templates/js/company.js:155 templates/js/part.js:133
|
||||
#: templates/js/part.js:375
|
||||
msgid "Inactive"
|
||||
msgstr ""
|
||||
|
||||
@ -2845,7 +2859,7 @@ msgstr ""
|
||||
msgid "Delete part"
|
||||
msgstr ""
|
||||
|
||||
#: part/templates/part/part_base.html:124 templates/js/table_filters.js:89
|
||||
#: part/templates/part/part_base.html:124 templates/js/table_filters.js:111
|
||||
msgid "In Stock"
|
||||
msgstr ""
|
||||
|
||||
@ -2905,8 +2919,8 @@ msgstr ""
|
||||
msgid "Part Stock"
|
||||
msgstr ""
|
||||
|
||||
#: part/templates/part/stock_count.html:7 templates/js/bom.js:197
|
||||
#: templates/js/part.js:396
|
||||
#: part/templates/part/stock_count.html:7 templates/js/bom.js:215
|
||||
#: templates/js/part.js:435
|
||||
msgid "No Stock"
|
||||
msgstr ""
|
||||
|
||||
@ -2962,11 +2976,11 @@ msgstr ""
|
||||
msgid "Part Variants"
|
||||
msgstr ""
|
||||
|
||||
#: part/templates/part/variants.html:21
|
||||
#: part/templates/part/variants.html:22
|
||||
msgid "Create new variant"
|
||||
msgstr ""
|
||||
|
||||
#: part/templates/part/variants.html:21
|
||||
#: part/templates/part/variants.html:23
|
||||
msgid "New Variant"
|
||||
msgstr ""
|
||||
|
||||
@ -3023,127 +3037,127 @@ msgstr ""
|
||||
msgid "Copied part"
|
||||
msgstr ""
|
||||
|
||||
#: part/views.py:513 templates/js/stock.js:793
|
||||
#: part/views.py:514 templates/js/stock.js:793
|
||||
msgid "Create New Part"
|
||||
msgstr ""
|
||||
|
||||
#: part/views.py:520
|
||||
#: part/views.py:521
|
||||
msgid "Created new part"
|
||||
msgstr ""
|
||||
|
||||
#: part/views.py:735
|
||||
#: part/views.py:736
|
||||
msgid "Part QR Code"
|
||||
msgstr ""
|
||||
|
||||
#: part/views.py:754
|
||||
#: part/views.py:755
|
||||
msgid "Upload Part Image"
|
||||
msgstr ""
|
||||
|
||||
#: part/views.py:762 part/views.py:799
|
||||
#: part/views.py:763 part/views.py:800
|
||||
msgid "Updated part image"
|
||||
msgstr ""
|
||||
|
||||
#: part/views.py:771
|
||||
#: part/views.py:772
|
||||
msgid "Select Part Image"
|
||||
msgstr ""
|
||||
|
||||
#: part/views.py:802
|
||||
#: part/views.py:803
|
||||
msgid "Part image not found"
|
||||
msgstr ""
|
||||
|
||||
#: part/views.py:813
|
||||
#: part/views.py:814
|
||||
msgid "Edit Part Properties"
|
||||
msgstr ""
|
||||
|
||||
#: part/views.py:837
|
||||
#: part/views.py:838
|
||||
msgid "Validate BOM"
|
||||
msgstr ""
|
||||
|
||||
#: part/views.py:1004
|
||||
#: part/views.py:1005
|
||||
msgid "No BOM file provided"
|
||||
msgstr ""
|
||||
|
||||
#: part/views.py:1354
|
||||
#: part/views.py:1355
|
||||
msgid "Enter a valid quantity"
|
||||
msgstr ""
|
||||
|
||||
#: part/views.py:1379 part/views.py:1382
|
||||
#: part/views.py:1380 part/views.py:1383
|
||||
msgid "Select valid part"
|
||||
msgstr ""
|
||||
|
||||
#: part/views.py:1388
|
||||
#: part/views.py:1389
|
||||
msgid "Duplicate part selected"
|
||||
msgstr ""
|
||||
|
||||
#: part/views.py:1426
|
||||
#: part/views.py:1427
|
||||
msgid "Select a part"
|
||||
msgstr ""
|
||||
|
||||
#: part/views.py:1432
|
||||
#: part/views.py:1433
|
||||
msgid "Selected part creates a circular BOM"
|
||||
msgstr ""
|
||||
|
||||
#: part/views.py:1436
|
||||
#: part/views.py:1437
|
||||
msgid "Specify quantity"
|
||||
msgstr ""
|
||||
|
||||
#: part/views.py:1692
|
||||
#: part/views.py:1693
|
||||
msgid "Confirm Part Deletion"
|
||||
msgstr ""
|
||||
|
||||
#: part/views.py:1701
|
||||
#: part/views.py:1702
|
||||
msgid "Part was deleted"
|
||||
msgstr ""
|
||||
|
||||
#: part/views.py:1710
|
||||
#: part/views.py:1711
|
||||
msgid "Part Pricing"
|
||||
msgstr ""
|
||||
|
||||
#: part/views.py:1836
|
||||
#: part/views.py:1837
|
||||
msgid "Create Part Parameter Template"
|
||||
msgstr ""
|
||||
|
||||
#: part/views.py:1846
|
||||
#: part/views.py:1847
|
||||
msgid "Edit Part Parameter Template"
|
||||
msgstr ""
|
||||
|
||||
#: part/views.py:1855
|
||||
#: part/views.py:1856
|
||||
msgid "Delete Part Parameter Template"
|
||||
msgstr ""
|
||||
|
||||
#: part/views.py:1865
|
||||
#: part/views.py:1866
|
||||
msgid "Create Part Parameter"
|
||||
msgstr ""
|
||||
|
||||
#: part/views.py:1917
|
||||
#: part/views.py:1918
|
||||
msgid "Edit Part Parameter"
|
||||
msgstr ""
|
||||
|
||||
#: part/views.py:1933
|
||||
#: part/views.py:1934
|
||||
msgid "Delete Part Parameter"
|
||||
msgstr ""
|
||||
|
||||
#: part/views.py:1992
|
||||
#: part/views.py:1993
|
||||
msgid "Edit Part Category"
|
||||
msgstr ""
|
||||
|
||||
#: part/views.py:2029
|
||||
#: part/views.py:2030
|
||||
msgid "Delete Part Category"
|
||||
msgstr ""
|
||||
|
||||
#: part/views.py:2037
|
||||
#: part/views.py:2038
|
||||
msgid "Part category was deleted"
|
||||
msgstr ""
|
||||
|
||||
#: part/views.py:2100
|
||||
msgid "Create BOM item"
|
||||
#: part/views.py:2101
|
||||
msgid "Create BOM Item"
|
||||
msgstr ""
|
||||
|
||||
#: part/views.py:2168
|
||||
#: part/views.py:2169
|
||||
msgid "Edit BOM item"
|
||||
msgstr ""
|
||||
|
||||
#: part/views.py:2218
|
||||
#: part/views.py:2219
|
||||
msgid "Confim BOM item deletion"
|
||||
msgstr ""
|
||||
|
||||
@ -3447,7 +3461,7 @@ msgstr ""
|
||||
msgid "Result"
|
||||
msgstr ""
|
||||
|
||||
#: stock/models.py:1386 templates/js/table_filters.js:135
|
||||
#: stock/models.py:1386 templates/js/table_filters.js:157
|
||||
msgid "Test result"
|
||||
msgstr ""
|
||||
|
||||
@ -4313,51 +4327,63 @@ msgstr ""
|
||||
msgid "Barcode does not match Stock Item"
|
||||
msgstr ""
|
||||
|
||||
#: templates/js/bom.js:132
|
||||
#: templates/js/bom.js:133 templates/js/part.js:117 templates/js/part.js:344
|
||||
msgid "Trackable part"
|
||||
msgstr ""
|
||||
|
||||
#: templates/js/bom.js:137 templates/js/part.js:121 templates/js/part.js:348
|
||||
msgid "Virtual part"
|
||||
msgstr ""
|
||||
|
||||
#: templates/js/bom.js:141
|
||||
msgid "Templat part"
|
||||
msgstr ""
|
||||
|
||||
#: templates/js/bom.js:146
|
||||
msgid "Open subassembly"
|
||||
msgstr ""
|
||||
|
||||
#: templates/js/bom.js:173
|
||||
#: templates/js/bom.js:191
|
||||
msgid "Optional"
|
||||
msgstr ""
|
||||
|
||||
#: templates/js/bom.js:188 templates/js/build.js:133
|
||||
#: templates/js/bom.js:206 templates/js/build.js:133
|
||||
msgid "Available"
|
||||
msgstr ""
|
||||
|
||||
#: templates/js/bom.js:213
|
||||
#: templates/js/bom.js:231
|
||||
msgid "No pricing available"
|
||||
msgstr ""
|
||||
|
||||
#: templates/js/bom.js:232
|
||||
#: templates/js/bom.js:250
|
||||
msgid "Actions"
|
||||
msgstr ""
|
||||
|
||||
#: templates/js/bom.js:240
|
||||
#: templates/js/bom.js:258
|
||||
msgid "Validate BOM Item"
|
||||
msgstr ""
|
||||
|
||||
#: templates/js/bom.js:242
|
||||
#: templates/js/bom.js:260
|
||||
msgid "This line has been validated"
|
||||
msgstr ""
|
||||
|
||||
#: templates/js/bom.js:244
|
||||
#: templates/js/bom.js:262
|
||||
msgid "Edit BOM Item"
|
||||
msgstr ""
|
||||
|
||||
#: templates/js/bom.js:246
|
||||
#: templates/js/bom.js:264
|
||||
msgid "Delete BOM Item"
|
||||
msgstr ""
|
||||
|
||||
#: templates/js/bom.js:478
|
||||
#: templates/js/bom.js:496
|
||||
msgid "INACTIVE"
|
||||
msgstr ""
|
||||
|
||||
#: templates/js/bom.js:492
|
||||
#: templates/js/bom.js:510
|
||||
msgid "Uses"
|
||||
msgstr ""
|
||||
|
||||
#: templates/js/bom.js:503
|
||||
#: templates/js/bom.js:521
|
||||
msgid "No matching parts found"
|
||||
msgstr ""
|
||||
|
||||
@ -4381,19 +4407,21 @@ msgstr ""
|
||||
msgid "No company information found"
|
||||
msgstr ""
|
||||
|
||||
#: templates/js/company.js:128
|
||||
#: templates/js/company.js:129
|
||||
msgid "No supplier parts found"
|
||||
msgstr ""
|
||||
|
||||
#: templates/js/company.js:145 templates/js/part.js:314
|
||||
#: templates/js/company.js:147 templates/js/part.js:125
|
||||
#: templates/js/part.js:353
|
||||
msgid "Template part"
|
||||
msgstr ""
|
||||
|
||||
#: templates/js/company.js:149 templates/js/part.js:318
|
||||
#: templates/js/company.js:151 templates/js/part.js:129
|
||||
#: templates/js/part.js:357
|
||||
msgid "Assembled part"
|
||||
msgstr ""
|
||||
|
||||
#: templates/js/company.js:206
|
||||
#: templates/js/company.js:208
|
||||
msgid "Link"
|
||||
msgstr ""
|
||||
|
||||
@ -4413,59 +4441,59 @@ msgstr ""
|
||||
msgid "Shipment Date"
|
||||
msgstr ""
|
||||
|
||||
#: templates/js/part.js:137
|
||||
#: templates/js/part.js:166
|
||||
msgid "No variants found"
|
||||
msgstr ""
|
||||
|
||||
#: templates/js/part.js:223 templates/js/part.js:411
|
||||
#: templates/js/part.js:252 templates/js/part.js:450
|
||||
msgid "No parts found"
|
||||
msgstr ""
|
||||
|
||||
#: templates/js/part.js:275 templates/js/stock.js:409 templates/js/stock.js:966
|
||||
#: templates/js/part.js:304 templates/js/stock.js:409 templates/js/stock.js:966
|
||||
msgid "Select"
|
||||
msgstr ""
|
||||
|
||||
#: templates/js/part.js:322
|
||||
#: templates/js/part.js:361
|
||||
msgid "Starred part"
|
||||
msgstr ""
|
||||
|
||||
#: templates/js/part.js:326
|
||||
#: templates/js/part.js:365
|
||||
msgid "Salable part"
|
||||
msgstr ""
|
||||
|
||||
#: templates/js/part.js:365
|
||||
#: templates/js/part.js:404
|
||||
msgid "No category"
|
||||
msgstr ""
|
||||
|
||||
#: templates/js/part.js:383 templates/js/table_filters.js:220
|
||||
#: templates/js/part.js:422 templates/js/table_filters.js:251
|
||||
msgid "Low stock"
|
||||
msgstr ""
|
||||
|
||||
#: templates/js/part.js:392
|
||||
#: templates/js/part.js:431
|
||||
msgid "Building"
|
||||
msgstr ""
|
||||
|
||||
#: templates/js/part.js:471
|
||||
#: templates/js/part.js:510
|
||||
msgid "YES"
|
||||
msgstr ""
|
||||
|
||||
#: templates/js/part.js:473
|
||||
#: templates/js/part.js:512
|
||||
msgid "NO"
|
||||
msgstr ""
|
||||
|
||||
#: templates/js/part.js:507
|
||||
#: templates/js/part.js:546
|
||||
msgid "No test templates matching query"
|
||||
msgstr ""
|
||||
|
||||
#: templates/js/part.js:558 templates/js/stock.js:63
|
||||
#: templates/js/part.js:597 templates/js/stock.js:63
|
||||
msgid "Edit test result"
|
||||
msgstr ""
|
||||
|
||||
#: templates/js/part.js:559 templates/js/stock.js:64
|
||||
#: templates/js/part.js:598 templates/js/stock.js:64
|
||||
msgid "Delete test result"
|
||||
msgstr ""
|
||||
|
||||
#: templates/js/part.js:565
|
||||
#: templates/js/part.js:604
|
||||
msgid "This test is defined for a parent part"
|
||||
msgstr ""
|
||||
|
||||
@ -4529,7 +4557,7 @@ msgstr ""
|
||||
msgid "Stock item is lost"
|
||||
msgstr ""
|
||||
|
||||
#: templates/js/stock.js:498 templates/js/table_filters.js:84
|
||||
#: templates/js/stock.js:498 templates/js/table_filters.js:106
|
||||
msgid "Depleted"
|
||||
msgstr ""
|
||||
|
||||
@ -4553,7 +4581,7 @@ msgstr ""
|
||||
msgid "Serial"
|
||||
msgstr ""
|
||||
|
||||
#: templates/js/stock.js:997 templates/js/table_filters.js:94
|
||||
#: templates/js/stock.js:997 templates/js/table_filters.js:116
|
||||
msgid "Installed"
|
||||
msgstr ""
|
||||
|
||||
@ -4561,132 +4589,132 @@ msgstr ""
|
||||
msgid "Install item"
|
||||
msgstr ""
|
||||
|
||||
#: templates/js/table_filters.js:19
|
||||
#: templates/js/table_filters.js:41
|
||||
msgid "Trackable Part"
|
||||
msgstr ""
|
||||
|
||||
#: templates/js/table_filters.js:23
|
||||
#: templates/js/table_filters.js:45
|
||||
msgid "Validated"
|
||||
msgstr ""
|
||||
|
||||
#: templates/js/table_filters.js:43 templates/js/table_filters.js:104
|
||||
#: templates/js/table_filters.js:65 templates/js/table_filters.js:126
|
||||
msgid "Is Serialized"
|
||||
msgstr ""
|
||||
|
||||
#: templates/js/table_filters.js:46 templates/js/table_filters.js:111
|
||||
#: templates/js/table_filters.js:68 templates/js/table_filters.js:133
|
||||
msgid "Serial number GTE"
|
||||
msgstr ""
|
||||
|
||||
#: templates/js/table_filters.js:47 templates/js/table_filters.js:112
|
||||
#: templates/js/table_filters.js:69 templates/js/table_filters.js:134
|
||||
msgid "Serial number greater than or equal to"
|
||||
msgstr ""
|
||||
|
||||
#: templates/js/table_filters.js:50 templates/js/table_filters.js:115
|
||||
#: templates/js/table_filters.js:72 templates/js/table_filters.js:137
|
||||
msgid "Serial number LTE"
|
||||
msgstr ""
|
||||
|
||||
#: templates/js/table_filters.js:51 templates/js/table_filters.js:116
|
||||
#: templates/js/table_filters.js:73 templates/js/table_filters.js:138
|
||||
msgid "Serial number less than or equal to"
|
||||
msgstr ""
|
||||
|
||||
#: templates/js/table_filters.js:54 templates/js/table_filters.js:55
|
||||
#: templates/js/table_filters.js:107 templates/js/table_filters.js:108
|
||||
#: templates/js/table_filters.js:76 templates/js/table_filters.js:77
|
||||
#: templates/js/table_filters.js:129 templates/js/table_filters.js:130
|
||||
msgid "Serial number"
|
||||
msgstr ""
|
||||
|
||||
#: templates/js/table_filters.js:59 templates/js/table_filters.js:125
|
||||
#: templates/js/table_filters.js:81 templates/js/table_filters.js:147
|
||||
msgid "Batch code"
|
||||
msgstr ""
|
||||
|
||||
#: templates/js/table_filters.js:69
|
||||
#: templates/js/table_filters.js:91 templates/js/table_filters.js:218
|
||||
msgid "Active parts"
|
||||
msgstr ""
|
||||
|
||||
#: templates/js/table_filters.js:70
|
||||
#: templates/js/table_filters.js:92
|
||||
msgid "Show stock for active parts"
|
||||
msgstr ""
|
||||
|
||||
#: templates/js/table_filters.js:74
|
||||
#: templates/js/table_filters.js:96
|
||||
msgid "Is allocated"
|
||||
msgstr ""
|
||||
|
||||
#: templates/js/table_filters.js:75
|
||||
#: templates/js/table_filters.js:97
|
||||
msgid "Item has been alloacted"
|
||||
msgstr ""
|
||||
|
||||
#: templates/js/table_filters.js:79
|
||||
#: templates/js/table_filters.js:101
|
||||
msgid "Include sublocations"
|
||||
msgstr ""
|
||||
|
||||
#: templates/js/table_filters.js:80
|
||||
#: templates/js/table_filters.js:102
|
||||
msgid "Include stock in sublocations"
|
||||
msgstr ""
|
||||
|
||||
#: templates/js/table_filters.js:85
|
||||
#: templates/js/table_filters.js:107
|
||||
msgid "Show stock items which are depleted"
|
||||
msgstr ""
|
||||
|
||||
#: templates/js/table_filters.js:90
|
||||
#: templates/js/table_filters.js:112
|
||||
msgid "Show items which are in stock"
|
||||
msgstr ""
|
||||
|
||||
#: templates/js/table_filters.js:95
|
||||
#: templates/js/table_filters.js:117
|
||||
msgid "Show stock items which are installed in another item"
|
||||
msgstr ""
|
||||
|
||||
#: templates/js/table_filters.js:99
|
||||
#: templates/js/table_filters.js:121
|
||||
msgid "Sent to customer"
|
||||
msgstr ""
|
||||
|
||||
#: templates/js/table_filters.js:100
|
||||
#: templates/js/table_filters.js:122
|
||||
msgid "Show items which have been assigned to a customer"
|
||||
msgstr ""
|
||||
|
||||
#: templates/js/table_filters.js:120 templates/js/table_filters.js:121
|
||||
#: templates/js/table_filters.js:142 templates/js/table_filters.js:143
|
||||
msgid "Stock status"
|
||||
msgstr ""
|
||||
|
||||
#: templates/js/table_filters.js:154
|
||||
#: templates/js/table_filters.js:176
|
||||
msgid "Build status"
|
||||
msgstr ""
|
||||
|
||||
#: templates/js/table_filters.js:169 templates/js/table_filters.js:182
|
||||
#: templates/js/table_filters.js:191 templates/js/table_filters.js:204
|
||||
msgid "Order status"
|
||||
msgstr ""
|
||||
|
||||
#: templates/js/table_filters.js:174 templates/js/table_filters.js:187
|
||||
#: templates/js/table_filters.js:196 templates/js/table_filters.js:209
|
||||
msgid "Outstanding"
|
||||
msgstr ""
|
||||
|
||||
#: templates/js/table_filters.js:197
|
||||
#: templates/js/table_filters.js:228
|
||||
msgid "Include subcategories"
|
||||
msgstr ""
|
||||
|
||||
#: templates/js/table_filters.js:198
|
||||
#: templates/js/table_filters.js:229
|
||||
msgid "Include parts in subcategories"
|
||||
msgstr ""
|
||||
|
||||
#: templates/js/table_filters.js:202
|
||||
#: templates/js/table_filters.js:233
|
||||
msgid "Has IPN"
|
||||
msgstr ""
|
||||
|
||||
#: templates/js/table_filters.js:203
|
||||
#: templates/js/table_filters.js:234
|
||||
msgid "Part has internal part number"
|
||||
msgstr ""
|
||||
|
||||
#: templates/js/table_filters.js:208
|
||||
#: templates/js/table_filters.js:239
|
||||
msgid "Show active parts"
|
||||
msgstr ""
|
||||
|
||||
#: templates/js/table_filters.js:216
|
||||
#: templates/js/table_filters.js:247
|
||||
msgid "Stock available"
|
||||
msgstr ""
|
||||
|
||||
#: templates/js/table_filters.js:232
|
||||
#: templates/js/table_filters.js:263
|
||||
msgid "Starred"
|
||||
msgstr ""
|
||||
|
||||
#: templates/js/table_filters.js:244
|
||||
#: templates/js/table_filters.js:275
|
||||
msgid "Purchasable"
|
||||
msgstr ""
|
||||
|
||||
|
@ -8,7 +8,7 @@ msgid ""
|
||||
msgstr ""
|
||||
"Project-Id-Version: PACKAGE VERSION\n"
|
||||
"Report-Msgid-Bugs-To: \n"
|
||||
"POT-Creation-Date: 2020-10-28 11:37+0000\n"
|
||||
"POT-Creation-Date: 2020-10-29 02:25+0000\n"
|
||||
"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
|
||||
"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
|
||||
"Language-Team: LANGUAGE <LL@li.org>\n"
|
||||
@ -91,7 +91,7 @@ msgid "User"
|
||||
msgstr ""
|
||||
|
||||
#: InvenTree/models.py:106 part/templates/part/params.html:24
|
||||
#: templates/js/part.js:81
|
||||
#: templates/js/part.js:90
|
||||
msgid "Name"
|
||||
msgstr ""
|
||||
|
||||
@ -116,7 +116,7 @@ msgid "Polish"
|
||||
msgstr ""
|
||||
|
||||
#: InvenTree/status_codes.py:94 InvenTree/status_codes.py:135
|
||||
#: InvenTree/status_codes.py:222 templates/js/table_filters.js:159
|
||||
#: InvenTree/status_codes.py:222 templates/js/table_filters.js:181
|
||||
msgid "Pending"
|
||||
msgstr ""
|
||||
|
||||
@ -291,7 +291,7 @@ msgid "Build Order Reference"
|
||||
msgstr ""
|
||||
|
||||
#: build/models.py:87 build/templates/build/allocate.html:342
|
||||
#: order/templates/order/purchase_order_detail.html:173 templates/js/bom.js:154
|
||||
#: order/templates/order/purchase_order_detail.html:173 templates/js/bom.js:172
|
||||
msgid "Reference"
|
||||
msgstr ""
|
||||
|
||||
@ -300,10 +300,10 @@ msgstr ""
|
||||
#: company/templates/company/supplier_part_detail.html:27
|
||||
#: order/templates/order/purchase_order_detail.html:160
|
||||
#: part/templates/part/detail.html:51 part/templates/part/set_category.html:14
|
||||
#: templates/InvenTree/search.html:147 templates/js/bom.js:147
|
||||
#: templates/js/bom.js:486 templates/js/build.js:56 templates/js/company.js:56
|
||||
#: templates/js/order.js:167 templates/js/order.js:249 templates/js/part.js:120
|
||||
#: templates/js/part.js:203 templates/js/part.js:345 templates/js/part.js:526
|
||||
#: templates/InvenTree/search.html:147 templates/js/bom.js:165
|
||||
#: templates/js/bom.js:504 templates/js/build.js:56 templates/js/company.js:56
|
||||
#: templates/js/order.js:167 templates/js/order.js:249 templates/js/part.js:149
|
||||
#: templates/js/part.js:232 templates/js/part.js:384 templates/js/part.js:565
|
||||
#: templates/js/stock.js:445 templates/js/stock.js:672
|
||||
msgid "Description"
|
||||
msgstr ""
|
||||
@ -329,9 +329,9 @@ msgstr ""
|
||||
#: order/templates/order/receive_parts.html:19 part/models.py:293
|
||||
#: part/templates/part/part_app_base.html:7
|
||||
#: part/templates/part/set_category.html:13 templates/InvenTree/search.html:133
|
||||
#: templates/js/barcode.js:336 templates/js/bom.js:124 templates/js/bom.js:471
|
||||
#: templates/js/build.js:61 templates/js/company.js:137
|
||||
#: templates/js/part.js:184 templates/js/part.js:289 templates/js/stock.js:421
|
||||
#: templates/js/barcode.js:336 templates/js/bom.js:124 templates/js/bom.js:489
|
||||
#: templates/js/build.js:61 templates/js/company.js:138
|
||||
#: templates/js/part.js:213 templates/js/part.js:318 templates/js/stock.js:421
|
||||
#: templates/js/stock.js:978
|
||||
msgid "Part"
|
||||
msgstr ""
|
||||
@ -400,7 +400,7 @@ msgstr ""
|
||||
#: order/templates/order/so_tabs.html:23 part/templates/part/tabs.html:70
|
||||
#: stock/forms.py:306 stock/forms.py:338 stock/forms.py:366 stock/models.py:453
|
||||
#: stock/models.py:1404 stock/templates/stock/tabs.html:26
|
||||
#: templates/js/barcode.js:391 templates/js/bom.js:223
|
||||
#: templates/js/barcode.js:391 templates/js/bom.js:241
|
||||
#: templates/js/stock.js:116 templates/js/stock.js:544
|
||||
msgid "Notes"
|
||||
msgstr ""
|
||||
@ -492,7 +492,7 @@ msgstr ""
|
||||
#: stock/templates/stock/item_base.html:32
|
||||
#: stock/templates/stock/item_base.html:184
|
||||
#: stock/templates/stock/stock_adjust.html:18 templates/js/barcode.js:338
|
||||
#: templates/js/bom.js:162 templates/js/build.js:72 templates/js/stock.js:691
|
||||
#: templates/js/bom.js:180 templates/js/build.js:72 templates/js/stock.js:691
|
||||
#: templates/js/stock.js:906
|
||||
msgid "Quantity"
|
||||
msgstr ""
|
||||
@ -516,12 +516,12 @@ msgstr ""
|
||||
msgid "Delete stock allocation"
|
||||
msgstr ""
|
||||
|
||||
#: build/templates/build/allocate.html:238 templates/js/bom.js:334
|
||||
#: build/templates/build/allocate.html:238 templates/js/bom.js:352
|
||||
msgid "No BOM items found"
|
||||
msgstr ""
|
||||
|
||||
#: build/templates/build/allocate.html:347 part/models.py:1401
|
||||
#: templates/js/part.js:530 templates/js/table_filters.js:145
|
||||
#: templates/js/part.js:569 templates/js/table_filters.js:167
|
||||
msgid "Required"
|
||||
msgstr ""
|
||||
|
||||
@ -693,8 +693,8 @@ msgstr ""
|
||||
|
||||
#: build/templates/build/detail.html:48
|
||||
#: stock/templates/stock/item_base.html:238 templates/js/stock.js:514
|
||||
#: templates/js/stock.js:921 templates/js/table_filters.js:58
|
||||
#: templates/js/table_filters.js:124
|
||||
#: templates/js/stock.js:921 templates/js/table_filters.js:80
|
||||
#: templates/js/table_filters.js:146
|
||||
msgid "Batch"
|
||||
msgstr ""
|
||||
|
||||
@ -1104,7 +1104,7 @@ msgstr ""
|
||||
#: company/templates/company/detail.html:16
|
||||
#: company/templates/company/supplier_part_base.html:84
|
||||
#: company/templates/company/supplier_part_detail.html:30 part/bom.py:172
|
||||
#: templates/js/company.js:44 templates/js/company.js:186
|
||||
#: templates/js/company.js:44 templates/js/company.js:188
|
||||
msgid "Manufacturer"
|
||||
msgstr ""
|
||||
|
||||
@ -1114,7 +1114,7 @@ msgstr ""
|
||||
#: order/templates/order/order_base.html:79
|
||||
#: order/templates/order/order_wizard/select_pos.html:30 part/bom.py:170
|
||||
#: stock/templates/stock/item_base.html:273 templates/js/company.js:48
|
||||
#: templates/js/company.js:162 templates/js/order.js:154
|
||||
#: templates/js/company.js:164 templates/js/order.js:154
|
||||
msgid "Supplier"
|
||||
msgstr ""
|
||||
|
||||
@ -1159,30 +1159,30 @@ msgstr ""
|
||||
msgid "Delete Parts"
|
||||
msgstr ""
|
||||
|
||||
#: company/templates/company/detail_part.html:60
|
||||
#: company/templates/company/detail_part.html:63
|
||||
#: part/templates/part/category.html:116 templates/js/stock.js:792
|
||||
msgid "New Part"
|
||||
msgstr ""
|
||||
|
||||
#: company/templates/company/detail_part.html:61
|
||||
#: company/templates/company/detail_part.html:64
|
||||
msgid "Create new Part"
|
||||
msgstr ""
|
||||
|
||||
#: company/templates/company/detail_part.html:66 company/views.py:53
|
||||
#: company/templates/company/detail_part.html:69 company/views.py:53
|
||||
#: part/templates/part/supplier.html:47
|
||||
msgid "New Supplier"
|
||||
msgstr ""
|
||||
|
||||
#: company/templates/company/detail_part.html:67 company/views.py:192
|
||||
#: company/templates/company/detail_part.html:70 company/views.py:192
|
||||
msgid "Create new Supplier"
|
||||
msgstr ""
|
||||
|
||||
#: company/templates/company/detail_part.html:72 company/views.py:60
|
||||
#: company/templates/company/detail_part.html:75 company/views.py:60
|
||||
#: part/templates/part/supplier.html:53
|
||||
msgid "New Manufacturer"
|
||||
msgstr ""
|
||||
|
||||
#: company/templates/company/detail_part.html:73 company/views.py:195
|
||||
#: company/templates/company/detail_part.html:76 company/views.py:195
|
||||
msgid "Create new Manufacturer"
|
||||
msgstr ""
|
||||
|
||||
@ -1253,7 +1253,7 @@ msgstr ""
|
||||
|
||||
#: company/templates/company/supplier_part_base.html:6
|
||||
#: company/templates/company/supplier_part_base.html:19 stock/models.py:344
|
||||
#: stock/templates/stock/item_base.html:278 templates/js/company.js:178
|
||||
#: stock/templates/stock/item_base.html:278 templates/js/company.js:180
|
||||
msgid "Supplier Part"
|
||||
msgstr ""
|
||||
|
||||
@ -1287,7 +1287,7 @@ msgstr ""
|
||||
|
||||
#: company/templates/company/supplier_part_base.html:88
|
||||
#: company/templates/company/supplier_part_detail.html:31 part/bom.py:173
|
||||
#: templates/js/company.js:202
|
||||
#: templates/js/company.js:204
|
||||
msgid "MPN"
|
||||
msgstr ""
|
||||
|
||||
@ -1310,7 +1310,7 @@ msgid "Pricing Information"
|
||||
msgstr ""
|
||||
|
||||
#: company/templates/company/supplier_part_pricing.html:17 company/views.py:410
|
||||
#: part/templates/part/sale_prices.html:13 part/views.py:2228
|
||||
#: part/templates/part/sale_prices.html:13 part/views.py:2229
|
||||
msgid "Add Price Break"
|
||||
msgstr ""
|
||||
|
||||
@ -1320,7 +1320,7 @@ msgid "No price break information found"
|
||||
msgstr ""
|
||||
|
||||
#: company/templates/company/supplier_part_pricing.html:80
|
||||
#: part/templates/part/sale_prices.html:85 templates/js/bom.js:207
|
||||
#: part/templates/part/sale_prices.html:85 templates/js/bom.js:225
|
||||
msgid "Price"
|
||||
msgstr ""
|
||||
|
||||
@ -1345,8 +1345,8 @@ msgstr ""
|
||||
#: company/templates/company/supplier_part_tabs.html:8
|
||||
#: company/templates/company/tabs.html:12 part/templates/part/tabs.html:18
|
||||
#: stock/templates/stock/location.html:17 templates/InvenTree/search.html:155
|
||||
#: templates/InvenTree/settings/tabs.html:25 templates/js/part.js:124
|
||||
#: templates/js/part.js:372 templates/js/stock.js:453 templates/navbar.html:22
|
||||
#: templates/InvenTree/settings/tabs.html:25 templates/js/part.js:153
|
||||
#: templates/js/part.js:411 templates/js/stock.js:453 templates/navbar.html:22
|
||||
#: users/models.py:29
|
||||
msgid "Stock"
|
||||
msgstr ""
|
||||
@ -1437,15 +1437,15 @@ msgstr ""
|
||||
msgid "Delete Supplier Part"
|
||||
msgstr ""
|
||||
|
||||
#: company/views.py:416 part/views.py:2234
|
||||
#: company/views.py:416 part/views.py:2235
|
||||
msgid "Added new price break"
|
||||
msgstr ""
|
||||
|
||||
#: company/views.py:453 part/views.py:2279
|
||||
#: company/views.py:453 part/views.py:2280
|
||||
msgid "Edit Price Break"
|
||||
msgstr ""
|
||||
|
||||
#: company/views.py:469 part/views.py:2295
|
||||
#: company/views.py:469 part/views.py:2296
|
||||
msgid "Delete Price Break"
|
||||
msgstr ""
|
||||
|
||||
@ -1538,7 +1538,7 @@ msgstr ""
|
||||
msgid "Date order was completed"
|
||||
msgstr ""
|
||||
|
||||
#: order/models.py:185 order/models.py:259 part/views.py:1345
|
||||
#: order/models.py:185 order/models.py:259 part/views.py:1346
|
||||
#: stock/models.py:241 stock/models.py:805
|
||||
msgid "Quantity must be greater than zero"
|
||||
msgstr ""
|
||||
@ -1785,7 +1785,7 @@ msgid "Select parts to receive against this order"
|
||||
msgstr ""
|
||||
|
||||
#: order/templates/order/receive_parts.html:21
|
||||
#: part/templates/part/part_base.html:145 templates/js/part.js:388
|
||||
#: part/templates/part/part_base.html:145 templates/js/part.js:427
|
||||
msgid "On Order"
|
||||
msgstr ""
|
||||
|
||||
@ -2257,7 +2257,7 @@ msgstr ""
|
||||
msgid "Test with this name already exists for this part"
|
||||
msgstr ""
|
||||
|
||||
#: part/models.py:1389 templates/js/part.js:521 templates/js/stock.js:92
|
||||
#: part/models.py:1389 templates/js/part.js:560 templates/js/stock.js:92
|
||||
msgid "Test Name"
|
||||
msgstr ""
|
||||
|
||||
@ -2277,7 +2277,7 @@ msgstr ""
|
||||
msgid "Is this test required to pass?"
|
||||
msgstr ""
|
||||
|
||||
#: part/models.py:1407 templates/js/part.js:538
|
||||
#: part/models.py:1407 templates/js/part.js:577
|
||||
msgid "Requires Value"
|
||||
msgstr ""
|
||||
|
||||
@ -2285,7 +2285,7 @@ msgstr ""
|
||||
msgid "Does this test require a value when adding a test result?"
|
||||
msgstr ""
|
||||
|
||||
#: part/models.py:1413 templates/js/part.js:545
|
||||
#: part/models.py:1413 templates/js/part.js:584
|
||||
msgid "Requires Attachment"
|
||||
msgstr ""
|
||||
|
||||
@ -2349,7 +2349,7 @@ msgstr ""
|
||||
msgid "BOM line checksum"
|
||||
msgstr ""
|
||||
|
||||
#: part/models.py:1612 part/views.py:1351 part/views.py:1403
|
||||
#: part/models.py:1612 part/views.py:1352 part/views.py:1404
|
||||
#: stock/models.py:231
|
||||
msgid "Quantity must be integer value for trackable parts"
|
||||
msgstr ""
|
||||
@ -2432,7 +2432,7 @@ msgstr ""
|
||||
msgid "Validate"
|
||||
msgstr ""
|
||||
|
||||
#: part/templates/part/bom.html:61 part/views.py:1642
|
||||
#: part/templates/part/bom.html:61 part/views.py:1643
|
||||
msgid "Export Bill of Materials"
|
||||
msgstr ""
|
||||
|
||||
@ -2524,7 +2524,7 @@ msgstr ""
|
||||
msgid "All parts"
|
||||
msgstr ""
|
||||
|
||||
#: part/templates/part/category.html:24 part/views.py:2045
|
||||
#: part/templates/part/category.html:24 part/views.py:2046
|
||||
msgid "Create new part category"
|
||||
msgstr ""
|
||||
|
||||
@ -2604,16 +2604,28 @@ msgstr ""
|
||||
msgid "Parametric Table"
|
||||
msgstr ""
|
||||
|
||||
#: part/templates/part/create_part.html:11
|
||||
msgid "Possible Matching Parts"
|
||||
msgstr ""
|
||||
|
||||
#: part/templates/part/create_part.html:12
|
||||
msgid "The new part may be a duplicate of these existing parts"
|
||||
msgstr ""
|
||||
|
||||
#: part/templates/part/create_part.html:16
|
||||
msgid "match"
|
||||
msgstr ""
|
||||
|
||||
#: part/templates/part/detail.html:9
|
||||
msgid "Part Details"
|
||||
msgstr ""
|
||||
|
||||
#: part/templates/part/detail.html:25 part/templates/part/part_base.html:95
|
||||
#: templates/js/part.js:112
|
||||
#: templates/js/part.js:141
|
||||
msgid "IPN"
|
||||
msgstr ""
|
||||
|
||||
#: part/templates/part/detail.html:32 templates/js/part.js:116
|
||||
#: part/templates/part/detail.html:32 templates/js/part.js:145
|
||||
msgid "Revision"
|
||||
msgstr ""
|
||||
|
||||
@ -2630,7 +2642,7 @@ msgid "Variant Of"
|
||||
msgstr ""
|
||||
|
||||
#: part/templates/part/detail.html:70 part/templates/part/set_category.html:15
|
||||
#: templates/js/part.js:359
|
||||
#: templates/js/part.js:398
|
||||
msgid "Category"
|
||||
msgstr ""
|
||||
|
||||
@ -2658,7 +2670,7 @@ msgstr ""
|
||||
msgid "Responsible User"
|
||||
msgstr ""
|
||||
|
||||
#: part/templates/part/detail.html:136
|
||||
#: part/templates/part/detail.html:136 templates/js/table_filters.js:27
|
||||
msgid "Virtual"
|
||||
msgstr ""
|
||||
|
||||
@ -2671,7 +2683,7 @@ msgid "Part is not a virtual part"
|
||||
msgstr ""
|
||||
|
||||
#: part/templates/part/detail.html:145 stock/forms.py:248
|
||||
#: templates/js/table_filters.js:212
|
||||
#: templates/js/table_filters.js:23 templates/js/table_filters.js:243
|
||||
msgid "Template"
|
||||
msgstr ""
|
||||
|
||||
@ -2683,7 +2695,7 @@ msgstr ""
|
||||
msgid "Part is not a template part"
|
||||
msgstr ""
|
||||
|
||||
#: part/templates/part/detail.html:154 templates/js/table_filters.js:224
|
||||
#: part/templates/part/detail.html:154 templates/js/table_filters.js:255
|
||||
msgid "Assembly"
|
||||
msgstr ""
|
||||
|
||||
@ -2695,7 +2707,7 @@ msgstr ""
|
||||
msgid "Part cannot be assembled from other parts"
|
||||
msgstr ""
|
||||
|
||||
#: part/templates/part/detail.html:163 templates/js/table_filters.js:228
|
||||
#: part/templates/part/detail.html:163 templates/js/table_filters.js:259
|
||||
msgid "Component"
|
||||
msgstr ""
|
||||
|
||||
@ -2707,7 +2719,8 @@ msgstr ""
|
||||
msgid "Part cannot be used in assemblies"
|
||||
msgstr ""
|
||||
|
||||
#: part/templates/part/detail.html:172 templates/js/table_filters.js:240
|
||||
#: part/templates/part/detail.html:172 templates/js/table_filters.js:31
|
||||
#: templates/js/table_filters.js:271
|
||||
msgid "Trackable"
|
||||
msgstr ""
|
||||
|
||||
@ -2727,7 +2740,7 @@ msgstr ""
|
||||
msgid "Part can be purchased from external suppliers"
|
||||
msgstr ""
|
||||
|
||||
#: part/templates/part/detail.html:190 templates/js/table_filters.js:236
|
||||
#: part/templates/part/detail.html:190 templates/js/table_filters.js:267
|
||||
msgid "Salable"
|
||||
msgstr ""
|
||||
|
||||
@ -2739,8 +2752,8 @@ msgstr ""
|
||||
msgid "Part cannot be sold to customers"
|
||||
msgstr ""
|
||||
|
||||
#: part/templates/part/detail.html:199 templates/js/table_filters.js:33
|
||||
#: templates/js/table_filters.js:207
|
||||
#: part/templates/part/detail.html:199 templates/js/table_filters.js:19
|
||||
#: templates/js/table_filters.js:55 templates/js/table_filters.js:238
|
||||
msgid "Active"
|
||||
msgstr ""
|
||||
|
||||
@ -2794,8 +2807,9 @@ msgstr ""
|
||||
msgid "This part is a variant of"
|
||||
msgstr ""
|
||||
|
||||
#: part/templates/part/part_base.html:36 templates/js/company.js:153
|
||||
#: templates/js/part.js:336
|
||||
#: part/templates/part/part_base.html:36 templates/js/bom.js:152
|
||||
#: templates/js/company.js:155 templates/js/part.js:133
|
||||
#: templates/js/part.js:375
|
||||
msgid "Inactive"
|
||||
msgstr ""
|
||||
|
||||
@ -2845,7 +2859,7 @@ msgstr ""
|
||||
msgid "Delete part"
|
||||
msgstr ""
|
||||
|
||||
#: part/templates/part/part_base.html:124 templates/js/table_filters.js:89
|
||||
#: part/templates/part/part_base.html:124 templates/js/table_filters.js:111
|
||||
msgid "In Stock"
|
||||
msgstr ""
|
||||
|
||||
@ -2905,8 +2919,8 @@ msgstr ""
|
||||
msgid "Part Stock"
|
||||
msgstr ""
|
||||
|
||||
#: part/templates/part/stock_count.html:7 templates/js/bom.js:197
|
||||
#: templates/js/part.js:396
|
||||
#: part/templates/part/stock_count.html:7 templates/js/bom.js:215
|
||||
#: templates/js/part.js:435
|
||||
msgid "No Stock"
|
||||
msgstr ""
|
||||
|
||||
@ -2962,11 +2976,11 @@ msgstr ""
|
||||
msgid "Part Variants"
|
||||
msgstr ""
|
||||
|
||||
#: part/templates/part/variants.html:21
|
||||
#: part/templates/part/variants.html:22
|
||||
msgid "Create new variant"
|
||||
msgstr ""
|
||||
|
||||
#: part/templates/part/variants.html:21
|
||||
#: part/templates/part/variants.html:23
|
||||
msgid "New Variant"
|
||||
msgstr ""
|
||||
|
||||
@ -3023,127 +3037,127 @@ msgstr ""
|
||||
msgid "Copied part"
|
||||
msgstr ""
|
||||
|
||||
#: part/views.py:513 templates/js/stock.js:793
|
||||
#: part/views.py:514 templates/js/stock.js:793
|
||||
msgid "Create New Part"
|
||||
msgstr ""
|
||||
|
||||
#: part/views.py:520
|
||||
#: part/views.py:521
|
||||
msgid "Created new part"
|
||||
msgstr ""
|
||||
|
||||
#: part/views.py:735
|
||||
#: part/views.py:736
|
||||
msgid "Part QR Code"
|
||||
msgstr ""
|
||||
|
||||
#: part/views.py:754
|
||||
#: part/views.py:755
|
||||
msgid "Upload Part Image"
|
||||
msgstr ""
|
||||
|
||||
#: part/views.py:762 part/views.py:799
|
||||
#: part/views.py:763 part/views.py:800
|
||||
msgid "Updated part image"
|
||||
msgstr ""
|
||||
|
||||
#: part/views.py:771
|
||||
#: part/views.py:772
|
||||
msgid "Select Part Image"
|
||||
msgstr ""
|
||||
|
||||
#: part/views.py:802
|
||||
#: part/views.py:803
|
||||
msgid "Part image not found"
|
||||
msgstr ""
|
||||
|
||||
#: part/views.py:813
|
||||
#: part/views.py:814
|
||||
msgid "Edit Part Properties"
|
||||
msgstr ""
|
||||
|
||||
#: part/views.py:837
|
||||
#: part/views.py:838
|
||||
msgid "Validate BOM"
|
||||
msgstr ""
|
||||
|
||||
#: part/views.py:1004
|
||||
#: part/views.py:1005
|
||||
msgid "No BOM file provided"
|
||||
msgstr ""
|
||||
|
||||
#: part/views.py:1354
|
||||
#: part/views.py:1355
|
||||
msgid "Enter a valid quantity"
|
||||
msgstr ""
|
||||
|
||||
#: part/views.py:1379 part/views.py:1382
|
||||
#: part/views.py:1380 part/views.py:1383
|
||||
msgid "Select valid part"
|
||||
msgstr ""
|
||||
|
||||
#: part/views.py:1388
|
||||
#: part/views.py:1389
|
||||
msgid "Duplicate part selected"
|
||||
msgstr ""
|
||||
|
||||
#: part/views.py:1426
|
||||
#: part/views.py:1427
|
||||
msgid "Select a part"
|
||||
msgstr ""
|
||||
|
||||
#: part/views.py:1432
|
||||
#: part/views.py:1433
|
||||
msgid "Selected part creates a circular BOM"
|
||||
msgstr ""
|
||||
|
||||
#: part/views.py:1436
|
||||
#: part/views.py:1437
|
||||
msgid "Specify quantity"
|
||||
msgstr ""
|
||||
|
||||
#: part/views.py:1692
|
||||
#: part/views.py:1693
|
||||
msgid "Confirm Part Deletion"
|
||||
msgstr ""
|
||||
|
||||
#: part/views.py:1701
|
||||
#: part/views.py:1702
|
||||
msgid "Part was deleted"
|
||||
msgstr ""
|
||||
|
||||
#: part/views.py:1710
|
||||
#: part/views.py:1711
|
||||
msgid "Part Pricing"
|
||||
msgstr ""
|
||||
|
||||
#: part/views.py:1836
|
||||
#: part/views.py:1837
|
||||
msgid "Create Part Parameter Template"
|
||||
msgstr ""
|
||||
|
||||
#: part/views.py:1846
|
||||
#: part/views.py:1847
|
||||
msgid "Edit Part Parameter Template"
|
||||
msgstr ""
|
||||
|
||||
#: part/views.py:1855
|
||||
#: part/views.py:1856
|
||||
msgid "Delete Part Parameter Template"
|
||||
msgstr ""
|
||||
|
||||
#: part/views.py:1865
|
||||
#: part/views.py:1866
|
||||
msgid "Create Part Parameter"
|
||||
msgstr ""
|
||||
|
||||
#: part/views.py:1917
|
||||
#: part/views.py:1918
|
||||
msgid "Edit Part Parameter"
|
||||
msgstr ""
|
||||
|
||||
#: part/views.py:1933
|
||||
#: part/views.py:1934
|
||||
msgid "Delete Part Parameter"
|
||||
msgstr ""
|
||||
|
||||
#: part/views.py:1992
|
||||
#: part/views.py:1993
|
||||
msgid "Edit Part Category"
|
||||
msgstr ""
|
||||
|
||||
#: part/views.py:2029
|
||||
#: part/views.py:2030
|
||||
msgid "Delete Part Category"
|
||||
msgstr ""
|
||||
|
||||
#: part/views.py:2037
|
||||
#: part/views.py:2038
|
||||
msgid "Part category was deleted"
|
||||
msgstr ""
|
||||
|
||||
#: part/views.py:2100
|
||||
msgid "Create BOM item"
|
||||
#: part/views.py:2101
|
||||
msgid "Create BOM Item"
|
||||
msgstr ""
|
||||
|
||||
#: part/views.py:2168
|
||||
#: part/views.py:2169
|
||||
msgid "Edit BOM item"
|
||||
msgstr ""
|
||||
|
||||
#: part/views.py:2218
|
||||
#: part/views.py:2219
|
||||
msgid "Confim BOM item deletion"
|
||||
msgstr ""
|
||||
|
||||
@ -3447,7 +3461,7 @@ msgstr ""
|
||||
msgid "Result"
|
||||
msgstr ""
|
||||
|
||||
#: stock/models.py:1386 templates/js/table_filters.js:135
|
||||
#: stock/models.py:1386 templates/js/table_filters.js:157
|
||||
msgid "Test result"
|
||||
msgstr ""
|
||||
|
||||
@ -4313,51 +4327,63 @@ msgstr ""
|
||||
msgid "Barcode does not match Stock Item"
|
||||
msgstr ""
|
||||
|
||||
#: templates/js/bom.js:132
|
||||
#: templates/js/bom.js:133 templates/js/part.js:117 templates/js/part.js:344
|
||||
msgid "Trackable part"
|
||||
msgstr ""
|
||||
|
||||
#: templates/js/bom.js:137 templates/js/part.js:121 templates/js/part.js:348
|
||||
msgid "Virtual part"
|
||||
msgstr ""
|
||||
|
||||
#: templates/js/bom.js:141
|
||||
msgid "Templat part"
|
||||
msgstr ""
|
||||
|
||||
#: templates/js/bom.js:146
|
||||
msgid "Open subassembly"
|
||||
msgstr ""
|
||||
|
||||
#: templates/js/bom.js:173
|
||||
#: templates/js/bom.js:191
|
||||
msgid "Optional"
|
||||
msgstr ""
|
||||
|
||||
#: templates/js/bom.js:188 templates/js/build.js:133
|
||||
#: templates/js/bom.js:206 templates/js/build.js:133
|
||||
msgid "Available"
|
||||
msgstr ""
|
||||
|
||||
#: templates/js/bom.js:213
|
||||
#: templates/js/bom.js:231
|
||||
msgid "No pricing available"
|
||||
msgstr ""
|
||||
|
||||
#: templates/js/bom.js:232
|
||||
#: templates/js/bom.js:250
|
||||
msgid "Actions"
|
||||
msgstr ""
|
||||
|
||||
#: templates/js/bom.js:240
|
||||
#: templates/js/bom.js:258
|
||||
msgid "Validate BOM Item"
|
||||
msgstr ""
|
||||
|
||||
#: templates/js/bom.js:242
|
||||
#: templates/js/bom.js:260
|
||||
msgid "This line has been validated"
|
||||
msgstr ""
|
||||
|
||||
#: templates/js/bom.js:244
|
||||
#: templates/js/bom.js:262
|
||||
msgid "Edit BOM Item"
|
||||
msgstr ""
|
||||
|
||||
#: templates/js/bom.js:246
|
||||
#: templates/js/bom.js:264
|
||||
msgid "Delete BOM Item"
|
||||
msgstr ""
|
||||
|
||||
#: templates/js/bom.js:478
|
||||
#: templates/js/bom.js:496
|
||||
msgid "INACTIVE"
|
||||
msgstr ""
|
||||
|
||||
#: templates/js/bom.js:492
|
||||
#: templates/js/bom.js:510
|
||||
msgid "Uses"
|
||||
msgstr ""
|
||||
|
||||
#: templates/js/bom.js:503
|
||||
#: templates/js/bom.js:521
|
||||
msgid "No matching parts found"
|
||||
msgstr ""
|
||||
|
||||
@ -4381,19 +4407,21 @@ msgstr ""
|
||||
msgid "No company information found"
|
||||
msgstr ""
|
||||
|
||||
#: templates/js/company.js:128
|
||||
#: templates/js/company.js:129
|
||||
msgid "No supplier parts found"
|
||||
msgstr ""
|
||||
|
||||
#: templates/js/company.js:145 templates/js/part.js:314
|
||||
#: templates/js/company.js:147 templates/js/part.js:125
|
||||
#: templates/js/part.js:353
|
||||
msgid "Template part"
|
||||
msgstr ""
|
||||
|
||||
#: templates/js/company.js:149 templates/js/part.js:318
|
||||
#: templates/js/company.js:151 templates/js/part.js:129
|
||||
#: templates/js/part.js:357
|
||||
msgid "Assembled part"
|
||||
msgstr ""
|
||||
|
||||
#: templates/js/company.js:206
|
||||
#: templates/js/company.js:208
|
||||
msgid "Link"
|
||||
msgstr ""
|
||||
|
||||
@ -4413,59 +4441,59 @@ msgstr ""
|
||||
msgid "Shipment Date"
|
||||
msgstr ""
|
||||
|
||||
#: templates/js/part.js:137
|
||||
#: templates/js/part.js:166
|
||||
msgid "No variants found"
|
||||
msgstr ""
|
||||
|
||||
#: templates/js/part.js:223 templates/js/part.js:411
|
||||
#: templates/js/part.js:252 templates/js/part.js:450
|
||||
msgid "No parts found"
|
||||
msgstr ""
|
||||
|
||||
#: templates/js/part.js:275 templates/js/stock.js:409 templates/js/stock.js:966
|
||||
#: templates/js/part.js:304 templates/js/stock.js:409 templates/js/stock.js:966
|
||||
msgid "Select"
|
||||
msgstr ""
|
||||
|
||||
#: templates/js/part.js:322
|
||||
#: templates/js/part.js:361
|
||||
msgid "Starred part"
|
||||
msgstr ""
|
||||
|
||||
#: templates/js/part.js:326
|
||||
#: templates/js/part.js:365
|
||||
msgid "Salable part"
|
||||
msgstr ""
|
||||
|
||||
#: templates/js/part.js:365
|
||||
#: templates/js/part.js:404
|
||||
msgid "No category"
|
||||
msgstr ""
|
||||
|
||||
#: templates/js/part.js:383 templates/js/table_filters.js:220
|
||||
#: templates/js/part.js:422 templates/js/table_filters.js:251
|
||||
msgid "Low stock"
|
||||
msgstr ""
|
||||
|
||||
#: templates/js/part.js:392
|
||||
#: templates/js/part.js:431
|
||||
msgid "Building"
|
||||
msgstr ""
|
||||
|
||||
#: templates/js/part.js:471
|
||||
#: templates/js/part.js:510
|
||||
msgid "YES"
|
||||
msgstr ""
|
||||
|
||||
#: templates/js/part.js:473
|
||||
#: templates/js/part.js:512
|
||||
msgid "NO"
|
||||
msgstr ""
|
||||
|
||||
#: templates/js/part.js:507
|
||||
#: templates/js/part.js:546
|
||||
msgid "No test templates matching query"
|
||||
msgstr ""
|
||||
|
||||
#: templates/js/part.js:558 templates/js/stock.js:63
|
||||
#: templates/js/part.js:597 templates/js/stock.js:63
|
||||
msgid "Edit test result"
|
||||
msgstr ""
|
||||
|
||||
#: templates/js/part.js:559 templates/js/stock.js:64
|
||||
#: templates/js/part.js:598 templates/js/stock.js:64
|
||||
msgid "Delete test result"
|
||||
msgstr ""
|
||||
|
||||
#: templates/js/part.js:565
|
||||
#: templates/js/part.js:604
|
||||
msgid "This test is defined for a parent part"
|
||||
msgstr ""
|
||||
|
||||
@ -4529,7 +4557,7 @@ msgstr ""
|
||||
msgid "Stock item is lost"
|
||||
msgstr ""
|
||||
|
||||
#: templates/js/stock.js:498 templates/js/table_filters.js:84
|
||||
#: templates/js/stock.js:498 templates/js/table_filters.js:106
|
||||
msgid "Depleted"
|
||||
msgstr ""
|
||||
|
||||
@ -4553,7 +4581,7 @@ msgstr ""
|
||||
msgid "Serial"
|
||||
msgstr ""
|
||||
|
||||
#: templates/js/stock.js:997 templates/js/table_filters.js:94
|
||||
#: templates/js/stock.js:997 templates/js/table_filters.js:116
|
||||
msgid "Installed"
|
||||
msgstr ""
|
||||
|
||||
@ -4561,132 +4589,132 @@ msgstr ""
|
||||
msgid "Install item"
|
||||
msgstr ""
|
||||
|
||||
#: templates/js/table_filters.js:19
|
||||
#: templates/js/table_filters.js:41
|
||||
msgid "Trackable Part"
|
||||
msgstr ""
|
||||
|
||||
#: templates/js/table_filters.js:23
|
||||
#: templates/js/table_filters.js:45
|
||||
msgid "Validated"
|
||||
msgstr ""
|
||||
|
||||
#: templates/js/table_filters.js:43 templates/js/table_filters.js:104
|
||||
#: templates/js/table_filters.js:65 templates/js/table_filters.js:126
|
||||
msgid "Is Serialized"
|
||||
msgstr ""
|
||||
|
||||
#: templates/js/table_filters.js:46 templates/js/table_filters.js:111
|
||||
#: templates/js/table_filters.js:68 templates/js/table_filters.js:133
|
||||
msgid "Serial number GTE"
|
||||
msgstr ""
|
||||
|
||||
#: templates/js/table_filters.js:47 templates/js/table_filters.js:112
|
||||
#: templates/js/table_filters.js:69 templates/js/table_filters.js:134
|
||||
msgid "Serial number greater than or equal to"
|
||||
msgstr ""
|
||||
|
||||
#: templates/js/table_filters.js:50 templates/js/table_filters.js:115
|
||||
#: templates/js/table_filters.js:72 templates/js/table_filters.js:137
|
||||
msgid "Serial number LTE"
|
||||
msgstr ""
|
||||
|
||||
#: templates/js/table_filters.js:51 templates/js/table_filters.js:116
|
||||
#: templates/js/table_filters.js:73 templates/js/table_filters.js:138
|
||||
msgid "Serial number less than or equal to"
|
||||
msgstr ""
|
||||
|
||||
#: templates/js/table_filters.js:54 templates/js/table_filters.js:55
|
||||
#: templates/js/table_filters.js:107 templates/js/table_filters.js:108
|
||||
#: templates/js/table_filters.js:76 templates/js/table_filters.js:77
|
||||
#: templates/js/table_filters.js:129 templates/js/table_filters.js:130
|
||||
msgid "Serial number"
|
||||
msgstr ""
|
||||
|
||||
#: templates/js/table_filters.js:59 templates/js/table_filters.js:125
|
||||
#: templates/js/table_filters.js:81 templates/js/table_filters.js:147
|
||||
msgid "Batch code"
|
||||
msgstr ""
|
||||
|
||||
#: templates/js/table_filters.js:69
|
||||
#: templates/js/table_filters.js:91 templates/js/table_filters.js:218
|
||||
msgid "Active parts"
|
||||
msgstr ""
|
||||
|
||||
#: templates/js/table_filters.js:70
|
||||
#: templates/js/table_filters.js:92
|
||||
msgid "Show stock for active parts"
|
||||
msgstr ""
|
||||
|
||||
#: templates/js/table_filters.js:74
|
||||
#: templates/js/table_filters.js:96
|
||||
msgid "Is allocated"
|
||||
msgstr ""
|
||||
|
||||
#: templates/js/table_filters.js:75
|
||||
#: templates/js/table_filters.js:97
|
||||
msgid "Item has been alloacted"
|
||||
msgstr ""
|
||||
|
||||
#: templates/js/table_filters.js:79
|
||||
#: templates/js/table_filters.js:101
|
||||
msgid "Include sublocations"
|
||||
msgstr ""
|
||||
|
||||
#: templates/js/table_filters.js:80
|
||||
#: templates/js/table_filters.js:102
|
||||
msgid "Include stock in sublocations"
|
||||
msgstr ""
|
||||
|
||||
#: templates/js/table_filters.js:85
|
||||
#: templates/js/table_filters.js:107
|
||||
msgid "Show stock items which are depleted"
|
||||
msgstr ""
|
||||
|
||||
#: templates/js/table_filters.js:90
|
||||
#: templates/js/table_filters.js:112
|
||||
msgid "Show items which are in stock"
|
||||
msgstr ""
|
||||
|
||||
#: templates/js/table_filters.js:95
|
||||
#: templates/js/table_filters.js:117
|
||||
msgid "Show stock items which are installed in another item"
|
||||
msgstr ""
|
||||
|
||||
#: templates/js/table_filters.js:99
|
||||
#: templates/js/table_filters.js:121
|
||||
msgid "Sent to customer"
|
||||
msgstr ""
|
||||
|
||||
#: templates/js/table_filters.js:100
|
||||
#: templates/js/table_filters.js:122
|
||||
msgid "Show items which have been assigned to a customer"
|
||||
msgstr ""
|
||||
|
||||
#: templates/js/table_filters.js:120 templates/js/table_filters.js:121
|
||||
#: templates/js/table_filters.js:142 templates/js/table_filters.js:143
|
||||
msgid "Stock status"
|
||||
msgstr ""
|
||||
|
||||
#: templates/js/table_filters.js:154
|
||||
#: templates/js/table_filters.js:176
|
||||
msgid "Build status"
|
||||
msgstr ""
|
||||
|
||||
#: templates/js/table_filters.js:169 templates/js/table_filters.js:182
|
||||
#: templates/js/table_filters.js:191 templates/js/table_filters.js:204
|
||||
msgid "Order status"
|
||||
msgstr ""
|
||||
|
||||
#: templates/js/table_filters.js:174 templates/js/table_filters.js:187
|
||||
#: templates/js/table_filters.js:196 templates/js/table_filters.js:209
|
||||
msgid "Outstanding"
|
||||
msgstr ""
|
||||
|
||||
#: templates/js/table_filters.js:197
|
||||
#: templates/js/table_filters.js:228
|
||||
msgid "Include subcategories"
|
||||
msgstr ""
|
||||
|
||||
#: templates/js/table_filters.js:198
|
||||
#: templates/js/table_filters.js:229
|
||||
msgid "Include parts in subcategories"
|
||||
msgstr ""
|
||||
|
||||
#: templates/js/table_filters.js:202
|
||||
#: templates/js/table_filters.js:233
|
||||
msgid "Has IPN"
|
||||
msgstr ""
|
||||
|
||||
#: templates/js/table_filters.js:203
|
||||
#: templates/js/table_filters.js:234
|
||||
msgid "Part has internal part number"
|
||||
msgstr ""
|
||||
|
||||
#: templates/js/table_filters.js:208
|
||||
#: templates/js/table_filters.js:239
|
||||
msgid "Show active parts"
|
||||
msgstr ""
|
||||
|
||||
#: templates/js/table_filters.js:216
|
||||
#: templates/js/table_filters.js:247
|
||||
msgid "Stock available"
|
||||
msgstr ""
|
||||
|
||||
#: templates/js/table_filters.js:232
|
||||
#: templates/js/table_filters.js:263
|
||||
msgid "Starred"
|
||||
msgstr ""
|
||||
|
||||
#: templates/js/table_filters.js:244
|
||||
#: templates/js/table_filters.js:275
|
||||
msgid "Purchasable"
|
||||
msgstr ""
|
||||
|
||||
|
@ -461,8 +461,8 @@ class PartList(generics.ListCreateAPIView):
|
||||
else:
|
||||
queryset = queryset.exclude(pk__in=starred_parts)
|
||||
|
||||
# Cascade?
|
||||
cascade = str2bool(params.get('cascade', None))
|
||||
# Cascade? (Default = True)
|
||||
cascade = str2bool(params.get('cascade', True))
|
||||
|
||||
# Does the user wish to filter by category?
|
||||
cat_id = params.get('category', None)
|
||||
|
@ -245,7 +245,7 @@ def match_part_names(match, threshold=80, reverse=True, compare_length=False):
|
||||
if ratio >= threshold:
|
||||
matches.append({
|
||||
'part': part,
|
||||
'ratio': ratio
|
||||
'ratio': round(ratio, 1)
|
||||
})
|
||||
|
||||
matches = sorted(matches, key=lambda item: item['ratio'], reverse=reverse)
|
||||
|
@ -1,19 +1,23 @@
|
||||
{% extends "modal_form.html" %}
|
||||
{% load inventree_extras %}
|
||||
{% load i18n %}
|
||||
|
||||
{% block pre_form_content %}
|
||||
|
||||
{{ block.super }}
|
||||
|
||||
{% if matches %}
|
||||
<b>Possible Matching Parts</b>
|
||||
<p>The new part may be a duplicate of these existing parts:</p>
|
||||
<ul class='list-group'>
|
||||
{% for match in matches %}
|
||||
<li class='list-group-item list-group-item-condensed'>
|
||||
{{ match.part.full_name }} - <i>{{ match.part.description }}</i> ({{ match.ratio }}%)
|
||||
</li>
|
||||
{% endfor %}
|
||||
<div class='alert alert-block alert-warning'>
|
||||
<b>{% trans "Possible Matching Parts" %}</b>
|
||||
<p>{% trans "The new part may be a duplicate of these existing parts" %}:</p>
|
||||
<ul class='list-group'>
|
||||
{% for match in matches %}
|
||||
<li class='list-group-item list-group-item-condensed'>
|
||||
{{ match.part.full_name }} - <i>{{ match.part.description }}</i> ({% decimal match.ratio %}% {% trans "match" %})
|
||||
</li>
|
||||
{% endfor %}
|
||||
</ul>
|
||||
</div>
|
||||
{% endif %}
|
||||
|
||||
{% endblock %}
|
@ -15,7 +15,7 @@
|
||||
<table class='table table-striped'>
|
||||
<col width='25'>
|
||||
<tr>
|
||||
<td></td>
|
||||
<td><span class='fas fa-font'></span></td>
|
||||
<td><b>{% trans "Part name" %}</b></td>
|
||||
<td>{{ part.name }}</td>
|
||||
</tr>
|
||||
@ -28,7 +28,7 @@
|
||||
{% endif %}
|
||||
{% if part.revision %}
|
||||
<tr>
|
||||
<td></td>
|
||||
<td><span class='fas fa-code-branch'></span></td>
|
||||
<td><b>{% trans "Revision" %}</b></td>
|
||||
<td>{{ part.revision }}</td>
|
||||
</tr>
|
||||
@ -132,7 +132,9 @@
|
||||
</div>
|
||||
<div class='col-sm-6'>
|
||||
<table class='table table-striped'>
|
||||
<col width='25'>
|
||||
<tr>
|
||||
<td><span class='fas fa-ghost'%></span></td>
|
||||
<td><b>{% trans "Virtual" %}</b></td>
|
||||
<td>{% include "slide.html" with state=part.virtual field='virtual' %}</td>
|
||||
{% if part.virtual %}
|
||||
@ -142,6 +144,7 @@
|
||||
{% endif %}
|
||||
</tr>
|
||||
<tr>
|
||||
<td><span class='fas fa-clone'></span></td>
|
||||
<td><b>{% trans "Template" %}</b></td>
|
||||
<td>{% include "slide.html" with state=part.is_template field='is_template' %}</td>
|
||||
{% if part.is_template %}
|
||||
@ -151,6 +154,7 @@
|
||||
{% endif %}
|
||||
</tr>
|
||||
<tr>
|
||||
<td><span class='fas fa-tools'></span></td>
|
||||
<td><b>{% trans "Assembly" %}</b></td>
|
||||
<td>{% include "slide.html" with state=part.assembly field='assembly' %}</td>
|
||||
{% if part.assembly %}
|
||||
@ -160,6 +164,7 @@
|
||||
{% endif %}
|
||||
</tr>
|
||||
<tr>
|
||||
<td><span class='fas fa-th'></span></td>
|
||||
<td><b>{% trans "Component" %}</b></td>
|
||||
<td>{% include "slide.html" with state=part.component field='component' %}</td>
|
||||
{% if part.component %}
|
||||
@ -169,6 +174,7 @@
|
||||
{% endif %}
|
||||
</tr>
|
||||
<tr>
|
||||
<td><span class='fas fa-directions'></span></td>
|
||||
<td><b>{% trans "Trackable" %}</b></td>
|
||||
<td>{% include "slide.html" with state=part.trackable field='trackable' %}</td>
|
||||
{% if part.trackable %}
|
||||
@ -178,6 +184,7 @@
|
||||
{% endif %}
|
||||
</tr>
|
||||
<tr>
|
||||
<td><span class='fas fa-shopping-cart'></span></td>
|
||||
<td><b>{% trans "Purchaseable" %}</b></td>
|
||||
<td>{% include "slide.html" with state=part.purchaseable field='purchaseable' %}</td>
|
||||
{% if part.purchaseable %}
|
||||
@ -187,6 +194,7 @@
|
||||
{% endif %}
|
||||
</tr>
|
||||
<tr>
|
||||
<td><span class='fas fa-dollar-sign'></span></td>
|
||||
<td><b>{% trans "Salable" %}</b></td>
|
||||
<td>{% include "slide.html" with state=part.salable field='salable' %}</td>
|
||||
{% if part.salable %}
|
||||
@ -196,6 +204,13 @@
|
||||
{% endif %}
|
||||
</tr>
|
||||
<tr>
|
||||
<td>
|
||||
{% if part.active %}
|
||||
<span class='fas fa-check-square'></span>
|
||||
{% else %}
|
||||
<span class='fas fa-times-square'></span>
|
||||
{% endif %}
|
||||
</td>
|
||||
<td><b>{% trans "Active" %}</b></td>
|
||||
<td>{% include "slide.html" with state=part.active field='active' disabled=False %}</td>
|
||||
{% if part.active %}
|
||||
|
@ -16,10 +16,17 @@
|
||||
<hr>
|
||||
|
||||
<div id='button-toolbar'>
|
||||
<div class='btn-group'>
|
||||
{% if part.is_template and part.active %}
|
||||
<button class='btn btn-success' id='new-variant' title='{% trans "Create new variant" %}'>{% trans "New Variant" %}</button>
|
||||
{% endif %}
|
||||
<div class='button-toolbar container-fluid'>
|
||||
<div class='btn-group' role='group'>
|
||||
{% if part.is_template and part.active %}
|
||||
<button class='btn btn-success' id='new-variant' title='{% trans "Create new variant" %}'>
|
||||
<span class='fas fa-plus-circle'></span> {% trans "New Variant" %}
|
||||
</button>
|
||||
{% endif %}
|
||||
</div>
|
||||
<div class='filter-list' id='filter-list-variants'>
|
||||
<!-- Empty div (will be filled out with available BOM filters) -->
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
|
@ -436,7 +436,8 @@ class PartDuplicate(AjaxCreateView):
|
||||
matches = match_part_names(name)
|
||||
|
||||
if len(matches) > 0:
|
||||
context['matches'] = matches
|
||||
# Display the first five closest matches
|
||||
context['matches'] = matches[:5]
|
||||
|
||||
# Enforce display of the checkbox
|
||||
form.fields['confirm_creation'].widget = CheckboxInput()
|
||||
@ -2097,7 +2098,7 @@ class BomItemCreate(AjaxCreateView):
|
||||
model = BomItem
|
||||
form_class = part_forms.EditBomItemForm
|
||||
ajax_template_name = 'modal_form.html'
|
||||
ajax_form_title = _('Create BOM item')
|
||||
ajax_form_title = _('Create BOM Item')
|
||||
|
||||
role_required = 'part.add'
|
||||
|
||||
|
@ -234,7 +234,7 @@ InvenTree | {% trans "Stock Item" %} - {{ item }}
|
||||
{% endif %}
|
||||
{% if item.batch %}
|
||||
<tr>
|
||||
<td></td>
|
||||
<td><span class='fas fa-layer-group'></span></td>
|
||||
<td>{% trans "Batch" %}</td>
|
||||
<td>{{ item.batch }}</td>
|
||||
</tr>
|
||||
@ -248,7 +248,7 @@ InvenTree | {% trans "Stock Item" %} - {{ item }}
|
||||
{% endif %}
|
||||
{% if item.purchase_order %}
|
||||
<tr>
|
||||
<td></td>
|
||||
<td><span class='fas fa-shopping-cart'></span></td>
|
||||
<td>{% trans "Purchase Order" %}</td>
|
||||
<td><a href="{% url 'po-detail' item.purchase_order.id %}">{{ item.purchase_order }}</a></td>
|
||||
</tr>
|
||||
|
@ -127,13 +127,31 @@ function loadBomTable(table, options) {
|
||||
var url = `/part/${row.sub_part}/`;
|
||||
var html = imageHoverIcon(row.sub_part_detail.thumbnail) + renderLink(row.sub_part_detail.full_name, url);
|
||||
|
||||
var sub_part = row.sub_part_detail;
|
||||
|
||||
if (sub_part.trackable) {
|
||||
html += makeIconBadge('fa-directions', '{% trans "Trackable part" %}');
|
||||
}
|
||||
|
||||
if (sub_part.virtual) {
|
||||
html += makeIconBadge('fa-ghost', '{% trans "Virtual part" %}');
|
||||
}
|
||||
|
||||
if (sub_part.is_template) {
|
||||
html += makeIconBadge('fa-clone', '{% trans "Templat part" %}');
|
||||
}
|
||||
|
||||
// Display an extra icon if this part is an assembly
|
||||
if (row.sub_part_detail.assembly) {
|
||||
if (sub_part.assembly) {
|
||||
var text = `<span title='{% trans "Open subassembly" %}' class='fas fa-stream label-right'></span>`;
|
||||
|
||||
html += renderLink(text, `/part/${row.sub_part}/bom/`);
|
||||
}
|
||||
|
||||
if (!sub_part.active) {
|
||||
html += `<span class='label label-warning label-right'>{% trans "Inactive" %}</span>`;
|
||||
}
|
||||
|
||||
return html;
|
||||
}
|
||||
}
|
||||
|
@ -110,7 +110,7 @@ function loadSupplierPartTable(table, url, options) {
|
||||
// Query parameters
|
||||
var params = options.params || {};
|
||||
|
||||
// Load 'user' filters
|
||||
// Load filters
|
||||
var filters = loadTableFilters("supplier-part");
|
||||
|
||||
for (var key in params) {
|
||||
@ -122,6 +122,7 @@ function loadSupplierPartTable(table, url, options) {
|
||||
$(table).inventreeTable({
|
||||
url: url,
|
||||
method: 'get',
|
||||
original: params,
|
||||
queryParams: filters,
|
||||
name: 'supplierparts',
|
||||
groupBy: false,
|
||||
@ -135,6 +136,7 @@ function loadSupplierPartTable(table, url, options) {
|
||||
sortable: true,
|
||||
field: 'part_detail.full_name',
|
||||
title: '{% trans "Part" %}',
|
||||
switchable: false,
|
||||
formatter: function(value, row, index, field) {
|
||||
|
||||
var url = `/part/${row.part}/`;
|
||||
|
@ -61,13 +61,22 @@ function toggleStar(options) {
|
||||
}
|
||||
|
||||
|
||||
function loadPartVariantTable(table, partId, options) {
|
||||
function loadPartVariantTable(table, partId, options={}) {
|
||||
/* Load part variant table
|
||||
*/
|
||||
|
||||
var params = {
|
||||
ancestor: partId,
|
||||
};
|
||||
var params = options.params || {};
|
||||
|
||||
params.ancestor = partId;
|
||||
|
||||
// Load filters
|
||||
var filters = loadTableFilters("variants");
|
||||
|
||||
for (var key in params) {
|
||||
filters[key] = params[key];
|
||||
}
|
||||
|
||||
setupFilterList("variants", $(table));
|
||||
|
||||
var cols = [
|
||||
{
|
||||
@ -104,16 +113,36 @@ function loadPartVariantTable(table, partId, options) {
|
||||
html += imageHoverIcon(row.thumbnail);
|
||||
html += renderLink(name, `/part/${row.pk}/`);
|
||||
|
||||
if (row.trackable) {
|
||||
html += makeIconBadge('fa-directions', '{% trans "Trackable part" %}');
|
||||
}
|
||||
|
||||
if (row.virtual) {
|
||||
html += makeIconBadge('fa-ghost', '{% trans "Virtual part" %}');
|
||||
}
|
||||
|
||||
if (row.is_template) {
|
||||
html += makeIconBadge('fa-clone', '{% trans "Template part" %}');
|
||||
}
|
||||
|
||||
if (row.assembly) {
|
||||
html += makeIconBadge('fa-tools', '{% trans "Assembled part" %}');
|
||||
}
|
||||
|
||||
if (!row.active) {
|
||||
html += `<span class='label label-warning label-right'>{% trans "Inactive" %}</span>`;
|
||||
}
|
||||
|
||||
return html;
|
||||
},
|
||||
},
|
||||
{
|
||||
field: 'IPN',
|
||||
title: '{% trans 'IPN' %}',
|
||||
title: '{% trans "IPN" %}',
|
||||
},
|
||||
{
|
||||
field: 'revision',
|
||||
title: '{% trans 'Revision' %}',
|
||||
title: '{% trans "Revision" %}',
|
||||
},
|
||||
{
|
||||
field: 'description',
|
||||
@ -133,7 +162,7 @@ function loadPartVariantTable(table, partId, options) {
|
||||
name: 'partvariants',
|
||||
showColumns: true,
|
||||
original: params,
|
||||
queryParams: params,
|
||||
queryParams: filters,
|
||||
formatNoMatches: function() { return "{% trans "No variants found" %}"; },
|
||||
columns: cols,
|
||||
treeEnable: true,
|
||||
@ -272,7 +301,7 @@ function loadPartTable(table, url, options={}) {
|
||||
if (options.checkbox) {
|
||||
columns.push({
|
||||
checkbox: true,
|
||||
title: '{% trans 'Select' %}',
|
||||
title: '{% trans "Select" %}',
|
||||
searchable: false,
|
||||
switchable: false,
|
||||
});
|
||||
@ -286,8 +315,9 @@ function loadPartTable(table, url, options={}) {
|
||||
|
||||
columns.push({
|
||||
field: 'name',
|
||||
title: '{% trans 'Part' %}',
|
||||
title: '{% trans "Part" %}',
|
||||
sortable: true,
|
||||
switchable: false,
|
||||
formatter: function(value, row, index, field) {
|
||||
|
||||
var name = '';
|
||||
@ -310,20 +340,29 @@ function loadPartTable(table, url, options={}) {
|
||||
|
||||
var display = imageHoverIcon(row.thumbnail) + renderLink(name, '/part/' + row.pk + '/');
|
||||
|
||||
if (row.trackable) {
|
||||
display += makeIconBadge('fa-directions', '{% trans "Trackable part" %}');
|
||||
}
|
||||
|
||||
if (row.virtual) {
|
||||
display += makeIconBadge('fa-ghost', '{% trans "Virtual part" %}');
|
||||
}
|
||||
|
||||
|
||||
if (row.is_template) {
|
||||
display += `<span class='fas fa-clone label-right' title='{% trans "Template part" %}'></span>`;
|
||||
display += makeIconBadge('fa-clone', '{% trans "Template part" %}');
|
||||
}
|
||||
|
||||
if (row.assembly) {
|
||||
display += `<span class='fas fa-tools label-right' title='{% trans "Assembled part" %}'></span>`;
|
||||
display += makeIconBadge('fa-tools', '{% trans "Assembled part" %}');
|
||||
}
|
||||
|
||||
if (row.starred) {
|
||||
display += `<span class='fas fa-star label-right' title='{% trans "Starred part" %}'></span>`;
|
||||
display += makeIconBadge('fa-star', '{% trans "Starred part" %}');
|
||||
}
|
||||
|
||||
if (row.salable) {
|
||||
display += `<span class='fas fa-dollar-sign label-right' title='{% trans "Salable part" %}'></span>`;
|
||||
display += makeIconBadge('fa-dollar-sign', title='{% trans "Salable part" %}');
|
||||
}
|
||||
|
||||
/*
|
||||
@ -342,7 +381,7 @@ function loadPartTable(table, url, options={}) {
|
||||
columns.push({
|
||||
sortable: true,
|
||||
field: 'description',
|
||||
title: '{% trans 'Description' %}',
|
||||
title: '{% trans "Description" %}',
|
||||
formatter: function(value, row, index, field) {
|
||||
|
||||
if (row.is_template) {
|
||||
@ -356,7 +395,7 @@ function loadPartTable(table, url, options={}) {
|
||||
columns.push({
|
||||
sortable: true,
|
||||
field: 'category_detail',
|
||||
title: '{% trans 'Category' %}',
|
||||
title: '{% trans "Category" %}',
|
||||
formatter: function(value, row, index, field) {
|
||||
if (row.category) {
|
||||
return renderLink(value.pathstring, "/part/category/" + row.category + "/");
|
||||
|
@ -11,6 +11,28 @@ function getAvailableTableFilters(tableKey) {
|
||||
|
||||
tableKey = tableKey.toLowerCase();
|
||||
|
||||
// Filters for "variant" table
|
||||
if (tableKey == "variants") {
|
||||
return {
|
||||
active: {
|
||||
type: 'bool',
|
||||
title: '{% trans "Active" %}',
|
||||
},
|
||||
template: {
|
||||
type: 'bool',
|
||||
title: '{% trans "Template" %}',
|
||||
},
|
||||
virtual: {
|
||||
type: 'bool',
|
||||
title: '{% trans "Virtual" %}',
|
||||
},
|
||||
trackable: {
|
||||
type: 'bool',
|
||||
title: '{% trans "Trackable" %}',
|
||||
},
|
||||
};
|
||||
}
|
||||
|
||||
// Filters for Bill of Materials table
|
||||
if (tableKey == "bom") {
|
||||
return {
|
||||
@ -189,6 +211,15 @@ function getAvailableTableFilters(tableKey) {
|
||||
};
|
||||
}
|
||||
|
||||
if (tableKey == 'supplier-part') {
|
||||
return {
|
||||
active: {
|
||||
type: 'bool',
|
||||
title: '{% trans "Active parts" %}',
|
||||
}
|
||||
};
|
||||
}
|
||||
|
||||
// Filters for the "Parts" table
|
||||
if (tableKey == "parts") {
|
||||
return {
|
||||
|
Loading…
Reference in New Issue
Block a user