Source code for editlive.adaptors.date

from editlive.conf import settings
from editlive.adaptors.base import BaseAdaptor


[docs]class DateAdaptor(BaseAdaptor): """DateField adaptor Uses the following setting: `settings.EDITLIVE_DATE_FORMAT` """ def __init__(self, *args, **kwargs): super(DateAdaptor, self).__init__(*args, **kwargs) field = self.form.fields.get(self.field_name) if field: self.attributes.update({'data-format': '%s' % field.widget.format}) self.attributes.update({'data-date-format': '%s' % settings.DATE_WIDGET_FORMAT}) if self.form_field: self.attributes.update({'data-type': 'dateField'})
[docs] def render_value(self, value=None): if self.template_filters is None: self.template_filters = [] if not any(i.startswith('date:') for i in self.template_filters): self.template_filters.append(u"date:'%s'" % settings.DATE_FORMAT) return unicode(super(DateAdaptor, self).render_value(value=value))
[docs]class DateTimeAdaptor(BaseAdaptor): """ DateTimeField adaptor Uses the following setting: `settings.EDITLIVE_DATE_FORMAT` `settings.EDITLIVE_TIME_FORMAT` """ def __init__(self, *args, **kwargs): super(DateTimeAdaptor, self).__init__(*args, **kwargs) field = self.form.fields.get(self.field_name) if field: self.attributes.update({'data-format': '%s' % field.widget.format}) self.attributes.update({'data-date-format': '%s' % settings.DATE_WIDGET_FORMAT}) self.attributes.update({'data-time-format': '%s' % settings.TIME_WIDGET_FORMAT}) if self.form_field: self.attributes.update({'data-type': 'datetimeField'})
[docs] def render_value(self, value=None): if self.template_filters is None: self.template_filters = [] if not any(i.startswith('date:') for i in self.template_filters): self.template_filters.append(u"date:'%s'" % settings.DATETIME_FORMAT) return unicode(super(DateTimeAdaptor, self).render_value(value=value))
[docs]class TimeAdaptor(BaseAdaptor): """TimeField adaptor Uses the following setting: `settings.EDITLIVE_TIME_FORMAT` """ def __init__(self, *args, **kwargs): super(TimeAdaptor, self).__init__(*args, **kwargs) field = self.form.fields.get(self.field_name) if field: self.attributes.update({'data-format': '%s' % field.widget.format}) self.attributes.update({'data-time-format': '%s' % settings.TIME_WIDGET_FORMAT}) if self.form_field: self.attributes.update({'data-type': 'charField'}) # TODO: timeField
[docs] def render_value(self, value=None): return unicode(value or '')
# def set_value(self, value): # self.field_value = value # setattr(self.obj, self.get_real_field_name(), unicode(value)) # return value