Skip to content
This repository has been archived by the owner on Feb 8, 2024. It is now read-only.

Commit

Permalink
Fix DateTimefield issues in the latest django. Close #497
Browse files Browse the repository at this point in the history
  • Loading branch information
kmmbvnr committed Feb 15, 2021
1 parent 3508e1a commit 7ec1b00
Show file tree
Hide file tree
Showing 6 changed files with 9 additions and 8 deletions.
2 changes: 1 addition & 1 deletion material/templates/material/fields/django_dateinput.html
Expand Up @@ -17,7 +17,7 @@
autocomplete="off"
{% if field.disabled %}disabled{% endif %}
{% if bound_field.errors %}class="invalid"{% endif %}
{% if bound_field.value %}value="{{ bound_field.value|datepicker_value:field.input_formats.0 }}"{% endif %}
{% if bound_field.value %}value="{{ bound_field.value|datepicker_value:field }}"{% endif %}
{% endattrs %}>
{% endpart %}
{% part field label %}
Expand Down
Expand Up @@ -16,7 +16,7 @@
data-lang="{{ lang.code|default:'en' }}"
{% if field.disabled %}disabled{% endif %}
{% if bound_field.errors %}class="invalid"{% endif %}
{% if bound_field.value %}value="{{ bound_field.value|datepicker_value:field.input_formats.0 }}"{% endif %}
{% if bound_field.value %}value="{{ bound_field.value|datepicker_value:field }}"{% endif %}
{% endattrs %}>
{% endpart %}
{% part field label %}
Expand Down
Expand Up @@ -24,7 +24,7 @@
data-lang="{{ lang.code|default:'en' }}"
{% if field.disabled %}disabled{% endif %}
{% if bound_field.errors %}class="invalid"{% endif %}
{% if bound_field.value %} value="{{ bound_field|multiwidget_value:0|datepicker_value:field.fields.0.input_formats.0 }}"{% endif %}
{% if bound_field.value %} value="{{ bound_field|multiwidget_value:0|datepicker_value:field.fields.0 }}"{% endif %}
{% endattrs %}>
{% endpart %}{% part field help_text %}
{% part field errors %}
Expand All @@ -48,7 +48,7 @@
data-lang="{{ lang.code|default:'en' }}"
{% if field.disabled %}disabled{% endif %}
{% if bound_field.errors %}class="invalid"{% endif %}
{% if bound_field.value %} value="{{ bound_field|multiwidget_value:1|datepicker_value:field.fields.1.input_formats.0 }}"{% endif %}
{% if bound_field.value %} value="{{ bound_field|multiwidget_value:1|datepicker_value:field.fields.1 }}"{% endif %}
{% endattrs %}>
</div></{{ field.widget.component|default:'dmc-datetime' }}>
</div>{% endpart %}
2 changes: 1 addition & 1 deletion material/templates/material/fields/django_timeinput.html
Expand Up @@ -17,7 +17,7 @@
data-lang="{{ lang.code|default:'en' }}"
{% if field.disabled %}disabled{% endif %}
{% if bound_field.errors %}class="invalid"{% endif %}
{% if bound_field.value %}value="{{ bound_field.value|datepicker_value:field.input_formats.0 }}"{% endif %}
{% if bound_field.value %}value="{{ bound_field.value|datepicker_value:field }}"{% endif %}
{% endattrs %}>
{% endpart %}
{% part field label %}
Expand Down
3 changes: 2 additions & 1 deletion material/templatetags/material_form_internal.py
Expand Up @@ -142,8 +142,9 @@ def jquery_datepicker_format(field):


@register.filter
def datepicker_value(value, date_format):
def datepicker_value(value, field):
"""Return localized date value."""
date_format = list(field.input_formats)[0]
return formats.localize_input(value, date_format)


Expand Down
4 changes: 2 additions & 2 deletions tests/test_widget_selectdate.py
Expand Up @@ -37,14 +37,14 @@ def test_default_usecase(self):
self.assertIn('test_field_month', form.fields)
self.assertIn('test_field_day', form.fields)

form['test_field_year'] = '2020'
form['test_field_year'] = '2021'
form['test_field_month'] = '1'
form['test_field_day'] = '13'
response = json.loads(form.submit().body.decode('utf-8'))

self.assertIn('cleaned_data', response)
self.assertIn('test_field', response['cleaned_data'])
self.assertEqual('2020-01-13', response['cleaned_data']['test_field'])
self.assertEqual('2021-01-13', response['cleaned_data']['test_field'])


urlpatterns = build_test_urls(Test)

0 comments on commit 7ec1b00

Please sign in to comment.