mirror of
https://github.com/inventree/InvenTree.git
synced 2025-11-05 15:45:42 +00:00
Merge remote-tracking branch 'inventree/master'
This commit is contained in:
File diff suppressed because it is too large
Load Diff
File diff suppressed because it is too large
Load Diff
File diff suppressed because it is too large
Load Diff
File diff suppressed because it is too large
Load Diff
File diff suppressed because it is too large
Load Diff
File diff suppressed because it is too large
Load Diff
File diff suppressed because it is too large
Load Diff
File diff suppressed because it is too large
Load Diff
File diff suppressed because it is too large
Load Diff
File diff suppressed because it is too large
Load Diff
File diff suppressed because it is too large
Load Diff
File diff suppressed because it is too large
Load Diff
File diff suppressed because it is too large
Load Diff
File diff suppressed because it is too large
Load Diff
File diff suppressed because it is too large
Load Diff
File diff suppressed because it is too large
Load Diff
File diff suppressed because it is too large
Load Diff
File diff suppressed because it is too large
Load Diff
File diff suppressed because it is too large
Load Diff
File diff suppressed because it is too large
Load Diff
File diff suppressed because it is too large
Load Diff
File diff suppressed because it is too large
Load Diff
File diff suppressed because it is too large
Load Diff
File diff suppressed because it is too large
Load Diff
File diff suppressed because it is too large
Load Diff
@@ -257,6 +257,7 @@
|
|||||||
'#so-lines-table',
|
'#so-lines-table',
|
||||||
{
|
{
|
||||||
order: {{ order.pk }},
|
order: {{ order.pk }},
|
||||||
|
reference: '{{ order.reference }}',
|
||||||
status: {{ order.status }},
|
status: {{ order.status }},
|
||||||
}
|
}
|
||||||
);
|
);
|
||||||
|
|||||||
@@ -913,7 +913,7 @@ function getFormFieldElement(name, options) {
|
|||||||
el = $(`#id_${field_name}`);
|
el = $(`#id_${field_name}`);
|
||||||
}
|
}
|
||||||
|
|
||||||
if (!el.exists) {
|
if (!el.exists()) {
|
||||||
console.error(`Could not find form element for field '${name}'`);
|
console.error(`Could not find form element for field '${name}'`);
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -1568,11 +1568,18 @@ function addSecondaryModal(field, fields, options) {
|
|||||||
var url = secondary.api_url || field.api_url;
|
var url = secondary.api_url || field.api_url;
|
||||||
|
|
||||||
// If the "fields" attribute is a function, call it with data
|
// If the "fields" attribute is a function, call it with data
|
||||||
if (secondary.fields instanceof Function) {
|
if (secondary.fields instanceof Function || secondary.fieldsFunction instanceof Function) {
|
||||||
|
|
||||||
// Extract form values at time of button press
|
// Extract form values at time of button press
|
||||||
var data = extractFormData(fields, options);
|
var data = extractFormData(fields, options);
|
||||||
|
|
||||||
|
// Backup and execute fields function in sequential executions of modal
|
||||||
|
if (secondary.fields instanceof Function) {
|
||||||
|
secondary.fieldsFunction = secondary.fields;
|
||||||
|
} else if (secondary.fieldsFunction instanceof Function) {
|
||||||
|
secondary.fields = secondary.fieldsFunction;
|
||||||
|
}
|
||||||
|
|
||||||
secondary.fields = secondary.fields(data);
|
secondary.fields = secondary.fields(data);
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -2012,7 +2019,7 @@ function constructField(name, parameters, options={}) {
|
|||||||
|
|
||||||
// Hidden inputs are rendered without label / help text / etc
|
// Hidden inputs are rendered without label / help text / etc
|
||||||
if (parameters.hidden) {
|
if (parameters.hidden) {
|
||||||
return constructHiddenInput(name, parameters, options);
|
return constructHiddenInput(field_name, parameters, options);
|
||||||
}
|
}
|
||||||
|
|
||||||
// Are we ending a group?
|
// Are we ending a group?
|
||||||
@@ -2361,13 +2368,14 @@ function constructInputOptions(name, classes, type, parameters, options={}) {
|
|||||||
|
|
||||||
|
|
||||||
// Construct a "hidden" input
|
// Construct a "hidden" input
|
||||||
function constructHiddenInput(name, parameters) {
|
function constructHiddenInput(name, parameters, options={}) {
|
||||||
|
|
||||||
return constructInputOptions(
|
return constructInputOptions(
|
||||||
name,
|
name,
|
||||||
'hiddeninput',
|
'hiddeninput',
|
||||||
'hidden',
|
'hidden',
|
||||||
parameters
|
parameters,
|
||||||
|
options
|
||||||
);
|
);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@@ -2593,6 +2593,55 @@ function allocateStockToSalesOrder(order_id, line_items, options={}) {
|
|||||||
},
|
},
|
||||||
value: options.shipment || null,
|
value: options.shipment || null,
|
||||||
auto_fill: true,
|
auto_fill: true,
|
||||||
|
secondary: {
|
||||||
|
method: 'POST',
|
||||||
|
title: '{% trans "Add Shipment" %}',
|
||||||
|
fields: function() {
|
||||||
|
var ref = null;
|
||||||
|
|
||||||
|
// TODO: Refactor code for getting next shipment number
|
||||||
|
inventreeGet(
|
||||||
|
'{% url "api-so-shipment-list" %}',
|
||||||
|
{
|
||||||
|
order: options.order,
|
||||||
|
},
|
||||||
|
{
|
||||||
|
async: false,
|
||||||
|
success: function(results) {
|
||||||
|
// "predict" the next reference number
|
||||||
|
ref = results.length + 1;
|
||||||
|
|
||||||
|
var found = false;
|
||||||
|
|
||||||
|
while (!found) {
|
||||||
|
|
||||||
|
var no_match = true;
|
||||||
|
|
||||||
|
for (var ii = 0; ii < results.length; ii++) {
|
||||||
|
if (ref.toString() == results[ii].reference.toString()) {
|
||||||
|
no_match = false;
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
if (no_match) {
|
||||||
|
break;
|
||||||
|
} else {
|
||||||
|
ref++;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
);
|
||||||
|
|
||||||
|
var fields = salesOrderShipmentFields(options);
|
||||||
|
|
||||||
|
fields.reference.value = ref;
|
||||||
|
fields.reference.prefix = global_settings.SALESORDER_REFERENCE_PREFIX + options.reference;
|
||||||
|
|
||||||
|
return fields;
|
||||||
|
}
|
||||||
|
}
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
preFormContent: html,
|
preFormContent: html,
|
||||||
@@ -3475,6 +3524,8 @@ function loadSalesOrderLineItemTable(table, options={}) {
|
|||||||
line_item
|
line_item
|
||||||
],
|
],
|
||||||
{
|
{
|
||||||
|
order: options.order,
|
||||||
|
reference: options.reference,
|
||||||
success: function() {
|
success: function() {
|
||||||
// Reload this table
|
// Reload this table
|
||||||
$(table).bootstrapTable('refresh');
|
$(table).bootstrapTable('refresh');
|
||||||
|
|||||||
Reference in New Issue
Block a user