Helper function to use SplitDateTimeField for datetimes
This commit is contained in:
parent
3fd269474a
commit
525dcbf3bb
23
gas/forms.py
23
gas/forms.py
|
@ -55,3 +55,26 @@ class UserForm(forms.ModelForm):
|
||||||
self.save_m2m()
|
self.save_m2m()
|
||||||
|
|
||||||
return obj
|
return obj
|
||||||
|
|
||||||
|
|
||||||
|
def split_datetime_field(form, field_name):
|
||||||
|
old_field = form.fields[field_name]
|
||||||
|
new_field = forms.SplitDateTimeField(
|
||||||
|
label=old_field.label,
|
||||||
|
label_suffix=old_field.label_suffix,
|
||||||
|
required=old_field.required,
|
||||||
|
help_text=old_field.help_text,
|
||||||
|
initial=old_field.initial,
|
||||||
|
validators=old_field.validators,
|
||||||
|
localize=old_field.localize,
|
||||||
|
disabled=old_field.disabled,
|
||||||
|
input_date_formats=("%Y-%m-%d",),
|
||||||
|
input_time_formats=("%H:%M", "%H:%M:%S"),
|
||||||
|
widget=forms.SplitDateTimeWidget(
|
||||||
|
date_format='%Y-%m-%d',
|
||||||
|
time_format='%H:%M:%S',
|
||||||
|
time_attrs={'placeholder': '00:00'},
|
||||||
|
),
|
||||||
|
)
|
||||||
|
new_field.widget.widgets[0].input_type = 'date'
|
||||||
|
form.fields[field_name] = new_field
|
||||||
|
|
|
@ -5,7 +5,6 @@
|
||||||
{% if field.errors %} has-error{% endif %}
|
{% if field.errors %} has-error{% endif %}
|
||||||
">
|
">
|
||||||
<label for="{{ field.id_for_label }}">{{ field.label }}</label>
|
<label for="{{ field.id_for_label }}">{{ field.label }}</label>
|
||||||
{% add_widget_attrs field placeholder=field.label %}
|
|
||||||
{{ field }}
|
{{ field }}
|
||||||
|
|
||||||
{% if add_another_url %}
|
{% if add_another_url %}
|
||||||
|
|
|
@ -22,6 +22,11 @@ def base_form_field(field, css=None, container_class='', add_another_url=None, f
|
||||||
elif isinstance(field.field, forms.DateField):
|
elif isinstance(field.field, forms.DateField):
|
||||||
field.field.widget.input_type = 'date'
|
field.field.widget.input_type = 'date'
|
||||||
|
|
||||||
|
if isinstance(field.field, forms.SplitDateTimeField):
|
||||||
|
field.field.widget.widgets[1].attrs['placeholder'] = '00:00:00'
|
||||||
|
else:
|
||||||
|
field.field.widget.attrs['placeholder'] = field.label
|
||||||
|
|
||||||
if field_template is None:
|
if field_template is None:
|
||||||
if isinstance(field.field.widget, forms.CheckboxInput):
|
if isinstance(field.field.widget, forms.CheckboxInput):
|
||||||
field_template = 'gas/tags/forms/checkbox.html'
|
field_template = 'gas/tags/forms/checkbox.html'
|
||||||
|
|
Loading…
Reference in New Issue