diff -r b1f7ab026ddb -r 289049253263 annot-server/webapp/admin.py --- 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("Lien :

Code embed :" % (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)