Skip to content
Snippets Groups Projects
Commit f334fe02 authored by Shirlei Aparecida de Chaves's avatar Shirlei Aparecida de Chaves Committed by Ben Adida
Browse files

Compress values before passing to format_value

See comments on the added method for more details
parent 352a4939
No related branches found
No related tags found
No related merge requests found
...@@ -187,6 +187,23 @@ class SplitSelectDateTimeWidget(MultiWidget): ...@@ -187,6 +187,23 @@ class SplitSelectDateTimeWidget(MultiWidget):
return [value.date(), value.time().replace(microsecond=0)] return [value.date(), value.time().replace(microsecond=0)]
return [None, None] return [None, None]
def compress(self, data_list):
"""
Takes the values from the MultiWidget and passes them as a
list to this function. This function needs to compress the
list into a single object in order to be correctly rendered by the widget.
For instace, django.forms.widgets.SelectDateWidget.format_value(value)
expects a date object or a string, not a list.
This method was taken from helios/fields.py
"""
if data_list:
import datetime
if not (data_list[0] and data_list[1]):
return None
return datetime.datetime.combine(*data_list)
return None
def render(self, name, value, attrs=None, renderer=None): def render(self, name, value, attrs=None, renderer=None):
value = self.compress(value)
rendered_widgets = list(widget.render(name, value, attrs=attrs, renderer=renderer) for widget in self.widgets) rendered_widgets = list(widget.render(name, value, attrs=attrs, renderer=renderer) for widget in self.widgets)
return '<br/>'.join(rendered_widgets) return '<br/>'.join(rendered_widgets)
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Please register or to comment