--- a/annot-server/webapp/admin.py Fri Oct 24 21:12:18 2014 +0200
+++ b/annot-server/webapp/admin.py Sat Oct 25 00:22:48 2014 +0200
@@ -62,13 +62,32 @@
return Markup("<a href=\"%s\" target=\"_blank\">Lien</a> :<br/><input value=\"%s\"/><br/>Code embed :<input value=\"%s\"/>" % (url, url, embed))
+class StartTSField(dateutil_fields.DateTimeField):
+ def __init__(self, *args, **kwargs):
+ if 'display_format' not in kwargs:
+ kwargs['display_format']='iso'
+ super(StartTSField, self).__init__(*args, **kwargs)
+
+ def _value(self):
+ if self.raw_data:
+ return ' '.join(self.raw_data)
+ elif self.display_format == 'iso':
+ return self.data and self.data.isoformat() or ''
+ else:
+ return self.data and self.data.strftime(self.display_format) or ''
+
+ def process_formdata(self, valuelist):
+ super(StartTSField, self).process_formdata(valuelist)
+ if self.data and self.data.tzinfo is None:
+ self.data = self.data.replace(tzinfo=tzutc())
+
class EventView(ModelView):
column_searchable_list = ('code', 'label')
column_list = ('code', 'label', 'start_date', 'active')
column_filters = ('code', 'label', 'start_date', 'active')
form_create_rules = ('code', 'label', 'description', 'start_date')
- inline_models = [(models.EventSession, { 'form_columns': ['id', 'order', 'project_id']})]
+ inline_models = [(models.EventSession, {'form_overrides': { "start_ts": StartTSField, },}})]
def __init__(self, session, **kwargs):
super(EventView, self).__init__(models.Event, session, **kwargs)
@@ -94,26 +113,6 @@
return DictToJSONField(**field_args)
-class StartTSField(dateutil_fields.DateTimeField):
- def __init__(self, *args, **kwargs):
- if 'display_format' not in kwargs:
- kwargs['display_format']='iso'
- super(StartTSField, self).__init__(*args, **kwargs)
-
- def _value(self):
- if self.raw_data:
- return ' '.join(self.raw_data)
- elif self.display_format == 'iso':
- return self.data and self.data.isoformat() or ''
- else:
- return self.data and self.data.strftime(self.display_format) or ''
-
- def process_formdata(self, valuelist):
- super(StartTSField, self).process_formdata(valuelist)
- if self.data and self.data.tzinfo is None:
- self.data = self.data.replace(tzinfo=tzutc())
-
-
class EventSessionView(ModelView):
column_default_sort = ( models.Event.code, True)