Reintroduce option to clear (delete) BOM before uploading new data

This commit is contained in:
Oliver 2022-02-17 22:54:02 +11:00
parent 1b6dacd5ba
commit 6e6f9d6c2f
2 changed files with 34 additions and 0 deletions

View File

@ -716,6 +716,35 @@ class BomImportUploadSerializer(DataFileUploadSerializer):
TARGET_MODEL = BomItem
class Meta:
fields = [
'data_file',
'part',
'clear_existing_bom',
]
part = serializers.PrimaryKeyRelatedField(
queryset=Part.objects.all(),
required=True,
allow_null=False,
many=False,
)
clear_existing_bom = serializers.BooleanField(
label=_('Clear Existing BOM'),
help_text=_('Delete existing BOM items before uploading')
)
def save(self):
data = self.validated_data
if data.get('clear_existing_bom', False):
part = data['part']
with transaction.atomic():
part.bom_items.all().delete()
class BomImportExtractSerializer(DataFileExtractSerializer):
"""

View File

@ -81,6 +81,11 @@ $('#bom-upload').click(function() {
method: 'POST',
fields: {
data_file: {},
part: {
value: {{ part.pk }},
hidden: true,
},
clear_existing_bom: {},
},
title: '{% trans "Upload BOM File" %}',
onSuccess: function(response) {