mirror of
https://github.com/inventree/InvenTree
synced 2024-08-30 18:33:04 +00:00
Merge pull request #2727 from SchrodingersGat/build-allocation-load-speed
Bug fixes for build output creation
This commit is contained in:
commit
dd5cda281e
@ -715,7 +715,7 @@ class Build(MPTTModel, ReferenceIndexingMixin):
|
|||||||
build=self,
|
build=self,
|
||||||
bom_item=bom_item,
|
bom_item=bom_item,
|
||||||
stock_item=stock_item,
|
stock_item=stock_item,
|
||||||
quantity=quantity,
|
quantity=1,
|
||||||
install_into=output,
|
install_into=output,
|
||||||
)
|
)
|
||||||
|
|
||||||
|
@ -323,17 +323,8 @@
|
|||||||
{% block js_ready %}
|
{% block js_ready %}
|
||||||
{{ block.super }}
|
{{ block.super }}
|
||||||
|
|
||||||
$('#btn-create-output').click(function() {
|
onPanelLoad('completed', function() {
|
||||||
|
loadStockTable($("#build-stock-table"), {
|
||||||
createBuildOutput(
|
|
||||||
{{ build.pk }},
|
|
||||||
{
|
|
||||||
trackable_parts: {% if build.part.has_trackable_parts %}true{% else %}false{% endif%},
|
|
||||||
}
|
|
||||||
);
|
|
||||||
});
|
|
||||||
|
|
||||||
loadStockTable($("#build-stock-table"), {
|
|
||||||
params: {
|
params: {
|
||||||
location_detail: true,
|
location_detail: true,
|
||||||
part_detail: true,
|
part_detail: true,
|
||||||
@ -345,11 +336,70 @@ loadStockTable($("#build-stock-table"), {
|
|||||||
'#stock-options',
|
'#stock-options',
|
||||||
],
|
],
|
||||||
url: "{% url 'api-stock-list' %}",
|
url: "{% url 'api-stock-list' %}",
|
||||||
|
});
|
||||||
});
|
});
|
||||||
|
|
||||||
|
onPanelLoad('children', function() {
|
||||||
|
loadBuildTable($('#sub-build-table'), {
|
||||||
|
url: '{% url "api-build-list" %}',
|
||||||
|
filterTarget: "#filter-list-sub-build",
|
||||||
|
params: {
|
||||||
|
ancestor: {{ build.pk }},
|
||||||
|
}
|
||||||
|
});
|
||||||
|
});
|
||||||
|
|
||||||
// Get the list of BOM items required for this build
|
onPanelLoad('attachments', function() {
|
||||||
inventreeGet(
|
|
||||||
|
enableDragAndDrop(
|
||||||
|
'#attachment-dropzone',
|
||||||
|
'{% url "api-build-attachment-list" %}',
|
||||||
|
{
|
||||||
|
data: {
|
||||||
|
build: {{ build.id }},
|
||||||
|
},
|
||||||
|
label: 'attachment',
|
||||||
|
success: function(data, status, xhr) {
|
||||||
|
location.reload();
|
||||||
|
}
|
||||||
|
}
|
||||||
|
);
|
||||||
|
|
||||||
|
loadAttachmentTable('{% url "api-build-attachment-list" %}', {
|
||||||
|
filters: {
|
||||||
|
build: {{ build.pk }},
|
||||||
|
},
|
||||||
|
fields: {
|
||||||
|
build: {
|
||||||
|
value: {{ build.pk }},
|
||||||
|
hidden: true,
|
||||||
|
}
|
||||||
|
}
|
||||||
|
});
|
||||||
|
});
|
||||||
|
|
||||||
|
onPanelLoad('notes', function() {
|
||||||
|
$('#edit-notes').click(function() {
|
||||||
|
constructForm('{% url "api-build-detail" build.pk %}', {
|
||||||
|
fields: {
|
||||||
|
notes: {
|
||||||
|
multiline: true,
|
||||||
|
}
|
||||||
|
},
|
||||||
|
title: '{% trans "Edit Notes" %}',
|
||||||
|
reload: true,
|
||||||
|
});
|
||||||
|
});
|
||||||
|
});
|
||||||
|
|
||||||
|
function reloadTable() {
|
||||||
|
$('#allocation-table-untracked').bootstrapTable('refresh');
|
||||||
|
}
|
||||||
|
|
||||||
|
onPanelLoad('allocate', function() {
|
||||||
|
|
||||||
|
// Get the list of BOM items required for this build
|
||||||
|
inventreeGet(
|
||||||
'{% url "api-bom-list" %}',
|
'{% url "api-bom-list" %}',
|
||||||
{
|
{
|
||||||
part: {{ build.part.pk }},
|
part: {{ build.part.pk }},
|
||||||
@ -434,62 +484,21 @@ inventreeGet(
|
|||||||
{% endif %}
|
{% endif %}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
);
|
);
|
||||||
|
|
||||||
loadBuildTable($('#sub-build-table'), {
|
$('#btn-create-output').click(function() {
|
||||||
url: '{% url "api-build-list" %}',
|
|
||||||
filterTarget: "#filter-list-sub-build",
|
|
||||||
params: {
|
|
||||||
ancestor: {{ build.pk }},
|
|
||||||
}
|
|
||||||
});
|
|
||||||
|
|
||||||
|
createBuildOutput(
|
||||||
enableDragAndDrop(
|
{{ build.pk }},
|
||||||
'#attachment-dropzone',
|
|
||||||
'{% url "api-build-attachment-list" %}',
|
|
||||||
{
|
{
|
||||||
data: {
|
trackable_parts: {% if build.part.has_trackable_parts %}true{% else %}false{% endif%},
|
||||||
build: {{ build.id }},
|
|
||||||
},
|
|
||||||
label: 'attachment',
|
|
||||||
success: function(data, status, xhr) {
|
|
||||||
location.reload();
|
|
||||||
}
|
}
|
||||||
}
|
);
|
||||||
);
|
|
||||||
|
|
||||||
loadAttachmentTable('{% url "api-build-attachment-list" %}', {
|
|
||||||
filters: {
|
|
||||||
build: {{ build.pk }},
|
|
||||||
},
|
|
||||||
fields: {
|
|
||||||
build: {
|
|
||||||
value: {{ build.pk }},
|
|
||||||
hidden: true,
|
|
||||||
}
|
|
||||||
}
|
|
||||||
});
|
|
||||||
|
|
||||||
$('#edit-notes').click(function() {
|
|
||||||
constructForm('{% url "api-build-detail" build.pk %}', {
|
|
||||||
fields: {
|
|
||||||
notes: {
|
|
||||||
multiline: true,
|
|
||||||
}
|
|
||||||
},
|
|
||||||
title: '{% trans "Edit Notes" %}',
|
|
||||||
reload: true,
|
|
||||||
});
|
});
|
||||||
});
|
|
||||||
|
|
||||||
function reloadTable() {
|
{% if build.active %}
|
||||||
$('#allocation-table-untracked').bootstrapTable('refresh');
|
|
||||||
}
|
|
||||||
|
|
||||||
{% if build.active %}
|
$("#btn-auto-allocate").on('click', function() {
|
||||||
|
|
||||||
$("#btn-auto-allocate").on('click', function() {
|
|
||||||
|
|
||||||
autoAllocateStockToBuild(
|
autoAllocateStockToBuild(
|
||||||
{{ build.pk }},
|
{{ build.pk }},
|
||||||
@ -500,9 +509,9 @@ $("#btn-auto-allocate").on('click', function() {
|
|||||||
{% endif %}
|
{% endif %}
|
||||||
}
|
}
|
||||||
);
|
);
|
||||||
});
|
});
|
||||||
|
|
||||||
$("#btn-allocate").on('click', function() {
|
$("#btn-allocate").on('click', function() {
|
||||||
|
|
||||||
var bom_items = $("#allocation-table-untracked").bootstrapTable("getData");
|
var bom_items = $("#allocation-table-untracked").bootstrapTable("getData");
|
||||||
|
|
||||||
@ -535,15 +544,15 @@ $("#btn-allocate").on('click', function() {
|
|||||||
}
|
}
|
||||||
);
|
);
|
||||||
}
|
}
|
||||||
});
|
});
|
||||||
|
|
||||||
$('#btn-unallocate').on('click', function() {
|
$('#btn-unallocate').on('click', function() {
|
||||||
unallocateStock({{ build.id }}, {
|
unallocateStock({{ build.id }}, {
|
||||||
table: '#allocation-table-untracked',
|
table: '#allocation-table-untracked',
|
||||||
});
|
});
|
||||||
});
|
});
|
||||||
|
|
||||||
$('#allocate-selected-items').click(function() {
|
$('#allocate-selected-items').click(function() {
|
||||||
|
|
||||||
var bom_items = $("#allocation-table-untracked").bootstrapTable("getSelections");
|
var bom_items = $("#allocation-table-untracked").bootstrapTable("getSelections");
|
||||||
|
|
||||||
@ -564,19 +573,19 @@ $('#allocate-selected-items').click(function() {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
);
|
);
|
||||||
});
|
});
|
||||||
|
|
||||||
$("#btn-order-parts").click(function() {
|
$("#btn-order-parts").click(function() {
|
||||||
launchModalForm("/order/purchase-order/order-parts/", {
|
launchModalForm("/order/purchase-order/order-parts/", {
|
||||||
data: {
|
data: {
|
||||||
build: {{ build.id }},
|
build: {{ build.id }},
|
||||||
},
|
},
|
||||||
});
|
});
|
||||||
});
|
});
|
||||||
|
|
||||||
{% endif %}
|
{% endif %}
|
||||||
|
});
|
||||||
|
|
||||||
enableSidebar('buildorder');
|
enableSidebar('buildorder');
|
||||||
|
|
||||||
|
|
||||||
{% endblock %}
|
{% endblock %}
|
@ -23,7 +23,7 @@ class CommonConfig(AppConfig):
|
|||||||
try:
|
try:
|
||||||
import common.models
|
import common.models
|
||||||
|
|
||||||
if common.models.InvenTreeSetting.get_setting('SERVER_RESTART_REQUIRED'):
|
if common.models.InvenTreeSetting.get_setting('SERVER_RESTART_REQUIRED', backup_value=False, create=False):
|
||||||
logger.info("Clearing SERVER_RESTART_REQUIRED flag")
|
logger.info("Clearing SERVER_RESTART_REQUIRED flag")
|
||||||
common.models.InvenTreeSetting.set_setting('SERVER_RESTART_REQUIRED', False, None)
|
common.models.InvenTreeSetting.set_setting('SERVER_RESTART_REQUIRED', False, None)
|
||||||
except:
|
except:
|
||||||
|
@ -268,6 +268,10 @@ class BaseInvenTreeSetting(models.Model):
|
|||||||
# Setting does not exist! (Try to create it)
|
# Setting does not exist! (Try to create it)
|
||||||
if not setting:
|
if not setting:
|
||||||
|
|
||||||
|
# Unless otherwise specified, attempt to create the setting
|
||||||
|
create = kwargs.get('create', True)
|
||||||
|
|
||||||
|
if create:
|
||||||
# Attempt to create a new settings object
|
# Attempt to create a new settings object
|
||||||
setting = cls(
|
setting = cls(
|
||||||
key=key,
|
key=key,
|
||||||
|
Loading…
Reference in New Issue
Block a user