Merge pull request #2639 from SchrodingersGat/test-fixes

Test fixes
This commit is contained in:
Oliver 2022-02-17 14:59:28 +11:00 committed by GitHub
commit 023037e766
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
3 changed files with 126 additions and 93 deletions

View File

@ -311,86 +311,6 @@
}); });
}); });
$('#test-result-table').on('click', '.button-test-tick', function() {
var button = $(this);
var test_name = button.attr('pk');
inventreePut(
'{% url "api-stock-test-result-list" %}',
{
test: test_name,
result: true,
stock_item: {{ item.pk }},
},
{
method: 'POST',
success: function(response) {
reloadTable();
}
}
);
})
$("#test-result-table").on('click', '.button-test-add', function() {
var button = $(this);
var test_name = button.attr('pk');
constructForm('{% url "api-stock-test-result-list" %}', {
method: 'POST',
fields: {
test: {
value: test_name,
},
result: {},
value: {},
attachment: {},
notes: {},
stock_item: {
value: {{ item.pk }},
hidden: true,
}
},
title: '{% trans "Add Test Result" %}',
onSuccess: reloadTable,
});
});
$("#test-result-table").on('click', '.button-test-edit', function() {
var button = $(this);
var pk = button.attr('pk');
var url = `/api/stock/test/${pk}/`;
constructForm(url, {
fields: {
test: {},
result: {},
value: {},
attachment: {},
notes: {},
},
title: '{% trans "Edit Test Result" %}',
onSuccess: reloadTable,
});
});
$("#test-result-table").on('click', '.button-test-delete', function() {
var button = $(this);
var pk = button.attr('pk');
var url = `/api/stock/test/${pk}/`;
constructForm(url, {
method: 'DELETE',
title: '{% trans "Delete Test Result" %}',
onSuccess: reloadTable,
});
});
{% if item.child_count > 0 %} {% if item.child_count > 0 %}
loadStockTable($("#childs-stock-table"), { loadStockTable($("#childs-stock-table"), {
params: { params: {

View File

@ -1227,12 +1227,35 @@ function formatDate(row) {
return html; return html;
} }
/*
* Load StockItemTestResult table
*/
function loadStockTestResultsTable(table, options) { function loadStockTestResultsTable(table, options) {
/*
* Load StockItemTestResult table // Setup filters for the table
*/ var filterTarget = options.filterTarget || '#filter-list-stocktests';
var filterKey = options.filterKey || options.name || 'stocktests';
var filters = loadTableFilters(filterKey);
var params = {
part: options.part,
};
var original = {};
for (var k in params) {
original[k] = params[k];
filters[k] = params[k];
}
setupFilterList(filterKey, table, filterTarget);
function makeButtons(row, grouped) { function makeButtons(row, grouped) {
// Helper function for rendering buttons
var html = `<div class='btn-group float-right' role='group'>`; var html = `<div class='btn-group float-right' role='group'>`;
if (row.requires_attachment == false && row.requires_value == false && !row.result) { if (row.requires_attachment == false && row.requires_value == false && !row.result) {
@ -1263,14 +1286,13 @@ function loadStockTestResultsTable(table, options) {
rootParentId: parent_node, rootParentId: parent_node,
parentIdField: 'parent', parentIdField: 'parent',
idField: 'pk', idField: 'pk',
uniqueId: 'key', uniqueId: 'pk',
treeShowField: 'test_name', treeShowField: 'test_name',
formatNoMatches: function() { formatNoMatches: function() {
return '{% trans "No test results found" %}'; return '{% trans "No test results found" %}';
}, },
queryParams: { queryParams: filters,
part: options.part, original: original,
},
onPostBody: function() { onPostBody: function() {
table.treegrid({ table.treegrid({
treeColumn: 0, treeColumn: 0,
@ -1406,6 +1428,102 @@ function loadStockTestResultsTable(table, options) {
); );
} }
}); });
/* Register button callbacks */
function reloadTestTable(response) {
$(table).bootstrapTable('refresh');
}
// "tick" a test result
$(table).on('click', '.button-test-tick', function() {
var button = $(this);
var test_name = button.attr('pk');
inventreePut(
'{% url "api-stock-test-result-list" %}',
{
test: test_name,
result: true,
stock_item: options.stock_item,
},
{
method: 'POST',
success: reloadTestTable,
}
);
});
// Add a test result
$(table).on('click', '.button-test-add', function() {
var button = $(this);
var test_name = button.attr('pk');
constructForm('{% url "api-stock-test-result-list" %}', {
method: 'POST',
fields: {
test: {
value: test_name,
},
result: {},
value: {},
attachment: {},
notes: {},
stock_item: {
value: options.stock_item,
hidden: true,
}
},
title: '{% trans "Add Test Result" %}',
onSuccess: reloadTestTable,
});
});
// Edit a test result
$(table).on('click', '.button-test-edit', function() {
var button = $(this);
var pk = button.attr('pk');
var url = `/api/stock/test/${pk}/`;
constructForm(url, {
fields: {
test: {},
result: {},
value: {},
attachment: {},
notes: {},
},
title: '{% trans "Edit Test Result" %}',
onSuccess: reloadTestTable,
});
});
// Delete a test result
$(table).on('click', '.button-test-delete', function() {
var button = $(this);
var pk = button.attr('pk');
var url = `/api/stock/test/${pk}/`;
var row = $(table).bootstrapTable('getRowByUniqueId', pk);
var html = `
<div class='alert alert-block alert-danger'>
<strong>{% trans "Delete test result" %}:</strong> ${row.test_name || row.test || row.key}
</div>`;
constructForm(url, {
method: 'DELETE',
title: '{% trans "Delete Test Result" %}',
onSuccess: reloadTestTable,
preFormContent: html,
});
});
} }

View File

@ -265,12 +265,7 @@ function getAvailableTableFilters(tableKey) {
// Filters for the 'stock test' table // Filters for the 'stock test' table
if (tableKey == 'stocktests') { if (tableKey == 'stocktests') {
return { return {};
result: {
type: 'bool',
title: '{% trans "Test result" %}',
},
};
} }
// Filters for the 'part test template' table // Filters for the 'part test template' table