2
0
mirror of https://github.com/inventree/InvenTree.git synced 2025-04-29 12:06:44 +00:00

Merge pull request #2727 from SchrodingersGat/build-allocation-load-speed

Bug fixes for build output creation
This commit is contained in:
Oliver 2022-03-09 13:46:56 +11:00 committed by GitHub
commit dd5cda281e
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
4 changed files with 238 additions and 225 deletions

View File

@ -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,
) )

View File

@ -323,16 +323,7 @@
{% block js_ready %} {% block js_ready %}
{{ block.super }} {{ block.super }}
$('#btn-create-output').click(function() { onPanelLoad('completed', function() {
createBuildOutput(
{{ build.pk }},
{
trackable_parts: {% if build.part.has_trackable_parts %}true{% else %}false{% endif%},
}
);
});
loadStockTable($("#build-stock-table"), { loadStockTable($("#build-stock-table"), {
params: { params: {
location_detail: true, location_detail: true,
@ -346,7 +337,66 @@ loadStockTable($("#build-stock-table"), {
], ],
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 }},
}
});
});
onPanelLoad('attachments', function() {
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 // Get the list of BOM items required for this build
inventreeGet( inventreeGet(
@ -436,57 +486,16 @@ inventreeGet(
} }
); );
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() {
$('#allocation-table-untracked').bootstrapTable('refresh');
}
{% if build.active %} {% if build.active %}
$("#btn-auto-allocate").on('click', function() { $("#btn-auto-allocate").on('click', function() {
@ -575,8 +584,8 @@ $("#btn-order-parts").click(function() {
}); });
{% endif %} {% endif %}
});
enableSidebar('buildorder'); enableSidebar('buildorder');
{% endblock %} {% endblock %}

View File

@ -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:

View File

@ -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,