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()
|
||||
|
||||
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 %}
|
||||
">
|
||||
<label for="{{ field.id_for_label }}">{{ field.label }}</label>
|
||||
{% add_widget_attrs field placeholder=field.label %}
|
||||
{{ field }}
|
||||
|
||||
{% 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):
|
||||
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 isinstance(field.field.widget, forms.CheckboxInput):
|
||||
field_template = 'gas/tags/forms/checkbox.html'
|
||||
|
|
Loading…
Reference in New Issue