Improved template render, raised bar for automatic field matching

This commit is contained in:
eeintech 2021-05-10 12:52:34 -04:00
parent f0932040ee
commit 6d8f94619b
4 changed files with 39 additions and 7 deletions

View File

@ -152,10 +152,25 @@ class FileManager:
headers = []
for header in self.data.headers:
headers.append({
'name': header,
'guess': self.guess_header(header)
})
# Guess header
guess = self.guess_header(header, threshold=95)
# Check if already present
guess_exists = False
for idx, data in enumerate(headers):
if guess == data['guess']:
guess_exists = True
break
if not guess_exists:
headers.append({
'name': header,
'guess': guess
})
else:
headers.append({
'name': header,
'guess': None
})
return headers

View File

@ -92,6 +92,9 @@ class MatchField(forms.Form):
self.fields[field_name] = forms.ChoiceField(
choices=[('', '-' * 10)] + headers_choices,
required=False,
widget=forms.Select(attrs={
'class': 'select fieldselect',
})
)
if col['guess']:
self.fields[field_name].initial = col['guess']
@ -134,7 +137,7 @@ class MatchItem(forms.Form):
required=True,
widget=forms.NumberInput(attrs={
'name': 'quantity' + str(row['index']),
'class': 'numberinput',
'class': 'numberinput', # form-control',
'type': 'number',
'min': '0',
'step': 'any',
@ -181,7 +184,7 @@ class MatchItem(forms.Form):
if 'price' in col['column']['guess'].lower():
self.fields[field_name] = MoneyField(
label=_(col['column']['guess']),
default_currency='USD',
default_currency=InvenTreeSetting.get_setting('INVENTREE_DEFAULT_CURRENCY'),
decimal_places=5,
max_digits=19,
required=False,

View File

@ -86,4 +86,14 @@
{% endblock form_content %}
{% block form_buttons_bottom %}
{% endblock form_buttons_bottom %}
{% endblock form_buttons_bottom %}
{% block js_ready %}
{{ block.super }}
$('.fieldselect').select2({
width: '100%',
matcher: partialMatcher,
});
{% endblock %}

View File

@ -99,4 +99,8 @@ $('.bomselect').select2({
matcher: partialMatcher,
});
$('.currencyselect').select2({
dropdownAutoWidth: true,
});
{% endblock %}